1000000 1000
298
113
414
863
63
476
745
366
533
997
642
393
757
501
160
738
460
657
700
304
187
60
794
520
39
77
799
113
810
1
35
916
362
205
476
109
953
982
334
185
664
500
894
979
220
111
674
271
90
999
608
684
126
288
722
39
202
604
985
265
573
226
697
414
527
478
987
523
673
597
749
834
864
817
532
81
460
175
676
210
123
463
221
461
95
638
701
986
551
94
966
638
50
96
231
355
373
849
780
417
59
661
469
656
641
632
973
32
407
833
281
80
99
58
875
168
482
968
467
267
229
465
985
567
177
640
139
988
940
722
688
398
22
537
556
335
575
528
975
201
680
346
463
181
18
428
762
644
38
170
452
983
697
248
716
92
859
561
678
437
950
266
507
508
949
653
13
988
428
644
137
986
500
643
812
993
451
399
249
988
647
129
120
117
828
181
924
517
299
425
632
17
278
404
566
250
526
153
785
120
795
152
321
998
46
408
593
370
273
188
5
281
535
217
465
271
784
668
357
764
863
591
974
769
348
972
925
347
925
586
636
263
296
327
263
839
207
483
173
12
284
703
545
654
643
233
652
865
367
912
312
390
360
124
715
259
732
873
365
790
97
425
743
612
114
224
724
523
291
355
91
708
986
815
356
220
24
671
125
57
897
67
191
846
328
328
700
748
168
702
756
383
341
967
855
109
998
219
188
902
222
219
472
535
977
808
501
132
882
509
801
271
71
987
975
393
311
717
129
307
805
645
524
737
870
613
647
464
663
666
942
276
498
514
600
53
620
676
782
475
234
94
864
114
997
162
494
805
760
723
202
43
403
179
472
241
183
422
673
21
56
46
313
636
469
945
842
462
195
329
558
760
384
864
504
995
636
452
544
667
539
680
698
148
13
223
953
759
496
604
853
887
53
519
846
663
57
877
674
847
611
714
260
711
171
431
137
849
882
904
748
959
862
88
476
610
139
44
447
187
733
919
891
756
41
392
971
27
261
157
317
311
878
173
767
672
24
706
618
676
461
246
183
199
772
108
724
907
979
93
859
737
59
435
669
423
871
544
995
924
749
161
861
123
390
369
996
333
669
410
176
177
670
251
163
864
212
203
746
386
575
826
467
867
805
595
630
325
373
858
578
464
682
801
532
748
333
14
514
572
297
27
536
197
302
511
585
319
625
792
208
994
646
590
507
450
953
630
935
510
147
656
870
6
577
313
680
669
568
763
371
44
561
835
179
664
964
9
872
398
13
728
49
435
87
425
451
268
799
800
859
598
950
262
891
499
462
194
644
524
894
550
539
669
172
411
783
23
745
452
572
738
997
787
342
838
356
683
640
965
805
396
757
320
601
905
605
846
828
469
353
895
40
724
94
669
656
548
883
980
817
22
555
888
487
363
159
149
240
320
843
683
644
6
750
937
706
972
156
264
141
369
381
769
344
823
907
120
695
270
858
40
935
844
690
245
895
898
938
814
979
426
51
928
140
765
679
585
396
12
4
652
610
757
822
597
412
894
369
912
551
97
230
429
869
408
15
424
817
998
954
793
62
644
95
994
760
116
510
497
88
793
861
652
228
155
319
582
182
154
228
496
961
501
701
889
609
219
744
886
166
451
816
49
740
340
498
865
136
526
174
899
11
302
480
275
700
181
664
993
426
396
24
576
269
54
535
869
734
716
727
141
223
598
938
771
209
505
557
599
737
317
517
778
522
80
160
662
49
143
587
865
948
346
350
988
465
406
724
354
712
418
219
743
230
110
737
936
638
915
774
610
783
967
24
560
667
941
466
33
809
757
462
594
134
616
474
398
108
102
595
230
237
76
622
565
884
33
448
918
605
701
903
454
632
569
664
978
760
224
140
784
365
339
864
986
402
106
727
136
450
408
468
870
268
25
94
605
414
466
486
529
568
95
210
224
914
839
906
923
94
549
763
162
387
790
979
559
387
259
56
381
865
706
756
978
935
976
692
300
920
558
548
969
897
372
89
448
907
727
813
612
588
493
985
146
916
743
28
109
656
518
121
857
74
898
432
728
267
134
939
175
656
119
185
140
809
328
736
276
511
355
527
683
951
441
409
466
218
37
711
898
677
27
562
396
106
465
153
447
148
378
621
896
391
930
677
459
868
182
675
548
231
819
220
490
814
672
782
235
202
494
493
528
664
210
817
772
279
239
707
495
843
26
6
472
287
692
22
55
954
334
494
606
104
513
754
858
879
892
28
488
307
181
839
635
708
177
362
245
97
447
675
281
534
364
817
201
707
331
676
469
414
868
285
426
123
544
331
942
868
933
597
692
82
835
719
588
984
330
581
716
497
112
681
738
258
966
506
556
144
119
750
329
873
573
831
645
331
207
574
934
607
346
14
691
168
437
75
397
707
194
904
358
134
300
780
281
739
188
584
42
470
701
844
937
314
647
60
204
357
441
70
191
378
781
954
72
877
430
920
225
17
188
4
236
303
342
475
555
725
817
8
246
119
990
445
595
721
654
510
710
44
112
483
751
124
734
128
535
140
669
920
111
370
973
318
489
320
289
283
389
935
184
823
528
179
303
681
727
187
948
318
925
321
486
28
721
959
485
756
849
916
802
23
151
773
87
118
308
388
563
321
739
545
10
100
544
836
675
67
323
953
73
428
932
865
826
770
820
701
281
955
391
656
25
273
33
85
678
527
55
422
381
821
985
542
79
929
835
889
260
8
563
867
614
412
258
394
216
452
197
814
84
266
775
908
40
245
116
532
569
35
472
82
238
662
188
115
723
370
583
984
467
230
687
94
520
791
242
298
381
872
318
116
439
813
823
63
6
293
143
196
496
11
141
507
354
568
923
456
672
294
273
311
859
340
637
764
322
439
475
139
453
65
306
558
75
744
783
532
951
84
940
170
21
521
234
666
709
73
391
578
76
993
648
424
344
902
651
157
942
213
934
488
254
718
264
159
996
440
677
605
679
29
97
360
694
677
662
490
383
431
800
37
328
59
490
504
351
85
608
474
973
875
466
923
113
964
469
715
962
846
7
378
17
372
61
580
807
999
480
421
23
581
217
766
181
444
182
192
693
435
351
50
888
872
739
304
788
546
719
309
624
478
696
476
934
871
839
197
970
194
509
228
237
151
531
140
69
738
750
393
804
776
959
113
657
826
268
696
181
24
242
738
356
646
552
564
530
325
374
183
654
495
664
447
312
418
33
428
793
321
589
391
811
882
729
320
41
933
714
189
628
328
381
620
676
701
511
455
333
111
256
643
203
13
45
17
943
526
713
783
552
350
465
930
888
350
857
496
893
876
913
927
632
246
46
799
545
864
980
260
496
694
565
752
125
395
726
679
127
197
980
787
636
347
198
704
746
136
887
177
741
115
925
105
701
26
105
863
956
117
764
953
681
125
387
774
866
402
399
463
197
453
473
502
23
453
676
319
46
656
81
803
109
994
219
522
248
304
29
75
310
257
264
75
187
235
81
63
291
242
9
364
454
79
945
130
378
211
556
10
549
532
372
406
746
899
41
611
88
369
157
218
57
568
485
875
427
974
427
612
425
362
638
578
971
49
460
761
569
244
740
47
172
998
866
239
47
444
390
208
455
561
148
163
720
933
824
416
707
939
282
578
93
739
87
936
706
375
719
2
907
62
880
453
297
692
902
466
232
937
901
434
848
563
249
649
130
378
158
910
220
245
459
261
909
330
599
391
801
120
917
27
534
889
930
68
959
250
685
276
85
783
632
752
20
14
457
610
249
766
350
119
959
538
549
178
905
468
516
19
348
75
188
605
350
10
127
18
215
529
674
252
991
169
100
812
775
865
808
274
555
300
920
231
921
456
542
621
855
626
371
26
728
411
97
644
527
429
422
147
83
507
85
116
203
684
214
626
700
478
605
118
927
479
943
531
31
11
792
50
349
47
880
432
85
701
37
948
198
912
303
90
752
191
613
693
904
803
216
340
820
406
358
1000
992
640
390
302
985
106
90
415
805
983
760
469
238
272
346
300
838
733
236
222
825
368
678
542
419
541
206
178
94
431
109
480
498
164
63
233
33
854
442
498
87
736
357
696
433
798
465
781
138
631
170
505
151
300
314
991
537
14
987
452
808
668
916
464
742
790
757
610
152
962
191
443
113
385
732
880
446
565
352
359
950
37
643
312
5
26
826
757
224
695
277
749
346
500
203
265
968
763
54
583
48
125
219
900
450
325
318
156
988
684
618
33
150
875
374
523
597
50
939
591
886
283
197
251
621
657
777
149
15
167
509
12
868
384
34
574
552
338
343
159
213
746
464
451
682
46
578
519
246
739
919
842
556
737
515
408
114
277
1000
419
734
497
41
736
736
659
224
421
807
548
312
420
398
34
533
695
470
705
691
69
466
241
167
165
152
55
911
961
669
20
272
168
167
40
73
603
27
551
610
168
137
871
204
996
687
999
156
299
198
648
156
296
66
145
367
887
983
464
598
160
996
720
534
304
151
146
747
756
767
527
131
935
55
526
391
885
831
75
268
132
190
687
181
651
783
382
466
371
814
425
998
245
670
704
50
324
289
531
678
66
243
201
411
136
544
336
15
752
672
61
610
82
149
305
826
38
613
886
212
163
486
230
969
318
89
765
545
15
633
882
492
684
419
274
779
470
391
632
223
887
62
509
136
970
172
980
372
294
202
90
566
618
31
328
234
962
29
591
182
176
913
333
495
65
645
344
636
355
78
572
727
487
568
486
480
167
162
944
776
329
404
317
499
343
185
217
459
709
515
52
927
225
279
974
246
665
163
165
90
506
804
97
726
325
719
641
585
854
413
594
942
80
412
675
992
630
306
669
607
30
147
531
862
949
771
466
28
245
542
794
771
831
963
807
567
444
833
898
503
454
730
671
436
267
610
978
963
834
349
746
100
290
695
162
354
91
978
715
699
838
593
644
389
458
230
533
352
987
545
989
676
720
535
223
192
789
832
702
149
56
18
27
316
632
95
108
106
679
940
365
992
19
572
127
27
358
547
284
247
578
298
650
536
959
178
77
546
379
463
926
691
213
393
596
944
452
336
59
881
165
786
264
206
203
943
933
172
407
807
144
238
671
954
890
435
961
984
958
133
527
642
872
346
234
633
581
492
976
573
418
561
131
390
544
398
245
540
957
158
655
110
574
943
140
540
869
808
736
58
316
755
140
130
39
679
499
363
328
833
229
711
783
145
146
433
28
479
12
125
285
793
968
956
315
278
918
165
829
505
694
108
354
792
945
939
980
216
826
624
434
969
902
638
252
422
745
346
65
732
767
850
282
706
468
847
532
941
558
249
249
313
101
191
737
904
845
335
647
932
242
363
494
111
367
142
228
759
666
988
523
716
492
832
349
947
373
408
351
763
933
9
344
582
282
657
590
728
128
227
492
925
463
282
606
422
652
214
236
776
387
601
580
940
673
188
251
650
696
728
965
101
797
148
619
125
65
630
726
629
219
833
982
859
805
242
90
304
688
127
299
138
597
723
117
127
384
64
69
285
793
537
74
665
394
140
869
80
672
979
33
570
730
576
108
506
430
90
510
425
275
907
535
91
657
68
298
443
746
745
933
188
720
90
11
124
748
997
601
309
41
555
410
755
281
654
570
409
404
441
268
16
238
349
211
976
441
442
293
820
285
920
245
497
702
526
363
444
991
558
799
383
671
951
781
949
779
339
806
267
259
515
760
895
271
954
239
105
182
399
474
802
398
300
113
755
765
984
395
919
295
954
338
678
757
377
17
746
84
265
247
772
305
436
759
673
199
384
733
738
315
388
16
197
963
929
714
146
884
793
284
859
164
469
673
77
424
463
328
622
251
52
3
760
738
202
603
166
149
884
631
791
761
260
187
423
963
634
25
607
711
801
79
94
459
13
190
150
835
335
839
373
84
610
191
847
737
88
718
172
64
675
317
319
143
777
18
865
669
146
852
787
270
808
448
265
582
645
691
744
891
954
962
120
323
456
342
709
750
497
253
993
731
439
925
944
607
482
989
782
970
669
810
427
888
70
867
492
56
158
278
13
936
372
96
804
536
489
789
490
189
609
568
349
400
396
369
330
695
830
851
785
658
762
195
791
326
114
8
573
10
4
460
810
746
400
900
264
997
119
913
329
972
509
689
304
345
371
222
490
119
587
241
998
904
763
353
124
832
586
876
546
503
476
116
94
579
93
557
252
198
212
780
726
363
598
173
357
339
133
691
223
611
310
137
260
23
283
601
921
303
369
151
290
693
265
132
190
538
731
549
245
727
1000
565
777
231
354
270
945
747
386
199
8
314
139
572
69
188
604
219
237
840
70
740
963
309
205
69
171
417
186
841
366
923
301
842
69
692
136
719
145
770
980
34
380
46
322
168
790
671
789
20
409
249
404
116
683
74
397
190
240
532
757
776
25
642
592
576
193
630
279
245
333
709
911
132
352
16
498
354
904
749
8
341
906
103
630
397
856
912
786
619
530
735
191
447
438
954
9
48
725
124
204
878
149
260
289
845
928
524
53
769
56
205
957
416
955
169
126
347
401
125
197
979
231
864
48
174
228
959
910
797
61
825
159
499
967
355
403
454
182
100
335
165
565
175
165
557
755
376
383
363
657
203
61
943
982
629
801
609
550
725
263
88
864
947
349
71
279
132
243
586
347
89
59
969
2
296
247
748
186
283
477
292
152
439
881
697
510
182
781
397
17
1
436
89
780
57
866
848
841
396
109
272
62
48
120
936
993
382
419
957
287
61
144
108
716
227
703
999
758
418
268
728
796
335
227
920
154
435
873
96
478
153
646
951
174
878
404
610
399
16
895
925
727
148
402
209
863
673
221
338
215
915
827
387
355
198
89
74
599
125
853
17
318
244
536
173
955
71
196
571
932
520
745
540
365
839
70
945
44
258
326
76
711
517
907
352
261
242
601
118
746
159
558
863
772
687
673
682
625
731
845
721
767
90
235
225
768
494
23
263
743
371
562
191
163
255
590
841
104
207
468
420
37
325
46
906
162
489
789
424
219
137
515
923
534
856
661
514
651
180
429
248
50
635
977
675
739
498
481
11
543
194
923
759
596
368
627
46
302
327
14
98
70
871
219
448
916
9
109
688
97
417
303
784
972
93
770
844
126
660
72
340
400
920
207
845
855
805
269
885
218
131
308
830
84
205
625
434
969
804
559
526
131
899
608
67
722
933
868
736
333
443
68
564
986
346
276
166
215
11
560
184
396
258
383
120
17
947
796
749
131
613
311
414
830
705
757
789
839
100
504
278
851
819
946
665
80
551
218
479
276
734
718
29
913
918
39
501
864
247
968
264
688
513
289
773
545
842
302
774
255
914
155
368
558
552
626
143
131
18
960
217
832
496
982
598
390
669
372
672
470
707
135
614
586
420
194
43
949
709
909
972
237
854
599
968
19
557
407
43
631
746
50
376
89
23
600
946
301
75
736
3
203
8
746
837
210
785
948
310
295
637
40
361
285
711
367
301
745
36
916
36
510
197
667
912
965
45
535
340
892
447
239
313
281
812
365
106
251
140
13
294
305
353
570
164
549
422
942
690
65
159
713
366
280
191
704
365
399
419
961
801
78
715
384
258
995
761
55
505
56
871
968
863
215
629
686
636
302
218
464
278
796
138
189
219
649
406
859
924
888
669
646
822
952
430
929
218
196
380
219
973
902
283
705
546
694
614
141
786
35
672
141
292
147
581
430
830
100
786
853
135
58
758
299
905
609
32
235
881
913
782
25
12
335
597
404
414
884
784
598
511
852
113
909
557
312
170
416
789
705
917
210
927
772
948
907
817
836
850
930
747
140
286
84
237
481
172
595
877
68
52
150
368
522
507
837
244
200
582
667
57
792
759
327
67
798
761
277
766
317
140
928
342
827
75
538
854
192
865
604
213
919
406
963
871
150
721
650
926
861
250
451
724
676
770
231
454
963
606
960
263
788
35
84
752
493
478
776
930
401
288
902
735
399
282
452
677
376
172
60
209
305
186
725
795
535
977
698
11
748
724
51
700
444
754
943
540
602
141
900
943
388
551
205
863
274
936
808
480
873
238
526
595
67
677
498
537
272
636
188
390
198
50
159
680
548
775
742
835
318
688
831
732
744
147
986
760
408
371
237
346
698
821
670
26
758
585
62
130
274
177
416
830
792
938
641
274
168
155
256
698
65
318
246
159
768
536
86
440
730
61
402
999
276
27
302
153
841
767
306
538
708
840
120
812
92
667
912
566
893
24
491
752
405
793
97
318
982
434
905
736
940
273
74
582
509
589
189
688
21
268
701
849
796
78
436
250
165
379
314
963
842
664
300
716
978
756
660
394
956
906
880
883
826
571
497
872
398
177
628
978
797
370
123
690
936
669
18
509
727
402
109
721
47
669
817
203
597
74
865
55
158
515
709
181
558
8
663
89
447
849
967
300
648
12
639
383
349
974
596
692
323
279
296
274
688
98
400
487
721
225
524
594
675
102
159
413
979
942
649
212
347
398
326
184
184
96
762
530
131
287
214
654
214
797
362
766
992
43
516
180
472
386
642
268
5
172
268
878
783
278
921
14
850
928
335
745
847
922
214
97
749
501
853
174
751
654
346
442
724
372
904
319
89
381
919
690
961
650
438
96
334
272
443
970
227
404
569
412
792
357
27
683
728
852
505
82
983
487
516
667
277
551
225
727
669
77
151
730
598
214
415
281
499
109
587
126
581
506
537
340
508
242
538
193
867
531
888
941
658
399
205
883
397
151
338
39
683
916
486
781
197
355
584
37
984
226
521
307
364
84
395
751
748
950
411
266
886
838
752
697
112
504
97
72
155
703
767
567
199
755
214
840
510
524
265
186
5
721
662
435
106
140
186
262
78
427
79
71
974
536
86
900
157
240
44
180
567
284
8
815
19
156
30
806
149
52
952
105
641
627
567
138
795
352
6
253
394
534
558
738
407
595
295
153
108
462
176
150
727
478
26
274
309
941
102
994
810
74
265
630
287
322
923
740
420
386
150
292
996
915
481
18
618
644
166
622
642
529
972
144
800
811
997
237
16
742
162
208
288
581
875
40
969
569
294
182
955
261
46
443
704
576
673
773
861
646
331
344
398
414
289
321
252
697
298
719
843
595
565
395
262
258
189
361
196
858
473
703
520
213
384
47
950
907
655
514
640
740
134
843
719
188
5
329
282
281
163
958
279
179
740
948
677
329
88
379
721
26
547
613
119
704
900
135
182
595
544
481
967
507
285
270
974
137
345
807
4
567
29
977
211
507
424
738
96
452
418
766
39
363
445
85
442
497
420
80
448
237
902
568
40
91
866
154
964
839
315
98
221
278
104
846
970
51
775
18
661
812
336
496
987
258
29
123
109
478
750
746
278
852
974
554
426
857
522
839
785
924
473
244
154
361
708
873
584
273
103
639
140
151
920
771
268
40
122
417
967
262
240
664
754
29
945
653
604
960
879
832
710
886
762
369
392
427
148
709
808
573
564
449
186
722
477
384
288
498
913
341
833
287
630
494
454
363
167
531
857
380
780
151
357
834
361
794
560
684
803
610
92
55
626
646
249
528
321
808
997
803
726
459
576
1000
459
353
176
581
713
515
178
407
50
449
109
327
17
21
172
564
81
322
393
784
121
658
844
647
86
97
577
740
586
139
117
332
359
631
342
161
705
186
677
225
495
171
945
916
908
57
207
992
205
267
96
885
648
87
979
375
414
559
992
982
246
790
15
108
420
7
702
230
615
141
505
599
132
491
488
837
748
504
191
597
456
391
928
706
576
108
438
779
155
423
652
303
586
221
983
707
762
955
742
143
166
601
529
234
37
993
874
81
137
760
206
390
494
151
76
922
684
46
123
133
240
379
804
25
961
475
676
194
594
839
962
929
644
709
139
506
722
889
230
903
741
673
588
164
354
337
312
861
280
156
825
828
924
325
620
483
12
511
937
225
951
339
264
85
754
753
469
748
189
427
208
17
523
167
424
78
120
138
445
369
572
308
610
957
634
489
49
561
519
241
649
610
943
871
906
776
148
285
101
285
29
711
636
244
599
565
143
558
465
692
674
845
538
465
834
559
201
921
801
902
195
37
18
238
655
472
529
552
951
99
585
44
658
586
92
62
647
634
914
277
64
917
899
78
314
529
629
258
443
626
725
387
501
720
952
960
367
574
68
35
340
40
893
41
537
448
82
524
549
672
766
74
144
217
269
89
139
609
933
173
571
14
748
208
39
110
611
176
337
681
883
144
51
644
932
153
569
871
139
287
366
121
239
735
688
53
658
662
146
675
88
492
761
588
482
163
319
918
368
66
585
28
590
968
287
136
666
57
995
541
942
939
952
599
535
810
759
858
747
293
632
738
124
357
807
929
763
786
575
307
775
839
631
458
831
42
106
709
509
521
487
146
467
423
334
355
887
675
835
649
330
7
701
975
689
666
300
175
686
329
859
520
22
830
782
480
681
160
625
469
736
610
961
190
608
76
686
799
88
751
378
571
905
226
577
928
690
479
315
891
278
153
861
45
658
861
427
784
983
452
420
56
187
759
150
565
436
601
191
609
870
159
437
221
531
917
415
738
908
677
94
212
593
881
60
794
600
805
27
31
191
212
65
588
109
198
630
446
128
16
513
891
994
7
368
715
853
665
448
927
22
764
126
912
432
665
115
451
69
775
608
286
985
568
451
881
901
688
404
270
295
655
786
305
195
267
723
930
282
880
15
938
149
752
674
469
417
981
984
476
662
380
973
955
14
927
106
829
496
145
345
496
361
237
212
424
726
856
838
831
562
748
194
82
920
713
323
280
83
201
978
174
916
400
136
78
519
185
209
372
466
571
562
48
74
525
436
120
271
15
949
500
60
477
610
862
738
946
226
33
518
478
99
460
710
75
349
958
653
462
145
744
408
276
426
304
141
838
134
718
756
862
491
825
601
642
847
769
145
804
206
531
156
1
673
320
703
997
969
330
273
628
200
456
149
101
155
891
248
890
708
128
159
486
812
351
70
567
310
915
368
540
868
506
66
96
880
721
119
145
272
516
442
965
341
693
213
658
94
874
438
339
823
603
419
757
975
617
948
217
866
604
454
836
796
831
743
660
118
910
107
953
699
895
363
685
396
99
74
102
982
641
106
111
703
619
73
173
537
434
334
347
358
374
474
686
218
300
469
724
956
385
641
685
233
987
89
573
876
522
320
882
664
708
219
599
101
848
753
634
559
90
711
415
877
587
897
51
189
589
576
470
290
117
708
145
832
938
381
535
736
744
861
167
451
762
852
387
433
619
453
698
408
236
274
630
366
619
311
67
304
577
327
76
173
247
941
99
192
405
875
375
840
625
683
192
445
315
293
521
829
194
157
679
972
32
103
830
583
326
503
989
242
232
386
857
996
306
57
591
494
500
905
470
909
758
662
83
775
604
755
134
479
70
878
845
735
559
407
582
711
532
932
831
385
416
411
62
250
721
260
742
676
131
557
232
434
581
617
234
320
670
773
690
167
387
968
20
558
813
850
570
599
999
798
899
290
252
354
984
60
762
761
485
843
539
655
684
74
959
597
480
448
518
571
527
988
877
231
322
143
463
653
709
954
742
996
686
155
579
202
60
749
562
181
809
662
371
823
55
864
380
414
216
658
83
170
211
101
545
329
854
964
571
875
979
900
958
9
1
990
974
546
698
947
84
476
716
559
722
400
814
956
94
277
76
954
433
51
909
211
57
426
147
899
861
415
576
135
68
191
669
311
519
479
97
825
415
588
614
56
764
266
897
533
450
82
347
231
577
129
562
994
324
379
225
206
607
115
65
61
414
502
169
327
518
419
862
484
631
988
406
19
687
553
534
564
758
550
324
935
349
984
862
942
702
875
586
727
911
981
636
543
726
5
881
739
371
220
32
155
64
993
979
855
296
298
712
571
488
928
923
140
343
782
255
542
901
62
3
908
660
375
663
442
762
595
343
983
353
179
461
437
904
794
761
729
296
579
438
538
689
889
156
262
520
197
123
691
844
836
239
99
400
520
604
869
313
691
965
523
369
968
116
607
773
927
769
906
968
672
49
957
204
266
942
445
387
695
385
199
96
658
527
389
661
718
247
48
705
636
761
151
762
217
416
736
192
946
913
799
385
901
466
953
788
997
993
404
204
911
523
893
125
968
531
46
396
883
611
476
194
513
244
885
689
513
537
961
246
138
885
737
801
706
1000
182
190
74
375
192
429
280
802
80
800
544
132
823
657
677
857
515
762
861
60
457
635
680
26
995
201
331
508
27
308
804
73
438
503
87
257
103
574
363
448
520
783
584
109
964
724
729
45
689
929
750
239
25
45
22
253
571
892
727
47
963
218
877
276
884
391
199
259
249
387
708
303
754
602
253
944
254
486
201
181
68
138
631
494
355
184
100
869
574
209
294
365
713
350
466
32
871
782
473
992
468
548
939
57
613
480
530
3
459
222
178
612
746
971
484
108
291
99
392
669
486
479
331
866
757
653
658
471
672
140
928
611
704
3
845
259
126
984
447
723
149
389
73
524
958
997
587
295
979
855
198
206
43
391
79
522
896
378
699
283
582
886
426
522
592
152
42
195
699
768
943
784
823
699
817
266
663
875
454
605
570
400
971
85
429
701
38
837
202
828
460
583
320
541
54
682
50
804
365
17
175
494
704
785
372
910
685
115
14
299
49
756
255
291
432
131
233
111
60
513
774
99
119
666
544
717
207
434
21
32
612
902
620
868
30
637
748
659
354
193
516
110
590
974
481
970
517
496
589
311
651
233
310
496
57
330
417
886
718
927
581
850
146
556
54
884
19
81
238
966
499
505
697
745
25
871
868
834
6
630
214
281
202
600
357
700
18
282
340
138
868
351
252
787
782
308
942
420
623
898
672
826
844
636
601
904
23
813
78
395
814
220
386
136
545
979
677
659
538
595
348
734
17
24
870
99
877
23
446
256
642
506
179
301
3
722
260
237
699
753
388
293
162
510
922
780
999
546
636
842
302
23
646
193
223
456
774
662
242
244
470
888
357
206
353
488
865
298
661
759
259
798
645
721
700
840
531
109
13
704
499
878
762
598
524
912
952
868
584
857
7
206
607
734
375
922
178
350
492
952
920
641
84
963
868
867
937
432
860
423
864
114
142
764
299
881
217
257
694
503
834
793
151
335
40
247
40
808
449
640
324
117
839
129
774
985
644
7
822
83
153
307
28
821
835
618
881
755
707
419
539
67
267
540
203
120
214
528
179
71
496
751
581
825
4
791
128
78
597
91
949
232
383
218
509
270
528
454
853
930
155
40
330
223
273
359
592
796
520
790
333
811
109
751
922
698
847
579
70
111
46
192
490
291
536
859
428
984
342
623
711
739
510
330
681
541
496
181
388
269
818
224
885
337
542
499
91
384
395
754
869
940
862
7
430
690
417
909
5
809
457
254
533
830
809
860
584
554
52
563
739
409
190
806
96
42
462
656
485
482
411
766
33
632
936
933
559
655
374
490
818
493
350
5
62
687
931
583
700
961
696
490
966
426
252
451
442
220
480
348
506
521
881
682
281
521
908
155
117
928
152
213
765
17
987
371
518
576
130
899
789
441
430
213
463
770
232
299
382
766
563
220
123
362
875
678
577
852
96
873
741
802
461
713
381
973
832
213
36
515
293
885
65
611
681
495
25
187
770
46
431
429
758
215
58
791
937
607
330
509
681
287
413
569
931
893
968
369
339
285
321
885
149
902
676
615
43
294
608
785
922
218
292
719
580
797
892
575
497
420
352
302
316
143
88
515
628
483
630
876
397
221
757
233
722
704
808
665
970
998
91
149
373
717
646
635
28
976
880
586
668
174
282
255
160
294
603
457
691
587
36
316
697
684
54
288
170
969
14
498
473
515
425
778
218
984
867
218
254
724
373
650
174
430
449
605
985
445
382
565
789
470
846
25
574
495
224
256
469
874
402
153
299
779
638
797
684
871
257
10
30
930
893
720
805
852
12
859
15
218
544
884
317
369
192
488
518
392
14
180
552
266
356
298
960
384
837
788
700
174
951
882
334
610
901
697
899
500
650
852
745
698
506
680
174
406
805
964
384
511
149
439
441
385
351
502
573
762
376
796
707
115
273
287
578
25
498
501
313
606
560
58
185
40
62
627
712
136
576
401
396
651
103
969
422
802
350
223
379
448
789
340
294
744
175
97
644
976
399
316
603
334
728
138
286
520
946
858
858
487
484
850
259
658
813
502
585
147
586
197
809
88
661
742
663
521
101
859
560
805
113
759
74
37
888
649
311
419
672
336
510
120
578
578
747
20
924
726
935
605
892
458
173
489
979
859
82
702
566
269
547
591
907
364
45
315
37
575
674
805
716
429
479
463
410
465
133
382
438
611
156
301
748
29
522
153
171
131
344
930
594
260
79
429
941
632
604
387
108
986
271
362
288
589
7
5
861
132
847
401
796
733
113
757
702
579
304
198
833
833
420
59
44
52
766
111
252
139
32
385
225
858
915
615
882
698
573
190
519
330
574
723
940
335
157
989
911
878
912
302
216
133
628
738
249
552
746
25
74
138
339
938
655
13
262
255
882
765
410
715
538
161
571
847
839
850
814
168
401
800
569
117
291
543
689
860
385
572
459
275
72
596
856
286
375
563
147
645
48
744
174
480
762
588
787
326
787
543
356
821
314
994
821
460
632
451
96
711
142
865
871
193
202
149
547
183
907
910
959
782
742
653
534
389
819
489
925
945
179
64
853
268
881
700
271
442
944
187
441
538
601
294
997
956
105
175
701
771
909
657
267
185
700
476
323
333
902
442
467
187
329
883
351
271
936
193
575
722
968
617
50
551
461
247
59
755
232
176
161
301
206
424
265
843
414
791
965
388
907
942
116
9
209
550
479
92
776
46
8
104
356
683
953
37
831
960
973
664
75
519
79
619
615
720
834
861
909
525
482
258
376
474
912
27
102
367
232
606
247
734
187
659
488
947
144
413
292
855
610
100
870
641
178
445
406
11
826
350
621
75
111
906
562
861
175
496
779
765
889
433
507
170
16
530
530
955
536
940
966
175
729
277
478
532
41
920
178
285
374
931
772
783
381
619
557
509
336
150
61
644
934
36
130
847
933
754
128
996
340
56
542
6
949
354
232
995
417
948
724
750
959
455
474
585
945
864
316
855
825
614
802
585
120
283
182
338
102
497
747
848
725
278
683
747
23
682
636
178
793
124
779
503
111
802
169
55
151
517
693
320
828
113
768
312
313
906
484
968
631
410
548
479
22
65
358
68
501
503
91
104
710
977
925
584
751
207
384
406
318
525
342
837
885
268
845
559
961
270
590
72
631
934
901
870
82
101
864
423
952
55
170
9
53
732
727
965
666
200
576
405
883
727
133
403
913
531
486
83
600
285
291
75
443
652
837
372
124
164
97
458
928
463
527
967
868
238
12
233
839
817
508
413
786
136
626
487
353
784
53
135
118
784
281
582
849
22
855
781
752
150
889
808
997
381
806
853
635
102
648
212
540
819
11
415
524
404
461
247
744
696
25
72
820
60
954
931
891
695
175
502
901
638
483
866
860
261
509
824
825
32
261
644
679
477
863
467
339
266
189
993
29
742
867
41
635
844
801
41
799
220
388
315
570
387
633
793
122
1
979
613
327
78
38
856
176
18
761
560
504
772
335
600
453
170
448
71
497
504
203
981
534
935
737
750
447
719
634
679
142
637
469
211
420
937
636
666
509
477
726
29
132
222
351
166
789
606
295
341
445
713
552
84
344
865
298
279
171
424
336
483
550
148
880
458
989
754
2
466
356
928
821
85
742
204
756
711
849
417
259
107
177
9
343
778
470
859
772
910
163
97
349
984
214
44
124
198
772
573
283
572
998
3
258
325
164
391
228
705
188
122
31
753
160
475
500
691
227
558
891
803
757
482
20
287
403
893
610
557
461
860
422
386
266
882
672
804
995
942
962
715
341
788
808
427
706
610
714
452
676
169
646
453
643
288
679
373
339
212
635
936
676
94
239
907
188
822
535
825
341
896
154
151
163
178
637
174
654
407
725
873
34
918
254
492
250
743
259
172
543
81
832
757
874
786
217
327
439
284
237
540
68
917
537
98
84
91
422
44
258
691
651
840
315
4
1000
721
307
115
94
773
327
909
973
80
109
665
732
899
404
851
135
812
971
527
23
636
158
270
305
783
186
224
485
360
177
854
477
649
637
276
104
827
557
648
282
451
166
728
804
234
754
691
419
858
680
276
33
698
956
229
267
280
724
1000
834
568
273
464
895
199
470
22
200
381
474
33
569
631
254
337
170
539
940
515
288
287
425
631
751
745
575
272
818
314
528
626
793
311
305
583
528
684
768
884
510
699
730
944
204
62
326
303
890
811
540
225
974
989
497
628
263
83
562
313
370
492
330
578
486
763
706
615
688
645
573
592
280
940
717
592
265
430
493
113
417
293
923
534
323
480
498
233
534
681
388
731
721
744
60
112
802
87
591
580
142
101
646
809
338
207
818
450
37
553
436
62
449
722
901
56
323
153
848
517
812
669
294
999
480
670
264
731
299
562
297
546
132
429
406
356
961
916
717
542
916
492
222
946
333
535
312
613
655
557
982
922
735
105
338
87
205
565
576
675
438
806
21
453
10
510
742
855
619
582
960
134
217
605
715
16
961
425
606
732
203
658
269
93
954
738
157
748
298
362
225
519
449
53
64
596
428
20
72
165
687
531
276
737
43
449
387
721
636
286
28
558
715
653
964
109
677
762
6
377
356
376
764
490
192
887
238
654
138
426
342
622
440
264
696
990
496
103
229
550
765
142
937
239
958
241
71
758
231
166
171
858
922
621
463
272
869
788
415
679
96
41
477
384
410
823
654
203
11
416
522
917
740
514
945
949
585
669
358
182
937
432
405
312
143
702
717
323
733
339
418
585
736
398
990
677
533
836
814
649
715
995
257
12
904
573
82
848
278
639
579
213
221
523
772
658
641
662
800
549
819
399
209
339
223
680
604
594
472
513
877
404
521
586
942
530
611
633
904
859
604
367
638
450
357
658
375
956
237
670
484
149
643
721
171
371
682
751
154
732
498
390
432
499
750
520
276
784
872
587
444
58
380
456
689
414
758
862
39
407
606
909
6
669
834
358
274
158
871
157
744
942
421
730
155
683
437
378
311
59
957
301
85
52
956
598
753
252
699
575
746
601
603
697
751
446
97
64
926
646
768
220
389
303
987
811
708
378
362
932
610
466
293
276
82
50
576
969
491
169
249
175
475
969
588
699
340
522
390
641
715
437
148
681
153
794
588
532
423
188
541
396
342
916
795
54
953
991
99
543
442
700
914
366
449
355
216
939
993
648
341
29
398
901
930
375
387
936
716
349
188
415
768
40
274
861
696
70
465
603
791
563
776
749
98
547
769
773
951
411
698
195
483
738
349
473
883
899
137
243
884
380
948
908
149
459
306
889
135
923
193
204
680
50
566
223
464
649
647
12
527
285
43
725
5
147
428
908
176
57
638
961
453
44
689
665
99
570
260
623
181
203
150
199
225
524
831
249
185
976
563
953
427
353
507
172
692
175
938
786
852
76
654
969
437
74
712
896
300
109
541
488
340
710
424
687
833
390
290
409
123
281
927
889
52
969
9
161
253
139
100
579
410
137
375
491
858
831
229
293
874
311
328
863
683
364
620
39
144
969
942
980
409
954
210
396
15
331
108
215
994
869
665
665
269
739
577
873
928
147
872
721
318
371
497
284
796
333
421
957
979
574
575
181
239
387
934
674
889
429
475
242
126
843
542
433
614
285
697
775
267
908
586
896
122
755
691
541
921
866
125
782
352
860
338
665
420
392
692
945
169
599
371
688
758
96
135
741
488
32
595
95
219
442
132
827
580
673
279
749
647
83
791
471
38
68
18
587
406
665
840
602
152
874
96
438
195
710
223
941
960
849
804
69
394
668
606
255
218
103
565
798
449
113
8
99
376
307
756
488
239
305
685
657
526
634
290
264
331
149
349
464
449
791
322
733
199
519
660
688
723
178
887
499
259
689
667
687
129
344
736
766
727
881
350
251
432
676
465
199
703
580
898
203
24
689
911
525
594
417
696
738
205
922
620
310
967
353
371
53
496
767
40
283
329
93
418
602
936
685
962
517
428
715
887
883
209
615
599
638
701
8
579
169
395
397
175
576
314
908
632
579
952
74
950
130
179
633
253
521
927
856
180
725
484
227
665
852
690
644
815
200
517
83
831
585
76
627
861
672
860
42
346
931
451
251
867
351
13
973
165
622
153
162
668
507
743
47
115
991
400
108
28
502
470
929
487
949
96
655
254
265
901
891
303
133
615
924
812
601
10
537
623
975
108
106
968
605
865
690
737
251
931
322
184
4
332
919
112
274
978
260
328
360
580
229
992
39
3
334
3
633
964
668
593
130
616
326
422
408
977
232
633
666
836
253
368
302
475
719
959
503
960
521
440
346
4
190
456
615
768
580
118
25
672
653
70
528
706
568
802
235
861
944
469
807
562
460
910
529
670
894
515
129
822
348
360
815
931
198
242
558
370
509
339
886
865
474
54
600
468
843
531
342
620
438
691
564
308
862
259
27
814
65
238
262
675
709
587
291
521
242
957
234
156
400
178
212
102
101
140
890
566
864
162
652
11
330
431
42
303
563
540
49
401
508
341
58
974
734
509
967
28
44
490
670
213
120
599
864
10
148
718
726
115
522
624
197
80
170
551
450
513
998
891
948
94
251
853
415
261
940
525
638
445
332
654
710
730
365
301
292
571
1
24
746
941
745
348
997
852
640
442
917
730
255
20
978
794
956
283
520
327
379
307
88
285
33
951
577
765
848
963
599
767
720
932
476
369
529
792
353
688
353
536
300
903
135
803
135
753
245
28
52
285
283
373
166
876
715
628
307
81
72
746
287
65
720
245
79
8
724
797
983
65
80
397
895
511
211
496
980
755
496
637
628
422
533
915
160
964
672
9
24
287
485
604
969
589
521
190
562
754
188
15
241
185
442
793
109
829
714
814
761
6
84
172
871
95
793
880
423
710
141
570
719
231
814
712
80
851
866
443
356
588
447
276
740
550
139
485
986
704
75
377
137
801
703
801
494
849
616
436
566
746
950
470
793
260
194
791
880
295
978
108
857
280
811
7
557
775
554
701
845
602
105
149
541
338
958
350
230
394
769
844
855
265
871
490
44
21
818
307
974
612
860
421
551
3
129
80
336
269
530
783
473
256
324
464
506
857
486
998
711
668
919
927
854
43
940
649
746
682
177
862
25
592
389
380
483
523
603
776
792
87
849
958
733
549
771
505
996
709
682
2
480
552
13
54
241
740
222
252
206
727
504
864
886
294
407
571
489
128
113
124
448
759
49
941
401
505
560
387
602
636
160
772
30
989
580
555
845
158
843
263
839
553
197
199
386
770
903
724
54
629
351
398
541
738
234
883
398
844
586
54
730
644
234
708
493
774
769
983
286
704
768
873
314
201
999
137
734
90
310
363
280
772
98
117
685
137
74
772
716
415
654
807
786
725
304
437
581
597
560
705
319
247
808
184
109
930
709
954
371
327
785
810
51
366
509
990
77
581
343
229
171
557
491
802
867
190
275
461
718
369
631
255
97
705
109
315
948
794
250
788
249
454
944
431
338
78
662
893
451
974
224
497
431
814
972
841
367
904
943
891
125
731
47
158
776
556
248
877
462
103
736
322
163
428
437
703
194
432
37
89
288
1
357
326
2
747
140
61
295
901
991
194
318
290
828
673
579
402
482
662
179
850
424
511
909
706
577
351
364
451
487
58
793
717
74
176
93
194
117
312
576
74
392
994
790
749
885
518
697
887
963
318
546
1
445
872
384
989
330
309
799
981
411
365
547
39
443
585
12
355
622
661
942
967
974
764
198
928
784
178
477
167
901
534
250
788
639
469
946
141
14
361
137
958
732
127
174
975
837
94
104
886
639
510
528
846
57
180
578
383
45
792
350
231
318
825
629
35
97
740
374
519
678
288
286
857
97
411
508
668
781
872
331
111
861
893
428
830
733
702
59
707
187
143
183
762
729
55
768
452
948
224
790
299
535
417
286
273
213
10
476
81
395
961
618
350
229
832
423
866
582
322
490
414
882
601
974
258
972
606
457
305
224
501
244
310
90
393
428
965
575
758
72
251
325
871
727
658
770
983
980
39
653
300
570
617
461
675
640
741
105
812
45
892
816
623
408
916
247
974
453
28
847
449
682
369
84
726
688
178
23
59
660
921
718
181
6
67
600
771
460
262
653
1
552
148
34
253
922
15
117
572
793
549
683
51
921
40
161
527
136
363
706
723
748
355
226
433
494
135
577
814
785
736
644
893
382
898
818
393
635
916
632
683
338
920
206
608
906
958
825
743
441
591
990
942
599
468
898
340
822
954
573
35
67
297
611
35
244
694
732
349
726
553
954
208
636
640
105
962
667
424
564
236
812
29
983
850
534
201
396
161
333
930
996
667
619
577
337
818
293
714
272
319
965
858
155
554
194
742
411
450
481
40
555
26
166
580
672
521
974
637
484
549
72
440
785
233
260
970
957
98
746
938
363
36
707
19
486
901
284
320
137
424
620
482
120
870
358
109
328
652
487
484
759
613
791
529
902
343
514
148
932
9
970
954
516
829
461
406
468
53
599
974
37
361
872
272
131
407
237
543
607
112
646
750
540
723
559
985
934
586
949
811
343
585
915
815
609
899
121
471
426
436
757
879
934
214
523
674
549
713
285
383
732
207
284
940
539
990
739
408
350
86
421
211
477
640
36
698
87
855
452
382
290
871
975
2
51
762
477
101
790
426
746
479
213
556
313
570
316
110
132
735
358
77
41
327
493
459
881
582
93
976
544
463
129
327
37
549
173
197
789
813
506
754
953
140
900
746
436
379
262
134
665
40
93
573
451
773
57
210
730
528
21
109
669
777
514
479
672
357
675
115
665
944
675
169
251
642
843
737
597
898
115
820
506
303
206
446
100
466
921
474
418
124
420
544
343
662
880
116
570
123
966
127
304
243
404
817
154
769
989
844
694
723
445
840
411
991
989
351
454
815
152
962
415
755
872
956
341
64
554
81
714
400
647
806
815
954
351
760
683
416
890
157
449
855
637
766
541
976
607
358
811
216
79
864
682
274
410
464
840
26
873
666
694
749
20
84
505
928
760
599
878
600
727
759
323
414
185
997
628
505
327
579
246
657
871
319
473
894
324
282
339
571
385
738
200
998
791
209
456
917
283
660
617
191
961
549
63
517
264
764
923
507
398
423
566
3
957
997
146
226
963
318
528
5
529
552
101
923
572
962
772
237
388
804
318
717
288
178
233
346
679
471
666
406
859
30
888
327
682
39
497
877
430
532
984
910
424
333
251
423
702
38
758
468
497
734
937
579
413
762
168
595
445
65
778
875
810
358
802
810
514
321
915
294
236
744
413
561
94
117
29
855
965
896
531
768
514
65
683
552
178
390
553
744
281
689
98
460
711
737
20
672
431
151
90
53
168
30
225
26
52
433
391
490
226
704
880
521
425
520
66
992
589
478
862
205
829
222
85
667
473
873
921
414
376
483
799
569
164
892
690
818
729
651
365
789
184
346
599
380
100
578
905
801
698
580
656
13
22
718
196
773
585
309
873
391
659
338
364
828
10
162
619
962
283
481
652
344
624
444
675
661
215
862
823
427
992
785
257
137
487
695
834
228
212
223
582
894
433
104
382
304
259
675
754
170
830
228
924
120
948
305
762
108
539
516
683
349
855
532
118
284
282
149
897
165
732
618
597
86
523
752
748
6
910
62
861
940
380
460
156
917
366
416
291
655
390
275
825
554
160
878
807
289
887
918
285
965
180
113
863
721
930
143
271
646
929
535
933
958
265
443
862
843
402
829
51
113
125
579
402
539
422
558
318
189
328
618
488
689
372
506
369
320
838
861
610
228
594
2
999
615
147
732
494
371
312
10
519
868
481
391
111
75
744
575
300
204
545
700
820
381
422
36
347
782
235
781
157
89
959
686
19
686
968
957
898
562
273
349
361
880
385
710
296
24
187
856
89
872
301
716
217
582
731
581
840
869
273
527
331
262
482
398
601
262
834
121
146
797
930
342
746
946
579
544
825
881
74
204
282
803
870
986
121
72
140
338
482
44
322
9
393
18
151
407
321
39
481
812
936
329
378
376
630
471
991
444
275
175
977
270
41
344
686
128
146
40
570
998
910
990
363
900
627
465
290
942
483
936
325
354
460
871
35
933
568
816
84
561
669
622
97
321
957
731
115
823
459
335
586
414
855
70
262
322
23
562
793
647
605
740
956
442
91
442
281
484
462
91
79
87
383
195
383
107
307
518
170
588
919
800
891
799
482
3
234
451
242
218
339
815
855
804
75
552
266
427
752
596
758
938
152
288
280
898
430
928
297
978
471
929
598
442
178
183
344
118
105
602
566
40
831
658
48
486
721
549
186
892
55
962
88
599
338
234
539
662
265
822
526
452
327
185
3
382
172
958
404
361
657
775
412
798
785
908
930
248
545
33
691
25
655
281
635
956
72
341
646
927
834
815
155
442
891
216
751
104
37
692
882
799
928
441
985
587
648
837
392
120
959
653
571
618
332
862
204
446
722
583
426
701
765
22
950
540
151
228
922
653
224
208
318
806
17
926
809
798
282
83
620
821
450
112
348
718
555
45
884
432
732
282
458
564
969
260
858
497
756
194
129
441
441
46
268
262
480
448
53
262
204
902
861
162
561
592
819
853
124
124
450
667
23
320
401
431
560
744
998
496
765
33
745
391
892
937
637
241
591
736
397
614
2
985
434
754
768
660
148
432
19
686
643
361
735
390
928
985
348
885
395
850
32
278
798
615
693
228
115
372
475
712
287
922
138
204
882
167
319
255
360
911
100
312
481
127
734
250
269
789
68
334
87
650
978
52
112
51
587
663
631
720
740
822
192
25
911
197
798
355
566
29
693
681
263
939
14
934
67
298
1
199
452
976
536
336
298
551
53
576
332
237
78
447
187
413
863
665
209
262
717
898
837
901
660
663
691
814
538
410
776
708
420
711
310
653
437
872
841
828
76
846
16
562
236
621
778
251
754
162
200
210
445
647
132
734
260
179
165
744
317
567
77
597
157
471
593
64
366
573
635
4
72
930
392
168
316
341
195
880
353
171
778
133
959
22
266
979
960
113
772
888
210
128
444
472
393
85
331
773
84
11
248
709
68
59
563
956
14
769
444
486
939
586
406
242
164
428
163
717
751
242
205
469
86
325
183
372
915
157
771
405
888
104
517
100
535
605
729
915
912
925
55
865
90
277
223
821
587
116
774
299
157
503
666
900
254
801
721
168
802
258
173
985
593
276
861
98
576
90
743
17
176
162
321
222
337
468
805
340
715
423
809
482
763
61
18
270
711
388
155
298
50
285
230
326
354
130
759
629
872
144
420
645
513
331
72
887
307
262
203
73
474
99
279
109
702
133
639
56
348
980
89
199
880
485
848
287
139
308
152
127
529
586
215
436
549
33
217
646
662
918
61
33
257
972
783
537
532
927
432
803
778
494
724
776
542
681
24
5
464
934
465
234
481
515
860
294
794
578
685
502
144
33
694
460
486
658
821
521
101
244
469
878
297
968
174
898
814
4
267
388
768
312
450
536
643
130
773
754
481
179
617
570
617
935
857
443
230
145
739
836
202
528
765
525
427
616
111
548
444
874
931
95
246
271
619
643
47
877
944
327
896
384
32
179
344
599
408
924
160
780
314
777
988
1
283
951
228
516
237
296
802
179
382
522
437
434
532
418
379
119
366
334
845
223
867
77
921
634
951
897
729
968
885
503
877
962
794
520
117
465
384
147
639
12
418
835
912
793
50
311
556
563
40
788
687
626
220
271
876
270
358
442
717
325
41
428
812
630
675
563
178
921
452
593
631
799
970
200
799
638
241
146
883
755
10
202
404
852
214
597
740
894
969
997
404
122
564
595
879
311
548
97
123
785
301
436
698
5
47
134
350
556
542
68
181
969
490
355
190
579
394
79
605
962
980
619
919
481
501
439
735
915
752
775
339
32
47
434
716
334
691
311
701
262
973
80
557
960
82
391
731
40
5
35
583
161
786
509
210
210
623
248
82
380
886
163
685
187
774
295
600
160
643
405
766
476
430
480
240
841
152
685
564
801
857
798
759
303
332
485
268
442
110
349
182
966
462
606
998
662
883
948
667
502
343
102
630
76
647
645
941
37
520
956
325
97
598
400
911
27
536
825
763
702
706
916
75
66
905
116
988
598
991
969
953
944
526
996
480
27
417
717
889
958
918
852
656
241
465
685
951
724
109
516
63
131
337
326
512
848
778
879
693
472
810
490
445
663
157
586
594
667
771
452
28
432
11
265
518
191
297
838
111
561
253
113
286
574
578
840
354
132
674
182
514
720
302
319
568
265
516
751
266
173
304
521
543
932
25
383
802
129
615
560
834
695
889
795
454
39
234
766
460
126
970
156
486
922
179
315
692
816
989
571
442
375
598
119
245
707
86
986
275
73
964
247
893
564
860
805
971
511
714
261
980
140
188
104
809
886
649
692
85
270
571
465
396
308
790
727
973
823
397
460
111
702
615
648
278
635
498
65
833
435
295
889
785
442
616
773
79
338
679
293
8
412
832
918
732
632
697
459
913
418
975
723
102
601
887
94
655
758
965
592
16
343
192
8
118
823
24
852
888
458
580
82
191
766
391
555
730
777
989
560
971
140
553
102
785
968
979
921
297
556
649
722
285
202
943
553
974
336
952
225
520
393
178
966
368
892
968
796
995
404
511
473
939
643
569
386
548
260
992
940
402
88
904
294
467
527
957
676
197
254
383
746
17
155
609
926
222
907
239
951
9
199
870
975
45
417
718
212
562
154
583
926
552
510
771
278
610
343
534
338
32
962
881
264
695
757
233
885
871
146
202
361
154
129
736
706
939
852
194
939
53
181
136
784
64
590
303
352
293
22
926
970
258
416
305
838
512
188
731
986
882
798
902
50
32
762
742
93
44
547
621
828
210
965
799
850
190
371
225
170
303
733
791
694
798
71
490
751
723
445
432
421
464
798
138
417
45
215
203
755
458
953
543
378
521
958
816
372
79
635
89
422
20
240
143
325
602
672
673
7
385
544
88
769
248
854
19
65
739
147
255
363
665
982
666
570
778
120
745
153
391
826
191
636
436
963
443
278
981
340
274
505
77
202
361
232
8
974
895
699
12
418
440
131
592
858
572
115
402
341
211
677
773
2
344
879
293
5
439
972
321
939
299
989
328
335
406
413
940
455
114
657
737
607
444
472
329
215
674
693
246
714
393
141
968
842
657
270
427
324
290
475
73
703
993
939
823
271
707
886
445
812
261
324
880
655
452
363
851
592
981
399
33
657
888
274
782
346
220
378
311
921
380
260
740
557
838
506
383
536
172
340
642
256
968
393
163
437
714
220
883
60
805
277
618
118
436
123
217
744
931
786
376
570
902
189
167
89
745
277
293
79
93
115
557
203
676
233
545
371
384
562
276
205
21
41
431
904
619
341
730
433
862
131
689
710
986
354
508
971
111
597
443
704
301
259
257
258
101
4
590
854
116
46
727
40
205
274
724
886
438
421
280
89
282
858
718
157
764
967
451
616
278
704
389
605
947
558
460
223
100
764
689
26
853
760
759
687
140
179
475
112
288
860
880
999
859
411
951
309
911
98
819
262
822
515
894
199
313
668
205
60
154
127
111
435
409
359
308
102
108
129
806
324
632
178
783
249
237
16
876
477
524
72
99
309
635
305
840
664
319
646
406
769
474
489
227
564
901
529
47
404
393
396
804
148
452
446
875
302
655
718
300
164
880
439
757
773
411
494
894
227
731
468
631
97
691
842
599
112
749
258
694
541
989
805
668
461
756
352
879
494
190
206
946
610
276
78
864
75
961
468
553
127
87
525
746
606
896
165
638
264
650
82
301
709
666
794
148
256
560
770
158
376
793
531
211
447
272
314
933
776
290
977
284
962
198
421
912
34
449
714
853
754
415
538
780
382
751
333
46
188
4
832
203
315
410
266
244
870
457
33
720
397
914
385
826
640
615
112
658
907
492
36
858
779
733
323
534
431
608
94
712
586
161
747
291
520
741
862
284
630
679
484
729
147
804
127
376
389
617
524
431
959
28
428
674
141
689
229
774
997
340
372
147
744
412
374
972
267
766
994
450
1000
434
128
124
358
775
692
205
602
906
259
980
946
698
787
670
143
891
377
785
880
624
44
16
531
526
582
7
403
411
168
544
199
377
252
675
651
58
276
48
247
104
418
954
260
958
334
540
2
594
8
228
255
265
598
816
444
963
185
757
310
525
470
439
357
979
185
96
658
478
920
501
215
925
952
82
868
488
708
449
305
166
394
61
18
985
651
128
705
711
90
396
458
408
386
844
900
433
145
214
525
549
202
477
69
310
333
904
998
777
178
833
934
942
627
529
197
321
268
465
251
437
25
295
299
420
353
626
781
523
789
624
26
791
417
403
182
200
648
303
328
734
556
508
313
673
419
658
937
700
364
675
357
114
844
998
193
952
983
29
910
670
561
519
10
129
141
826
885
71
459
216
75
236
837
982
65
990
496
639
749
450
433
411
385
166
644
74
900
463
374
670
154
497
994
474
761
525
710
567
375
204
523
182
724
361
490
123
741
483
645
830
36
875
336
406
300
908
392
412
497
892
617
266
266
6
540
188
958
352
85
35
56
324
811
118
817
300
162
582
840
237
844
460
594
201
662
241
876
838
432
550
692
69
142
51
838
296
849
247
722
402
639
828
774
781
627
794
396
503
721
784
247
73
526
4
502
914
317
963
81
973
388
960
658
166
675
393
50
462
967
726
851
695
135
64
121
789
152
747
680
13
868
774
217
586
827
230
796
385
307
918
170
901
231
937
983
714
780
253
174
238
678
535
94
4
430
196
77
321
74
191
267
834
315
530
704
734
318
873
564
77
384
462
409
226
823
205
618
998
225
277
932
176
54
529
41
337
315
407
671
786
639
657
484
975
350
716
413
114
795
232
203
307
834
352
302
735
614
631
707
611
155
244
111
812
119
357
643
31
921
96
708
357
649
989
74
762
972
424
203
734
925
916
864
626
197
418
411
451
526
978
344
759
173
111
145
82
669
134
337
745
66
491
407
52
676
540
895
231
7
707
989
593
521
840
433
537
462
264
250
928
509
514
274
440
407
32
97
2
783
811
853
598
559
685
146
98
911
638
313
618
579
88
298
334
72
3
801
266
787
174
582
933
419
682
505
843
112
136
505
634
778
37
997
544
844
966
427
869
143
4
159
828
414
40
972
680
49
432
173
294
365
153
107
712
451
458
543
244
572
167
657
354
807
228
438
810
202
123
283
929
688
758
407
400
35
570
179
844
372
239
318
6
281
806
184
572
674
29
117
271
590
597
631
155
754
881
720
189
774
759
777
9
316
752
729
272
10
90
371
905
524
559
949
60
928
40
25
984
254
992
466
400
20
125
795
357
490
792
891
628
530
844
179
911
623
472
320
269
130
181
910
909
282
507
801
752
731
260
794
725
770
400
765
779
627
962
645
794
237
802
1000
527
417
482
457
485
863
354
95
300
64
891
697
842
629
790
816
111
591
88
922
590
472
81
900
818
435
609
219
139
320
103
972
657
75
623
953
448
839
164
872
386
32
281
456
664
470
124
747
204
579
282
393
434
89
353
78
683
637
568
599
869
469
263
725
598
886
851
66
102
256
114
634
177
834
87
412
870
338
822
374
402
596
883
381
907
305
986
368
690
254
484
795
629
550
638
896
550
284
896
798
210
584
116
860
319
118
737
228
663
376
621
494
219
441
279
87
738
159
555
473
668
410
668
93
146
850
668
849
412
424
264
388
610
65
53
947
888
521
113
112
739
181
267
81
611
77
183
849
489
124
892
668
178
29
740
328
191
229
719
607
686
253
848
926
156
920
882
981
73
263
877
791
388
636
306
254
918
930
382
562
54
929
960
192
949
163
131
175
161
775
107
566
327
725
796
319
833
450
598
588
94
760
356
938
594
600
218
262
835
644
665
605
406
457
874
553
709
875
712
302
840
483
369
350
198
482
349
723
669
834
951
404
314
499
406
452
554
369
318
588
665
239
495
641
346
956
654
204
218
991
7
182
289
258
520
721
243
288
326
673
998
289
913
447
756
228
73
640
700
531
953
680
472
354
197
826
39
440
864
183
663
313
595
977
631
555
144
741
549
198
383
240
522
219
988
984
848
821
385
818
912
675
782
916
67
103
527
343
26
272
749
768
217
709
92
574
333
260
478
884
399
4
169
607
311
557
806
931
848
938
714
195
894
385
785
790
873
159
611
522
546
220
599
857
694
476
352
123
914
938
529
369
996
586
686
961
499
645
497
22
532
385
683
272
516
137
568
149
740
374
336
617
328
860
150
188
37
540
946
872
558
579
803
388
513
467
720
262
477
879
1
43
57
775
189
380
784
246
656
780
803
780
752
54
929
254
661
15
707
666
287
780
764
350
969
908
929
298
777
733
51
128
864
273
238
457
547
790
191
231
155
255
197
54
563
919
299
805
395
425
184
485
946
376
568
169
668
658
216
42
805
972
950
547
196
275
317
434
699
985
326
417
670
327
404
87
115
872
589
274
496
467
158
905
725
137
857
773
396
169
431
824
410
792
536
980
835
414
830
602
917
714
804
711
979
252
42
777
527
320
488
700
647
960
965
903
160
786
620
171
428
211
639
320
347
364
676
491
318
777
926
593
310
29
194
908
513
520
1000
399
432
482
420
751
400
749
234
896
895
800
108
4
618
122
275
191
328
695
285
432
423
346
123
997
388
606
885
815
882
803
940
912
453
127
663
406
215
878
447
231
583
616
498
465
141
813
250
37
230
706
500
366
98
7
561
529
819
754
782
569
676
912
492
534
113
198
9
586
714
211
67
316
620
560
851
832
650
311
956
721
992
885
537
889
874
931
315
925
697
408
524
951
651
400
466
302
428
489
458
969
500
945
532
318
240
271
317
622
99
919
301
961
512
465
605
167
579
945
557
669
1000
103
816
88
561
393
220
732
616
888
338
329
20
811
318
279
816
248
150
864
953
11
633
333
884
480
333
17
906
384
475
202
728
192
499
100
997
570
201
844
19
919
851
817
463
794
943
897
909
228
484
553
699
306
358
50
404
728
234
750
938
458
522
485
101
357
844
538
280
497
634
238
555
946
202
914
131
826
311
64
686
565
24
793
525
496
950
628
941
408
824
99
667
99
535
772
15
833
767
988
649
759
866
601
347
265
307
147
523
787
130
466
355
836
975
221
841
606
268
147
48
971
417
414
960
946
655
415
462
800
605
827
768
396
689
650
775
500
186
613
42
888
14
157
712
630
228
182
392
672
214
555
470
462
535
886
226
644
483
990
981
475
897
633
721
614
210
544
489
464
903
457
904
585
475
668
437
256
761
117
224
518
192
133
201
819
509
338
46
940
113
408
886
825
47
820
93
985
854
168
23
520
210
935
994
206
617
210
614
772
322
502
58
161
754
404
398
469
429
875
598
755
908
644
310
346
31
981
492
880
956
152
789
65
257
416
655
799
128
780
145
673
954
183
560
679
462
611
39
110
778
227
313
903
81
168
807
313
923
902
851
683
248
884
887
504
787
472
410
299
324
686
257
339
475
389
615
501
744
727
307
877
546
481
517
898
797
841
930
795
857
307
459
996
24
147
499
964
195
876
96
694
576
848
285
972
984
402
601
866
832
654
528
134
312
336
655
497
463
376
104
214
4
270
6
590
918
666
792
739
66
27
325
311
6
713
334
967
620
609
223
789
936
689
50
21
484
654
991
701
625
468
98
786
606
715
225
645
153
401
179
294
979
738
892
598
970
879
666
684
653
131
786
961
219
543
207
783
477
999
453
715
851
787
188
277
30
77
550
454
820
829
372
249
17
378
148
64
34
821
410
374
687
631
541
379
116
369
46
12
782
493
927
795
768
591
795
819
587
844
656
897
72
50
766
172
952
856
330
418
23
4
272
166
887
964
695
955
39
111
438
630
756
564
760
209
545
336
222
600
177
229
316
86
916
400
571
530
473
943
477
607
53
338
45
717
769
106
721
185
985
822
421
295
72
211
462
330
490
43
122
745
191
790
680
818
528
573
215
165
696
460
739
353
838
735
80
942
893
775
695
678
824
556
275
164
429
978
625
976
885
640
534
849
773
626
724
579
742
674
547
908
479
931
864
629
587
610
977
687
859
980
189
720
753
788
967
411
256
864
690
335
656
420
498
210
968
190
504
56
295
140
264
512
767
689
843
325
208
603
697
67
189
245
496
334
770
148
302
356
583
391
129
527
562
427
961
594
342
231
458
268
619
929
305
497
705
259
107
52
289
359
405
512
498
269
716
541
714
529
589
914
838
346
902
727
867
616
555
412
852
714
247
598
248
860
276
247
632
131
100
179
330
54
833
445
201
755
945
368
63
755
219
582
249
391
669
676
207
154
221
33
346
868
654
183
586
209
72
780
915
675
296
584
896
274
994
899
447
644
695
992
472
636
377
114
55
350
239
322
226
107
482
468
14
568
971
771
263
868
446
244
67
70
19
994
462
564
620
444
439
111
372
806
392
968
75
399
910
387
81
895
860
507
989
198
280
669
169
181
962
490
348
708
832
582
891
690
623
722
590
142
391
851
357
754
236
984
801
141
608
627
699
442
385
527
299
100
314
268
363
542
95
109
231
690
804
469
665
841
310
526
382
116
207
688
622
565
414
476
248
629
140
479
301
645
506
45
54
347
758
334
954
878
145
162
610
302
743
741
321
580
436
119
50
643
386
228
182
488
99
842
788
948
468
874
154
612
798
434
535
534
413
528
42
765
971
164
695
936
83
34
370
240
821
217
165
985
573
589
647
575
390
815
78
446
180
715
206
595
23
940
864
967
612
72
756
692
348
237
789
274
97
575
572
613
189
648
832
81
75
593
864
69
631
912
770
536
50
348
708
867
337
385
315
799
770
609
463
637
388
991
66
466
850
475
282
579
417
150
855
545
15
774
987
298
365
933
647
763
474
544
693
891
244
374
637
89
119
648
91
109
764
362
340
147
656
174
681
630
109
228
531
58
365
979
361
834
429
432
451
786
248
982
558
612
642
549
619
364
536
85
98
268
966
315
419
268
305
696
997
505
415
325
955
94
680
332
525
899
543
933
453
266
975
411
263
747
518
875
114
68
289
581
204
577
500
777
485
874
826
128
690
439
722
712
155
929
365
959
190
394
82
968
70
384
790
244
463
744
774
680
268
671
527
309
205
22
938
460
523
13
41
961
353
371
862
134
267
878
109
810
175
853
197
607
125
790
801
442
171
423
985
101
302
221
796
773
849
523
385
99
712
234
285
144
589
281
490
548
573
662
71
151
798
95
130
429
14
200
806
182
978
183
150
281
655
154
427
345
290
280
215
212
875
365
132
387
129
584
581
149
878
156
113
156
976
550
305
793
786
437
373
890
870
741
823
481
950
593
831
423
856
523
611
513
319
257
753
743
3
128
867
922
451
607
905
84
295
740
16
308
695
805
330
560
436
490
276
529
109
80
794
500
439
767
791
990
381
276
977
242
341
976
528
418
484
298
446
286
159
680
60
317
723
627
505
2
235
183
171
787
392
727
175
397
924
957
444
576
59
939
501
407
918
2
81
242
427
4
305
453
734
907
42
257
166
380
411
915
503
411
932
282
456
384
162
123
936
177
507
20
790
707
626
420
860
321
345
584
663
238
18
892
650
179
241
281
451
829
697
702
957
451
183
729
346
798
353
733
110
228
873
842
448
708
587
18
169
640
570
637
753
905
379
565
672
448
222
167
339
10
953
216
903
393
606
676
530
334
843
984
812
548
849
629
236
990
479
148
22
557
37
171
459
918
396
694
778
52
142
892
674
652
528
455
315
954
346
691
295
38
95
544
713
194
845
732
199
950
500
750
17
253
670
640
880
91
29
622
221
904
300
924
373
901
721
947
577
633
843
173
293
3
461
449
744
787
439
82
65
946
780
63
372
450
533
487
253
87
973
383
659
153
529
520
504
721
285
696
632
59
705
255
843
833
674
768
715
907
576
152
774
30
644
428
16
859
806
164
344
392
640
818
494
667
565
655
342
248
853
266
7
966
78
341
411
181
986
116
732
777
737
500
704
600
20
63
271
482
739
387
504
494
188
217
604
718
948
404
809
913
746
148
694
943
834
541
839
330
727
130
723
519
87
28
628
411
427
764
917
528
834
827
942
476
386
945
160
77
704
740
969
628
828
638
203
609
147
702
572
606
154
544
158
869
743
990
117
142
305
295
940
979
854
253
28
396
155
264
285
990
980
4
840
364
408
680
777
461
797
384
444
265
275
41
138
3
511
126
668
333
78
902
706
579
509
998
408
904
211
191
904
373
315
933
535
247
581
628
357
611
120
576
894
675
902
773
417
437
882
220
203
384
99
912
187
600
531
368
272
544
588
265
336
835
909
530
738
487
805
653
925
730
311
196
971
406
210
283
622
475
215
23
257
700
399
392
379
957
858
386
390
931
958
656
608
586
429
815
358
697
995
766
573
294
167
366
79
915
70
293
725
798
625
417
845
236
59
65
220
585
609
759
619
513
426
968
303
677
502
269
986
250
425
993
558
978
677
532
67
975
519
299
370
906
529
18
215
271
981
567
556
877
292
175
210
681
543
890
478
775
321
128
227
30
311
866
223
994
84
571
84
37
367
412
568
867
83
972
113
15
15
326
817
154
903
500
579
464
741
969
893
828
296
635
61
704
746
770
772
159
473
470
666
154
883
78
207
986
579
282
355
255
226
363
838
648
253
953
649
388
272
710
340
750
158
143
918
722
460
869
285
921
164
849
639
147
449
366
26
219
660
497
89
454
73
622
400
284
803
535
421
949
518
630
288
18
601
768
888
124
909
132
39
394
16
343
271
452
130
213
387
547
736
666
863
329
695
773
524
860
637
687
323
833
683
928
408
267
355
176
279
404
557
212
793
919
965
894
102
82
733
759
471
290
906
705
233
228
209
221
787
624
437
864
203
923
335
331
707
639
443
874
220
804
235
144
167
772
551
63
992
804
163
527
48
803
592
498
481
572
362
835
376
579
751
374
703
21
357
69
573
897
973
224
850
637
958
519
221
997
926
414
967
314
728
528
965
185
879
429
97
187
489
673
635
699
383
126
888
158
830
928
330
126
871
547
100
571
6
796
588
793
81
312
893
934
396
33
580
912
981
580
642
76
57
392
579
824
298
993
584
763
244
36
577
909
162
179
940
51
825
952
366
986
482
147
437
344
157
791
52
216
462
220
832
54
449
740
347
382
198
437
236
906
606
948
373
542
663
263
196
944
709
207
34
759
506
925
650
71
150
886
746
562
418
255
951
777
249
515
64
26
536
755
544
907
654
97
389
494
65
639
914
635
110
317
44
936
337
126
692
852
388
821
120
599
557
792
309
529
965
443
983
435
102
822
973
505
661
810
707
231
200
248
126
286
970
827
735
481
474
24
39
790
966
716
43
442
836
552
263
128
997
549
214
65
461
263
510
726
205
609
821
492
404
462
970
52
261
469
218
344
643
99
254
153
62
140
152
914
160
777
574
323
346
247
859
357
785
888
514
45
697
318
520
334
970
355
968
109
996
984
821
766
686
810
878
612
331
889
853
741
436
355
15
152
201
542
210
28
669
694
487
37
853
947
435
146
797
332
252
236
569
71
819
569
58
183
778
537
607
146
931
700
191
575
21
34
916
124
509
376
782
617
726
995
853
706
816
197
278
498
820
687
642
892
156
484
789
733
932
931
322
640
732
939
866
611
914
411
174
577
407
64
941
45
399
599
25
894
908
975
876
283
512
357
55
538
432
299
222
768
624
221
318
739
740
434
409
128
659
961
475
530
283
358
582
314
760
560
679
88
606
453
682
619
265
445
412
367
751
37
287
84
315
522
624
871
38
495
928
164
277
176
411
3
962
958
631
454
780
961
904
779
278
829
51
798
149
177
95
143
612
215
21
342
755
577
647
911
311
979
433
502
471
424
491
724
228
487
569
464
553
232
550
847
637
837
399
218
401
630
177
151
922
710
982
318
173
991
638
737
904
687
457
694
313
689
266
34
589
281
194
316
100
744
597
323
156
57
727
984
685
82
657
150
893
510
510
498
477
802
987
787
627
846
656
430
917
985
360
233
336
852
787
657
821
842
48
475
687
273
414
602
31
769
676
913
22
559
705
579
760
350
337
179
145
19
6
60
727
924
822
183
872
341
736
161
113
137
649
112
606
329
685
641
418
945
784
578
681
236
3
355
999
835
468
787
325
441
829
436
293
902
800
788
454
564
114
142
349
926
828
468
407
691
957
244
830
818
216
806
876
406
239
962
893
397
434
114
265
877
206
515
958
567
467
145
408
958
60
374
136
730
725
752
765
562
168
390
334
554
221
479
928
79
673
494
599
699
179
373
863
950
17
177
620
344
847
776
740
473
191
258
373
715
129
972
627
248
175
83
821
506
671
452
886
76
303
192
209
76
475
495
295
527
443
632
203
444
616
995
637
773
140
926
854
569
314
390
74
617
972
811
136
179
382
465
428
67
395
307
871
534
509
708
228
262
626
359
151
75
247
788
918
137
716
950
53
552
55
394
312
611
67
722
977
392
66
466
509
860
840
268
525
368
482
428
727
297
685
151
92
153
359
733
636
980
308
514
875
578
550
579
153
680
984
543
636
131
255
400
993
889
241
151
136
396
622
597
545
822
870
40
851
129
605
750
111
197
391
250
184
120
292
656
685
747
841
876
463
834
517
873
243
178
963
341
882
344
700
233
872
818
81
660
781
464
533
722
917
274
815
49
34
3
68
568
661
760
585
227
815
205
853
726
553
680
236
493
233
776
447
116
370
237
936
442
685
506
614
661
811
697
178
498
259
78
238
782
185
904
480
294
491
434
195
849
618
327
36
111
471
466
168
71
795
307
523
140
488
161
577
171
928
301
675
576
331
748
755
685
599
679
339
265
85
942
401
632
725
535
621
205
499
503
761
557
402
724
823
166
106
999
586
989
673
5
352
389
182
819
219
211
874
509
703
628
972
858
487
805
451
657
104
328
683
8
229
391
573
501
891
366
219
77
941
943
400
264
512
553
641
168
661
676
811
259
126
626
596
33
41
867
776
343
999
481
715
85
871
626
326
414
434
879
997
330
107
332
545
363
306
749
918
305
842
216
384
534
399
881
998
558
725
278
836
186
903
235
293
528
665
533
161
485
357
518
837
276
927
242
314
813
477
970
140
695
379
191
234
98
295
134
13
641
854
187
738
665
904
614
66
3
211
507
341
557
777
397
271
41
795
139
272
70
985
439
969
378
64
157
692
357
612
813
903
315
137
478
272
113
889
940
312
287
876
718
557
735
435
307
812
262
246
885
532
846
562
635
603
619
767
273
57
900
180
988
14
445
313
717
507
344
366
32
505
808
190
672
595
454
144
798
496
811
526
10
697
630
550
439
892
962
346
139
685
429
523
417
674
948
550
921
546
79
343
809
907
557
897
835
911
976
987
950
832
963
380
595
726
423
601
758
287
698
579
167
773
665
687
866
979
869
378
220
929
454
740
590
42
983
218
726
24
299
258
754
758
539
978
902
984
775
883
581
750
494
651
278
457
344
969
200
643
720
701
478
630
161
314
752
666
754
41
230
755
878
923
609
995
757
270
220
916
606
713
728
367
440
363
842
971
588
512
194
951
537
655
945
759
368
57
455
375
990
356
971
402
883
528
256
591
896
118
579
855
661
73
423
656
85
649
677
906
538
417
578
79
653
490
258
65
961
428
718
745
99
285
366
758
323
320
926
522
297
903
991
199
728
467
106
925
67
632
831
165
950
71
201
332
128
471
34
616
718
251
504
513
649
716
330
175
25
542
270
884
472
734
605
118
194
951
607
114
457
347
304
406
67
512
463
800
713
124
331
773
332
753
653
260
246
332
437
567
6
609
406
37
573
939
666
262
510
274
544
134
208
359
810
602
341
843
829
142
693
465
510
223
883
733
401
627
187
483
152
382
157
665
901
463
733
428
815
818
454
9
771
571
811
907
725
806
574
948
485
816
55
372
189
960
745
761
286
230
410
784
711
441
91
843
188
258
799
789
845
997
611
614
876
145
44
884
606
221
199
902
65
470
172
32
389
493
334
480
844
177
188
344
859
64
558
169
439
217
626
736
515
69
884
932
283
768
49
541
353
893
14
354
373
563
97
54
817
261
63
951
781
365
750
167
430
469
616
332
148
560
801
125
810
583
516
679
344
528
244
700
13
114
790
475
191
818
696
138
85
994
437
607
377
581
185
1000
868
750
415
526
876
659
898
534
623
81
180
751
385
12
195
930
962
343
865
917
185
506
901
289
102
1
584
805
89
210
544
321
444
662
989
77
464
876
203
986
474
814
978
702
357
448
402
449
394
614
951
734
460
880
366
503
690
595
338
909
121
612
518
629
193
239
860
657
422
740
658
536
82
645
322
824
162
661
939
461
547
496
840
880
7
152
417
468
165
176
830
350
160
161
286
772
927
641
788
860
200
416
280
738
408
167
513
532
937
536
142
13
501
999
771
441
542
943
511
745
434
231
5
559
397
77
104
218
767
752
181
404
686
739
830
441
854
988
107
560
703
452
740
189
284
263
868
619
643
290
791
925
246
887
416
223
581
348
449
944
929
843
375
779
986
211
533
648
317
289
752
81
18
617
313
150
266
103
643
975
657
696
499
690
603
573
600
152
174
664
462
281
654
390
956
416
499
169
34
836
575
96
98
114
50
270
931
348
647
904
372
352
596
628
640
392
447
100
138
12
907
51
985
546
926
953
613
872
61
883
444
973
420
958
557
221
592
865
646
97
301
790
285
405
984
466
843
722
951
366
996
196
407
989
612
490
65
30
755
886
788
897
176
811
70
444
763
830
571
600
620
596
701
788
396
448
601
186
470
722
984
179
347
226
174
88
200
972
844
133
416
541
322
65
574
561
310
951
293
295
494
217
590
558
989
600
802
43
139
173
936
14
357
818
56
517
286
442
305
595
636
474
986
519
37
25
968
141
391
96
318
623
956
869
506
938
829
256
622
619
534
73
734
891
507
13
906
828
102
436
895
388
923
110
474
261
271
539
957
333
865
724
787
955
862
862
99
722
278
884
199
312
226
109
468
438
119
430
613
343
549
344
982
280
658
952
21
345
217
725
133
556
45
480
791
470
132
32
960
820
818
706
697
974
242
491
679
511
977
371
461
596
586
312
515
208
697
491
71
47
437
90
452
482
518
386
830
745
39
733
867
226
722
345
932
807
345
542
876
438
251
342
707
585
154
365
35
773
870
539
928
638
784
528
108
818
248
438
864
31
882
756
57
529
863
958
131
899
699
640
108
782
908
120
34
76
42
783
823
707
188
632
184
584
122
994
353
27
443
812
675
9
178
61
299
55
6
692
201
777
651
558
168
708
745
643
830
552
124
230
939
196
364
173
510
775
201
421
627
838
16
412
463
705
10
427
288
735
273
85
284
643
313
503
615
495
278
945
599
192
491
743
163
369
787
709
310
683
109
187
232
189
350
666
15
234
693
692
776
936
668
596
809
452
186
578
126
971
961
590
101
318
521
739
936
862
777
432
72
777
699
461
197
731
61
1
920
176
35
245
31
670
905
60
758
425
828
735
338
133
416
587
236
869
784
503
471
101
826
481
75
62
106
934
954
776
209
949
543
933
453
704
456
318
981
623
273
282
406
283
818
810
914
534
318
821
586
601
625
919
715
469
52
49
457
406
305
285
840
38
570
73
858
490
31
908
242
850
878
989
554
79
903
806
489
909
136
519
339
972
107
63
863
369
523
363
614
140
399
282
311
71
579
48
702
465
287
282
470
620
407
467
542
590
757
289
479
136
215
250
379
109
828
166
848
273
49
993
927
328
326
693
542
830
85
379
168
718
724
370
784
362
248
804
377
739
240
564
220
476
897
547
930
580
510
123
828
546
927
118
810
463
561
326
283
9
648
591
595
480
527
974
596
548
387
740
854
977
297
872
781
519
986
643
364
643
569
582
202
815
830
776
878
790
101
20
338
488
96
543
867
610
228
978
336
730
656
295
618
61
505
769
830
866
429
858
973
349
903
133
721
882
742
620
539
834
194
146
60
374
612
1000
545
56
242
926
126
426
214
102
250
303
873
739
491
293
92
18
493
35
195
460
576
493
818
932
322
939
860
807
175
785
962
346
331
323
980
570
930
75
968
244
959
654
670
536
874
594
620
430
365
581
912
589
312
806
309
274
467
71
281
846
422
828
331
828
226
105
323
62
555
357
20
426
257
456
194
150
874
966
256
577
55
569
80
344
140
887
457
117
583
154
537
959
500
848
446
831
490
36
459
475
499
355
550
963
878
140
332
755
139
709
473
855
899
859
152
994
768
924
421
11
782
445
772
572
150
18
962
387
954
225
878
319
33
745
702
242
622
82
836
30
281
725
988
423
733
958
549
531
946
63
461
981
836
749
333
587
980
330
301
909
377
510
169
665
64
976
650
499
855
932
793
820
17
298
856
806
108
116
958
226
921
699
284
299
5
429
805
143
907
559
355
736
815
368
724
995
916
262
906
283
237
835
754
766
690
410
867
441
919
145
941
873
358
679
304
499
20
574
465
894
462
605
548
228
91
470
182
886
217
820
285
477
81
726
160
987
472
115
107
618
428
484
126
250
147
176
788
720
589
930
25
176
886
726
454
494
655
63
485
120
48
815
5
39
23
887
479
636
644
483
627
336
229
257
605
483
365
887
441
857
658
521
733
121
829
462
513
133
480
931
556
835
415
190
746
77
439
856
134
691
1000
528
963
751
26
812
865
92
471
288
378
605
280
436
913
910
490
212
620
89
514
999
408
345
404
383
787
772
197
401
469
148
258
71
815
772
996
838
788
890
226
84
432
44
722
617
271
788
774
385
703
497
388
536
622
736
398
418
215
850
283
425
335
568
115
793
426
190
318
967
931
141
209
524
779
322
537
634
979
44
434
30
880
427
969
850
671
122
928
840
879
706
106
844
5
957
901
644
430
992
870
191
931
186
1
34
381
635
767
253
815
577
973
310
191
405
197
561
977
887
329
570
470
83
834
389
108
344
10
292
633
909
478
577
587
179
467
520
313
934
306
83
523
63
122
90
783
102
50
94
208
132
944
73
369
989
457
422
37
618
777
513
189
235
648
521
649
262
985
649
139
92
635
643
657
620
712
332
416
430
960
250
193
519
945
835
530
162
404
351
513
483
455
463
136
689
392
178
884
323
974
33
84
262
997
152
739
360
455
842
219
761
96
542
620
271
298
888
277
488
810
14
47
942
125
783
508
12
983
452
440
515
190
27
302
372
490
83
678
534
263
208
818
255
244
308
696
689
913
893
700
298
768
907
816
288
409
104
343
995
351
772
209
243
382
145
90
119
17
123
830
787
676
634
604
977
552
308
402
347
862
864
318
789
601
800
27
187
782
347
302
641
524
121
737
379
894
842
849
207
330
670
712
737
135
40
511
62
413
622
122
55
807
194
143
446
492
779
850
562
901
876
616
914
478
182
465
843
370
514
842
210
916
580
303
513
727
917
259
924
889
367
108
770
684
447
194
289
746
139
563
585
823
423
472
941
898
845
948
216
157
349
13
162
217
749
70
275
168
344
85
754
75
183
543
28
39
330
463
646
833
711
62
581
507
762
785
940
963
184
248
12
903
211
59
704
10
514
842
676
38
570
511
518
931
575
19
645
2
974
527
25
148
877
489
165
262
115
71
298
437
942
956
889
845
150
468
92
238
858
603
214
476
192
8
267
55
566
696
973
40
683
682
931
738
592
106
919
575
667
553
388
70
555
999
146
969
687
281
47
615
934
340
820
37
328
466
864
981
322
925
199
274
829
954
205
221
822
303
221
875
946
451
880
83
114
119
454
876
690
582
174
205
144
682
495
989
119
230
199
24
15
911
335
648
367
797
600
876
72
628
861
286
752
63
573
999
276
86
152
913
373
694
442
682
367
361
778
812
506
299
48
61
105
572
749
806
706
268
870
4
599
215
253
920
749
915
828
925
603
39
847
909
192
41
605
637
284
738
344
979
396
903
543
242
195
536
793
863
358
320
440
282
717
388
578
99
344
176
195
712
600
844
878
805
482
66
881
922
775
451
441
828
733
176
487
710
556
41
126
994
558
642
578
813
294
592
914
795
973
390
54
899
182
748
469
663
102
978
191
270
566
194
822
755
553
905
998
852
359
843
840
463
549
441
506
883
960
287
912
131
799
511
721
153
539
740
496
605
849
155
965
920
40
288
472
208
830
173
619
869
954
644
434
799
155
121
28
917
357
5
701
988
441
643
165
155
181
238
792
120
734
917
185
113
918
917
192
938
500
984
374
585
707
304
812
205
5
153
618
842
837
791
561
137
459
867
101
643
501
788
147
414
970
413
247
552
696
245
969
31
560
890
823
386
412
797
451
817
982
22
823
411
151
75
517
577
508
857
658
434
614
887
458
233
455
811
289
860
314
139
160
750
927
387
559
265
134
433
668
3
63
39
236
363
94
820
725
630
392
744
177
225
981
811
49
699
879
719
923
964
420
945
843
250
708
636
76
725
87
901
255
341
845
255
156
127
767
96
682
790
123
603
142
125
384
172
692
206
27
546
721
702
696
437
716
401
432
740
214
871
675
940
14
546
555
149
81
281
779
819
249
142
137
524
356
488
409
59
906
197
805
657
498
317
645
899
41
708
907
117
65
876
496
128
638
975
294
41
366
418
644
731
747
228
994
831
322
465
999
418
703
146
65
420
884
285
605
287
556
713
44
574
934
989
780
16
87
347
77
306
654
536
389
334
883
417
798
628
868
264
422
234
590
764
900
292
785
582
764
913
641
712
343
775
302
133
292
282
378
445
501
5
815
504
485
250
22
746
730
898
860
511
768
465
332
178
440
463
237
716
447
972
494
122
420
383
989
498
167
596
180
768
58
894
146
260
521
400
151
937
150
920
31
477
80
301
32
218
710
368
365
536
62
608
126
414
800
645
720
640
435
555
492
832
943
280
270
859
143
498
830
381
933
663
519
881
917
766
862
198
334
954
321
708
549
93
460
35
735
848
386
579
792
740
18
235
18
919
572
296
77
847
841
93
31
40
716
809
65
156
897
320
707
905
773
443
810
304
998
714
666
959
928
944
812
750
131
413
627
726
536
286
221
307
200
138
105
318
862
293
824
367
63
61
551
457
480
835
490
303
248
795
319
215
423
159
875
112
352
828
157
881
29
778
415
521
390
915
113
98
116
700
543
138
484
849
185
966
706
445
884
312
458
344
151
135
414
152
622
429
130
177
678
878
709
811
198
745
311
692
422
198
49
256
968
165
116
468
432
255
730
410
195
925
586
59
146
258
275
968
327
4
41
280
503
503
903
506
187
706
63
511
361
109
321
483
92
731
155
202
984
253
159
887
945
425
175
191
151
16
392
320
674
152
668
840
463
894
701
566
632
996
695
458
872
953
972
287
365
4
272
600
661
146
213
161
8
823
847
305
351
421
28
171
479
480
241
633
129
603
475
372
607
931
285
199
761
291
830
516
388
20
157
799
307
506
595
155
96
567
515
86
984
336
567
531
204
89
189
324
942
365
225
607
900
808
940
869
959
848
92
646
541
986
495
138
829
884
555
945
243
466
192
120
697
815
946
646
331
248
433
714
727
570
648
649
107
214
350
298
218
714
506
574
958
313
304
311
338
308
80
651
808
341
988
140
861
65
465
433
775
686
950
751
775
255
81
537
757
754
709
160
204
787
395
212
178
381
517
777
998
166
480
335
440
165
690
293
320
618
934
447
888
807
319
809
137
490
480
204
642
27
624
802
348
632
513
294
396
720
512
644
922
677
673
343
266
787
818
463
903
242
7
47
204
647
75
908
549
754
436
470
200
285
701
430
45
157
880
776
157
873
619
721
737
122
802
629
1000
960
597
249
275
94
588
228
36
193
373
197
713
924
893
60
895
410
169
956
904
130
262
868
525
593
99
348
35
69
784
343
425
48
517
105
306
118
26
136
477
447
563
907
725
412
389
722
655
180
730
785
12
210
193
336
761
42
902
918
959
971
953
348
358
663
231
768
685
365
142
994
899
405
172
925
268
121
167
733
727
614
599
941
565
984
588
640
458
125
807
741
701
61
167
496
612
375
129
784
666
634
457
640
257
213
867
614
232
193
216
919
687
665
251
966
553
636
213
714
421
468
292
836
71
732
878
166
353
770
862
509
2
794
829
725
979
497
364
725
597
212
805
152
407
401
872
885
58
2
431
329
747
316
882
1000
140
12
273
680
309
81
823
308
447
711
375
68
339
645
328
28
763
341
985
564
600
777
22
68
193
599
619
83
281
233
98
814
527
865
740
895
653
190
29
126
284
756
894
960
60
863
184
103
579
363
200
77
955
621
493
365
985
257
186
231
973
423
732
314
225
576
226
612
159
237
538
630
867
990
470
715
450
965
519
94
21
76
210
864
984
518
231
952
423
178
719
862
80
239
604
682
721
530
940
706
40
418
497
428
327
9
12
969
820
239
270
218
734
34
923
293
41
662
630
463
434
521
659
736
780
113
542
884
608
231
779
818
874
106
390
523
369
206
795
740
606
450
508
353
712
535
855
700
749
428
525
790
853
145
276
487
605
307
312
153
798
499
303
997
407
197
904
772
133
335
995
181
380
679
980
450
868
224
877
958
324
135
120
511
998
382
285
853
107
590
905
897
75
520
689
130
62
60
494
171
213
43
397
34
324
566
481
42
974
14
368
384
665
898
679
296
192
776
953
314
902
131
19
642
412
861
833
547
601
280
788
577
54
558
259
863
771
768
61
687
247
319
730
683
760
675
770
855
158
100
329
130
546
773
354
386
530
138
266
642
977
604
988
535
246
483
367
633
318
406
989
663
921
785
568
441
54
513
807
22
254
20
226
237
149
650
267
405
923
644
949
887
835
870
544
75
224
107
643
805
880
35
691
352
937
80
341
724
91
33
130
370
425
733
233
246
619
537
150
139
857
347
655
671
918
866
937
978
895
996
358
748
523
528
185
560
482
844
378
929
19
555
478
939
969
745
486
924
313
820
289
262
307
581
854
909
221
967
988
387
748
668
326
537
650
585
321
353
66
360
863
174
671
160
160
5
314
707
532
553
53
65
315
940
173
341
765
541
612
365
247
61
823
22
561
809
937
120
733
619
663
603
719
752
443
544
304
661
633
408
798
779
339
159
429
167
383
245
5
789
926
964
247
878
315
386
933
3
95
97
553
817
624
6
663
232
920
689
892
297
974
811
170
967
563
838
418
31
3
65
822
395
527
773
92
19
422
837
189
785
451
64
39
168
573
971
464
955
273
392
664
337
153
559
185
817
668
754
258
903
801
985
852
71
848
206
814
117
289
558
771
695
758
797
876
626
618
403
279
946
419
1000
836
763
158
336
294
206
316
776
152
343
698
128
763
775
321
109
113
320
573
212
775
30
591
306
692
567
978
349
105
383
253
789
108
194
225
489
830
841
81
785
295
292
204
457
817
720
950
441
200
913
80
951
829
521
837
229
531
589
867
321
356
68
75
427
572
757
11
1000
298
565
847
671
29
1
532
214
427
256
123
654
460
70
91
176
415
406
691
213
513
332
234
340
249
673
477
283
175
789
402
430
776
469
187
301
158
361
328
508
469
670
816
243
488
156
250
689
746
501
87
434
239
506
777
783
259
858
895
171
253
601
362
975
354
130
538
650
786
433
458
762
371
768
114
870
262
348
945
314
935
77
514
44
659
204
43
93
943
92
429
572
61
780
55
795
583
31
579
68
444
26
234
660
24
352
378
166
720
468
778
603
514
381
740
378
16
597
578
618
328
340
890
763
936
987
902
174
778
322
1
807
992
100
679
398
549
287
129
985
759
728
508
441
212
76
509
478
305
850
61
896
275
853
455
397
847
248
672
522
201
761
618
450
505
990
147
335
276
412
370
429
665
76
151
917
944
827
240
455
430
922
37
11
762
9
890
695
708
881
516
330
884
225
791
810
173
520
799
228
965
171
750
108
564
521
902
3
416
175
642
169
956
225
915
910
411
684
315
716
322
861
454
481
66
477
368
26
95
688
35
245
482
783
27
837
865
881
506
115
692
550
139
76
985
125
940
523
120
850
229
990
437
220
691
297
811
258
524
755
54
229
661
248
677
795
172
719
174
381
219
303
767
816
719
866
596
513
440
563
61
965
230
948
769
702
171
64
968
392
191
378
200
586
684
688
346
305
33
717
470
519
897
922
922
227
134
801
317
533
314
347
147
971
986
867
935
539
191
386
583
336
614
686
774
246
47
46
440
283
609
753
27
212
79
839
145
159
713
915
321
555
920
651
542
602
461
682
960
732
858
391
7
848
597
114
100
388
573
890
338
859
827
770
464
545
939
23
541
820
917
800
90
177
361
836
691
594
541
809
913
579
996
407
871
362
565
293
499
917
49
630
989
988
539
778
730
603
207
178
178
323
297
878
903
930
489
868
518
448
972
228
771
846
429
62
300
55
704
425
21
510
786
961
622
8
166
463
778
817
578
279
63
517
568
688
321
111
595
576
329
88
778
369
106
753
631
290
944
773
963
144
470
104
108
213
991
700
28
714
174
243
320
40
219
345
968
356
27
676
23
67
138
262
603
653
397
582
850
220
11
30
933
852
473
590
791
81
870
655
777
869
323
310
547
319
916
427
784
552
833
493
397
224
234
489
224
995
93
182
724
784
776
479
381
122
547
644
695
620
887
25
892
299
357
522
508
179
939
420
602
715
104
335
246
438
705
621
983
148
40
23
174
800
397
811
805
657
328
142
100
744
928
150
296
306
507
680
688
82
107
918
368
983
359
846
451
543
962
508
69
459
550
317
34
370
197
678
860
148
564
532
122
870
524
758
926
131
474
316
291
174
463
427
686
638
555
381
844
855
256
8
311
677
488
79
610
856
945
279
352
621
174
592
664
848
985
976
255
474
787
262
404
889
729
515
873
628
465
829
524
311
755
187
938
639
134
4
609
124
847
702
185
828
391
546
773
764
592
509
638
690
319
500
618
712
851
269
719
435
340
674
448
290
990
605
873
400
445
94
273
799
470
15
27
499
557
971
465
584
372
434
217
747
674
728
934
697
396
296
805
860
148
283
261
527
277
5
861
164
406
285
862
786
125
262
611
553
932
353
763
51
998
763
365
910
431
390
712
793
493
746
97
429
905
798
864
855
858
6
329
72
626
90
79
518
714
602
668
626
433
667
832
556
277
794
449
24
684
401
283
255
304
581
758
128
647
139
135
32
773
56
116
504
34
415
775
504
82
699
679
547
115
207
556
699
41
448
751
268
583
249
628
547
881
43
588
670
663
461
530
169
715
732
116
833
683
758
338
444
167
689
69
349
84
17
187
248
173
261
826
66
389
936
1000
747
209
807
551
116
739
284
149
37
226
268
245
378
234
767
819
736
889
81
30
325
348
340
388
3
993
543
510
200
221
570
60
546
692
154
735
921
402
985
871
181
290
576
360
983
737
745
915
171
80
323
674
507
237
881
900
588
451
144
715
272
585
201
707
725
759
609
39
191
633
739
582
634
310
32
804
429
566
475
345
379
821
604
362
155
410
244
718
766
180
58
647
235
829
409
299
319
882
166
221
710
91
17
601
420
104
247
397
165
730
946
403
750
85
42
171
959
245
662
907
181
693
166
73
228
631
752
216
620
376
272
461
541
781
737
577
371
270
356
500
209
59
680
152
798
519
421
371
843
837
561
909
67
95
693
813
477
426
698
497
938
150
878
999
104
682
190
611
71
524
966
767
913
304
361
777
106
529
929
665
540
262
822
553
277
48
460
28
264
763
424
545
739
663
796
994
660
33
953
642
51
934
207
741
346
425
751
558
867
683
727
820
882
916
364
139
635
353
733
165
287
16
485
200
886
642
102
651
148
474
500
110
831
393
983
468
484
525
333
597
303
780
269
691
75
529
795
212
743
974
8
550
654
69
604
99
112
62
297
793
152
50
918
838
30
398
325
598
560
364
845
137
389
311
44
693
253
197
185
380
650
955
727
510
468
334
243
133
480
633
236
459
621
234
275
74
793
820
253
725
614
902
914
912
41
980
425
188
192
465
318
257
445
58
322
346
197
580
688
691
514
579
405
429
197
613
456
798
101
393
391
541
501
689
564
268
789
536
529
942
211
584
207
849
444
711
526
964
113
832
455
563
912
330
193
857
569
727
795
153
925
516
76
855
454
126
746
960
229
516
311
320
629
830
471
510
747
355
111
490
47
408
174
484
773
374
433
224
581
818
849
7
78
869
57
102
563
512
939
326
592
94
290
177
46
116
502
409
398
549
947
188
96
472
777
847
145
848
804
906
706
659
726
317
371
641
823
910
202
187
2
646
370
604
911
766
760
95
773
441
5
68
624
177
471
115
37
227
731
162
669
755
109
374
530
947
864
999
496
766
472
128
81
956
748
790
118
484
838
642
801
309
624
442
467
989
38
676
625
888
564
291
516
411
395
797
306
407
665
382
229
202
852
139
813
975
477
245
608
600
71
979
133
507
290
666
613
626
544
320
785
847
970
497
637
228
104
791
591
583
391
937
39
853
893
592
370
950
140
183
703
867
348
580
442
409
5
775
297
885
287
891
397
645
159
847
887
943
230
506
710
830
654
876
40
637
375
424
789
501
424
10
194
775
246
649
829
368
510
540
366
442
666
426
297
618
486
110
399
56
569
595
642
655
364
183
338
229
731
514
451
342
62
119
880
303
146
268
83
324
829
942
80
441
956
541
619
995
930
811
903
865
561
358
135
194
274
9
848
850
149
290
960
336
23
869
365
987
935
72
737
24
983
213
591
848
879
799
169
1
479
504
119
229
297
832
816
757
123
495
942
379
829
280
884
691
535
835
250
867
246
252
938
331
422
601
205
23
430
194
106
163
931
719
786
390
826
248
122
672
774
311
982
441
327
294
887
983
538
297
43
841
6
9
671
451
564
22
810
734
943
195
872
9
526
245
48
317
308
457
393
650
806
22
68
119
1000
278
379
138
962
491
922
810
956
192
956
187
186
441
794
805
769
416
932
655
371
341
8
206
58
805
625
287
499
227
147
599
141
317
47
793
168
251
159
410
24
327
93
660
201
792
725
520
40
38
138
448
507
614
168
148
226
397
135
70
639
973
596
214
446
260
392
683
282
403
258
299
217
270
229
255
458
983
996
778
991
641
62
172
284
517
557
317
675
591
502
323
659
600
601
916
908
953
89
695
182
486
119
42
420
121
883
119
861
99
113
386
500
815
944
898
141
702
312
496
733
42
432
643
977
804
745
790
254
19
581
809
851
580
645
389
201
570
486
662
908
666
627
898
651
937
182
205
252
431
715
188
761
771
62
721
845
497
726
782
285
409
815
506
261
508
552
466
54
494
374
301
604
404
378
384
199
441
12
741
643
614
93
663
845
324
628
469
670
359
163
303
76
713
845
700
908
95
747
490
122
632
942
495
218
113
379
570
107
901
65
229
110
969
544
264
172
407
310
563
811
407
838
595
849
249
972
836
489
707
160
868
56
440
749
113
116
535
876
909
463
803
953
435
142
187
413
510
309
553
912
696
191
878
164
537
737
268
809
97
743
120
332
77
659
777
786
380
256
325
116
770
53
616
111
343
726
675
303
274
712
644
45
272
546
356
63
17
351
709
345
33
13
371
194
9
758
535
744
886
785
832
616
362
202
625
108
146
919
378
10
267
18
12
210
523
431
265
250
120
806
901
924
84
556
648
305
930
762
518
530
819
108
559
322
801
792
921
331
910
735
226
441
204
494
492
21
4
809
137
738
317
651
504
798
296
390
148
470
922
551
244
12
47
178
328
292
485
309
684
953
767
587
669
419
643
446
323
99
429
47
988
780
586
89
841
383
907
532
604
212
107
785
746
352
672
18
96
200
562
697
403
966
979
328
431
833
798
211
188
364
85
635
812
904
182
708
334
520
317
338
401
869
876
991
606
169
54
979
3
69
224
680
146
340
929
523
104
554
97
258
909
671
679
167
199
366
11
126
864
784
13
912
473
54
499
695
292
619
673
113
58
408
793
162
656
921
600
476
374
908
176
42
237
661
519
61
918
438
406
498
362
967
132
634
769
224
964
325
407
337
1
949
399
479
748
723
350
319
915
464
682
493
822
858
1000
44
769
542
997
37
91
544
744
141
960
317
413
711
1000
15
307
583
4
856
676
268
686
881
864
675
341
792
640
703
509
816
686
485
830
108
599
424
617
242
509
295
113
434
181
334
2
403
220
89
545
705
929
261
897
129
393
514
519
260
655
931
856
719
246
696
329
800
325
170
414
338
48
298
120
844
475
662
321
905
268
564
509
26
347
364
800
614
916
94
793
515
40
543
350
843
279
57
758
957
512
875
314
163
356
635
308
323
707
829
417
493
936
41
122
718
293
625
804
386
373
648
635
205
996
994
829
968
290
359
19
451
877
607
311
780
513
34
173
17
585
859
350
294
800
278
177
679
651
774
808
567
792
541
6
648
587
232
497
3
508
514
965
476
200
434
93
891
31
267
678
796
401
9
854
208
774
885
713
485
552
894
101
68
714
553
66
156
5
69
435
412
744
872
692
402
892
119
894
955
877
54
265
367
2
585
346
546
785
461
992
513
209
478
224
202
40
166
703
8
191
83
199
245
298
405
736
824
675
583
96
543
108
288
302
346
709
63
947
548
148
329
721
767
939
992
488
916
264
152
106
964
383
470
958
258
485
142
621
415
975
559
980
342
438
249
654
598
34
587
807
396
722
775
214
434
339
651
6
886
605
495
720
435
658
818
102
783
399
776
724
982
315
69
524
723
685
431
343
8
491
928
314
759
446
904
177
723
827
846
968
348
957
249
347
75
98
179
614
695
144
315
81
120
166
138
452
739
494
727
108
757
823
965
418
697
826
693
279
501
16
307
400
534
92
489
108
18
187
234
300
38
97
399
973
746
239
90
427
504
74
913
983
956
758
683
47
395
312
105
622
153
447
312
752
98
39
955
107
965
848
897
261
639
966
161
901
746
216
517
772
776
627
845
304
728
46
602
951
539
126
995
764
74
585
109
266
70
191
558
591
255
409
199
646
171
599
499
312
637
978
709
853
17
109
873
800
590
97
561
264
105
979
216
867
41
889
205
228
11
131
373
509
913
279
365
213
463
842
841
142
216
667
873
23
750
977
60
440
614
860
616
459
245
595
205
562
726
902
911
91
544
366
391
435
346
680
627
583
234
977
374
874
231
109
155
986
419
258
918
464
485
249
448
798
473
768
273
249
6
316
906
138
72
541
957
551
646
814
504
114
599
683
747
307
755
176
446
391
785
458
912
803
277
575
335
5
468
487
138
149
317
510
713
799
689
509
701
515
324
321
595
784
690
798
644
314
41
237
316
613
982
382
91
302
287
276
914
369
969
433
859
791
362
646
230
522
544
801
977
863
912
147
608
51
863
823
217
247
564
907
420
229
963
234
149
78
408
395
398
739
811
849
369
15
480
698
134
843
974
385
621
465
38
869
890
142
281
531
90
832
501
828
2
669
123
612
669
859
509
166
106
8
948
425
908
335
685
488
335
462
614
491
63
901
889
979
848
224
682
804
983
53
524
629
396
593
272
5
675
441
167
298
989
252
751
561
579
180
662
232
575
69
915
980
437
911
30
369
44
224
609
398
492
55
988
191
97
119
637
862
894
72
887
361
685
852
558
372
583
104
937
175
561
615
978
404
689
337
988
814
629
59
748
663
806
694
484
47
257
129
24
365
131
492
633
615
682
51
136
648
117
749
255
425
103
254
676
176
89
382
985
353
859
4
826
203
715
381
660
937
322
771
335
380
512
129
997
847
699
835
482
570
213
343
507
213
552
908
571
193
739
699
699
563
999
661
284
709
395
422
742
281
34
418
354
983
50
444
985
316
359
379
845
800
391
988
121
586
999
387
102
613
495
826
850
175
831
857
973
553
82
443
852
721
130
229
486
666
125
716
65
650
955
175
787
506
201
259
416
968
980
564
641
333
633
336
381
718
541
193
529
660
221
359
408
948
793
763
621
763
874
776
646
286
791
817
400
172
102
918
735
281
933
252
308
591
800
568
775
909
720
546
294
64
940
686
380
534
333
350
321
1
925
444
433
243
528
99
88
563
179
957
897
404
213
667
308
240
386
216
113
909
757
895
434
271
405
578
857
642
268
408
668
30
239
235
9
584
104
224
396
382
919
764
824
360
656
854
483
441
828
205
180
706
792
502
724
446
990
490
778
205
256
194
408
176
444
492
631
245
462
879
413
144
444
912
445
993
558
410
986
371
75
997
581
698
74
393
947
779
333
443
453
594
897
695
338
198
458
791
681
509
217
285
125
577
781
18
21
250
823
790
765
254
266
817
380
305
79
640
873
707
21
655
935
443
178
862
613
494
452
705
142
165
788
161
448
497
50
990
135
547
784
598
669
946
636
51
7
921
861
745
314
132
237
563
879
108
764
230
845
442
530
791
209
178
216
823
889
713
359
743
233
668
839
200
832
902
632
516
567
807
701
484
456
791
185
378
120
379
722
299
144
531
255
361
536
195
476
916
629
26
988
413
911
535
673
787
629
316
498
685
83
419
368
114
588
119
549
812
111
451
198
508
349
572
980
747
842
690
659
110
951
607
431
900
105
875
282
737
166
630
679
956
136
540
694
444
666
752
690
951
38
234
170
105
820
777
243
917
302
565
360
143
607
623
481
156
590
221
48
693
91
692
707
198
563
314
66
70
662
687
78
894
732
520
916
329
793
948
297
677
6
823
992
82
520
44
923
757
91
114
595
197
545
929
56
897
895
584
223
412
690
237
589
880
549
209
349
183
429
250
604
935
216
230
70
427
70
270
682
305
638
919
882
809
28
796
826
824
950
605
734
58
461
434
847
589
714
444
237
562
646
331
414
6
715
469
637
191
582
487
554
992
884
509
343
707
494
670
571
700
284
143
296
409
16
21
63
411
956
200
202
533
556
442
903
484
774
928
718
244
712
239
803
673
81
146
383
485
113
889
214
598
712
702
661
239
874
952
542
287
792
326
524
105
407
400
769
805
685
648
319
848
195
710
279
807
630
248
904
793
632
416
728
243
567
128
306
86
93
306
214
248
466
608
9
481
91
490
408
960
193
363
284
562
245
553
375
79
666
450
991
61
981
549
562
740
202
846
638
80
859
768
331
957
912
106
956
386
98
896
621
631
953
984
375
816
423
105
293
596
789
113
25
781
459
79
914
64
953
818
419
630
602
720
629
163
886
740
89
846
668
233
962
831
532
461
522
60
763
461
902
245
660
862
765
142
191
641
711
926
511
806
610
331
5
217
347
742
935
214
467
207
332
746
42
468
567
443
993
938
306
635
405
111
929
656
376
259
431
406
345
590
425
6
547
845
583
745
857
848
652
23
575
293
480
663
762
790
534
129
860
790
690
942
992
706
135
876
876
123
667
331
138
410
80
598
85
928
521
739
920
482
969
692
347
820
730
260
390
735
548
354
642
298
507
324
607
772
533
870
801
825
268
499
467
623
937
767
920
88
285
302
703
733
558
306
803
189
599
33
724
153
941
962
407
303
431
394
245
450
866
108
595
727
437
464
471
890
637
99
266
477
273
312
227
256
421
92
505
806
526
958
753
134
991
656
936
464
305
909
274
87
63
897
686
227
94
992
219
974
648
605
793
399
235
535
640
474
813
225
926
993
841
322
538
366
753
684
891
283
155
387
459
479
858
413
822
759
794
287
175
93
332
939
265
57
665
40
395
601
805
16
520
530
660
138
298
498
821
626
654
550
546
276
729
953
436
922
569
570
245
110
105
428
497
218
419
197
602
204
419
189
132
492
586
273
18
818
17
412
365
849
79
690
945
735
971
128
37
374
708
932
108
338
6
924
1000
549
744
564
243
96
200
314
914
491
235
93
921
690
289
345
852
98
930
772
680
443
759
635
310
950
875
958
989
819
382
638
882
827
572
671
187
422
278
850
151
438
783
828
173
929
499
14
735
958
584
985
651
857
597
683
387
54
342
121
716
46
731
105
920
510
865
42
642
43
264
679
649
910
236
163
114
742
563
57
960
36
215
444
227
186
940
545
177
736
919
961
831
848
870
863
987
356
786
372
340
85
672
516
184
978
301
69
534
493
999
614
169
871
732
358
852
178
670
175
706
768
32
314
817
903
820
735
639
392
890
715
359
743
891
609
405
174
768
303
541
984
217
369
198
896
226
159
238
581
66
72
930
977
635
43
403
143
157
846
689
219
846
966
146
636
96
488
582
471
915
694
474
165
336
520
68
978
980
453
664
480
144
102
683
395
990
439
776
640
427
587
742
540
750
83
597
547
670
200
377
65
130
126
518
663
759
554
844
950
969
343
581
700
645
582
245
888
712
335
940
937
658
869
648
392
583
103
849
641
885
830
700
773
786
141
368
728
503
965
845
880
536
916
468
609
992
495
615
882
501
502
693
656
816
261
672
851
734
431
336
364
525
323
251
775
637
579
860
478
415
22
669
763
683
575
339
118
301
430
798
165
434
441
535
922
433
860
644
926
181
124
863
481
799
631
669
316
548
183
610
494
417
889
758
20
701
960
645
134
313
526
450
691
614
332
81
934
126
342
387
789
462
832
694
719
981
407
106
132
919
678
910
124
656
409
156
699
570
373
824
400
925
61
853
256
840
664
396
519
948
180
726
928
958
590
811
626
581
859
372
855
413
373
306
168
962
726
304
588
555
593
349
424
302
866
848
651
961
12
969
856
697
205
729
567
787
631
214
281
812
350
630
36
305
423
759
602
788
579
42
976
820
198
610
862
989
418
648
289
431
27
370
488
253
644
110
429
20
180
219
764
730
427
9
360
775
916
830
796
244
738
733
665
79
380
148
515
714
431
720
562
654
193
12
692
332
621
686
258
973
884
589
771
153
50
323
712
639
96
276
856
735
107
12
32
550
576
918
542
413
266
816
180
924
633
62
859
546
453
970
932
183
586
878
174
798
862
914
319
507
61
789
422
490
323
219
939
680
476
613
451
741
493
228
989
362
377
608
245
356
887
706
657
524
497
753
745
984
344
924
888
108
394
100
161
816
613
293
373
506
902
155
537
530
939
131
483
477
193
760
676
261
806
974
411
122
751
195
294
443
890
875
265
500
573
343
739
50
870
328
129
471
512
86
323
877
472
112
551
940
331
797
661
809
410
200
348
155
630
450
549
885
224
574
172
272
423
287
687
746
842
673
220
960
411
507
775
561
715
236
22
805
686
675
79
555
850
10
965
930
467
57
792
887
498
270
440
361
802
40
689
624
31
892
731
864
814
710
440
883
943
372
406
652
424
840
389
369
233
392
82
373
241
376
481
771
192
428
57
725
633
201
485
77
437
404
592
325
330
184
835
293
728
366
922
897
473
115
864
782
834
847
678
695
347
260
117
357
198
387
573
288
77
611
799
70
522
947
921
483
184
48
631
298
799
727
193
199
129
374
101
335
834
894
238
540
85
728
637
574
295
851
472
767
676
519
720
620
292
616
629
915
418
598
585
671
630
973
770
420
262
783
198
371
669
732
862
718
768
658
635
456
924
993
212
247
972
662
587
540
94
981
9
67
355
872
628
540
117
975
78
647
206
545
886
611
435
230
864
95
54
985
77
711
161
909
763
885
49
915
178
126
814
469
874
703
218
676
69
234
58
487
209
613
875
71
887
73
781
378
653
624
872
308
796
424
176
801
906
62
503
52
134
856
49
199
989
880
454
119
762
854
577
306
989
37
820
746
466
219
876
642
159
603
816
635
777
264
999
412
215
467
674
418
209
172
270
24
915
961
727
740
175
139
803
202
721
866
599
806
951
47
310
416
4
780
940
910
979
372
863
346
465
988
376
509
459
943
976
749
753
619
843
931
48
66
525
248
313
393
978
969
311
686
407
120
197
406
569
881
27
152
167
547
157
241
406
494
337
642
786
251
650
696
338
525
515
19
531
770
711
486
283
896
90
701
458
186
149
713
206
572
495
307
848
159
633
990
356
926
961
988
14
664
181
7
77
480
549
605
171
688
465
779
908
660
833
901
327
705
148
509
802
887
509
532
324
346
247
993
54
705
855
188
380
528
705
321
481
800
814
310
374
863
731
458
136
455
862
589
336
174
123
635
756
662
372
505
323
272
352
245
872
540
246
803
120
458
468
843
609
884
617
554
373
28
497
223
343
484
154
99
4
61
417
602
43
306
410
127
94
149
656
834
562
62
188
662
36
84
484
85
711
221
912
643
996
503
440
436
812
858
220
891
732
138
34
787
255
205
444
589
65
52
64
100
363
656
657
736
898
416
168
606
842
835
142
1
263
905
865
563
920
118
776
712
545
883
935
573
894
196
913
851
413
522
211
457
448
96
199
210
995
148
186
579
424
524
351
981
881
536
163
765
318
906
927
766
768
821
775
641
507
555
690
425
314
235
808
821
890
661
733
735
357
9
797
365
888
707
567
52
237
565
790
961
149
186
811
518
587
179
552
96
803
924
421
744
138
295
380
860
342
885
272
168
565
606
744
465
46
553
894
853
138
188
599
250
400
29
698
931
234
995
681
881
779
402
206
638
601
995
453
548
118
877
242
295
646
174
889
59
264
7
681
865
457
72
701
54
240
157
187
440
501
714
775
805
306
482
717
886
889
307
371
366
745
598
993
441
323
134
246
677
591
677
753
410
721
667
468
121
400
156
490
58
477
995
416
118
668
157
914
729
728
412
60
798
653
859
444
133
334
327
359
368
677
327
802
963
947
410
645
578
472
880
947
536
423
501
669
748
561
240
449
4
905
38
821
172
915
569
664
392
54
946
342
845
501
232
814
364
467
103
595
458
869
63
780
823
287
133
730
680
482
925
785
708
688
336
536
551
413
838
606
685
506
321
136
453
928
773
964
552
381
987
405
499
833
443
435
412
491
419
726
536
890
758
693
289
290
483
434
788
936
688
954
374
240
312
669
265
886
492
178
297
520
686
714
132
233
467
697
317
954
533
531
985
808
693
240
184
525
350
811
78
103
13
536
160
225
288
94
736
524
172
864
59
111
351
563
765
61
317
711
940
794
452
544
551
364
163
766
150
689
746
719
18
322
946
679
63
26
126
599
323
550
2
469
326
897
271
237
986
227
449
203
861
287
567
745
253
425
981
296
544
356
673
621
42
399
967
928
320
477
856
668
180
700
941
986
909
493
431
691
351
292
162
42
263
293
644
32
553
654
523
60
900
636
677
222
712
973
220
770
567
834
197
936
338
148
277
509
973
532
792
14
483
387
358
279
47
379
939
656
669
786
777
211
215
467
7
66
851
260
385
964
281
286
262
957
374
462
834
447
743
435
420
736
616
901
686
312
67
848
400
195
174
467
423
332
617
881
786
598
844
647
125
754
409
633
9
6
56
473
536
880
394
4
113
699
171
518
665
3
37
926
107
288
105
547
677
470
485
378
620
614
773
169
681
947
315
762
347
933
358
44
580
742
232
981
866
736
759
691
493
10
717
256
107
2
584
639
411
748
526
128
584
141
185
704
765
860
546
383
513
400
730
611
630
189
195
276
213
190
314
481
587
736
247
442
841
515
190
15
461
345
209
797
205
857
317
983
391
945
605
963
767
347
678
594
759
778
961
516
705
766
18
833
745
498
690
320
180
400
960
439
409
100
144
599
253
501
708
326
980
119
573
586
911
39
588
8
26
69
990
619
764
319
668
365
352
646
3
22
840
588
643
406
122
906
932
758
601
940
970
936
664
865
603
465
172
996
439
564
865
409
960
903
870
148
101
716
579
184
631
292
560
406
36
697
810
839
197
124
429
910
420
886
752
29
212
90
424
532
158
729
947
431
281
260
589
908
282
863
229
594
552
773
198
734
427
649
314
932
24
335
801
660
118
438
4
738
19
103
646
684
640
47
442
548
821
819
615
341
675
86
125
255
524
142
393
465
476
604
298
829
603
492
755
172
10
331
811
706
360
14
818
817
534
924
531
24
721
806
168
766
948
116
691
599
876
6
661
719
601
729
195
252
169
440
903
65
612
478
184
627
92
509
812
509
683
774
538
335
502
756
751
138
826
480
708
496
129
267
793
484
811
905
103
870
255
663
347
158
760
544
278
229
734
722
326
779
10
452
352
488
968
305
634
982
405
887
21
187
832
583
280
794
52
729
349
143
348
23
581
701
585
100
475
174
973
865
874
375
630
763
176
158
853
184
833
283
157
443
716
498
488
420
893
81
915
286
914
489
114
518
618
162
436
203
116
317
680
693
287
683
497
261
434
401
877
626
265
465
533
684
757
127
670
678
92
311
282
862
322
882
635
847
388
390
419
987
17
606
951
497
156
431
792
290
994
299
891
819
547
932
308
905
773
77
963
280
319
168
945
142
819
591
420
850
648
83
994
546
247
984
790
696
852
854
725
262
2
739
868
393
47
269
931
966
533
154
654
651
570
910
792
906
466
450
890
781
829
968
446
308
399
91
749
791
998
440
751
297
258
634
644
954
86
926
254
116
340
829
44
969
926
551
595
486
889
954
574
154
61
89
548
786
342
504
813
989
250
239
866
288
347
790
484
932
209
462
578
513
587
610
236
631
620
62
980
511
192
700
200
182
605
97
976
31
988
65
251
320
474
290
955
735
978
265
949
813
393
957
836
303
618
543
258
144
403
324
810
554
172
46
960
795
445
484
949
943
301
231
655
325
430
327
398
223
747
644
635
901
821
5
929
988
895
396
19
656
318
347
647
114
687
27
34
808
539
198
117
319
91
138
243
360
826
83
924
474
229
911
963
20
372
422
569
577
677
638
815
702
772
666
451
576
30
186
777
592
448
352
746
619
717
487
432
327
814
359
628
471
618
140
785
711
801
18
797
96
932
138
767
479
145
426
697
815
498
194
666
492
617
400
286
423
982
990
310
907
766
560
148
105
986
7
586
736
213
140
351
351
79
273
562
543
825
190
273
292
518
136
238
16
267
640
656
181
737
785
215
528
339
986
677
415
946
741
957
470
105
349
981
519
155
80
681
766
868
357
770
639
14
531
990
424
331
880
875
107
153
984
855
443
590
300
537
866
672
953
955
797
213
598
362
959
228
905
544
37
140
825
718
113
730
731
434
147
409
812
666
604
867
434
751
684
958
839
580
894
170
598
997
914
144
10
66
114
61
104
260
89
820
482
356
951
948
585
934
24
537
949
116
400
559
199
349
894
870
93
35
279
171
297
948
411
915
271
607
252
545
511
96
421
80
78
628
949
684
613
322
892
67
541
314
909
799
869
422
137
405
225
52
627
688
288
145
384
449
503
650
848
735
727
223
15
983
742
431
970
879
129
999
285
730
449
531
480
923
17
199
434
594
95
494
300
449
983
102
419
380
147
132
611
249
182
332
215
747
427
65
630
279
922
971
38
818
863
13
325
79
875
615
9
609
530
870
538
879
801
137
633
425
578
890
92
616
353
315
626
444
101
245
124
432
5
308
117
679
304
544
830
903
939
318
47
540
667
626
296
219
809
127
798
678
126
788
881
21
865
469
820
469
871
160
938
169
71
242
937
632
391
797
293
202
52
983
132
74
78
126
498
260
992
745
85
479
898
258
918
547
438
759
283
796
134
153
890
864
251
332
43
813
89
879
637
920
513
376
416
747
153
841
837
83
75
806
119
616
848
14
592
866
626
894
701
12
257
192
399
232
437
67
1000
542
37
542
520
722
758
141
916
568
809
517
43
687
110
874
475
919
684
33
129
943
286
877
824
300
656
132
447
2
31
613
365
194
11
99
857
357
768
340
835
684
36
84
448
580
59
807
478
548
22
21
352
597
843
137
920
436
959
302
331
534
395
851
827
118
806
967
973
547
753
713
285
728
744
1000
974
459
286
606
780
412
909
863
95
387
820
262
503
163
769
862
813
776
502
247
553
458
725
70
556
203
445
731
392
655
173
65
881
473
667
315
120
639
781
811
970
328
591
744
931
138
327
232
462
990
295
493
90
167
730
465
98
835
729
986
74
841
705
893
551
102
17
985
175
557
635
771
295
665
967
164
657
364
523
803
904
444
601
889
642
665
998
381
704
743
465
309
144
320
982
592
662
645
569
415
129
81
236
709
534
507
633
50
609
942
183
560
853
816
208
169
567
187
571
803
606
721
106
372
916
786
590
49
307
714
24
670
528
889
674
2
832
892
597
543
591
722
359
509
840
801
448
675
279
145
208
753
174
802
311
89
3
631
415
628
452
566
416
839
599
386
872
646
494
152
764
514
485
45
182
107
263
118
422
802
672
961
418
246
258
734
442
972
655
732
843
313
572
984
432
379
639
441
169
182
947
23
735
863
825
854
735
232
941
718
982
502
559
500
207
962
299
766
911
396
869
888
1000
13
739
982
412
705
279
149
953
68
238
287
452
336
932
926
792
725
399
232
442
349
471
877
233
45
902
230
245
557
567
680
511
344
291
971
461
554
878
249
260
166
175
302
663
464
341
179
558
702
680
872
478
697
100
478
910
876
968
320
951
12
561
811
282
259
11
661
692
324
728
628
429
624
991
494
664
724
111
85
260
663
124
987
477
447
37
490
858
606
943
882
607
39
606
822
226
666
30
243
368
223
153
738
331
493
349
651
735
490
991
112
798
836
353
456
474
932
390
291
560
677
541
397
562
416
119
144
951
677
456
828
638
122
916
710
63
115
198
234
255
836
21
521
664
180
892
595
88
85
939
149
350
31
788
831
606
165
750
121
708
720
220
305
289
572
488
567
845
87
473
308
411
220
665
505
906
895
219
114
470
489
616
439
792
629
963
640
478
644
301
461
286
32
271
216
723
85
274
893
995
560
263
599
522
957
629
120
675
531
11
757
515
645
344
388
163
363
582
422
226
246
962
50
15
537
882
979
225
2
182
932
230
401
996
621
200
912
42
168
264
683
907
733
839
316
937
548
995
48
357
769
559
782
550
593
673
181
952
458
349
652
404
991
397
160
744
800
499
809
649
750
255
214
478
874
219
890
569
312
725
523
131
643
928
83
335
298
51
41
38
297
516
401
858
680
893
835
935
408
1000
907
549
599
703
363
887
522
325
457
728
890
274
187
916
542
150
977
887
680
591
348
779
337
377
760
923
825
982
429
38
234
186
670
695
33
368
553
400
429
588
662
625
353
450
287
956
588
840
939
986
835
222
547
844
801
766
938
4
901
652
80
683
943
782
735
699
12
832
320
812
943
627
412
253
469
179
237
546
792
403
675
230
172
716
15
299
230
796
252
998
743
140
680
721
474
924
677
622
219
669
359
109
436
431
322
655
346
875
697
712
108
635
243
147
340
860
182
268
983
454
888
232
521
328
90
580
349
453
859
996
584
875
972
44
815
316
241
992
404
361
135
4
785
122
752
208
146
733
959
563
883
688
95
856
457
121
231
909
797
464
56
462
189
121
281
426
917
77
965
742
316
916
897
516
728
420
277
553
918
469
113
486
857
738
262
987
707
868
768
792
332
373
208
802
778
846
819
238
74
791
969
753
147
196
52
169
615
160
109
668
908
300
240
325
558
768
446
259
928
615
190
965
219
113
989
365
970
60
147
509
652
855
330
377
797
537
112
238
435
472
419
844
564
565
960
453
482
873
186
547
866
698
715
794
194
118
655
508
470
384
541
572
475
298
54
389
892
85
852
79
761
235
458
236
582
544
31
852
576
143
40
919
493
279
986
358
207
963
745
314
309
430
122
8
39
704
648
834
734
203
723
502
439
969
273
449
618
977
906
972
874
752
16
335
658
808
271
383
712
670
378
975
568
204
851
976
878
514
978
393
473
368
613
407
417
839
62
48
224
149
479
480
502
675
877
306
965
622
295
669
290
400
559
951
502
665
311
613
514
481
615
530
347
517
987
49
247
462
217
18
862
569
478
935
879
539
563
626
114
410
751
644
894
863
966
284
370
523
488
331
555
697
50
575
585
498
483
347
161
277
555
575
270
817
936
893
517
116
109
825
194
646
628
403
845
54
436
918
569
11
742
174
99
694
48
867
236
500
933
527
648
987
193
110
103
785
302
745
258
613
458
819
423
984
928
508
823
836
209
47
905
885
317
736
667
493
33
781
590
835
524
42
587
743
503
101
934
89
730
35
593
818
638
692
849
431
87
596
377
597
352
558
719
194
845
340
353
644
461
766
358
76
116
368
490
533
619
613
230
303
733
814
375
304
172
949
73
267
624
304
214
642
725
622
796
640
325
197
896
964
489
965
94
903
682
273
25
152
692
882
345
880
789
853
285
446
482
814
750
626
721
666
35
358
18
530
846
945
759
882
892
168
216
715
344
97
124
601
231
336
463
557
121
329
75
28
11
221
828
418
647
171
525
491
531
980
884
94
662
395
649
411
590
256
858
242
731
445
645
88
378
66
828
816
567
342
373
363
590
872
181
748
784
351
673
859
156
51
271
165
684
609
297
12
590
654
624
500
823
883
869
135
239
351
944
389
553
103
276
821
204
350
27
869
597
881
888
829
365
511
868
338
868
533
779
575
582
436
311
965
476
34
74
661
267
307
740
444
760
149
869
809
531
117
80
263
261
827
545
881
335
234
945
136
631
546
604
607
334
126
919
732
79
473
459
156
695
803
297
522
552
865
407
171
126
814
970
358
425
652
50
671
54
729
639
54
683
386
723
638
435
872
722
113
520
578
816
888
85
31
745
763
882
316
924
414
411
464
490
489
315
260
749
3
881
297
70
903
119
162
510
633
168
251
886
300
673
260
359
816
657
667
912
340
89
290
17
750
173
379
726
892
764
715
794
115
790
899
325
499
166
616
475
595
640
889
870
377
9
412
69
528
54
733
634
797
500
139
123
693
752
865
395
971
881
545
573
505
152
914
679
793
918
52
321
244
685
916
145
948
174
207
183
54
38
99
628
849
681
702
856
346
253
816
578
600
501
601
909
198
344
177
135
363
544
398
169
245
803
664
618
596
422
793
880
256
692
489
451
452
771
70
363
470
213
989
817
592
306
148
396
764
723
643
21
92
842
342
57
980
726
757
547
800
648
653
62
830
255
21
300
113
144
411
815
773
6
37
136
336
637
2
175
85
46
552
338
806
819
494
702
530
264
545
298
345
75
831
527
857
922
469
167
504
438
121
287
938
990
19
193
181
990
393
970
950
158
584
275
650
85
703
561
389
523
17
540
590
759
673
716
927
849
977
945
695
776
338
740
331
751
848
761
810
271
839
856
734
820
941
179
310
42
860
686
494
797
772
180
97
16
886
176
942
102
805
108
635
51
27
370
441
600
290
429
820
878
340
434
974
933
259
270
465
563
102
361
475
241
243
387
678
55
800
26
455
312
659
961
214
687
998
22
788
578
96
99
536
206
503
491
832
4
727
84
650
362
178
555
239
872
682
194
54
495
996
862
714
298
98
211
793
855
704
222
184
400
325
353
547
400
768
739
693
350
495
209
104
21
106
900
381
465
362
204
515
155
28
652
922
752
18
30
250
318
790
565
733
56
303
533
384
482
166
643
78
491
820
572
439
271
814
408
449
629
676
960
987
128
550
611
621
428
405
998
713
563
874
648
342
194
459
762
538
117
416
89
143
373
866
826
950
553
13
627
71
443
138
646
445
585
721
329
436
234
984
862
123
847
424
258
469
569
999
292
455
800
998
823
256
45
286
749
475
325
683
543
380
385
264
401
982
614
925
726
157
986
415
766
335
607
626
219
309
593
425
885
248
647
688
171
741
517
848
414
394
354
526
418
773
652
751
544
325
107
521
357
831
36
902
375
198
715
199
719
76
479
917
250
159
65
869
486
21
541
983
537
313
285
20
827
742
87
612
194
33
590
491
722
767
316
275
481
625
134
834
462
551
626
360
187
733
608
397
891
569
872
802
357
856
782
934
603
375
525
827
595
238
816
103
285
758
139
746
455
754
352
355
481
647
153
452
391
236
440
278
648
9
733
982
145
137
484
374
194
688
278
297
566
757
626
526
108
699
352
840
458
604
960
991
559
856
381
97
422
752
356
177
908
532
572
371
873
582
382
642
247
591
116
992
854
184
358
332
363
480
317
99
863
592
337
276
346
227
110
407
265
574
848
890
696
334
63
907
12
694
126
506
104
623
71
172
687
96
588
279
18
654
662
219
812
847
992
6
727
691
858
906
645
685
5
133
313
29
518
787
321
183
394
155
443
363
452
963
201
315
897
911
289
467
249
885
983
128
533
126
746
799
596
528
481
910
79
200
291
851
91
302
657
850
443
362
769
473
118
28
440
436
310
224
973
983
234
571
472
310
175
576
601
817
288
652
627
309
342
237
520
452
740
211
674
234
777
428
463
188
497
276
837
277
773
50
250
790
512
945
674
342
110
431
393
711
847
627
395
438
501
595
508
177
525
350
198
621
38
160
574
640
414
734
253
652
355
669
454
165
192
415
300
272
938
127
111
753
821
553
117
680
291
743
24
453
595
592
474
373
577
584
502
377
834
481
808
71
754
709
300
274
46
825
419
376
842
264
206
221
804
770
138
414
510
230
28
564
184
696
798
499
357
119
381
686
236
622
985
940
922
242
133
827
873
347
234
940
871
487
74
163
647
616
196
381
360
620
583
859
575
704
512
838
175
881
15
258
952
483
196
679
58
52
829
859
42
671
78
159
993
616
185
536
981
518
594
575
202
369
937
872
609
720
504
463
437
927
928
486
113
217
165
484
889
577
345
545
525
607
450
106
327
700
49
573
884
506
666
856
227
355
481
80
521
320
286
235
801
776
793
270
937
168
171
468
453
643
11
970
68
508
44
177
452
501
442
920
992
510
171
468
535
674
35
892
826
525
876
487
280
388
839
159
142
96
777
214
831
747
133
42
304
651
313
470
382
310
350
69
967
159
379
523
620
456
806
369
397
490
839
355
698
847
705
884
527
158
789
931
86
577
951
698
921
475
236
598
541
934
749
493
540
367
454
826
288
65
969
238
938
416
298
803
663
807
535
792
432
31
227
139
563
182
666
945
787
981
825
462
39
267
765
271
837
832
401
380
700
357
617
684
477
611
314
681
454
462
430
222
861
218
414
507
898
827
919
346
323
702
29
430
465
490
149
39
383
184
957
43
856
880
434
825
535
556
749
725
861
182
817
464
903
674
393
298
554
174
65
174
436
713
554
486
624
891
745
784
944
29
931
957
824
50
668
259
160
525
614
565
322
544
572
10
997
551
269
85
333
276
768
354
42
381
843
298
637
218
595
252
657
327
474
546
166
349
658
551
109
332
576
686
852
1000
995
360
965
572
199
315
36
210
364
624
455
107
890
898
654
160
915
380
790
420
409
798
982
783
999
208
248
496
267
713
235
3
147
135
978
100
835
969
524
56
740
229
925
252
267
734
389
437
6
244
588
687
766
653
674
762
580
141
201
363
336
852
201
699
718
536
363
425
81
429
597
540
843
832
693
194
718
723
527
897
328
169
196
839
938
327
971
601
30
961
78
305
140
394
665
257
285
39
382
175
838
921
848
977
718
812
909
761
575
766
496
735
533
698
557
42
87
251
856
580
113
83
728
858
469
910
171
745
213
795
217
384
403
327
214
829
391
276
777
68
452
498
201
694
633
137
259
877
513
706
985
40
293
151
616
256
849
824
211
579
73
656
724
375
262
374
254
272
715
358
817
307
274
483
320
72
884
200
536
390
76
619
1000
686
353
783
344
339
495
225
721
544
690
175
583
115
37
283
802
261
414
312
136
950
959
738
583
144
159
994
428
52
6
381
851
254
488
497
225
239
747
867
817
337
26
317
69
146
819
742
694
658
363
219
109
627
736
571
675
536
958
802
486
90
637
369
511
733
225
751
788
795
698
603
75
885
622
146
225
321
818
207
681
403
844
471
664
117
930
845
13
746
295
332
939
906
477
735
558
629
996
234
717
187
446
172
957
544
705
676
57
835
772
178
140
254
763
244
502
575
547
472
327
271
229
884
529
849
67
876
269
2
757
756
897
403
399
275
180
410
677
114
398
81
927
602
318
629
513
419
246
17
479
607
715
518
746
89
791
159
204
728
280
307
579
517
618
305
201
123
638
838
574
398
142
311
414
116
14
760
399
567
205
914
688
723
245
497
505
582
828
378
570
971
690
347
185
473
661
324
124
323
275
401
440
816
534
651
217
856
883
878
296
173
230
589
805
99
225
966
174
327
8
366
618
523
3
444
248
626
237
548
347
962
493
880
69
290
288
990
680
489
650
408
829
841
532
65
857
998
548
593
244
622
442
764
351
86
451
660
257
294
646
898
637
668
482
102
836
322
23
643
715
919
363
206
580
1
924
53
74
215
139
711
867
734
328
961
575
476
750
59
226
299
506
537
232
607
946
158
575
249
37
91
923
65
225
885
710
663
396
953
96
388
242
823
581
512
643
480
471
861
574
474
493
545
552
162
978
636
725
308
197
747
802
931
954
425
790
259
191
625
595
427
850
155
289
902
291
972
643
103
418
940
179
824
473
726
214
294
208
28
237
384
403
143
847
292
10
49
475
29
183
431
758
168
759
52
874
236
937
621
757
889
158
857
62
692
788
904
73
801
634
889
838
788
552
898
983
660
105
631
5
754
798
96
386
446
347
904
464
898
405
525
479
30
470
217
368
926
153
862
132
145
783
35
307
329
630
958
643
607
794
855
908
203
468
294
154
991
406
324
570
303
458
561
936
910
51
136
69
177
162
625
957
680
187
643
319
790
360
283
3
252
604
377
680
954
838
651
55
598
245
814
965
5
525
876
267
285
50
891
841
637
579
36
708
781
41
364
587
462
931
803
274
665
628
284
792
726
12
838
632
409
697
338
198
150
925
675
862
443
626
352
823
902
674
315
218
622
98
934
539
166
70
149
843
772
232
665
718
461
758
116
480
757
596
519
983
386
825
214
161
704
57
432
399
691
181
298
64
694
472
82
724
552
340
7
76
221
932
943
194
599
452
910
393
22
477
329
9
792
895
57
387
722
175
124
799
239
743
540
563
891
19
482
964
772
847
881
558
683
812
51
418
368
606
514
118
880
463
730
186
425
104
616
329
921
294
76
363
131
33
512
816
787
956
184
416
785
900
409
375
836
716
127
228
489
587
773
127
881
269
746
853
144
957
300
980
579
168
468
31
788
516
478
630
544
49
581
92
532
629
90
514
984
76
934
120
973
640
860
645
891
35
202
375
34
901
201
508
507
151
732
828
883
949
194
657
499
803
706
568
810
157
155
72
845
129
305
422
747
79
632
965
782
890
775
622
743
38
201
575
927
31
285
755
291
479
298
398
202
445
691
882
889
330
924
821
311
297
327
748
510
101
724
307
16
768
747
309
833
194
38
483
671
807
12
521
426
636
919
849
147
460
235
362
834
673
961
865
277
904
272
652
493
396
73
396
914
854
776
586
193
280
795
31
787
231
179
712
210
583
335
148
541
916
416
41
88
808
997
164
38
792
848
844
811
914
458
276
578
179
154
337
246
835
566
2
555
965
111
259
760
312
628
111
424
813
759
249
641
80
579
328
632
541
137
120
160
214
434
409
512
953
528
973
364
741
238
774
298
452
684
875
314
447
782
906
311
411
498
978
786
794
925
721
856
359
229
938
961
330
929
852
196
556
169
43
350
888
579
714
858
931
364
641
585
561
174
966
735
387
876
799
510
190
935
495
988
166
179
588
65
734
757
993
881
343
924
716
232
108
850
627
847
365
687
323
122
531
990
436
826
392
427
616
800
60
267
707
755
352
141
160
176
657
786
371
994
709
616
883
606
396
89
342
204
930
170
392
47
410
747
874
697
337
690
448
878
168
929
333
711
606
165
355
155
59
113
969
806
432
24
420
14
377
481
727
575
302
292
284
214
157
43
97
80
676
60
813
291
114
585
958
246
81
268
588
488
189
504
515
202
523
413
198
210
239
692
449
567
184
710
322
764
304
861
114
70
11
326
968
119
497
169
213
824
577
384
164
620
219
145
149
371
852
713
308
143
976
963
242
945
385
934
415
388
575
19
443
680
328
800
281
645
643
119
917
293
675
706
253
407
363
493
877
608
325
429
262
857
399
674
203
356
872
698
662
820
477
746
863
856
173
803
566
17
137
633
562
87
979
898
450
553
276
134
630
833
942
270
233
917
979
120
210
591
607
727
53
5
534
40
478
46
173
674
111
153
40
77
826
952
834
532
330
753
968
232
163
60
721
668
97
722
557
815
876
740
595
32
266
918
383
243
559
103
199
928
975
80
33
372
455
359
474
913
871
134
340
174
822
428
204
736
738
978
670
649
65
855
764
451
594
55
959
393
106
18
236
48
285
160
690
580
49
395
586
518
38
805
767
74
812
960
49
746
288
671
34
699
446
662
322
204
788
420
100
27
757
241
514
910
814
459
759
252
875
172
764
781
358
331
957
859
884
372
839
820
252
40
253
251
812
424
606
443
867
484
331
899
940
366
708
735
163
719
615
818
217
689
144
336
8
650
41
443
989
347
453
598
673
586
302
459
203
845
536
566
467
754
747
402
918
384
897
596
938
429
120
890
298
912
221
948
949
125
755
950
211
530
488
628
61
703
333
892
911
831
517
56
665
115
125
355
127
526
567
617
906
295
383
782
736
477
732
824
872
454
36
716
567
860
750
197
417
243
615
456
233
172
679
763
854
571
684
869
36
32
812
833
460
640
836
290
543
416
676
279
715
297
762
525
594
756
60
250
2
71
57
553
207
951
7
169
209
549
42
363
464
930
242
283
387
801
560
177
307
48
472
1000
51
192
723
240
701
848
353
973
656
571
178
139
973
584
335
248
48
945
794
927
880
874
849
998
887
565
777
261
832
293
444
432
756
715
513
514
232
316
302
151
706
642
783
836
981
830
298
470
772
320
919
64
210
159
840
959
621
98
948
174
292
457
966
847
704
357
290
732
539
343
276
881
647
596
430
698
10
744
622
582
563
135
573
211
695
6
838
20
212
685
754
963
148
364
624
426
92
793
424
873
208
939
858
910
593
155
808
48
943
134
884
487
296
566
788
271
980
962
282
268
994
257
704
853
938
923
306
974
634
197
190
403
564
136
375
938
273
262
723
720
459
673
263
650
822
423
287
111
615
224
545
310
909
679
948
218
387
913
58
984
463
295
711
582
257
457
474
535
108
410
697
166
582
32
773
99
447
840
683
164
829
114
591
457
119
857
947
35
231
420
749
867
626
252
552
820
924
854
854
823
797
826
497
861
467
710
547
28
340
846
417
3
541
962
913
711
438
201
987
127
394
936
876
816
620
490
917
222
906
189
817
81
178
753
259
984
754
278
375
51
187
68
842
514
757
987
405
280
395
503
330
251
980
184
177
262
668
263
189
261
641
491
945
183
599
520
650
859
195
659
541
419
584
471
609
309
838
293
160
43
156
368
761
459
394
175
455
862
642
736
692
814
392
299
534
566
983
54
416
87
240
738
120
478
537
120
775
865
146
209
56
541
189
564
280
69
855
23
290
73
907
184
552
925
808
72
212
251
59
263
737
777
951
932
176
107
152
423
803
975
435
197
707
955
159
301
319
146
590
251
694
338
81
5
813
547
525
111
638
693
252
547
98
559
20
593
114
268
785
662
34
70
864
931
916
193
950
982
458
197
112
787
962
978
298
486
802
305
460
688
605
996
717
326
912
103
359
132
512
896
50
303
260
556
870
476
948
890
749
835
664
511
67
312
71
697
541
524
581
462
173
44
774
78
314
229
614
685
854
275
13
472
590
139
441
705
127
371
120
151
703
160
750
866
797
509
497
297
446
915
932
486
275
760
643
183
358
789
585
427
924
982
80
719
876
161
634
719
816
815
389
943
807
824
776
625
958
720
482
839
727
286
548
659
856
694
772
515
604
613
846
402
789
506
502
893
573
103
884
462
327
970
693
821
858
211
466
486
873
585
875
712
49
740
565
27
230
645
408
147
306
29
871
456
433
175
17
358
757
9
814
662
376
845
847
800
177
192
447
174
726
678
658
490
344
465
437
853
540
459
784
26
83
774
734
118
246
805
353
163
293
176
961
316
932
440
575
364
57
94
946
144
957
634
110
624
845
205
523
927
436
901
554
676
212
771
655
499
704
920
470
493
271
184
78
731
717
921
754
381
692
50
308
480
54
612
654
414
227
745
223
429
733
625
171
535
356
564
838
416
757
89
465
78
913
703
870
881
386
184
507
786
960
176
297
101
252
69
321
949
964
701
784
305
102
171
66
226
1
178
290
647
125
851
425
576
366
574
315
664
449
996
845
116
626
803
404
532
651
386
977
226
629
235
724
85
417
647
267
408
591
22
131
438
520
515
296
594
845
949
212
231
32
800
408
85
285
453
316
910
625
582
253
405
884
162
567
875
690
953
993
260
933
935
17
945
552
303
32
721
103
50
936
828
289
143
762
362
592
844
985
744
553
764
460
691
711
524
702
239
324
685
581
179
695
765
868
839
611
181
78
809
170
503
841
982
427
451
473
331
751
313
469
89
40
112
122
30
289
671
162
666
526
277
679
518
732
966
343
611
928
67
967
293
869
338
529
280
24
475
800
983
452
608
936
270
817
314
521
270
80
191
944
245
796
661
861
934
546
369
876
170
778
525
459
527
15
854
774
900
278
887
822
703
210
186
528
210
986
710
999
992
723
424
882
594
933
89
897
365
691
263
709
510
497
649
505
14
334
247
688
546
948
435
522
329
757
177
853
748
324
247
405
951
759
556
38
77
672
231
95
400
943
21
327
343
323
686
624
648
234
294
578
408
98
726
608
120
877
160
739
263
222
618
329
75
267
381
738
506
147
493
258
89
819
447
137
69
462
601
704
412
327
715
377
143
274
555
669
325
371
789
154
536
576
284
449
830
423
111
277
469
73
163
45
917
207
815
400
703
11
569
376
470
943
321
222
846
616
285
412
376
708
881
286
51
17
443
784
668
614
967
718
756
603
381
107
498
284
717
763
272
647
23
384
751
765
359
842
44
844
257
889
873
73
535
271
819
465
333
59
133
565
868
743
603
570
520
697
67
526
497
560
555
604
439
934
37
984
205
931
319
886
552
55
974
234
495
870
777
238
517
148
843
944
506
599
177
30
708
647
416
244
794
608
273
414
402
574
459
24
358
697
888
333
377
500
720
848
693
669
464
169
547
557
78
66
879
774
537
96
606
451
394
64
149
355
919
28
610
443
293
254
201
362
88
997
719
612
318
162
154
519
420
427
600
857
545
603
157
341
307
29
38
13
692
65
154
447
109
390
326
241
327
714
473
729
247
751
64
386
265
922
471
818
375
371
729
239
648
125
732
509
273
637
625
389
568
366
247
108
825
724
438
385
660
89
856
976
969
463
442
629
994
965
539
715
45
567
232
355
398
770
614
338
344
244
92
68
423
885
479
622
192
172
580
242
814
436
336
99
132
928
441
878
479
445
875
614
885
692
383
825
35
433
969
146
262
348
536
990
500
573
896
555
385
899
602
761
334
355
231
280
79
506
89
143
863
403
109
920
798
659
425
551
285
791
793
28
669
235
734
798
651
962
690
616
463
178
707
545
585
166
902
552
746
545
308
152
556
758
171
471
131
15
276
834
265
417
656
435
243
883
480
981
675
889
596
849
623
617
881
180
890
703
169
329
94
482
298
217
680
901
328
601
920
101
681
728
961
654
623
443
217
958
100
487
829
234
840
289
518
565
705
598
165
826
111
625
341
918
890
689
816
688
837
98
933
379
156
380
57
125
604
13
811
66
630
93
929
813
277
714
686
896
85
6
252
574
120
406
314
82
784
639
688
532
259
927
760
652
324
18
703
367
458
330
570
590
877
534
350
14
100
807
965
159
237
978
729
845
205
513
665
94
93
481
502
950
362
651
273
616
471
96
445
205
921
278
542
480
709
42
795
436
306
698
520
370
914
803
40
496
440
811
737
115
902
471
118
1000
315
912
988
709
241
344
550
951
249
1
791
111
573
784
23
454
691
733
981
225
617
819
154
849
153
107
208
145
56
383
808
433
813
122
788
206
493
233
575
820
110
41
781
222
793
305
1
608
940
190
901
504
998
497
515
460
760
865
984
279
911
37
915
781
49
619
983
435
116
761
566
982
450
801
117
135
490
282
132
987
371
370
64
594
644
748
459
127
923
953
497
294
246
85
729
307
983
531
592
827
736
242
773
633
638
536
17
138
362
369
616
53
33
41
97
465
927
480
349
262
551
611
719
78
250
312
732
936
186
33
972
264
345
412
263
997
399
623
80
396
246
404
508
842
164
147
252
715
78
215
443
231
366
308
830
793
840
149
63
749
632
390
143
495
782
190
825
380
942
943
618
172
439
520
72
580
561
113
886
564
158
10
712
738
532
105
375
390
799
916
479
513
167
459
639
978
561
501
406
970
243
97
743
270
909
447
546
18
273
779
685
331
909
562
955
315
999
745
264
376
249
623
51
293
142
944
525
287
873
354
518
496
803
443
153
943
160
917
266
351
425
160
560
58
164
952
66
345
731
973
713
84
159
210
852
380
869
113
919
386
802
5
767
704
116
532
373
600
745
658
216
660
826
261
39
710
994
612
77
371
49
91
586
851
154
641
196
320
175
184
62
26
325
883
158
304
230
504
156
155
570
413
329
72
933
297
331
700
68
990
134
691
25
356
462
173
698
72
273
575
143
486
254
586
297
366
857
615
865
211
403
946
663
14
982
964
816
899
362
686
101
309
875
716
499
632
517
156
254
171
76
117
628
483
476
620
70
798
229
892
936
193
412
895
526
608
513
979
238
677
475
543
736
380
873
714
555
772
828
286
584
914
776
570
639
283
898
683
494
791
363
803
529
634
810
950
980
654
931
605
932
624
319
664
420
501
286
863
320
490
118
973
243
442
907
590
572
698
64
127
645
616
888
372
510
275
497
269
241
556
262
279
877
388
669
908
782
467
860
676
117
736
722
131
301
688
479
17
682
105
84
155
925
79
23
978
53
470
886
921
87
703
855
576
858
544
384
459
325
294
335
439
409
326
822
300
247
861
804
238
734
725
584
901
89
332
92
958
503
458
334
733
510
49
558
247
259
449
593
437
693
260
366
112
405
942
266
993
795
416
959
884
620
998
841
759
752
253
142
881
81
91
954
733
464
205
81
797
541
799
800
686
567
600
639
20
229
785
123
411
715
892
229
8
66
948
288
606
820
924
334
917
284
525
946
891
50
745
750
669
128
371
32
253
651
805
898
961
749
452
570
586
648
716
156
366
403
624
353
135
414
908
799
658
981
638
420
339
242
55
202
883
267
618
739
403
707
268
856
237
413
405
375
273
275
150
543
938
706
850
39
562
933
674
518
966
922
391
700
757
754
437
347
726
268
354
622
941
543
720
90
706
816
468
22
359
239
587
338
945
802
234
452
528
977
600
213
130
852
818
624
690
513
457
586
54
565
858
305
903
187
180
148
1000
602
499
844
495
561
320
1000
181
591
248
908
721
816
905
847
944
200
761
206
642
568
889
491
52
226
959
216
77
400
254
956
589
670
779
598
92
762
281
630
258
407
246
527
842
386
548
882
538
744
721
530
635
601
175
455
238
999
982
102
597
900
816
148
720
42
609
740
383
877
805
705
371
839
20
179
635
795
412
61
149
918
661
639
580
624
552
340
983
862
671
439
159
175
482
994
153
744
485
18
23
127
556
717
521
662
924
826
791
596
221
71
478
368
335
750
627
529
90
381
394
881
939
846
353
834
710
669
548
218
75
420
36
745
554
350
902
76
775
793
384
571
168
553
121
376
874
349
155
59
515
708
826
239
180
141
294
792
522
544
45
261
909
75
202
128
255
83
467
308
64
703
532
962
260
20
529
796
863
369
955
90
391
498
985
70
838
608
59
260
7
886
232
779
260
332
327
37
889
910
262
173
467
98
793
202
714
330
992
598
555
789
668
799
123
71
317
505
158
841
94
290
529
155
789
357
687
742
264
998
117
761
99
712
214
583
556
790
270
340
602
631
646
223
138
607
794
689
949
607
889
289
740
761
919
16
413
910
568
972
844
585
667
764
128
585
133
857
379
38
633
177
946
90
592
655
864
945
676
765
820
272
111
538
969
855
908
709
386
421
682
6
496
816
172
434
854
264
68
114
261
256
863
448
346
556
498
743
945
16
59
282
228
630
910
722
83
426
79
546
711
798
583
417
713
869
580
811
553
915
445
408
74
604
34
941
7
670
353
674
443
156
599
158
664
912
743
688
925
712
810
871
961
677
695
458
453
641
869
751
779
170
58
312
758
587
315
179
1
151
479
502
616
78
566
600
392
346
753
780
921
257
355
540
708
31
437
631
556
846
940
935
906
71
495
994
679
164
603
310
870
72
586
256
841
34
836
570
362
882
351
331
356
750
13
274
276
178
840
20
956
444
726
294
539
176
656
378
610
123
250
224
428
128
107
537
193
157
130
618
605
614
856
873
20
578
851
742
473
736
545
266
418
373
603
300
76
995
138
39
674
267
426
185
328
758
988
20
424
229
281
781
697
444
188
706
443
587
820
755
724
742
189
128
380
936
517
768
2
831
927
204
333
629
567
39
324
550
390
678
39
687
793
766
813
703
52
408
363
532
278
391
833
339
522
54
194
820
551
96
116
996
387
243
262
330
953
860
916
594
40
972
868
9
429
145
889
365
354
404
112
867
529
618
322
577
110
952
762
251
678
681
390
78
250
778
831
629
464
372
236
491
832
121
84
947
685
752
373
684
726
997
129
472
475
401
443
169
367
222
445
45
828
648
171
200
310
934
90
977
164
732
348
497
634
177
365
893
389
318
780
158
835
119
59
21
295
596
631
502
875
286
254
677
180
7
96
453
590
715
406
444
824
113
614
211
733
670
447
597
314
647
912
326
454
812
97
376
162
765
98
290
27
113
554
377
423
810
400
247
171
879
719
377
631
543
823
444
61
495
717
639
142
435
411
529
727
752
738
333
215
967
395
331
162
776
861
217
830
851
95
496
402
78
918
247
995
881
181
935
434
93
491
788
973
24
21
289
849
763
294
831
207
700
488
489
388
160
311
950
60
354
946
212
754
327
764
457
452
636
234
653
250
922
621
246
597
78
400
360
577
353
707
663
159
45
837
908
3
24
23
522
626
500
62
656
226
703
458
91
954
108
425
424
522
226
206
358
633
8
547
400
188
980
296
758
482
296
560
87
407
622
65
921
352
736
515
716
109
491
910
362
877
553
401
183
988
868
230
975
913
422
267
157
399
657
513
791
345
86
256
67
183
214
823
192
42
788
276
370
103
862
655
482
1000
701
534
292
637
798
896
753
531
592
864
42
372
415
7
79
315
576
901
412
618
953
486
257
633
315
669
818
163
877
441
651
80
896
940
323
995
193
934
424
143
923
285
733
327
357
398
968
479
59
56
238
992
804
341
242
289
978
889
421
318
505
915
891
17
779
734
48
766
98
405
856
875
40
260
233
626
238
2
16
961
535
378
176
455
145
983
303
658
742
281
955
861
511
170
350
254
836
643
341
323
549
794
222
915
875
976
369
279
498
899
943
50
740
755
150
7
501
744
379
347
100
661
666
479
629
421
935
169
158
835
515
947
605
589
435
144
176
691
400
951
113
187
530
593
31
654
630
269
801
684
883
951
196
919
155
851
801
740
230
740
162
910
858
196
320
893
386
535
35
935
91
784
559
920
889
520
935
858
430
637
127
253
680
638
886
728
74
53
792
85
14
225
926
557
285
849
888
24
81
119
511
68
554
956
769
361
900
625
949
135
246
103
350
469
64
690
221
609
460
957
91
310
911
911
755
780
657
557
798
73
525
571
900
163
206
389
21
338
905
9
553
877
307
260
667
799
386
887
73
603
182
169
52
299
426
765
816
873
530
588
761
993
160
515
315
102
514
779
156
93
694
729
40
92
474
603
527
675
32
643
675
580
166
374
304
791
951
922
310
4
884
121
279
485
404
109
443
358
2
725
576
834
997
873
415
243
768
849
156
637
878
54
374
961
769
897
880
304
694
176
272
602
431
903
956
167
740
854
299
337
605
110
761
894
264
587
175
306
812
996
518
473
196
203
378
175
80
871
171
386
904
871
925
209
469
618
261
167
873
793
352
947
717
287
190
208
459
361
770
782
57
409
861
860
267
824
29
660
331
126
810
850
549
364
841
598
179
421
652
261
649
471
838
298
829
590
468
422
576
801
113
344
973
138
263
425
900
619
36
928
585
773
97
36
177
879
653
853
632
206
563
512
504
419
40
218
857
316
826
520
184
317
880
709
190
774
691
36
539
417
246
659
232
897
540
712
486
536
198
587
314
354
993
706
520
788
654
996
752
776
954
867
472
251
904
70
47
272
612
810
114
983
872
592
774
651
974
776
178
969
498
311
481
236
455
683
375
669
526
61
563
12
728
632
671
181
680
26
364
151
909
556
12
785
61
342
464
527
329
878
542
276
438
988
817
365
584
818
449
527
393
111
835
516
32
679
546
938
755
770
568
356
530
292
797
424
545
863
978
43
826
116
384
320
772
202
586
421
155
174
346
108
176
720
228
645
514
604
849
715
826
717
819
647
148
577
149
799
507
897
983
921
829
31
285
116
348
990
422
684
435
444
234
54
745
197
248
837
239
504
859
689
364
339
677
219
667
853
587
453
690
535
196
785
548
267
610
68
903
589
40
184
621
9
725
30
185
855
600
98
468
925
491
755
808
346
169
108
168
590
942
237
674
449
859
380
330
641
143
217
602
907
979
409
723
26
418
106
633
716
601
842
675
581
250
99
852
732
393
203
287
437
231
703
797
532
125
83
848
871
818
160
261
4
688
836
257
187
688
296
615
629
830
652
5
906
936
114
622
119
63
359
582
581
354
246
685
786
94
449
6
215
536
83
661
935
882
760
908
30
939
771
722
534
616
99
743
449
557
911
161
428
414
499
550
147
551
699
886
985
647
930
231
639
599
611
984
907
558
622
795
79
269
99
598
54
861
559
753
277
281
1
391
426
559
517
612
913
731
701
610
541
474
627
463
239
995
564
812
75
460
116
867
962
588
912
737
824
295
661
871
869
728
545
918
172
815
96
167
274
714
741
446
727
246
6
319
526
315
226
413
439
274
222
295
872
365
933
397
405
168
53
129
498
275
861
716
395
207
27
724
349
359
228
905
923
558
532
911
499
516
521
900
868
502
458
131
451
887
404
138
237
905
246
849
897
131
780
705
639
619
803
345
69
42
224
244
5
356
415
438
553
997
196
294
765
763
693
30
813
887
334
432
486
301
439
61
555
231
968
56
257
630
894
937
860
197
318
817
267
545
669
448
781
108
546
330
404
131
998
307
992
294
936
991
713
783
255
178
339
631
251
235
906
13
234
744
59
634
680
355
371
641
745
199
955
828
762
910
698
254
465
351
751
528
657
365
509
306
806
543
492
790
441
62
454
787
796
349
361
188
459
33
867
57
11
582
814
742
866
590
308
795
398
420
511
648
152
231
509
358
65
880
587
247
37
474
29
225
678
641
633
635
686
474
640
823
453
197
378
731
54
99
109
927
80
576
520
317
390
203
347
682
186
731
524
715
112
846
886
769
177
52
758
766
154
558
861
217
884
277
370
695
315
268
885
23
865
210
782
746
810
751
518
643
888
754
213
541
604
531
804
60
101
776
867
930
23
995
590
779
182
175
126
78
611
576
222
282
362
374
450
700
546
723
317
216
374
519
322
927
99
212
17
459
135
234
849
733
153
300
890
369
40
664
711
232
696
554
255
282
28
83
830
357
929
65
761
424
778
76
285
290
566
644
152
281
668
906
592
99
459
677
941
535
117
358
64
59
727
931
279
296
886
523
976
92
341
413
584
21
904
193
129
707
925
933
107
331
297
701
123
668
892
868
371
4
591
132
974
342
530
528
952
650
184
729
206
748
721
57
757
491
971
842
997
603
459
677
319
648
650
589
794
295
803
82
605
747
734
840
12
572
6
1000
384
541
933
745
648
211
666
396
59
272
412
44
516
155
513
516
450
855
119
999
333
90
767
898
691
974
60
74
235
37
295
434
337
834
785
392
312
689
884
852
430
164
719
895
210
530
365
485
499
83
569
277
467
534
107
893
513
460
588
25
876
459
768
893
356
138
258
198
967
728
220
522
200
443
812
880
38
794
415
442
890
12
505
815
586
814
373
232
510
318
316
454
347
258
767
258
378
521
875
347
124
339
337
942
6
829
54
565
533
369
548
408
369
882
237
293
859
461
60
674
907
954
309
904
400
379
583
843
682
904
942
531
568
426
108
31
605
687
326
325
727
651
915
753
224
392
87
26
42
367
77
713
272
578
163
71
880
519
244
276
999
479
310
935
406
616
231
597
243
45
56
992
221
601
310
86
305
171
489
82
365
563
391
193
145
381
223
977
820
513
795
472
456
894
174
249
593
724
239
678
34
279
2
508
519
442
746
185
221
857
189
387
64
264
347
367
836
220
859
881
947
399
804
933
380
636
385
617
896
355
589
915
230
98
122
785
286
48
80
164
509
373
907
725
259
935
427
18
776
179
48
794
960
743
910
105
674
8
37
617
659
83
99
652
57
782
556
203
828
612
274
399
775
986
201
998
334
515
798
944
644
185
27
72
734
20
190
685
359
412
929
183
279
175
999
258
273
390
561
938
350
836
221
319
342
650
116
438
520
932
174
954
445
940
37
125
610
601
833
333
193
975
894
603
715
483
918
15
775
259
471
820
898
219
614
437
208
488
519
993
753
830
525
955
464
318
89
762
976
600
488
193
257
792
582
923
327
149
378
89
953
974
465
164
907
69
707
66
125
993
251
96
453
13
446
741
139
69
203
601
823
398
395
382
113
175
620
536
279
503
819
857
525
654
1
682
434
80
508
900
114
700
239
580
671
701
408
209
658
736
244
754
212
897
509
487
717
740
400
361
374
416
235
7
194
425
513
625
953
673
602
831
52
868
408
507
574
246
90
647
932
334
460
622
323
924
722
218
425
61
150
837
902
538
861
566
698
300
957
170
212
61
254
663
388
812
958
838
852
891
257
933
953
826
43
212
727
995
732
740
696
444
916
839
400
515
454
688
194
135
496
816
543
230
31
926
309
652
327
629
692
393
343
127
127
491
633
199
622
442
465
277
64
77
891
508
322
732
209
194
325
129
453
232
893
942
313
935
642
354
558
254
35
352
756
736
43
549
477
678
282
715
535
561
495
890
834
291
241
397
897
491
428
129
473
701
572
188
717
836
794
943
76
528
955
915
235
866
380
647
671
651
9
50
639
676
234
823
781
840
644
913
541
131
957
929
923
822
264
81
89
908
890
964
732
110
850
732
815
969
801
314
25
410
525
151
281
637
357
241
653
490
789
814
611
809
536
856
650
523
446
469
329
908
935
644
94
370
690
862
382
746
458
784
888
352
575
267
431
13
584
757
462
814
101
938
780
717
112
284
88
39
786
70
492
186
343
232
87
755
928
297
753
743
924
273
949
12
626
16
360
716
956
278
855
107
530
367
701
902
524
16
688
69
999
320
39
343
783
883
920
480
14
119
363
689
253
184
746
88
89
805
439
419
581
165
713
803
249
354
83
160
988
832
21
898
278
348
934
233
955
736
520
752
92
613
656
739
45
805
724
594
864
716
979
317
371
155
463
711
634
634
258
552
590
687
609
657
505
795
969
402
526
873
452
673
599
866
881
89
369
335
238
996
39
694
375
913
355
58
233
972
433
850
416
17
18
103
779
574
40
784
921
412
759
953
343
536
3
585
648
624
773
13
99
999
717
559
624
108
891
696
607
882
175
697
12
259
184
718
255
393
67
362
312
303
913
429
10
29
765
108
523
944
734
773
298
364
732
998
866
307
838
98
900
969
10
295
499
133
402
735
882
717
468
807
361
625
455
17
788
960
322
852
285
667
953
276
654
360
141
678
557
320
125
61
916
994
729
313
532
479
340
632
708
463
233
300
846
905
259
645
445
497
842
602
862
13
33
462
941
206
815
185
369
352
802
875
244
434
769
484
940
19
671
866
670
709
731
542
711
730
879
198
968
813
504
449
752
119
478
284
754
71
525
802
47
548
303
944
418
87
581
24
875
727
686
478
179
50
654
578
61
575
519
108
631
286
246
702
325
990
932
843
595
983
897
311
779
853
684
673
228
894
983
50
258
437
261
226
162
26
930
600
483
354
135
152
323
251
320
434
889
749
377
971
879
85
543
68
621
756
784
76
929
379
290
258
485
761
209
538
767
231
422
276
873
668
437
806
25
289
799
838
535
113
862
154
912
936
370
645
784
4
879
506
688
126
36
129
768
736
365
477
680
645
730
277
780
695
880
169
658
853
825
590
846
944
12
825
441
779
45
714
938
567
411
807
529
733
91
860
589
991
820
819
199
732
995
545
906
309
710
244
881
556
906
90
765
610
877
587
623
614
289
410
260
193
219
556
319
697
558
35
863
974
560
797
351
129
49
351
301
124
368
967
954
726
210
609
255
517
613
883
382
949
630
240
620
184
499
831
996
281
473
958
642
441
304
842
280
676
81
692
421
690
957
105
598
148
620
477
482
179
561
563
820
516
572
733
244
34
975
349
3
859
843
955
273
456
554
313
832
211
536
570
769
216
234
219
337
736
975
248
516
510
184
301
124
483
518
40
293
20
766
942
22
885
77
925
950
398
565
242
668
577
111
997
281
757
557
59
344
669
416
333
622
460
328
376
28
725
409
723
380
198
235
918
793
469
36
383
481
191
320
338
313
546
625
957
54
497
659
283
57
663
320
472
869
349
292
423
425
800
436
677
798
157
933
806
815
418
715
305
503
77
395
487
336
287
572
759
610
62
445
750
437
987
908
615
962
654
667
151
654
298
101
597
93
828
279
1
985
24
346
143
786
716
633
730
286
905
130
26
153
916
133
832
552
274
301
376
498
488
343
866
947
817
359
331
873
517
696
261
652
983
464
924
494
650
958
688
267
21
509
191
96
386
478
206
652
238
791
464
477
538
905
286
391
470
819
216
153
44
398
317
314
294
744
358
120
595
898
939
798
290
178
119
227
315
531
910
649
429
298
654
368
854
800
78
757
114
364
409
847
390
768
301
659
45
175
459
145
861
58
600
256
589
520
108
973
81
677
493
333
469
419
824
350
112
407
375
52
264
926
632
949
929
148
324
112
478
224
492
658
191
716
721
756
968
670
689
831
760
743
404
654
133
350
833
199
749
401
414
609
670
928
935
874
142
250
395
559
533
764
560
969
222
572
979
295
601
80
590
144
832
101
252
59
98
117
286
947
95
856
856
464
18
449
294
818
872
354
414
630
40
552
535
909
836
454
52
152
332
759
730
860
345
225
644
469
759
604
927
868
496
287
940
832
11
503
492
588
91
753
835
145
689
856
850
195
291
231
333
601
154
88
495
316
707
262
633
759
259
34
380
202
536
690
246
144
978
617
73
90
848
278
592
42
687
328
146
765
199
288
525
863
355
510
725
190
638
801
68
573
339
890
266
208
176
446
391
939
149
247
741
645
547
220
187
315
525
602
563
682
653
826
892
757
806
773
275
798
772
279
542
516
749
942
712
288
499
144
84
70
732
612
462
70
315
458
432
308
179
479
554
340
742
495
580
993
356
236
976
427
382
137
387
592
202
293
583
215
797
153
588
294
627
989
677
610
182
987
818
312
727
528
150
923
77
569
901
67
456
301
291
144
575
657
830
281
377
527
401
530
958
542
682
295
991
833
253
868
422
776
54
983
351
572
458
80
411
57
27
862
1
367
710
946
923
79
643
826
495
538
495
93
974
246
332
544
91
949
412
763
334
252
51
668
7
287
530
533
489
250
100
248
568
43
828
513
539
316
446
974
856
643
443
315
815
619
649
260
124
355
404
245
929
849
20
308
435
457
335
268
41
840
623
566
121
76
310
913
893
489
415
772
722
574
598
156
101
681
985
740
511
507
790
513
602
655
848
928
500
452
685
864
227
422
160
245
570
645
420
876
454
358
672
944
661
43
974
383
221
188
380
697
67
276
78
595
933
813
251
722
766
614
680
990
754
602
548
444
487
849
663
233
346
817
158
98
891
517
667
293
910
701
428
531
347
706
297
664
644
902
507
854
823
642
391
554
750
223
290
678
691
847
590
913
430
146
44
751
202
892
299
19
32
239
190
938
196
981
997
993
497
746
99
837
978
678
486
795
713
382
899
512
960
928
222
544
907
960
918
710
956
68
651
965
41
565
94
595
517
547
837
572
811
987
322
499
85
659
671
199
176
183
213
536
195
340
366
994
334
851
417
506
198
402
9
525
771
341
629
373
551
301
934
629
695
400
367
748
971
273
358
801
724
746
895
50
367
51
514
985
981
93
717
158
812
950
623
749
370
724
197
802
1000
991
432
256
505
993
80
468
157
141
978
566
777
320
739
252
824
359
514
391
978
537
262
183
141
717
426
555
194
589
62
878
965
641
728
782
797
425
659
257
968
147
367
261
933
206
866
952
190
452
867
284
585
89
105
794
615
719
974
228
785
82
88
125
210
528
646
836
157
981
30
17
327
576
399
568
633
381
672
314
575
942
76
215
778
83
767
241
823
207
692
962
119
306
426
238
46
564
504
526
660
919
31
336
123
687
551
534
912
237
850
167
188
698
503
254
389
591
641
732
164
601
968
846
698
438
98
977
427
262
724
56
168
159
807
166
893
75
612
76
255
201
654
142
219
521
727
198
469
915
876
88
263
162
922
721
1
437
197
337
44
485
211
165
766
216
497
613
138
729
242
113
727
352
478
233
24
28
744
84
507
895
103
802
415
157
651
941
50
27
747
81
862
142
326
915
228
32
161
196
273
844
96
297
752
198
889
661
63
58
795
983
921
180
317
747
107
909
395
91
234
826
228
934
362
392
791
872
426
140
861
458
343
306
76
156
532
309
61
705
613
589
498
861
831
974
376
648
984
291
272
583
18
100
720
52
795
670
321
250
21
158
558
979
47
31
309
51
336
424
656
625
686
844
284
694
765
403
270
798
920
30
728
39
764
374
675
663
756
447
41
370
871
779
94
914
715
30
853
330
19
854
578
223
585
465
106
764
184
95
61
390
132
154
558
274
200
78
70
718
370
241
523
660
895
7
659
869
633
240
860
404
434
164
448
418
140
293
604
138
98
699
537
109
10
587
111
136
164
780
17
856
991
616
438
718
911
846
182
30
392
114
15
353
501
436
85
840
531
993
156
125
695
144
345
275
730
553
74
105
775
530
432
413
721
533
72
411
450
528
883
424
44
44
13
758
855
901
458
397
90
598
620
303
969
88
998
780
252
432
317
185
988
790
31
684
466
114
525
45
968
331
11
54
756
158
296
513
257
905
656
423
293
880
808
414
663
981
944
874
769
108
700
843
691
818
146
33
144
584
323
232
516
176
37
729
40
509
589
253
880
322
518
193
391
287
727
826
162
187
299
412
92
253
622
345
697
425
737
625
221
635
588
653
575
544
859
346
969
500
286
927
400
78
884
85
988
790
708
61
233
970
619
984
810
766
923
424
683
654
871
157
146
29
883
378
961
103
676
457
222
673
490
123
509
203
50
52
652
848
307
697
558
572
960
689
567
226
946
385
835
693
491
452
104
968
527
782
252
953
128
569
396
905
999
392
869
420
409
483
567
838
840
199
29
818
68
863
172
780
799
141
393
650
164
388
25
557
721
576
64
21
676
701
272
439
372
691
353
109
146
776
564
766
97
626
51
984
918
510
134
417
953
672
239
925
151
578
664
962
691
944
956
628
191
29
509
267
747
803
557
429
473
309
839
870
599
639
462
990
512
477
794
744
98
348
488
621
554
345
947
112
387
259
1
441
650
901
666
377
398
644
413
184
526
839
947
91
33
518
708
880
959
456
977
347
453
380
421
598
857
561
487
160
958
70
178
289
298
428
992
12
318
343
314
846
848
722
656
789
238
871
393
937
702
192
74
638
800
280
796
418
760
591
377
742
664
965
276
504
532
994
505
692
342
627
70
595
945
491
667
233
272
719
66
504
951
312
851
291
602
887
598
926
85
27
110
839
1
511
784
163
957
716
724
229
911
315
483
624
554
132
219
908
155
789
776
940
698
767
234
359
657
994
802
748
866
335
392
725
460
177
482
602
737
260
259
322
350
272
821
830
904
686
485
946
781
331
958
469
746
738
414
46
876
887
327
714
71
966
956
597
310
22
95
206
457
448
676
732
838
955
581
832
141
854
6
979
751
894
362
378
967
876
241
267
271
213
408
987
337
585
481
390
231
8
167
359
805
163
819
585
369
764
186
762
16
656
649
367
112
842
569
82
370
909
367
989
123
424
676
935
381
822
706
428
255
847
918
445
899
353
448
160
723
960
194
51
124
129
932
700
942
330
29
588
875
304
139
988
798
510
832
259
294
266
90
198
973
241
825
925
757
607
549
837
967
406
478
400
275
678
729
838
222
511
512
111
211
605
558
551
91
154
777
386
88
699
215
407
450
237
1000
387
972
511
164
273
403
825
195
139
475
78
973
774
363
453
666
599
271
893
949
744
495
472
970
69
506
76
76
402
89
330
365
598
645
965
733
891
338
194
251
366
37
545
795
808
663
342
571
446
943
127
765
884
189
703
694
417
11
45
882
870
181
996
553
121
133
594
969
903
478
247
70
85
669
649
267
995
645
496
448
598
436
610
491
514
337
101
561
544
921
531
139
771
343
436
901
85
522
146
276
143
527
885
102
310
884
64
434
920
307
287
6
473
598
839
364
164
43
454
514
568
207
59
625
587
513
449
586
783
173
883
471
915
430
359
314
33
423
207
960
880
581
763
357
312
583
702
367
659
378
153
501
840
692
216
608
419
150
647
958
927
107
694
419
301
850
181
191
656
829
916
849
448
285
47
173
517
951
562
419
680
986
831
537
187
20
436
401
757
671
545
186
514
399
481
684
65
963
188
170
873
151
178
578
124
187
301
273
723
101
169
570
787
191
194
901
853
59
169
416
206
939
589
936
286
711
843
212
497
648
816
686
794
853
341
927
869
366
203
458
857
820
493
114
936
214
359
311
511
963
186
92
884
605
982
620
585
400
246
408
268
812
323
82
615
869
86
266
407
698
372
983
700
445
881
106
768
410
846
155
200
308
557
844
812
850
385
436
908
380
89
568
919
835
911
53
925
202
205
541
494
544
527
398
100
531
603
655
787
827
566
905
917
974
865
321
996
300
463
779
793
817
702
548
172
3
215
802
940
193
525
196
345
75
589
84
64
815
559
52
882
517
31
594
464
309
304
512
824
991
418
985
592
209
249
329
476
248
790
264
441
138
188
970
904
818
760
38
576
206
511
175
390
495
175
674
635
630
976
39
964
234
175
16
150
214
955
764
168
271
58
708
217
702
462
169
108
932
791
630
397
860
207
900
508
344
476
8
699
925
120
75
491
679
863
554
51
835
987
710
861
992
615
21
504
485
385
348
368
612
111
618
869
549
265
462
883
565
979
238
634
807
922
644
697
152
267
58
881
62
315
746
546
216
334
837
227
552
477
901
851
373
970
913
898
619
208
522
742
804
167
408
565
114
782
193
903
795
145
887
654
39
315
313
600
408
712
781
475
462
424
313
568
996
739
428
869
540
71
824
838
43
357
100
250
686
537
898
315
276
281
646
971
33
661
935
94
84
992
158
642
359
328
508
352
193
219
21
450
899
775
189
602
631
19
633
820
204
588
792
406
522
232
874
173
993
171
750
696
839
996
941
998
925
295
428
405
36
483
875
401
956
908
966
535
485
898
737
12
757
798
892
419
655
990
397
66
999
200
510
54
868
444
835
631
515
401
291
648
86
227
14
159
153
999
267
221
479
854
294
471
103
684
607
112
260
461
473
306
443
45
486
69
397
465
869
833
742
424
619
490
765
108
152
557
331
440
389
382
791
802
823
566
718
726
194
19
983
3
751
903
179
434
211
520
140
247
821
760
407
406
375
174
397
356
514
475
610
340
993
431
937
152
671
76
38
622
437
493
562
557
106
962
398
61
24
634
657
566
792
89
452
694
395
749
321
169
107
811
76
548
598
214
700
313
24
568
511
928
328
546
650
991
207
878
504
552
216
84
679
56
930
687
332
128
916
793
668
747
918
774
725
935
869
827
641
196
958
974
859
446
895
985
305
666
257
281
641
997
315
371
254
9
516
250
255
596
476
158
690
575
571
193
246
597
634
252
538
698
999
469
921
867
406
992
209
955
537
980
112
906
470
92
573
767
816
435
27
910
649
166
818
423
922
546
978
605
506
155
396
299
895
567
269
525
756
865
391
313
761
820
523
700
931
583
808
234
503
340
356
27
704
499
200
759
418
490
878
105
278
660
967
779
740
137
674
949
263
525
549
451
683
140
985
653
938
908
347
560
631
591
546
22
128
409
975
920
741
926
705
645
895
908
837
727
933
103
781
803
919
788
822
430
430
840
211
733
512
80
75
93
127
312
587
594
242
948
485
847
109
440
183
234
847
822
322
941
815
132
456
295
192
920
920
517
535
204
335
366
98
288
15
86
132
624
156
995
451
909
18
369
885
880
441
253
566
665
491
440
867
179
125
902
715
643
521
795
228
804
662
913
141
864
483
56
422
119
199
543
965
904
889
826
211
517
25
476
246
880
233
290
168
684
475
567
888
30
526
978
935
491
265
150
749
644
893
844
948
164
159
9
483
562
704
371
378
577
915
919
476
12
517
433
444
912
509
712
107
471
774
1000
337
68
732
38
249
364
585
566
333
945
66
95
312
56
317
531
853
667
840
201
317
828
175
766
954
522
805
551
980
740
750
426
104
521
715
351
996
865
176
125
720
165
20
422
42
665
421
30
354
170
636
755
769
214
523
601
193
804
186
679
206
602
454
629
914
289
46
610
596
692
510
942
911
714
288
255
427
710
768
819
490
36
800
414
771
549
243
241
666
887
303
405
846
328
749
807
424
485
76
922
816
171
965
616
311
493
707
632
191
834
462
431
338
117
605
76
221
753
501
293
670
918
407
560
644
101
461
478
756
400
83
891
189
146
192
429
837
430
125
776
882
755
815
212
601
756
64
656
590
740
823
204
341
318
625
613
684
797
839
354
70
128
861
454
380
891
773
971
665
645
643
541
927
516
792
875
764
105
305
566
188
204
58
173
572
387
560
986
536
325
818
566
429
339
905
37
296
571
225
802
108
648
214
743
816
733
977
581
433
533
597
584
929
514
89
571
905
263
265
100
126
910
695
676
742
744
431
746
173
457
514
213
863
465
504
464
266
697
679
560
690
361
392
963
315
500
560
79
377
222
960
385
701
646
956
205
107
377
685
347
357
374
501
867
769
956
999
801
407
929
203
812
301
75
911
90
290
871
502
690
390
681
731
221
823
613
118
227
4
104
244
109
236
751
606
76
574
617
691
740
560
140
820
558
188
507
1
246
265
521
347
514
445
619
609
20
744
210
544
981
400
955
939
156
833
495
369
936
661
141
791
228
90
367
655
577
742
225
586
688
641
101
249
262
690
152
843
327
952
532
148
516
820
715
866
925
52
792
502
299
365
216
90
950
634
369
618
378
231
469
81
43
148
855
763
27
219
539
745
694
628
761
310
696
746
626
703
37
501
467
313
582
19
937
339
794
96
306
298
545
404
343
240
466
294
952
362
583
128
921
289
40
83
688
793
335
923
498
571
295
755
347
321
174
337
95
378
640
273
960
235
388
69
838
679
582
383
138
986
30
344
14
383
746
788
602
528
261
362
576
815
669
426
516
420
950
861
212
441
687
135
84
930
917
653
506
191
990
773
589
488
895
821
314
421
677
314
36
278
750
309
635
777
898
56
459
812
317
686
862
733
648
893
140
870
822
18
291
206
298
723
868
666
585
208
943
553
731
98
759
410
656
957
487
134
633
646
236
345
106
900
642
149
608
724
206
520
274
68
492
589
454
29
738
846
820
281
375
797
927
588
556
447
570
453
996
317
751
996
322
385
117
547
514
585
477
199
868
303
744
310
326
148
682
256
803
837
819
123
770
128
42
185
750
630
266
902
179
255
908
768
454
96
726
606
206
819
827
74
222
606
937
644
48
218
598
141
683
415
620
556
116
447
423
575
500
612
627
277
869
513
727
895
754
677
413
744
403
108
483
298
795
489
575
992
723
229
258
278
899
606
542
331
405
627
725
112
173
867
65
296
323
467
942
560
530
69
360
163
263
964
115
737
255
386
336
100
977
506
103
402
204
391
447
365
461
850
855
271
184
955
418
339
16
772
358
873
20
606
565
420
638
479
474
658
811
406
674
747
911
645
679
137
541
307
238
374
358
336
24
599
882
529
716
56
939
285
352
529
677
776
247
208
951
697
452
374
713
903
723
605
855
976
830
580
320
121
270
876
175
765
446
315
908
945
177
768
745
335
621
864
210
466
695
172
636
329
680
917
897
4
677
705
912
339
667
959
927
860
192
769
134
498
812
197
64
652
767
808
957
490
258
251
39
120
874
606
432
442
722
834
564
123
698
443
642
798
164
474
129
294
945
840
788
713
975
175
648
247
327
358
351
780
917
679
48
12
826
507
934
719
719
54
834
152
322
79
133
892
227
568
106
697
779
601
61
269
884
476
860
613
416
220
544
841
937
359
832
394
529
115
843
803
206
555
777
940
239
911
235
69
845
364
625
384
773
193
403
187
959
742
639
730
650
865
67
936
545
106
376
940
289
741
295
552
797
106
981
661
107
482
697
834
545
272
374
49
333
280
380
894
203
404
180
245
372
194
996
305
499
807
704
345
456
921
648
436
964
274
366
204
971
24
491
705
570
311
622
3
567
709
880
812
768
538
220
484
351
548
971
736
813
506
361
39
160
864
374
108
130
42
740
814
908
757
724
645
614
740
731
842
474
45
952
470
154
670
825
461
367
950
912
679
63
16
911
886
765
740
410
542
481
581
295
710
396
519
841
954
693
487
454
638
963
815
493
538
867
846
520
563
477
618
952
983
997
609
431
147
747
431
808
663
351
528
242
134
656
755
531
638
617
439
865
79
34
437
282
430
328
58
512
334
845
213
671
907
764
497
697
28
958
431
732
128
947
876
879
75
781
680
201
615
726
509
10
890
104
661
3
997
829
166
160
464
867
625
94
886
104
136
794
663
942
75
160
178
343
665
723
383
640
370
335
353
182
437
849
65
453
658
150
179
16
961
240
400
608
691
998
482
553
497
171
92
236
449
438
436
249
64
147
357
319
412
89
85
683
964
344
127
559
892
482
196
735
307
683
208
191
296
699
785
226
812
533
873
986
747
397
274
223
806
653
973
480
812
883
514
227
706
571
890
960
351
591
822
527
446
746
632
252
95
278
847
867
223
950
913
813
400
265
565
542
964
149
306
531
236
483
95
385
479
302
707
322
699
533
54
355
234
650
640
443
242
199
360
771
83
34
519
833
72
455
878
911
321
32
389
711
518
267
936
763
671
704
277
532
651
386
865
938
816
852
460
565
70
447
320
569
12
281
482
929
510
545
849
576
754
841
828
172
930
951
659
917
988
57
240
7
96
879
943
55
110
164
22
880
536
807
441
22
548
892
473
513
622
352
500
738
984
723
203
659
257
714
559
26
734
385
20
221
630
832
106
454
130
105
451
163
729
789
870
693
283
42
753
828
604
707
700
66
635
485
723
892
656
825
489
256
533
268
172
69
954
873
353
541
467
925
679
201
584
810
104
174
554
559
210
498
429
35
920
680
1000
255
452
697
513
961
847
452
405
385
816
714
656
503
294
415
568
10
398
901
363
549
16
451
914
307
86
528
641
153
417
45
539
501
505
753
498
542
33
387
281
757
650
969
167
301
237
389
207
11
356
642
19
382
253
540
272
991
250
894
551
950
345
560
127
358
954
884
937
75
654
450
563
35
244
905
750
717
707
974
465
184
241
788
101
134
269
980
661
726
603
568
941
404
822
587
61
894
557
201
10
939
385
327
719
645
272
290
264
663
983
641
131
708
683
873
247
172
497
266
45
442
672
485
526
135
642
792
109
387
70
695
750
532
983
773
588
698
506
299
293
318
379
105
334
740
728
936
834
537
832
282
429
363
256
252
380
644
375
520
173
304
811
497
816
31
383
514
15
777
523
469
867
204
577
357
427
216
166
282
399
85
179
656
934
72
487
186
396
276
419
872
650
511
609
816
165
146
944
921
390
223
591
752
233
416
16
940
604
45
745
592
817
788
216
205
792
208
172
252
38
255
806
750
563
11
77
500
658
148
688
737
900
805
860
223
672
853
932
677
742
27
530
679
472
323
574
742
480
629
653
367
480
409
205
901
361
864
670
563
703
948
579
796
632
33
420
911
146
346
708
734
252
965
476
456
373
419
466
635
206
246
464
804
771
362
743
194
944
713
33
856
155
887
885
409
337
819
563
670
866
401
16
288
447
924
117
568
116
967
900
310
680
799
450
959
207
590
174
799
562
309
809
443
321
995
512
852
974
568
177
881
757
242
368
251
131
404
748
886
624
221
776
187
427
810
315
375
720
491
452
929
789
163
810
422
444
914
326
439
559
286
795
854
293
905
739
718
962
102
560
293
712
931
709
75
797
855
416
786
253
660
332
169
115
488
232
83
482
208
124
454
594
48
835
740
252
339
993
605
888
673
664
204
917
473
149
677
650
900
570
159
76
235
370
418
173
754
317
815
107
636
1000
72
23
199
63
931
448
462
961
401
410
621
126
582
874
837
760
587
453
972
443
356
660
706
31
763
144
441
169
206
80
681
475
334
741
625
110
47
145
274
643
472
69
345
49
328
930
113
344
548
518
537
314
186
542
995
87
87
255
656
979
86
186
174
660
413
925
806
374
865
923
513
659
266
770
128
673
438
244
65
610
71
503
987
909
946
893
308
528
935
658
227
188
48
741
265
696
183
384
302
976
105
877
4
512
734
551
91
191
75
221
377
278
207
140
358
81
288
193
219
642
120
904
422
373
381
350
798
903
564
997
594
799
863
507
480
41
827
856
320
452
415
751
327
55
214
927
502
732
386
101
953
256
591
330
934
682
628
318
997
409
555
624
590
532
658
748
131
283
202
33
338
301
285
399
135
262
542
567
365
335
734
293
575
235
579
869
866
152
208
179
447
330
173
517
3
640
854
159
855
529
835
26
247
805
410
633
471
572
481
797
181
382
729
707
807
275
611
943
387
280
345
821
737
686
635
745
36
464
628
409
939
128
866
660
637
251
728
144
978
103
308
737
449
458
495
590
444
521
50
856
644
225
751
737
112
427
526
539
71
759
309
213
791
397
711
973
562
108
963
873
552
561
957
596
633
32
229
214
199
997
259
572
984
710
292
485
428
61
160
562
898
321
493
230
396
127
729
181
846
176
735
884
218
671
139
870
540
504
620
11
845
452
571
119
192
604
373
856
987
596
204
782
722
637
319
477
355
249
422
664
69
930
590
916
609
880
575
435
34
508
943
540
429
547
246
202
302
821
41
898
805
536
121
404
848
360
124
722
206
982
426
850
40
573
359
937
467
914
94
961
749
184
341
903
955
161
8
803
777
464
101
363
102
396
530
674
38
897
329
135
922
6
379
163
498
403
876
83
894
840
364
505
376
56
135
655
370
565
152
668
666
876
644
650
109
49
673
311
661
808
170
81
621
208
706
473
183
152
662
273
728
740
70
917
547
945
37
887
176
841
801
406
318
616
412
953
722
90
644
129
739
491
667
650
910
455
813
209
837
402
672
357
341
272
820
39
530
742
948
303
230
839
298
960
718
130
535
284
102
184
103
667
558
32
517
2
41
525
282
925
27
232
944
167
175
888
115
129
65
428
581
904
71
955
25
396
851
770
911
420
611
303
565
556
203
408
955
803
942
427
545
372
750
971
612
27
873
328
26
820
165
880
818
140
378
117
480
167
216
819
339
121
121
730
180
198
761
620
973
232
838
128
612
898
462
1
421
575
594
149
969
796
486
119
817
520
837
20
408
807
202
127
91
553
40
304
708
703
11
403
192
358
767
972
92
912
770
327
378
313
156
331
856
735
403
835
881
875
744
606
361
786
865
477
958
803
854
729
408
631
63
509
788
90
821
671
141
363
776
444
443
551
702
898
223
325
123
651
396
668
972
440
438
78
489
111
422
65
919
281
485
321
193
698
109
300
160
23
104
716
555
653
161
333
316
637
245
364
920
609
797
905
567
752
377
425
940
640
549
719
139
680
180
569
515
60
534
914
425
117
690
791
350
838
823
670
852
522
347
321
73
536
358
725
965
491
921
331
30
320
517
145
73
619
410
303
834
85
528
819
87
499
385
855
546
385
464
948
100
151
999
60
137
866
791
391
638
920
512
364
520
812
830
47
438
404
688
930
122
846
823
979
235
917
440
790
766
60
67
68
529
697
735
601
471
94
295
840
701
944
650
336
270
375
238
441
176
769
751
699
344
575
330
586
197
36
958
530
511
138
651
330
454
389
564
362
406
233
126
205
753
338
587
443
405
653
682
367
980
507
40
573
350
561
817
84
758
842
202
775
190
169
831
322
23
92
241
718
351
91
607
637
19
881
525
444
963
984
68
761
73
922
101
895
776
310
142
466
28
770
175
882
879
148
826
868
303
672
752
116
301
303
178
854
647
345
2
444
62
257
572
908
17
85
136
34
698
926
514
459
136
327
103
693
331
964
787
916
297
520
68
843
69
823
269
13
882
794
479
47
300
467
432
116
662
542
96
672
828
164
937
705
292
155
659
638
708
34
910
505
769
269
906
43
23
447
339
559
633
543
33
538
8
695
915
339
506
288
623
532
939
810
145
820
789
309
343
866
449
588
544
436
667
394
732
987
349
779
444
564
236
697
959
179
447
216
148
947
264
497
986
153
764
764
361
195
103
371
543
991
507
704
405
635
265
380
323
984
996
767
529
155
884
656
849
611
889
796
738
160
193
656
885
491
968
644
670
441
107
498
384
229
750
916
742
50
215
815
727
602
853
498
995
874
851
25
339
176
484
426
483
76
459
536
476
918
773
238
194
611
301
446
780
491
781
320
867
40
43
450
45
542
894
487
136
142
632
393
615
226
140
571
145
932
246
737
764
824
198
771
236
892
48
127
111
994
646
91
694
725
506
835
209
451
162
693
896
360
686
868
127
709
488
498
111
42
118
39
904
652
817
896
639
821
819
371
855
742
36
46
568
757
425
963
595
830
38
321
767
625
481
570
846
299
934
580
129
43
913
931
100
58
644
705
896
610
709
621
478
740
504
215
359
684
13
256
28
315
367
624
395
948
858
969
779
57
578
222
222
362
538
251
679
240
770
676
496
201
2
584
294
908
501
160
230
778
525
791
308
741
23
62
315
441
975
740
973
515
300
110
814
100
160
234
912
886
41
979
128
109
949
483
43
18
518
713
414
663
149
617
886
935
183
538
546
132
658
952
440
891
185
174
153
994
647
41
804
227
974
184
948
316
435
860
720
689
459
982
969
940
392
350
624
470
66
269
696
29
20
948
683
41
328
349
691
333
891
790
562
378
637
258
216
674
124
493
965
189
713
148
313
827
864
904
565
759
635
413
540
945
688
903
405
439
191
965
978
336
419
882
361
917
38
663
553
759
180
663
660
507
48
13
285
867
670
543
998
879
489
507
476
67
112
966
839
560
410
93
845
149
368
156
138
44
139
715
573
746
735
273
642
465
31
434
187
12
905
126
486
288
421
866
61
979
762
243
108
591
662
88
296
395
523
417
789
719
540
520
878
130
597
376
805
964
460
733
244
423
859
786
922
881
864
739
387
127
926
156
356
167
849
733
546
347
590
834
192
620
792
176
770
574
870
592
935
817
647
550
678
850
381
483
34
692
188
787
380
84
133
346
956
860
758
984
863
617
447
725
556
203
217
827
128
224
924
786
591
481
678
150
832
4
681
343
105
108
218
181
747
328
419
193
460
209
548
276
730
696
117
334
969
57
736
315
797
119
799
55
245
714
918
392
995
561
772
231
733
982
683
813
438
673
892
738
636
860
594
116
668
157
213
303
44
940
550
963
662
414
130
101
26
885
494
986
257
827
794
124
581
783
65
659
748
838
954
626
124
594
98
587
347
830
332
691
801
980
523
53
259
766
446
883
571
626
315
551
401
968
475
746
696
438
146
231
431
989
492
72
898
247
661
826
789
419
78
978
705
897
523
844
777
736
469
110
411
834
402
68
814
161
924
952
381
862
292
476
835
863
315
357
591
643
92
677
876
726
449
46
122
4
421
682
9
132
17
836
87
354
978
887
291
434
426
706
163
730
206
858
258
366
575
766
450
555
59
846
159
35
850
493
239
647
536
316
250
258
582
795
326
397
966
90
465
428
799
672
446
595
564
369
713
215
438
248
51
625
800
321
502
486
328
208
37
837
322
246
325
333
33
818
176
976
776
64
136
561
11
213
27
357
761
915
623
39
949
849
69
814
686
760
674
689
637
162
315
466
233
308
276
419
725
917
257
346
878
210
288
949
344
576
593
135
518
364
307
793
75
895
141
567
346
762
58
326
7
29
616
960
525
597
913
946
386
252
637
740
342
999
836
56
73
885
747
419
275
673
987
77
975
839
151
963
232
186
841
615
218
238
129
556
154
306
521
200
440
48
282
732
396
321
663
417
906
11
761
658
679
993
376
596
444
209
612
61
462
22
683
314
787
373
447
410
542
364
182
571
344
396
703
867
365
740
188
356
817
717
57
84
746
688
200
117
823
292
421
83
286
751
686
455
676
168
609
517
474
140
554
28
35
589
768
332
133
45
943
589
735
535
291
173
417
877
596
973
731
283
142
438
723
83
726
879
132
115
629
500
273
290
608
549
632
287
731
605
134
265
499
498
748
50
972
142
65
219
667
101
537
859
536
993
710
135
420
72
990
728
402
859
817
58
327
299
628
647
268
285
752
653
188
135
411
162
632
761
517
894
631
164
394
561
218
4
281
967
483
174
870
660
527
274
64
227
949
583
225
88
199
866
574
738
404
185
993
745
789
128
705
626
572
218
663
231
601
33
739
707
935
103
392
579
888
577
608
304
409
584
974
353
982
107
755
528
900
482
81
927
419
325
752
778
411
531
355
233
96
101
60
618
942
480
608
515
325
392
614
486
107
604
668
393
326
255
224
423
393
94
879
329
143
896
998
247
770
200
94
183
489
240
75
625
525
240
853
42
568
570
683
509
577
369
168
286
880
21
366
105
287
963
463
837
57
782
820
900
635
313
877
490
370
546
429
528
158
976
705
241
270
20
999
235
132
42
685
232
885
787
487
762
270
499
417
142
619
204
318
883
942
500
179
319
360
709
411
619
335
383
688
617
950
798
814
894
600
382
324
992
980
379
776
827
329
982
804
29
793
692
185
266
557
833
782
323
32
6
809
452
893
145
787
495
554
620
109
6
898
266
180
314
694
574
225
303
270
582
929
656
658
980
943
529
717
305
669
380
286
792
917
9
123
56
148
435
567
66
688
599
230
837
360
873
769
547
146
457
943
18
547
489
377
917
323
590
183
18
685
778
595
113
902
168
208
580
765
13
141
498
514
157
893
548
659
962
684
396
174
301
639
440
308
360
861
608
8
396
983
714
913
411
786
534
883
701
464
387
731
784
36
200
146
920
401
156
860
81
338
930
500
876
676
364
801
50
777
748
293
364
538
531
462
657
806
525
858
553
868
713
798
521
914
791
686
319
376
328
36
742
231
494
458
798
954
966
204
934
255
715
527
49
720
52
285
998
449
335
143
892
124
21
525
53
685
403
35
917
867
346
110
811
529
949
678
662
675
581
913
482
831
394
661
169
866
861
446
940
967
887
807
931
213
397
677
192
852
102
364
981
826
151
427
60
375
574
382
524
278
405
528
917
960
528
3
620
169
217
647
188
940
731
154
876
954
231
998
995
466
244
866
832
197
330
802
51
390
825
4
174
460
16
152
6
668
487
277
434
983
607
945
894
616
879
420
312
945
239
138
79
705
552
993
572
30
445
815
920
846
227
237
710
730
333
372
602
192
759
234
752
171
810
4
535
508
996
70
881
400
364
101
707
883
728
824
769
816
16
279
83
199
38
88
225
708
75
301
24
525
119
213
934
179
20
249
782
262
828
433
108
308
168
468
124
996
687
748
107
973
14
947
501
668
904
707
914
654
462
700
966
370
521
296
71
858
428
454
389
848
908
949
42
882
939
121
60
827
996
272
371
144
489
2
301
325
667
71
777
158
943
769
324
438
81
935
413
809
104
33
820
900
261
645
956
219
985
167
220
777
957
75
68
284
520
782
813
622
843
784
194
748
731
831
640
310
507
621
456
649
701
507
654
679
657
531
18
99
609
974
735
638
505
752
797
715
522
791
238
338
277
205
568
740
449
69
41
209
371
421
378
102
684
21
912
905
859
560
417
578
171
473
350
761
342
112
514
345
277
263
425
87
292
248
131
678
526
647
762
839
673
704
231
709
306
483
177
109
106
52
773
132
341
493
348
403
970
916
659
621
253
608
206
350
318
183
25
836
260
477
583
527
109
916
578
349
286
789
948
291
425
719
549
205
196
481
236
738
360
265
692
547
345
686
532
806
97
56
199
805
579
845
784
837
161
218
760
427
215
955
551
389
560
667
402
836
730
493
397
402
289
812
294
23
574
603
567
749
348
557
286
459
14
674
633
584
258
852
845
934
249
422
519
645
914
586
54
854
204
935
656
149
821
959
399
720
303
471
888
445
385
579
790
985
334
118
140
955
137
322
590
828
845
780
355
664
775
903
613
261
386
458
871
999
25
226
73
438
331
927
448
612
94
49
672
511
904
950
36
553
783
886
357
693
406
784
115
609
818
813
535
750
212
78
363
596
672
219
800
60
728
398
991
820
423
632
825
663
147
384
615
275
617
91
849
658
8
808
413
667
74
3
541
755
557
661
948
10
107
994
477
517
636
792
5
976
931
64
901
273
409
327
217
978
707
919
866
116
191
390
378
440
494
227
693
159
309
593
582
535
526
698
214
479
120
154
833
116
338
210
266
843
459
14
720
211
255
636
93
309
356
520
394
105
48
883
48
994
188
934
288
352
350
314
486
360
221
329
400
396
623
476
14
647
265
659
11
550
139
561
39
806
894
363
772
218
97
806
668
820
575
774
158
104
812
757
598
264
857
114
355
884
695
221
750
581
812
248
855
294
910
209
262
454
775
474
575
222
753
542
536
813
771
561
947
593
840
450
350
985
346
175
156
774
804
357
661
372
801
830
664
752
531
641
928
639
806
254
321
681
471
738
576
657
194
905
467
855
686
73
54
182
708
353
437
300
824
215
859
48
236
913
485
313
618
405
385
888
869
181
782
206
860
413
602
786
48
19
365
478
541
413
820
764
288
526
913
320
443
470
538
204
352
93
209
810
890
448
584
135
321
390
88
466
626
964
886
901
55
93
703
393
527
591
288
464
472
286
461
654
120
320
296
434
863
109
997
412
927
368
565
75
441
946
543
265
960
149
487
155
569
126
704
6
208
542
156
335
670
804
930
636
651
709
356
480
946
269
338
291
206
456
923
735
396
47
242
95
670
817
172
349
127
695
302
298
672
260
436
168
867
429
668
445
850
486
542
702
480
148
691
186
524
39
749
866
455
916
174
618
833
256
417
995
649
849
276
386
983
65
297
60
93
365
819
528
152
286
434
902
900
452
196
900
225
109
602
543
767
57
603
540
251
98
376
500
583
642
94
900
515
812
924
608
522
772
312
713
855
441
573
337
293
223
359
377
477
514
849
815
792
355
605
837
433
101
448
940
885
413
619
657
34
414
970
704
904
219
137
873
724
740
590
557
980
431
463
103
71
410
371
513
467
195
546
555
505
123
401
218
483
355
842
864
532
235
446
540
623
761
150
364
461
940
836
704
898
355
277
478
804
446
355
539
709
211
67
494
677
983
923
853
405
507
158
888
645
33
794
450
923
383
799
436
109
911
745
476
378
841
752
194
996
334
932
134
81
546
920
454
862
526
431
370
337
632
948
492
284
168
890
777
475
773
741
796
613
47
355
347
457
488
708
363
720
183
329
892
343
663
364
913
970
956
848
226
253
325
695
295
776
868
335
504
810
70
648
385
90
495
237
282
403
436
405
871
90
873
504
971
355
420
320
212
881
62
871
336
196
809
696
893
178
769
315
284
365
958
26
857
117
648
550
690
157
138
662
177
276
411
680
838
461
421
575
999
928
313
415
242
359
669
944
512
915
875
421
420
141
144
342
777
112
119
54
375
243
964
125
632
815
737
231
615
827
729
815
593
383
836
462
127
803
469
583
557
31
427
955
890
503
760
490
317
190
509
437
574
589
637
362
925
964
509
600
621
978
18
91
783
878
964
572
344
811
672
256
560
189
948
166
670
245
757
497
425
391
266
400
598
420
158
211
765
612
703
186
984
502
71
443
314
992
240
606
111
918
632
206
18
320
946
605
401
300
689
576
508
942
862
746
677
557
975
476
223
118
951
511
162
65
584
155
17
170
808
10
723
972
259
353
666
111
758
987
953
49
416
326
548
264
200
887
182
551
913
117
252
151
698
338
250
610
573
686
559
379
907
918
661
572
824
47
270
136
172
291
683
85
921
767
418
685
806
352
819
159
399
251
384
365
911
222
100
306
800
583
336
67
318
136
123
167
314
658
393
975
244
715
274
297
889
574
83
864
367
893
391
394
800
127
576
138
346
710
811
244
307
361
139
130
470
189
918
728
886
482
362
993
902
918
813
162
36
2
716
168
314
842
216
76
970
800
315
668
776
869
277
579
205
404
781
169
532
538
958
604
140
764
392
109
130
190
345
153
177
784
550
280
27
959
748
242
361
19
201
468
729
979
217
138
502
679
885
939
421
956
562
144
642
567
258
827
18
431
533
830
442
332
311
680
373
748
900
816
579
28
713
48
456
65
762
545
63
465
351
153
612
618
314
223
996
817
607
989
63
152
758
348
319
460
144
342
577
187
283
408
639
802
892
274
367
304
500
530
436
5
608
279
516
543
767
402
658
365
712
561
211
332
94
809
465
734
92
848
496
914
844
498
713
170
151
860
939
820
437
154
93
323
795
942
241
489
788
101
279
975
722
612
704
696
584
709
274
831
944
468
425
883
524
723
526
486
649
372
517
603
314
426
85
991
439
330
438
409
713
664
191
495
158
438
948
250
35
566
418
477
272
417
849
917
505
214
710
712
46
780
317
686
285
680
983
915
411
637
93
380
534
851
444
85
323
825
792
146
233
982
961
758
370
884
814
758
903
158
25
66
586
894
839
610
690
119
1000
122
177
868
735
58
898
528
681
416
792
575
948
349
434
908
731
258
825
10
8
591
832
911
816
270
20
29
795
773
948
694
680
409
534
876
348
41
717
462
962
771
195
367
262
882
361
46
315
37
951
105
812
548
847
825
396
611
827
189
463
577
192
962
83
183
519
231
903
447
286
25
279
675
230
141
379
688
486
166
734
243
970
971
510
601
670
528
221
587
834
123
766
285
538
507
655
387
914
575
313
176
604
360
133
258
548
826
635
678
395
450
38
441
165
284
465
947
102
49
593
526
777
287
395
348
858
326
834
809
538
489
874
210
142
126
983
211
984
534
659
298
106
468
823
610
454
478
275
598
902
363
284
207
345
8
348
106
249
376
6
442
917
142
161
231
509
814
918
137
676
649
435
469
170
389
443
586
132
277
409
867
7
732
114
969
57
495
921
295
809
594
979
583
525
295
476
458
264
270
944
71
316
937
217
739
477
836
729
54
577
522
894
530
233
367
88
141
651
229
961
369
746
932
629
1000
474
152
333
584
511
290
400
320
950
340
733
14
969
770
530
215
519
413
484
601
361
48
902
917
67
603
455
253
376
752
410
835
137
403
755
419
106
81
559
63
217
639
15
450
852
922
297
92
989
246
625
719
218
795
391
183
687
744
757
762
44
129
678
150
688
663
748
473
479
182
502
154
820
629
592
518
512
92
696
665
783
259
684
783
48
436
332
995
287
382
494
144
857
881
614
293
575
339
616
867
347
375
275
299
261
205
781
716
976
985
833
610
571
338
644
190
918
110
757
116
601
842
853
217
862
832
736
327
281
337
707
523
377
110
301
794
307
927
591
947
988
636
492
528
570
719
267
694
775
605
247
842
669
599
230
284
372
355
431
323
105
50
767
823
609
222
879
700
306
506
595
378
127
720
993
927
260
742
208
767
403
617
677
518
399
461
16
721
277
877
670
486
252
941
527
643
530
171
729
685
384
167
300
366
278
126
254
711
235
926
170
87
865
703
107
779
930
87
256
798
953
361
799
214
699
430
191
514
265
72
314
836
448
669
872
914
288
897
846
758
360
327
555
846
540
439
83
475
922
643
647
9
849
100
267
176
266
181
540
67
19
418
645
884
936
474
927
815
74
330
110
974
593
517
160
441
94
384
586
351
151
655
339
282
97
315
831
951
664
150
541
353
804
113
125
378
484
55
268
824
238
962
358
67
953
441
706
655
914
675
711
229
725
608
221
723
353
777
101
290
856
624
888
996
130
535
333
618
599
455
867
123
150
144
990
345
562
227
1000
819
96
562
6
758
950
857
532
176
759
841
899
921
786
356
147
338
362
794
843
236
323
790
991
94
149
678
609
780
258
721
868
897
346
410
417
404
444
53
388
368
729
483
483
755
262
844
207
901
145
332
98
499
77
790
887
739
327
771
932
431
50
443
696
891
555
751
593
469
964
9
643
857
845
599
389
783
95
167
993
834
366
447
408
358
925
1000
965
584
759
776
582
478
231
962
461
503
189
787
685
696
98
537
852
548
24
137
570
387
514
716
816
347
321
633
722
954
261
346
261
807
952
285
706
900
208
211
807
851
26
668
188
168
776
841
338
945
690
757
50
471
459
593
991
705
794
893
883
346
414
964
179
255
124
693
401
832
724
989
507
744
373
497
953
537
298
118
653
196
690
784
799
163
546
578
248
282
211
265
75
801
332
368
179
755
866
384
309
532
554
968
884
233
988
383
862
546
907
357
145
714
749
587
574
317
812
46
271
523
428
28
130
313
194
499
301
362
275
734
575
753
687
867
242
526
546
337
142
288
178
159
904
87
876
68
838
808
142
715
568
923
831
920
703
988
302
531
508
242
4
953
125
876
759
155
569
679
422
409
263
45
377
770
392
2
182
187
135
253
137
948
182
530
943
302
344
130
200
4
778
806
3
342
66
983
546
521
154
134
915
56
539
969
3
729
767
774
510
517
835
307
527
941
261
316
486
697
933
453
520
878
154
688
366
319
777
522
13
448
872
727
818
557
80
119
999
735
313
367
833
594
807
58
408
697
599
663
189
20
125
742
191
309
851
659
622
187
983
742
802
165
291
542
708
406
656
279
532
577
634
444
3
66
222
496
20
334
665
778
759
739
604
296
549
800
228
989
176
967
443
379
520
909
103
348
105
88
166
708
199
132
987
975
876
24
332
915
171
576
840
310
789
573
346
948
543
149
88
988
621
789
281
591
452
50
38
143
516
904
384
423
683
804
37
166
177
393
464
681
229
360
842
615
506
672
726
310
928
579
580
46
601
542
329
448
354
275
817
802
710
885
288
322
780
124
331
444
974
231
902
729
86
458
796
173
296
760
432
774
554
359
799
902
51
875
477
228
26
583
779
547
275
908
337
134
108
684
547
978
737
650
900
538
392
230
335
671
832
567
480
934
810
635
338
781
319
139
719
297
83
251
249
729
497
791
87
389
797
672
11
278
916
712
312
932
257
140
726
900
840
937
647
644
784
954
12
747
118
815
533
578
191
267
234
934
969
827
193
725
638
128
583
613
398
302
949
599
416
268
180
802
440
908
575
159
574
510
329
165
595
324
85
520
329
632
688
429
81
168
824
521
598
950
217
268
718
718
741
735
454
985
18
938
305
880
257
923
198
690
483
683
136
356
595
759
320
24
308
959
850
738
580
476
316
895
867
291
831
961
24
150
595
16
579
177
432
740
890
386
468
384
486
730
6
254
527
334
380
85
735
922
159
439
974
8
653
194
348
916
909
254
258
239
858
595
476
479
132
160
288
3
742
63
711
943
243
612
461
457
494
372
956
264
959
609
623
820
242
349
799
932
563
737
100
651
595
4
261
283
793
264
163
570
519
791
648
29
806
749
992
244
282
872
623
64
41
193
427
52
642
370
983
366
780
78
72
891
877
129
415
254
297
260
232
681
802
219
112
362
747
501
560
708
88
15
71
267
326
401
785
629
831
653
207
997
308
583
847
767
703
149
883
51
207
345
280
770
246
35
406
334
117
305
997
65
835
115
915
747
760
721
970
194
641
55
303
936
151
959
208
818
704
80
771
988
19
251
687
857
797
55
677
235
350
902
105
566
447
1000
303
527
28
895
994
105
579
78
40
780
374
51
262
946
851
13
148
936
644
734
807
678
72
771
279
287
90
964
944
252
439
272
880
786
643
952
469
604
350
380
606
60
632
26
873
367
828
41
676
877
72
333
178
652
223
86
788
709
126
527
439
834
44
264
173
396
659
117
904
957
749
668
273
380
107
963
76
948
892
917
370
181
86
43
492
293
671
702
385
784
84
732
260
579
189
288
334
26
548
533
351
82
346
797
507
191
395
831
970
892
333
408
622
128
947
873
199
863
356
141
58
860
114
519
647
540
276
368
27
12
68
25
879
503
996
568
632
891
817
715
181
13
781
90
294
615
496
770
809
58
770
166
348
606
49
950
999
334
674
220
588
913
99
460
220
450
49
126
309
927
930
376
447
593
65
440
74
989
174
551
526
338
121
55
295
119
185
467
98
742
516
871
114
9
245
536
934
24
861
957
84
429
638
220
106
835
607
877
553
382
582
667
875
713
736
970
565
679
821
747
351
763
591
330
942
614
802
10
323
969
778
483
632
36
749
926
247
183
541
425
948
473
779
374
413
839
266
42
632
593
937
938
701
129
69
995
857
493
69
721
733
283
371
708
370
255
45
490
645
995
176
40
435
989
434
366
352
135
376
697
584
937
53
239
97
305
640
962
318
403
917
336
718
418
912
234
564
168
933
620
650
554
76
862
77
164
915
620
52
939
84
27
376
780
6
746
522
433
838
253
220
476
692
757
146
791
406
22
900
396
529
96
796
112
849
371
54
258
817
178
268
729
730
240
751
682
713
547
172
337
313
682
264
904
971
806
34
49
403
14
347
737
838
622
942
910
51
694
625
713
485
315
634
165
644
24
180
738
6
744
70
969
945
715
854
941
358
829
373
811
321
273
22
564
505
479
260
221
684
838
106
963
864
967
874
231
340
333
743
756
248
967
663
897
429
781
280
319
91
778
857
760
814
168
134
975
925
381
967
132
382
856
51
605
440
117
195
557
845
780
891
5
328
998
474
391
876
680
661
749
327
55
473
279
3
30
597
930
417
295
705
504
827
405
765
406
481
226
578
39
403
172
824
900
166
560
165
361
849
994
272
203
452
206
529
878
285
621
640
920
573
184
72
576
392
788
388
808
773
645
721
553
983
616
181
480
890
432
109
574
574
627
803
612
391
204
375
269
897
321
414
898
35
526
170
557
184
328
252
152
949
696
365
652
142
225
889
852
355
103
752
895
641
399
729
870
878
255
333
573
958
293
671
75
500
265
778
132
271
779
429
564
278
67
384
948
550
415
182
932
876
815
580
139
650
433
364
204
167
562
60
79
761
179
992
91
946
740
341
793
249
179
592
662
316
926
355
283
735
215
126
298
543
451
300
286
166
783
45
703
650
329
735
277
339
309
685
527
890
513
637
293
547
962
396
693
946
169
349
677
20
888
126
502
580
601
426
340
254
575
431
268
498
1000
692
539
751
944
864
632
503
595
897
692
526
458
689
491
694
415
636
505
643
217
389
106
222
892
253
711
611
109
642
594
148
323
87
119
627
102
956
21
666
867
586
556
537
510
1
314
858
374
85
70
961
316
874
419
916
703
19
850
614
955
321
686
50
489
255
253
341
46
935
260
361
903
317
158
293
532
10
998
875
207
577
835
506
247
140
66
841
619
98
933
525
736
408
422
218
226
475
435
275
833
977
115
219
418
627
110
9
873
432
286
71
634
741
81
107
865
124
636
931
442
675
506
968
792
570
623
346
734
964
164
220
732
956
21
933
149
730
32
989
24
184
896
551
27
200
300
646
65
25
997
799
230
223
65
546
470
324
158
86
723
6
659
825
802
65
410
131
240
247
400
983
488
41
511
637
173
820
698
847
801
615
656
322
553
273
98
186
774
757
612
163
340
797
538
328
70
630
157
73
261
225
107
553
795
870
198
811
479
333
518
730
687
360
933
376
357
518
272
803
731
806
796
489
944
398
866
624
947
779
577
82
923
868
269
376
141
883
844
550
226
689
164
276
408
106
650
280
8
792
542
940
872
827
84
891
890
977
957
828
982
764
999
738
256
401
418
474
964
861
136
245
37
472
28
413
962
949
185
430
568
66
658
228
625
458
962
62
538
279
566
477
317
280
484
626
89
704
114
128
669
813
314
423
475
348
359
220
659
13
985
996
286
213
123
154
238
491
18
13
151
219
606
866
121
174
851
292
657
156
92
762
593
334
701
947
46
809
553
630
178
911
660
432
687
137
801
642
156
635
229
503
526
479
133
589
279
737
68
392
3
951
127
751
321
39
300
343
573
17
405
825
899
95
459
470
340
233
297
619
81
827
17
149
793
383
179
147
566
284
891
307
446
197
445
752
172
343
256
836
179
757
593
712
43
241
394
829
119
668
85
692
611
936
871
272
37
714
287
109
236
264
110
590
758
818
995
302
917
381
745
414
501
80
130
979
419
511
423
360
725
291
48
664
857
429
244
962
236
980
699
311
506
748
800
161
772
478
903
262
946
605
707
988
510
855
913
554
434
348
883
925
415
608
843
369
667
999
565
97
588
766
265
979
325
766
258
576
966
389
88
51
159
489
505
62
110
476
377
738
157
840
878
836
137
590
553
521
751
483
256
842
844
68
982
253
876
820
487
806
548
602
308
219
589
390
387
788
493
693
782
294
844
986
445
593
807
314
991
563
115
928
195
139
261
732
484
62
122
702
851
320
187
988
871
289
310
450
755
854
138
776
861
264
829
9
839
379
472
19
73
747
469
436
606
296
894
880
392
174
474
589
349
753
306
64
572
425
927
531
578
866
342
672
870
971
277
242
962
305
139
491
317
782
614
437
555
655
341
798
889
844
727
9
210
696
787
720
99
792
656
721
46
944
999
168
612
359
30
594
25
100
341
496
948
297
957
716
60
990
84
321
274
980
489
321
839
553
354
848
466
749
158
731
639
563
13
611
254
463
519
545
979
177
237
247
229
488
765
533
458
109
800
697
130
919
693
456
128
739
622
603
275
132
623
15
413
613
12
325
578
406
553
17
956
883
201
669
142
397
972
899
965
57
513
846
225
980
475
965
783
450
725
685
160
158
222
14
120
32
934
572
732
3
977
276
195
449
700
369
123
51
146
510
204
509
368
393
146
725
14
799
320
721
159
233
948
853
96
745
948
218
559
624
694
603
435
93
879
435
93
214
480
528
227
891
820
268
995
498
883
330
931
901
375
440
260
797
578
606
988
604
544
967
853
647
629
861
321
711
161
13
316
853
67
745
243
777
301
476
373
593
7
802
778
476
291
561
92
387
541
342
736
955
273
549
759
305
82
990
565
507
280
894
517
55
472
469
71
201
800
612
179
147
359
543
383
19
335
217
37
536
500
375
6
940
39
920
443
148
254
831
299
119
950
75
905
223
903
119
643
262
532
533
398
108
372
246
13
572
304
899
645
934
306
895
230
99
273
555
569
604
113
185
305
587
226
162
947
736
697
973
680
167
339
518
791
246
475
426
744
408
6
513
205
414
570
97
308
222
647
561
93
408
742
485
910
757
89
806
116
129
983
200
280
546
348
258
561
319
883
185
576
850
93
591
237
690
389
805
449
149
251
671
784
918
363
759
175
408
503
660
777
23
992
906
345
537
521
956
444
703
777
127
948
11
851
86
492
938
652
176
152
262
241
926
389
645
950
289
143
481
126
208
449
739
14
375
221
452
327
489
849
999
266
360
170
192
311
654
549
839
300
561
132
985
61
138
50
49
789
658
489
112
931
334
622
423
112
863
831
698
512
352
68
184
769
999
547
346
845
708
365
978
185
910
763
42
500
806
894
804
949
178
924
269
106
824
273
95
831
983
863
578
491
633
993
938
547
749
806
192
547
176
156
21
26
445
469
337
422
814
523
943
495
411
596
944
673
442
356
431
853
826
707
153
639
828
390
813
562
978
125
923
157
137
503
383
152
648
809
111
220
627
900
840
764
3
889
16
416
266
265
801
664
194
791
716
767
661
5
355
89
585
65
917
922
49
677
495
926
319
481
854
527
508
564
268
6
663
675
929
334
1
282
115
676
861
917
148
574
767
299
134
433
431
718
753
117
508
129
658
942
478
720
39
753
80
927
211
819
519
873
297
624
471
97
812
501
947
868
29
519
752
276
591
179
399
801
497
470
561
807
668
8
983
743
759
52
925
896
811
863
142
804
524
891
582
836
861
647
494
783
956
97
34
649
459
109
860
758
62
95
787
843
439
650
987
344
765
940
836
338
202
256
151
916
210
256
83
102
549
228
475
546
145
240
743
372
886
580
522
667
590
86
702
331
115
318
758
76
154
291
575
193
508
870
275
128
320
537
501
489
657
141
385
676
239
171
861
442
294
726
303
280
391
204
351
425
698
659
956
17
200
280
56
279
411
732
310
707
642
985
301
15
844
771
222
921
421
337
682
466
33
341
561
80
120
821
193
20
259
334
262
34
505
166
525
501
433
413
135
12
304
55
527
726
23
609
442
38
975
37
888
995
766
408
415
728
566
426
788
10
799
93
916
5
913
798
279
89
350
514
360
858
831
151
775
309
259
353
498
464
132
296
138
947
196
101
587
93
127
391
122
574
34
789
556
648
941
74
434
389
878
943
71
918
298
125
224
700
440
247
572
963
464
441
817
381
453
110
901
595
462
342
30
869
964
980
701
772
272
791
977
353
224
952
637
984
892
80
254
461
442
218
504
636
532
20
78
700
965
153
631
655
671
747
145
16
838
556
688
575
786
812
252
693
947
499
690
895
137
692
263
361
255
658
322
632
904
471
786
328
737
569
728
93
181
558
786
683
429
2
915
971
619
10
957
561
115
666
344
50
315
300
299
742
673
499
363
719
659
139
571
251
7
648
36
712
304
56
70
883
187
451
855
142
159
423
185
98
581
649
268
139
212
566
142
899
103
798
49
802
885
339
895
408
891
995
473
261
145
761
386
741
229
90
697
873
483
926
197
645
836
431
75
393
843
745
501
546
542
183
649
453
980
706
71
985
391
462
351
566
450
551
68
261
42
111
392
141
581
619
194
386
307
724
752
516
657
451
495
210
799
256
299
500
452
555
256
996
821
353
870
939
401
818
582
221
273
606
594
373
740
603
471
351
672
934
964
200
447
476
6
222
24
587
185
445
826
313
203
505
937
188
999
152
250
625
800
543
799
235
565
346
61
166
58
219
220
81
520
371
239
231
832
333
798
829
901
163
174
721
304
974
651
906
55
266
885
468
697
226
101
487
906
369
173
488
239
790
588
792
549
798
618
335
578
728
129
705
861
173
890
479
52
295
423
294
274
355
587
80
249
316
402
705
711
431
929
956
707
465
153
614
410
253
614
340
355
998
58
291
844
733
73
78
590
522
596
223
952
496
593
420
750
943
490
764
206
559
464
515
355
333
692
942
408
383
584
573
595
506
914
282
527
535
551
161
645
905
770
464
579
750
550
288
718
884
654
830
938
709
273
479
446
383
509
689
719
129
953
200
747
331
555
241
950
841
308
748
399
56
357
572
227
485
382
692
785
762
282
942
42
32
237
293
572
849
201
603
567
712
99
715
459
917
860
174
908
781
572
277
7
551
274
532
721
141
956
532
154
609
966
697
518
634
257
628
258
4
958
173
840
901
638
680
46
238
800
440
971
965
584
508
551
652
991
164
384
292
884
917
910
252
236
420
48
132
786
182
317
735
253
285
918
906
242
837
804
943
134
206
22
380
50
577
435
5
875
755
23
503
651
35
927
693
617
857
918
847
71
664
833
741
72
609
347
474
445
700
151
155
457
554
772
435
861
529
345
289
840
823
600
73
996
948
937
434
402
91
487
270
21
263
307
349
435
371
102
188
486
861
308
830
686
866
602
153
909
243
798
187
130
434
751
983
209
848
831
804
31
386
173
616
671
706
911
894
50
94
49
558
987
409
724
197
275
406
21
361
308
656
7
298
493
363
280
436
770
992
46
891
491
204
168
741
842
2
812
397
898
465
239
135
914
354
217
895
245
826
346
193
505
106
280
71
413
428
971
271
594
354
82
607
531
901
863
78
41
439
383
119
488
745
259
52
142
448
335
627
702
92
652
743
889
992
868
486
921
338
800
9
291
542
648
13
472
562
601
956
870
768
894
760
822
271
420
819
886
735
469
540
694
418
965
998
933
664
131
3
848
577
86
156
256
762
358
278
317
786
499
255
746
388
956
265
895
649
328
423
740
905
170
708
243
935
311
745
623
510
68
606
826
550
284
346
637
18
712
636
687
855
281
249
77
584
949
878
965
453
116
198
805
179
612
589
266
203
359
299
701
897
778
919
229
930
665
451
649
649
49
470
411
755
688
422
312
281
736
514
802
885
940
805
912
594
547
519
470
262
611
975
807
324
617
438
57
185
461
434
789
443
376
464
897
406
823
958
524
7
452
415
744
409
526
150
488
730
839
226
998
406
367
686
659
585
320
678
752
805
44
668
556
123
428
252
195
494
772
625
946
441
810
993
291
963
90
336
45
628
865
15
582
602
589
983
129
110
937
377
934
985
754
808
847
494
873
965
394
88
194
80
850
819
961
579
864
446
525
552
139
366
134
121
503
493
186
117
64
794
63
508
776
248
281
482
247
433
974
869
127
590
417
468
341
820
574
119
263
618
103
428
878
758
459
183
981
40
395
821
457
242
920
665
899
892
225
886
432
124
88
268
626
143
932
616
136
568
715
881
176
362
565
468
417
286
155
618
446
485
498
451
508
280
483
951
229
441
902
854
215
222
729
272
380
901
713
402
73
253
36
557
376
904
726
65
896
974
327
623
953
877
429
354
67
883
897
687
441
476
1
797
868
320
968
76
966
272
412
294
532
748
385
349
812
81
773
920
870
515
625
769
267
106
918
201
1
767
299
437
269
370
747
197
888
461
270
294
366
28
922
482
336
791
142
310
943
892
134
643
987
756
487
875
23
340
440
628
405
792
759
872
791
560
341
803
618
790
557
86
605
861
955
342
82
500
321
466
890
636
636
890
720
800
245
138
453
636
216
437
604
363
625
102
552
985
160
289
981
51
744
511
892
246
982
107
551
289
134
885
959
847
784
918
336
734
87
98
606
368
919
91
166
776
487
217
201
508
415
951
880
758
482
338
563
90
463
514
256
168
578
697
741
905
311
187
471
174
669
117
471
637
18
968
104
703
251
818
224
281
756
825
656
235
879
169
568
457
298
61
525
80
778
279
406
641
691
543
296
897
381
917
154
764
539
173
888
483
340
98
146
946
537
28
575
673
55
66
582
245
186
447
850
99
377
402
103
145
784
905
11
68
808
810
437
296
810
187
720
455
894
810
833
441
822
543
513
34
532
377
803
192
465
843
531
115
936
345
222
480
817
42
874
225
300
339
640
381
217
920
812
431
585
111
162
628
36
634
177
860
956
800
712
350
362
601
818
336
182
416
776
529
8
853
981
311
608
623
358
67
311
394
222
46
289
539
504
370
451
826
35
731
161
634
621
718
691
557
130
169
497
583
94
585
864
431
483
207
295
60
423
947
304
153
597
211
743
700
148
417
567
587
777
196
404
670
629
446
979
715
957
643
928
85
553
458
129
498
400
257
284
675
236
753
850
835
932
369
212
634
413
790
730
969
104
278
757
146
991
65
768
83
389
539
859
133
156
79
352
366
641
408
74
393
539
447
865
449
750
793
555
375
605
473
598
513
699
716
91
424
466
251
524
671
945
527
518
789
764
153
347
313
641
688
68
164
17
277
75
944
912
4
773
336
182
791
654
979
311
734
140
799
147
431
814
205
38
109
812
873
821
70
245
914
385
862
858
458
404
10
639
589
25
178
691
910
593
422
878
739
447
330
665
816
11
14
953
486
511
110
133
303
106
923
740
205
589
856
42
283
918
133
631
991
610
88
303
673
845
267
358
429
97
217
715
798
877
855
314
770
401
503
116
613
164
714
965
892
738
822
742
608
68
500
778
64
960
802
842
435
134
698
234
299
82
628
500
553
632
799
591
369
145
732
331
163
699
344
450
186
386
793
138
525
873
915
607
377
537
124
246
834
558
941
461
39
559
275
308
963
861
304
971
39
751
122
667
668
2
642
533
878
665
577
693
581
218
395
148
431
54
162
28
808
129
732
134
376
40
885
830
362
955
875
73
498
69
569
838
268
107
83
622
226
481
427
984
655
644
682
228
591
222
880
690
833
850
142
913
671
102
245
599
534
470
420
784
452
131
101
286
427
254
565
736
94
929
633
753
934
577
603
278
374
590
550
899
476
764
301
423
433
63
496
559
916
302
216
566
221
706
254
901
72
810
242
251
945
489
750
927
48
29
608
402
570
359
883
369
352
895
328
582
265
225
937
603
776
907
689
643
464
17
196
688
931
212
762
434
621
510
276
742
498
223
26
717
78
209
917
218
488
504
496
875
541
994
480
712
598
163
572
475
855
208
807
282
61
729
390
974
452
131
739
7
255
389
245
787
971
712
277
143
493
68
183
754
943
657
765
497
850
391
324
935
926
71
963
338
94
86
761
3
112
335
929
51
881
773
547
867
514
410
269
83
671
414
800
927
185
929
514
495
705
940
22
500
326
80
805
959
704
279
501
826
782
738
986
55
648
659
280
803
246
869
889
950
222
373
855
931
376
625
967
196
96
738
71
380
905
410
597
724
173
196
403
492
469
147
993
646
913
749
904
51
41
649
362
984
226
801
808
358
166
333
441
836
1000
411
842
830
226
105
782
94
597
877
982
679
268
885
222
322
908
911
937
280
649
274
298
291
438
913
38
102
79
32
385
830
528
409
109
490
267
309
959
587
375
710
853
308
444
119
538
182
6
702
596
680
153
626
915
304
521
325
153
67
632
287
354
974
183
873
148
785
9
516
945
876
151
182
875
82
137
513
554
931
424
114
739
784
442
383
683
665
685
974
521
880
348
75
5
89
334
280
388
597
213
760
606
863
252
565
379
568
976
935
982
665
959
15
701
417
832
660
198
859
182
734
835
336
992
522
7
480
671
253
276
458
908
892
145
931
882
892
474
477
80
526
81
102
293
271
699
432
5
843
681
502
939
566
383
319
24
926
240
61
702
902
578
728
811
445
547
410
536
295
759
952
889
309
703
944
667
823
537
279
819
48
791
179
77
688
789
447
501
905
530
966
437
496
111
329
724
916
986
49
612
12
387
365
217
283
267
991
261
169
56
772
633
43
457
960
334
710
824
701
572
185
473
32
643
93
765
472
192
482
580
749
560
502
19
536
834
865
740
603
816
940
92
656
42
948
332
555
906
80
933
764
657
892
389
922
496
401
657
828
143
956
814
435
562
143
881
256
84
612
527
787
572
278
978
691
899
291
518
139
395
384
674
711
125
331
77
24
447
371
297
551
103
974
960
891
58
190
626
163
548
728
881
530
651
941
366
206
55
255
532
280
399
752
107
561
250
477
285
525
527
104
513
279
773
53
192
489
633
152
911
981
939
760
250
778
780
612
761
354
822
634
524
331
150
377
422
770
520
417
39
389
138
608
51
195
351
625
729
706
849
520
927
963
793
747
500
842
539
749
214
953
89
48
394
257
283
972
280
809
872
630
424
922
123
575
402
864
638
370
667
768
128
273
923
779
512
447
197
615
76
895
701
300
653
244
582
79
850
696
941
267
553
380
235
422
503
902
609
662
98
673
422
586
727
504
722
278
145
974
129
630
830
581
80
325
474
751
522
308
507
916
405
529
169
866
191
85
477
423
601
9
327
905
181
767
658
556
395
60
647
863
711
995
602
301
628
318
581
862
416
12
968
646
64
924
329
9
19
131
746
212
71
172
444
659
546
895
809
14
12
389
965
106
231
137
467
999
264
25
654
304
669
1000
107
85
161
611
726
555
201
890
242
564
962
961
794
546
23
706
905
408
987
710
671
83
854
696
409
606
809
762
86
265
532
618
800
878
767
829
463
713
17
49
569
675
797
870
986
466
479
906
550
776
570
822
664
986
867
835
677
431
91
812
779
271
734
715
977
752
483
803
795
674
972
311
787
941
82
283
974
766
426
828
664
80
929
787
49
528
818
758
553
783
537
150
810
998
244
56
40
683
932
298
79
11
846
905
475
490
116
178
118
300
668
104
9
264
308
634
584
985
584
168
60
594
874
807
624
8
655
85
422
602
372
984
713
343
669
467
958
506
653
823
277
383
531
205
44
281
404
460
38
178
101
474
747
712
942
818
174
688
8
609
142
553
225
912
164
143
144
692
17
686
175
595
327
945
74
944
778
319
853
220
19
269
782
497
854
510
184
754
163
271
618
836
82
224
487
280
258
898
84
926
438
556
188
518
477
580
559
601
268
798
326
203
11
274
859
615
661
997
7
506
285
369
344
611
257
208
373
437
154
172
229
236
923
636
217
497
329
716
164
110
553
329
903
319
687
692
369
751
623
456
762
213
970
711
578
921
648
428
837
120
640
461
373
603
273
899
460
181
503
978
206
771
480
930
907
863
937
746
621
991
569
419
515
707
755
539
693
773
74
547
974
853
228
847
526
544
262
855
189
812
581
793
475
81
838
50
982
148
759
907
354
147
616
375
430
464
799
65
596
431
327
187
105
559
562
86
822
688
236
998
809
611
663
527
518
235
308
169
699
606
890
497
587
116
354
447
483
19
69
991
503
546
729
536
120
926
617
904
673
361
351
917
814
860
835
739
643
159
138
729
232
587
935
80
859
523
447
777
734
898
822
444
929
145
215
931
703
964
341
560
999
375
376
98
182
377
973
64
136
50
801
327
609
403
188
477
93
965
299
512
138
710
845
886
511
741
90
521
436
245
194
599
275
559
447
41
610
679
780
829
170
698
944
157
761
393
950
14
866
914
517
635
97
953
301
155
766
505
890
824
514
93
1
167
476
297
507
254
839
931
105
131
784
756
746
361
75
181
996
870
50
249
524
761
436
742
522
472
634
535
727
784
648
43
264
985
504
734
22
290
581
36
66
521
808
413
536
936
497
191
413
843
387
321
456
861
395
332
807
638
408
589
832
185
790
850
491
662
276
176
777
475
146
53
564
834
657
860
224
998
120
713
332
291
777
721
762
931
256
706
173
675
85
870
314
228
129
674
671
426
61
513
964
96
431
985
520
637
747
600
638
839
654
512
430
269
108
892
622
819
562
4
794
821
670
673
970
291
894
744
202
894
888
332
707
200
495
251
822
308
571
938
396
417
776
761
977
114
503
945
973
434
213
859
519
852
489
408
987
668
657
990
249
986
862
244
22
238
412
339
820
745
188
485
142
558
528
762
613
20
612
842
79
668
818
836
442
774
508
179
580
926
584
452
748
970
2
205
680
801
939
922
34
842
643
558
230
308
511
148
746
475
910
593
64
196
721
892
39
259
828
219
148
696
961
522
841
503
917
781
215
41
649
825
252
533
582
201
719
671
840
872
391
475
311
311
635
134
887
551
327
54
590
495
743
228
957
705
950
675
175
391
749
351
513
537
706
754
168
770
823
41
418
798
46
352
933
332
373
62
591
735
735
120
642
21
912
509
370
98
437
689
987
150
517
479
169
137
325
778
659
505
930
494
664
612
685
947
382
395
488
873
968
191
212
72
911
711
353
901
729
676
819
912
533
572
768
551
517
235
927
229
439
844
447
842
962
101
514
431
248
686
463
551
401
497
408
597
116
952
808
842
641
279
800
33
417
378
397
726
231
34
474
780
714
940
107
930
968
966
82
913
830
572
841
270
719
598
796
308
405
876
753
610
966
129
955
962
53
680
595
316
393
863
724
854
10
985
695
170
178
463
719
412
900
745
823
177
689
388
406
573
521
138
767
368
466
971
512
985
492
84
416
194
172
823
86
923
440
54
68
779
284
718
609
800
211
525
826
457
905
678
937
984
176
490
433
877
993
157
388
790
190
439
212
367
906
117
120
896
623
689
19
325
681
429
193
746
245
342
448
741
828
161
117
896
739
994
298
448
42
92
422
516
620
694
571
622
658
301
848
53
333
523
271
37
385
891
885
442
560
551
264
461
772
585
84
881
38
65
834
187
578
827
284
520
556
158
789
436
73
737
645
679
829
415
605
259
819
18
693
609
739
803
394
614
688
740
414
195
647
89
793
505
287
992
676
130
75
682
626
80
191
103
766
521
640
643
142
743
296
468
70
909
821
272
841
593
37
592
919
553
769
724
186
804
98
720
148
343
61
522
919
274
277
165
91
286
306
460
253
160
193
274
253
184
196
453
553
454
218
695
11
959
710
570
317
259
610
98
121
983
253
993
476
586
394
169
157
593
132
67
487
542
858
695
782
120
466
272
73
897
442
185
728
371
203
327
191
302
196
264
842
297
633
355
361
278
394
533
683
117
193
334
651
57
195
803
641
406
616
792
71
808
7
413
353
758
960
729
90
358
806
251
211
285
219
154
560
701
233
754
66
430
252
574
54
400
211
408
330
493
646
332
78
456
437
233
98
541
390
646
105
746
967
127
853
330
507
856
448
873
560
333
415
417
52
863
254
801
637
770
392
237
310
29
566
469
661
539
490
929
20
960
247
188
262
430
666
210
308
705
978
538
31
252
538
12
825
472
493
812
291
326
574
373
855
850
447
481
804
62
540
783
84
613
116
900
372
995
290
706
208
317
496
817
728
737
264
240
887
343
254
599
596
146
585
367
789
574
687
954
111
457
157
68
259
325
733
529
448
25
285
780
779
628
612
794
244
545
80
32
184
437
802
922
248
508
811
138
152
152
162
500
953
691
500
491
743
877
270
60
191
880
879
786
561
755
461
133
864
659
446
370
629
519
375
832
605
415
861
284
613
573
502
593
285
966
352
461
732
915
635
329
840
301
722
229
268
261
54
816
428
153
962
125
508
514
533
416
427
325
858
278
298
845
609
213
155
603
580
159
252
329
695
749
235
280
604
145
323
771
360
755
583
379
931
68
426
630
874
664
523
249
672
422
245
787
656
505
488
824
938
932
482
584
537
931
262
622
328
395
576
866
607
117
662
844
976
60
937
17
271
158
54
822
469
853
531
701
363
964
102
419
760
590
692
449
591
294
273
216
927
403
57
436
282
485
618
685
113
358
651
550
11
909
840
344
834
713
950
730
679
868
259
17
189
631
82
99
890
766
378
134
646
350
14
562
483
124
772
567
759
710
164
214
20
954
134
675
168
256
622
772
245
994
210
426
4
687
868
819
155
491
673
39
7
290
642
929
711
383
718
348
239
584
44
996
615
632
939
886
771
215
667
212
466
10
278
47
552
977
12
495
746
163
298
353
820
232
397
997
809
24
259
513
895
254
953
349
676
909
205
710
740
337
333
427
727
911
431
664
582
811
717
443
293
530
156
775
90
642
508
900
414
587
799
774
948
104
807
49
538
442
54
154
33
282
692
857
167
471
716
368
75
946
684
730
432
900
459
68
751
258
563
810
577
300
806
818
937
184
717
191
285
800
23
175
60
625
682
606
418
822
810
805
793
926
296
98
794
6
846
632
279
726
853
207
824
40
104
860
780
19
455
13
310
120
474
227
128
344
36
752
841
722
21
495
362
773
577
396
954
545
432
400
673
640
247
115
680
268
828
854
47
495
389
984
299
239
981
980
518
393
356
470
570
560
895
283
201
337
160
391
751
442
596
114
20
490
459
593
360
837
480
183
197
331
127
886
327
763
966
798
785
708
597
873
302
887
649
849
804
521
294
481
867
900
796
135
134
419
306
391
558
992
419
855
706
740
452
345
131
566
918
387
265
8
129
846
598
828
810
84
745
798
107
196
376
337
743
741
602
910
171
906
715
126
272
947
521
614
288
830
844
832
718
730
484
985
184
194
571
428
548
394
656
96
334
597
616
324
885
506
657
239
708
299
169
58
828
390
404
521
768
92
405
488
755
189
667
911
103
789
615
392
167
781
428
704
412
221
48
371
485
722
913
938
965
161
235
375
288
937
232
238
982
476
628
597
961
783
802
107
18
404
761
132
231
689
107
347
86
864
760
510
774
577
524
688
759
644
634
655
462
149
910
366
577
762
399
784
540
570
787
867
621
104
758
933
668
641
612
245
695
450
126
549
163
327
117
270
996
742
9
728
495
655
384
541
595
785
326
240
653
470
517
852
462
124
862
582
632
465
808
662
9
913
184
375
410
897
715
195
504
846
862
940
141
897
546
333
886
718
510
957
68
713
376
951
150
477
222
89
635
245
229
37
722
31
488
928
224
883
134
442
984
279
585
740
595
652
684
168
670
214
195
551
358
869
163
204
268
212
456
542
128
399
699
294
190
691
849
349
678
962
160
741
499
900
980
398
480
10
24
788
409
300
725
711
979
855
139
57
411
103
70
5
797
960
834
722
95
286
443
178
818
124
720
607
591
775
117
536
334
517
122
956
163
277
824
457
643
229
527
357
553
907
730
873
483
905
211
39
618
182
85
741
346
559
37
745
676
348
538
73
432
573
41
56
629
615
71
297
480
119
625
903
11
923
912
136
262
992
210
72
316
136
640
284
696
861
107
584
379
527
313
789
649
198
12
447
669
435
843
298
556
614
150
67
718
176
168
891
692
96
393
331
812
292
89
436
199
954
896
69
889
496
901
808
307
792
881
886
480
167
466
556
138
916
904
37
538
97
123
454
878
279
782
597
774
376
78
595
976
262
677
193
867
357
836
467
730
351
722
858
58
272
279
371
145
244
541
470
173
84
959
534
919
361
444
371
340
550
495
879
973
235
283
858
579
481
859
997
209
56
353
94
445
242
783
489
245
507
234
631
637
830
355
822
394
91
982
29
639
541
875
24
399
845
999
871
288
322
179
414
852
150
406
67
112
115
147
977
112
105
546
884
911
764
802
37
217
756
56
67
828
779
485
999
517
653
450
499
103
338
700
699
886
2
431
114
834
500
192
73
881
514
727
549
86
79
694
363
362
831
972
141
532
821
331
485
878
68
393
271
950
953
339
604
188
475
959
991
670
975
488
117
693
605
969
950
810
250
632
375
645
161
295
505
58
776
803
705
335
553
741
206
614
695
606
481
713
32
42
999
103
90
397
284
70
855
431
224
263
509
179
412
892
488
398
105
991
214
149
406
468
824
87
903
108
954
5
345
386
451
198
200
73
953
729
402
80
436
964
265
427
763
452
994
467
159
941
495
429
642
618
104
772
376
582
333
801
694
278
189
558
606
894
837
769
680
734
199
775
897
815
545
834
787
815
918
634
334
819
192
267
71
205
530
582
279
185
463
732
843
283
310
349
444
739
293
32
291
210
190
813
888
654
501
96
864
208
769
617
3
278
180
342
860
970
815
650
283
468
380
151
492
863
456
856
117
317
148
431
104
388
137
28
981
214
552
231
70
571
107
369
464
417
420
844
241
122
743
247
396
775
844
567
342
709
739
972
953
93
530
121
958
144
877
703
243
72
540
929
167
588
573
987
184
796
351
56
402
615
895
935
998
629
885
960
620
304
755
777
664
344
392
906
319
729
198
377
602
709
121
748
762
258
873
538
393
284
124
926
519
739
493
524
449
774
569
316
997
55
953
135
553
426
937
667
22
612
140
734
141
483
991
158
970
838
518
990
952
408
559
515
180
826
385
939
732
465
508
205
517
950
31
84
928
480
807
705
291
835
987
279
894
493
988
704
431
41
142
924
380
14
170
374
96
779
463
15
636
616
242
75
259
423
121
147
985
221
962
343
488
70
935
497
323
545
607
327
328
858
477
480
243
806
245
826
484
106
583
392
891
753
316
316
372
856
738
426
826
951
525
907
315
866
94
34
969
374
398
761
313
242
248
94
976
353
295
875
123
211
431
710
983
121
604
453
828
488
932
500
66
307
546
992
683
693
521
472
405
393
402
656
537
882
799
589
901
616
53
980
154
227
867
511
623
398
510
168
652
404
205
353
406
446
695
753
545
525
219
94
631
232
538
413
195
463
615
16
740
205
244
642
328
221
115
348
801
912
42
596
638
833
92
162
42
118
257
565
447
198
933
673
805
768
155
698
984
947
292
994
792
607
487
408
559
351
92
942
955
694
419
18
787
659
848
759
723
475
192
54
191
841
861
846
432
871
96
486
656
368
86
283
92
482
932
359
767
276
68
554
528
356
603
47
396
249
769
856
778
511
908
123
663
968
749
797
642
627
230
710
319
693
198
45
704
825
859
594
461
400
85
794
681
435
87
747
978
816
354
399
597
774
836
457
206
738
654
780
190
212
404
866
42
812
212
376
389
69
254
969
242
826
663
588
312
416
493
631
126
792
989
64
228
906
253
443
117
567
704
504
234
819
848
610
933
203
363
559
683
43
59
366
681
863
257
568
138
430
65
172
597
742
948
219
892
523
719
624
245
670
582
98
874
530
814
956
330
895
424
656
960
546
511
556
207
660
631
166
226
318
160
246
63
944
264
318
984
182
534
282
825
130
823
22
457
256
760
696
315
464
437
64
580
636
834
437
9
503
213
744
995
431
446
691
991
210
219
93
929
508
546
101
645
392
190
802
210
554
296
554
67
600
58
156
967
578
194
710
732
390
273
8
209
291
28
249
358
337
931
897
250
21
555
560
889
275
987
673
930
383
747
81
978
208
350
640
586
367
517
202
501
947
128
25
588
123
935
690
595
334
387
730
112
583
95
979
602
627
490
990
583
353
425
986
75
429
513
402
60
644
822
561
79
25
479
393
580
911
324
247
808
806
912
91
909
198
945
790
813
414
675
933
517
416
744
436
447
905
667
65
933
780
772
980
749
557
246
888
774
812
46
702
270
259
593
600
884
893
239
859
608
670
750
552
494
756
771
855
649
641
93
854
347
636
806
350
21
363
899
642
744
756
10
133
761
965
387
53
191
311
652
275
384
370
219
794
903
992
445
483
915
409
334
485
567
573
321
529
768
72
914
574
664
287
549
406
68
607
630
23
16
249
586
193
231
957
630
566
967
516
360
327
72
511
442
474
106
614
300
170
248
456
113
589
135
290
310
347
291
962
786
7
877
537
175
630
671
755
334
567
520
852
2
225
194
65
448
89
37
968
185
592
158
535
934
567
353
747
765
674
721
2
756
690
192
395
72
715
887
500
995
105
557
779
145
762
227
436
994
621
537
331
609
86
436
594
842
296
515
590
245
533
36
142
489
536
281
609
191
455
800
412
973
997
654
354
328
402
16
530
431
664
152
177
605
881
919
788
378
732
639
730
482
941
663
562
351
331
734
477
327
166
500
136
442
817
934
604
71
969
710
112
26
800
458
736
729
409
430
578
757
672
695
424
51
961
276
242
991
578
182
680
449
362
536
35
55
480
894
669
9
892
800
557
469
213
572
29
31
952
179
326
615
637
764
968
79
234
216
739
192
965
91
111
557
978
363
769
370
125
660
579
568
789
718
527
192
976
150
185
559
850
169
216
816
372
47
243
929
394
388
177
534
420
255
582
97
125
226
157
71
263
49
542
91
408
980
205
519
896
782
579
595
859
490
63
338
152
158
472
185
673
822
197
460
427
107
236
389
29
761
598
342
350
899
805
628
503
141
8
609
957
223
583
871
598
553
347
207
27
380
526
577
348
736
632
536
541
36
267
964
602
651
471
818
828
693
426
952
821
830
414
544
578
856
321
380
434
909
779
444
277
962
741
768
128
503
760
527
862
653
388
278
563
773
981
528
288
69
648
390
953
131
627
730
234
833
708
480
966
951
466
398
89
496
493
728
632
963
441
988
617
415
724
482
345
998
696
449
777
618
891
616
199
726
123
764
321
294
992
655
785
820
303
852
33
101
693
957
236
254
31
417
361
410
975
927
993
734
612
603
436
345
357
277
638
728
971
175
166
831
155
430
159
115
717
760
134
419
344
991
343
395
70
74
168
140
814
113
386
165
470
731
952
771
734
792
776
374
931
109
91
585
572
359
603
188
88
799
767
747
126
458
784
763
440
186
638
91
34
333
390
986
906
734
683
608
426
81
455
119
630
927
299
465
426
84
378
838
44
669
62
80
229
576
364
820
632
342
712
986
781
427
33
197
389
816
789
788
616
150
691
825
326
452
824
964
572
589
261
377
310
418
213
753
149
211
175
576
315
595
163
992
355
834
552
990
861
401
578
179
420
177
789
884
390
715
873
938
367
550
201
335
413
120
538
409
443
538
888
170
782
706
594
113
195
947
20
271
205
41
100
254
903
518
689
733
128
412
368
278
105
806
861
637
538
54
175
626
967
244
890
510
354
986
893
508
550
625
632
546
160
223
563
126
888
581
193
161
323
701
14
915
268
420
402
285
440
182
197
714
523
958
725
758
322
240
203
896
944
116
660
54
835
135
653
920
525
417
12
246
73
56
529
323
998
796
551
100
163
101
591
377
827
102
82
758
259
793
90
110
851
534
211
933
815
324
809
936
369
633
453
673
149
351
181
751
137
323
846
387
878
846
691
453
868
661
150
893
807
900
320
652
836
131
320
705
513
313
292
724
526
248
46
154
301
747
732
834
743
699
529
58
487
662
483
897
586
753
796
627
107
336
5
809
56
214
54
534
271
736
110
636
710
844
345
8
522
957
625
913
235
872
485
192
596
392
61
697
930
500
32
513
96
71
775
620
832
356
723
605
768
677
944
699
91
443
546
49
617
929
843
995
377
868
539
780
154
699
106
558
880
842
651
781
720
495
190
204
197
930
974
169
50
143
738
481
107
675
289
269
112
1000
563
796
519
316
240
701
327
33
799
997
787
924
779
68
195
750
754
253
592
525
754
516
153
920
461
343
985
570
312
220
530
925
604
671
704
879
688
704
160
889
667
423
848
248
699
900
335
997
607
776
880
494
473
364
566
449
645
137
89
67
54
805
540
584
852
180
304
421
937
444
858
553
796
576
399
703
555
3
466
312
836
384
277
832
349
726
758
706
460
379
660
48
322
360
165
524
408
339
682
160
91
761
586
854
17
670
73
135
356
425
276
985
526
240
371
667
769
810
892
683
101
862
90
469
687
375
709
220
350
422
915
285
863
836
260
785
584
82
851
711
246
515
662
14
159
672
299
947
825
447
543
814
967
943
286
135
661
702
628
633
466
553
483
69
134
57
268
479
225
324
651
585
776
725
959
763
375
850
444
74
596
597
706
969
47
816
810
212
365
658
773
627
851
645
760
470
261
181
11
926
934
622
300
156
107
521
204
344
948
496
370
530
134
77
260
832
803
479
567
721
723
10
805
179
211
742
519
946
293
227
546
593
645
692
461
453
348
516
707
388
216
870
784
507
199
519
472
246
751
126
97
124
856
498
941
743
514
551
566
711
359
253
876
537
565
348
216
959
883
958
116
614
167
945
904
366
216
519
477
406
407
686
888
941
939
838
161
185
984
489
214
218
480
724
297
252
169
929
387
837
594
54
179
649
362
519
316
655
500
666
269
419
680
24
451
846
513
224
518
697
547
241
541
64
815
13
425
162
689
132
376
531
136
177
424
247
397
558
697
32
751
206
869
122
490
289
890
115
23
140
93
390
222
578
211
285
289
856
428
638
789
62
667
800
839
782
435
506
742
381
851
77
886
939
543
793
956
418
200
761
55
204
63
118
657
957
512
474
705
203
347
46
54
699
153
868
653
599
82
472
746
135
449
987
266
743
884
952
852
526
303
166
154
16
600
912
407
732
38
17
749
349
855
976
385
943
957
91
563
635
15
884
636
791
103
797
524
301
888
868
393
824
370
144
305
799
75
899
982
507
611
344
828
926
553
407
627
640
522
34
792
565
628
214
264
405
144
671
74
162
801
269
455
768
227
831
1000
866
158
213
669
247
491
645
697
479
851
82
533
128
519
842
102
674
850
581
136
306
330
396
794
605
646
970
867
756
892
315
393
69
926
959
941
143
526
635
642
981
348
643
588
818
693
341
650
97
11
394
512
669
465
390
405
244
347
429
854
576
33
887
577
670
746
276
125
295
366
787
831
539
498
211
466
554
383
993
343
799
115
117
320
68
676
12
294
100
765
154
518
359
953
81
424
771
361
789
80
290
508
799
224
352
502
383
721
934
966
763
18
892
66
82
747
608
192
316
227
319
236
913
919
349
539
954
233
905
88
479
484
167
674
292
889
289
667
57
826
373
253
339
219
140
589
82
922
83
847
436
98
873
780
808
98
115
618
655
450
329
735
892
203
708
836
614
513
185
582
777
58
801
610
864
164
956
637
812
84
844
382
286
51
384
427
861
166
603
675
866
61
354
488
713
439
879
558
457
192
167
529
330
161
286
285
496
588
942
894
730
244
308
458
705
454
479
161
3
433
47
445
530
893
964
63
351
927
844
432
420
592
563
509
110
967
825
806
879
458
75
50
544
782
992
927
421
251
750
583
871
181
823
544
394
935
934
364
719
538
330
937
872
728
113
703
815
590
766
447
106
341
27
573
820
984
848
879
799
837
649
742
284
870
291
70
293
875
590
496
313
564
374
833
510
836
732
173
924
699
672
820
330
36
527
190
321
300
615
905
279
133
449
110
91
131
175
202
266
521
353
710
838
763
5
995
527
462
392
627
598
297
514
401
379
944
224
857
639
160
101
619
781
661
669
665
428
180
31
94
983
603
238
894
103
400
582
474
749
140
276
34
385
390
538
992
450
858
533
368
611
864
243
654
762
883
486
834
216
120
687
841
194
194
679
68
588
541
317
124
625
584
843
705
594
471
25
119
149
963
513
600
532
384
967
877
67
996
426
406
938
292
264
727
24
569
317
30
968
68
822
767
477
90
441
885
95
415
627
362
852
645
634
753
464
486
493
476
537
348
574
216
317
237
816
748
285
320
634
362
328
450
437
248
701
983
116
314
809
308
210
738
684
900
996
135
678
438
766
206
375
817
96
610
785
598
31
38
906
25
638
578
610
434
559
364
718
103
334
873
671
13
364
724
505
934
162
568
521
814
578
924
539
122
637
926
720
81
445
53
946
623
604
938
148
596
623
157
576
490
758
856
792
646
763
829
681
258
930
885
779
913
932
174
354
617
858
866
844
550
895
865
193
504
405
973
115
28
134
255
255
849
133
242
313
192
854
276
199
24
665
954
745
869
943
381
166
354
75
686
45
855
878
698
249
815
407
470
273
822
806
344
90
715
601
372
929
276
485
154
324
589
726
370
118
665
981
520
266
755
627
74
176
989
471
393
73
564
178
502
339
904
741
499
622
277
372
336
884
76
970
418
54
628
671
84
583
248
134
765
918
752
688
150
928
864
172
551
616
123
580
58
292
674
701
990
279
959
509
833
859
779
168
53
775
723
666
563
140
434
624
407
448
962
151
982
680
298
664
621
506
324
898
279
65
321
640
889
49
331
286
859
641
613
570
586
242
175
419
839
495
422
516
505
237
167
155
515
879
228
732
161
680
530
888
599
968
347
311
936
865
502
954
855
199
742
752
726
480
559
926
612
927
181
844
41
525
697
285
971
777
54
88
582
517
477
201
670
868
526
119
750
78
581
216
361
281
324
619
732
788
423
832
794
533
523
902
569
121
495
415
619
120
779
79
110
840
675
369
449
146
695
442
276
691
610
653
357
918
102
287
704
570
654
180
851
846
278
200
650
704
891
560
592
394
262
81
628
273
135
741
929
869
864
762
360
83
606
795
302
320
148
106
643
239
388
229
367
9
520
873
630
177
53
875
563
438
408
338
383
796
175
272
191
497
379
858
307
280
470
523
693
310
579
100
953
932
746
382
421
781
224
321
904
712
886
393
136
405
274
440
69
549
516
488
471
273
693
978
364
86
762
854
126
660
144
321
683
197
497
935
378
348
947
90
1
159
559
776
152
467
73
343
279
881
964
274
882
499
664
359
504
81
851
443
585
628
799
581
490
446
758
382
540
409
393
743
502
231
875
455
379
540
600
281
849
75
953
154
704
268
775
170
942
622
622
76
974
753
656
977
756
309
810
428
246
704
868
287
281
495
759
39
282
647
471
817
787
476
4
129
837
917
963
95
32
183
462
213
875
465
39
384
525
74
262
762
461
965
537
146
936
114
734
999
307
771
192
524
604
170
872
94
351
368
43
48
964
800
872
608
40
4
658
291
297
697
693
1000
142
554
80
984
137
176
738
368
627
65
62
357
502
303
212
616
426
17
609
720
908
446
832
941
396
726
966
272
433
688
920
336
711
104
847
898
941
985
889
256
751
494
749
532
991
882
243
1
436
482
970
642
170
104
982
578
115
261
222
526
412
221
594
663
824
371
290
420
802
868
806
793
624
268
588
254
501
758
483
859
754
693
395
713
722
691
414
993
498
501
754
312
416
939
599
986
350
909
501
994
35
856
738
638
967
772
904
856
933
146
398
324
967
124
714
973
315
291
629
531
605
577
609
218
865
100
287
661
672
968
350
580
485
925
218
53
608
120
101
954
226
930
723
397
785
490
185
188
153
331
485
747
149
581
735
439
250
579
472
219
712
632
147
37
11
529
983
171
453
742
761
934
367
828
912
350
708
53
442
963
747
468
156
945
624
652
681
913
224
302
89
34
952
914
879
917
214
889
49
896
626
382
793
282
392
560
468
109
403
49
472
513
781
824
451
915
744
287
770
475
618
710
846
583
65
962
890
528
986
470
896
486
376
671
820
178
197
948
533
669
223
464
773
756
473
538
324
737
481
246
491
926
709
461
129
389
644
26
610
395
670
167
984
319
960
652
326
947
790
113
778
279
750
548
826
133
375
212
805
547
97
491
424
380
905
413
967
800
515
516
92
262
350
928
666
426
890
703
776
551
986
533
114
171
873
11
21
101
261
891
223
157
968
592
291
135
614
832
845
812
330
654
98
952
400
325
182
204
804
658
171
797
423
420
145
767
753
663
897
196
23
91
771
694
810
976
38
229
470
215
528
978
730
250
326
526
878
8
969
611
195
295
5
8
163
940
7
286
466
372
323
732
681
26
47
496
368
430
708
585
700
613
859
320
168
392
742
413
816
652
885
452
429
733
57
519
574
966
986
918
380
882
628
934
193
674
192
809
545
899
10
10
520
245
956
4
890
941
203
338
242
310
694
966
404
646
749
133
597
240
122
78
809
340
419
948
343
356
613
499
846
145
693
763
590
813
1
933
200
948
338
413
788
864
759
314
805
710
876
749
783
454
326
426
752
712
647
832
183
923
209
828
310
599
555
746
562
666
275
835
163
820
378
627
826
480
438
407
825
760
596
582
122
133
251
139
278
494
771
350
281
96
641
188
897
794
343
173
617
602
640
311
943
238
976
396
988
209
59
905
446
607
376
562
190
628
961
45
136
523
5
288
518
425
109
775
651
172
362
16
526
751
342
634
767
99
97
148
914
87
191
773
302
822
508
539
348
535
48
847
756
908
497
409
332
497
114
10
139
718
533
600
470
825
660
477
803
932
659
433
343
966
61
314
940
178
136
478
618
964
266
603
60
450
81
499
384
562
250
621
136
263
568
968
790
749
58
877
178
405
476
717
185
146
60
42
762
301
949
789
296
106
974
754
66
673
963
987
176
359
288
445
619
830
996
63
541
325
857
792
808
571
683
335
619
233
88
756
710
429
56
715
727
454
626
155
846
281
284
939
813
611
505
831
517
948
523
939
980
987
281
717
624
600
953
293
627
591
314
478
567
465
154
666
518
466
483
922
351
21
328
999
189
53
991
651
248
24
796
173
482
116
548
407
916
855
55
401
579
82
491
245
273
996
108
454
941
120
813
398
901
617
676
181
432
268
154
856
748
869
39
133
824
625
522
170
593
239
349
37
139
806
925
413
812
110
37
114
575
965
940
855
618
703
282
464
770
304
977
629
521
951
657
162
668
935
418
190
564
951
771
566
639
178
279
814
849
543
651
840
948
666
824
330
959
320
925
73
692
46
149
370
195
289
523
75
725
863
459
55
950
104
343
3
34
430
986
60
513
330
105
753
895
88
197
765
780
282
328
532
482
805
40
270
877
620
761
279
5
359
512
337
822
432
306
168
388
535
92
208
295
879
192
999
775
650
352
777
680
487
627
382
492
664
55
133
487
282
32
257
692
31
395
441
203
251
403
723
210
829
247
507
785
531
778
431
660
743
389
703
652
969
838
71
655
679
968
208
384
908
491
872
463
293
382
657
568
327
305
424
268
517
659
956
230
565
348
212
531
764
863
452
949
287
42
586
538
160
523
790
304
526
670
639
904
138
430
624
976
910
879
783
846
108
572
107
868
606
23
323
88
189
437
453
850
865
423
444
397
24
417
29
742
355
776
69
863
10
207
114
939
285
479
970
917
946
58
229
359
760
128
324
760
473
927
474
577
639
535
491
916
194
482
876
190
451
607
179
845
528
778
158
287
689
82
286
102
690
984
524
599
475
813
980
422
668
476
550
527
765
449
103
779
722
992
427
45
512
581
743
357
938
819
381
294
763
977
41
790
84
4
136
399
430
482
236
993
887
976
486
785
298
898
531
922
449
292
287
324
273
496
852
900
204
59
564
662
45
963
921
338
16
312
355
994
98
276
929
17
776
180
239
23
562
947
202
49
98
822
347
950
88
562
534
707
993
383
69
614
921
122
785
52
180
280
562
619
354
913
359
237
239
850
757
953
214
592
867
730
379
957
705
654
525
186
447
290
196
32
304
993
957
290
401
730
660
802
160
468
389
149
484
413
753
223
828
172
117
188
899
92
535
430
198
646
344
899
961
519
9
468
537
54
513
168
350
505
946
684
38
249
668
926
331
535
911
535
878
757
576
626
780
795
251
366
701
446
849
308
561
533
51
392
469
627
368
79
626
423
38
960
304
404
984
427
980
755
174
866
960
844
540
913
765
989
371
38
60
276
927
437
552
165
851
119
681
150
538
350
22
847
29
747
144
382
563
915
375
908
624
778
432
16
639
126
161
286
929
357
881
22
553
253
688
245
813
235
554
510
623
699
833
261
367
120
243
225
535
243
312
76
23
211
992
423
917
245
256
976
427
962
159
929
555
417
235
410
207
957
769
404
70
614
321
340
237
132
615
146
689
144
294
707
999
383
297
638
798
862
22
500
748
776
419
422
741
65
781
628
682
440
555
156
388
557
731
552
845
396
270
171
77
556
651
13
61
349
963
162
666
607
632
370
154
441
728
459
577
799
444
773
711
663
433
758
683
933
514
456
341
737
267
578
119
590
871
25
233
667
75
616
306
634
849
463
956
821
882
385
931
398
810
200
651
697
228
318
598
424
676
474
876
721
805
365
452
993
521
545
937
219
41
9
872
356
162
40
129
274
571
889
492
843
285
786
769
534
878
209
639
160
553
237
458
797
22
710
446
220
852
215
81
713
437
673
913
100
618
892
406
435
675
581
881
411
869
834
156
213
768
23
915
737
766
343
295
112
363
244
459
625
844
927
769
872
817
867
14
405
518
665
224
241
973
966
169
236
395
101
777
652
188
674
728
741
826
441
869
833
858
962
38
941
762
555
981
308
501
221
749
76
991
423
901
618
172
703
187
232
187
53
486
90
941
470
920
256
641
742
667
935
860
29
912
647
455
647
106
977
139
167
371
769
950
692
889
285
672
427
448
883
101
893
789
374
687
587
511
404
96
411
218
81
605
617
595
464
287
337
173
839
643
538
556
889
258
164
213
457
648
911
56
179
124
999
571
152
917
890
570
788
507
633
702
934
515
603
312
645
108
647
336
106
496
406
299
821
998
112
34
961
253
605
278
150
292
930
237
900
630
672
574
93
695
920
689
54
889
572
958
139
487
327
616
608
560
306
776
863
506
904
642
467
795
458
297
978
620
323
983
247
991
903
158
195
388
115
200
532
346
469
886
417
394
969
13
371
188
499
982
994
104
598
328
546
738
726
138
881
361
698
748
974
990
833
161
105
509
309
713
909
662
79
761
643
537
397
682
270
437
63
963
540
328
259
347
913
716
161
806
833
354
542
339
352
510
362
337
657
55
178
512
308
137
292
723
508
623
812
156
387
714
455
990
650
690
649
361
206
661
261
98
980
920
470
573
718
803
193
227
503
169
860
712
932
116
39
134
439
924
313
426
811
805
174
584
27
62
704
869
3
141
384
190
149
435
593
261
130
483
112
549
116
894
828
231
645
319
256
954
582
228
49
3
374
634
413
38
170
980
146
808
233
310
174
444
338
506
237
900
610
791
585
219
226
290
39
1
324
566
430
636
10
853
74
404
909
42
403
756
753
265
847
774
861
713
220
440
771
440
659
63
804
915
989
632
625
301
968
10
267
358
48
4
152
491
111
795
58
579
375
47
431
992
517
280
630
906
254
940
875
628
437
415
524
691
859
242
136
291
239
545
258
551
912
971
288
592
945
847
201
783
172
35
149
633
488
59
889
285
358
949
163
54
574
933
520
131
653
110
417
219
132
416
638
235
113
813
496
673
150
771
455
780
452
691
710
140
74
615
235
476
585
470
557
653
401
898
377
796
779
245
16
538
367
620
392
103
975
20
388
669
797
861
326
999
874
576
236
468
509
432
419
572
957
666
692
598
618
971
260
704
771
418
122
602
151
825
631
521
603
841
664
266
623
696
987
349
955
339
811
166
503
626
561
763
565
259
940
427
591
895
67
328
678
503
756
827
84
328
936
341
415
269
717
711
323
973
132
845
140
853
927
771
203
442
685
536
318
423
647
89
280
694
827
47
951
903
373
280
439
780
291
974
230
123
270
597
601
734
369
880
196
657
347
682
552
650
600
934
876
573
213
661
435
347
117
558
884
283
50
337
630
302
104
45
553
832
31
184
979
653
933
646
660
7
429
745
788
96
414
673
320
575
976
874
774
865
787
822
203
846
251
709
575
533
603
821
535
924
631
868
103
546
437
532
783
658
984
164
287
8
827
524
342
935
192
63
868
24
6
905
34
612
807
552
336
397
878
534
226
544
48
751
184
592
766
95
847
981
382
134
768
296
379
41
700
244
178
485
328
741
453
281
519
847
214
510
749
282
261
839
721
598
582
846
607
530
749
982
628
745
398
722
70
575
184
346
115
61
944
335
646
673
449
609
281
130
704
909
389
622
873
296
193
662
1
822
49
627
137
838
105
576
322
858
646
685
351
428
727
687
379
180
824
812
317
974
854
711
908
344
726
124
562
205
988
408
959
489
530
133
643
120
767
678
116
591
686
298
721
160
682
748
576
952
488
812
224
125
883
720
615
525
471
834
533
564
496
588
64
43
525
146
770
681
892
720
101
47
431
542
785
951
729
156
232
482
966
390
564
737
791
680
19
464
560
399
887
735
698
679
391
621
581
879
666
248
304
38
641
543
283
611
366
393
237
626
206
229
788
996
540
881
229
145
648
123
926
200
801
712
384
898
723
597
848
275
471
450
960
250
803
588
297
911
802
12
740
891
194
646
137
131
269
169
602
34
428
251
115
364
37
635
174
48
682
309
556
679
522
987
728
884
784
95
392
488
434
198
975
152
478
693
693
910
639
369
371
671
958
93
370
811
444
266
867
336
474
255
14
176
122
365
621
743
146
630
690
299
934
806
813
860
793
469
731
362
125
182
962
609
614
993
195
750
411
685
219
206
171
502
502
395
394
257
879
433
318
302
767
805
261
250
343
283
407
763
784
667
800
367
220
543
477
423
592
168
818
843
440
899
144
405
822
821
560
902
296
215
513
250
100
444
681
138
301
290
590
477
950
790
591
80
64
796
750
435
468
813
397
488
611
100
124
38
471
556
598
886
767
341
444
158
528
757
66
917
681
587
562
292
56
247
725
774
294
94
75
358
774
939
886
392
515
135
191
758
240
578
920
264
944
426
560
553
864
370
179
491
829
587
757
87
745
635
660
490
222
173
817
667
621
125
824
287
947
12
442
822
143
948
20
887
439
951
7
518
247
405
796
631
774
843
274
497
19
638
103
577
303
701
696
813
934
814
244
523
443
847
966
471
379
672
744
126
419
485
927
721
219
644
124
955
292
391
585
175
701
902
818
263
963
908
805
543
758
99
668
11
40
473
588
29
546
660
82
104
831
84
570
198
453
472
316
641
328
51
656
67
244
286
259
301
833
670
845
382
294
299
121
391
628
259
478
562
223
816
491
464
286
211
131
607
559
85
922
179
982
379
685
107
366
940
967
810
742
704
680
971
331
682
599
132
849
324
759
235
229
283
558
252
67
805
752
708
546
519
487
49
538
370
959
915
324
282
485
52
662
789
751
998
699
565
162
660
747
630
803
372
396
627
675
490
464
252
6
735
230
91
115
860
852
945
711
706
77
688
357
539
683
591
54
178
751
550
50
60
71
531
990
947
958
301
989
861
924
568
124
587
687
248
563
745
344
305
466
170
412
274
911
690
906
53
240
877
673
503
80
305
55
282
970
521
721
883
105
391
633
395
191
190
433
840
876
837
533
557
481
308
62
532
871
841
821
415
705
224
51
49
738
905
941
440
825
468
546
233
313
728
193
800
83
386
292
64
42
479
234
89
131
701
317
508
731
873
711
53
706
841
698
446
642
592
670
308
118
331
972
805
197
840
304
515
723
263
914
13
538
794
661
75
284
892
910
262
285
323
993
392
388
745
301
709
468
781
892
277
79
29
509
387
823
816
757
678
999
199
996
494
586
925
49
188
985
521
679
170
254
178
470
208
850
785
354
418
969
370
831
83
831
13
67
437
760
563
465
460
392
113
545
887
727
36
344
822
747
447
807
269
491
167
16
511
899
929
233
956
373
562
27
819
128
353
160
470
978
35
141
808
998
38
776
774
978
345
410
85
192
931
349
822
439
982
183
716
197
935
330
200
572
891
736
433
561
266
176
599
118
661
573
245
733
962
764
500
897
783
108
248
30
938
828
523
149
909
236
651
85
940
708
33
595
768
54
541
92
673
512
476
241
538
223
388
473
152
990
993
497
207
484
331
974
751
176
739
251
610
620
688
483
907
489
315
203
21
61
609
399
715
324
46
524
689
800
979
990
770
794
340
280
778
313
128
206
124
157
510
807
820
378
443
200
668
393
115
129
358
328
541
250
114
639
916
298
712
576
387
763
984
3
916
508
458
346
11
606
636
452
432
514
955
260
286
386
487
693
136
707
995
959
124
149
988
336
478
314
975
459
803
734
459
71
775
163
680
606
588
31
517
48
195
783
199
388
795
273
952
294
721
517
52
181
710
622
330
115
155
343
711
216
768
778
524
219
279
572
61
748
805
623
211
466
661
122
925
380
427
887
86
286
469
25
713
959
591
480
294
71
200
688
195
837
483
647
748
143
378
262
941
444
951
299
260
380
350
40
799
20
949
477
939
122
774
777
375
636
33
978
216
983
245
192
860
226
650
751
381
946
636
409
797
84
165
230
430
34
699
440
82
514
623
505
749
944
170
583
521
196
378
464
958
688
888
413
530
377
316
785
90
553
221
391
652
389
309
169
606
285
3
418
528
705
540
675
14
327
511
867
480
948
285
604
563
930
47
369
532
440
190
658
220
766
546
951
42
813
752
345
683
522
699
151
607
470
607
481
114
838
71
839
205
432
393
373
365
747
313
481
169
370
956
595
382
822
217
84
237
278
966
69
313
600
1000
596
321
107
199
932
561
856
958
958
94
639
636
636
531
572
284
514
708
246
55
394
376
693
608
134
259
419
181
676
838
768
229
803
585
901
215
306
301
89
286
663
224
284
492
190
928
918
920
16
242
136
74
227
987
957
583
394
482
992
787
21
463
762
466
119
491
531
992
971
791
559
435
45
354
447
913
927
476
201
630
639
832
349
5
998
697
97
431
978
130
801
964
377
583
379
945
515
480
668
513
159
231
178
842
860
395
281
819
119
647
258
458
193
449
607
152
942
53
894
341
937
174
816
977
531
861
193
441
901
346
866
364
217
639
338
120
441
435
377
177
499
185
798
768
748
711
797
911
227
379
95
282
492
183
530
788
633
862
826
484
834
198
456
529
33
199
939
87
347
639
631
612
919
254
149
741
120
943
10
32
774
987
410
845
332
675
433
711
560
819
384
316
395
274
612
625
665
313
861
226
627
396
333
811
457
544
921
346
95
593
930
136
177
762
21
938
665
850
662
591
600
766
977
11
537
538
119
464
225
87
346
672
853
286
122
593
720
815
824
291
514
757
687
324
31
817
863
310
731
652
799
293
838
460
826
815
365
58
945
666
527
648
347
598
439
853
354
965
835
942
634
321
305
36
922
134
547
598
906
341
271
929
913
817
181
841
224
107
272
955
161
675
408
53
91
948
936
625
634
595
874
74
238
813
426
332
523
617
996
364
971
406
469
732
324
351
421
649
549
666
780
931
259
662
695
736
589
897
633
645
104
308
492
904
12
955
51
990
271
430
356
987
555
489
81
797
20
973
586
875
554
305
803
562
790
537
496
993
779
708
391
407
844
95
742
877
340
584
395
111
888
682
403
436
710
447
646
713
863
230
716
738
49
785
904
413
354
736
386
695
575
178
63
360
507
946
679
397
683
457
309
669
169
768
468
988
291
230
561
894
126
769
610
169
81
231
483
545
579
753
34
958
194
937
514
39
494
922
613
678
540
180
731
674
855
100
404
980
830
224
864
527
752
472
646
650
654
217
708
958
19
194
527
238
355
419
555
967
807
475
175
905
491
944
890
246
526
193
244
117
481
278
990
709
894
93
82
614
809
801
546
925
107
799
985
855
217
19
472
113
946
878
999
381
466
507
656
16
312
367
827
827
488
900
834
804
243
882
209
133
584
560
926
305
303
454
388
682
465
434
375
677
413
686
860
140
360
874
684
792
882
319
807
552
931
526
653
831
100
145
65
189
354
810
643
539
570
792
732
113
130
737
846
673
298
876
45
41
698
917
198
102
750
463
433
789
659
528
155
941
220
453
190
527
957
707
283
333
974
25
670
119
388
663
263
53
992
762
258
742
926
104
874
661
361
481
480
483
718
65
510
894
437
279
227
5
706
254
338
510
192
349
742
6
467
67
689
772
63
23
258
567
316
563
743
859
698
954
480
221
807
147
585
494
214
478
571
308
654
65
896
29
149
244
119
747
167
506
255
923
950
677
494
571
782
669
568
976
218
692
483
805
319
907
393
608
387
195
469
929
321
864
632
877
949
262
754
342
347
559
628
12
142
134
42
259
425
947
413
504
772
234
519
571
470
786
575
88
626
783
590
322
20
379
544
876
620
433
130
955
719
468
774
879
595
856
899
406
701
691
399
757
221
592
379
192
95
604
54
135
66
894
190
341
699
285
366
620
825
119
764
38
402
601
481
32
58
206
488
444
923
711
413
148
600
645
68
841
856
732
139
531
851
373
405
623
292
31
190
572
49
389
109
422
414
981
5
126
722
984
718
706
971
678
635
9
98
955
723
820
261
688
396
467
389
477
163
289
858
568
995
842
259
403
449
378
210
928
376
997
334
246
270
258
269
237
750
16
728
422
657
785
842
329
543
771
562
204
448
848
809
188
704
990
995
127
748
693
476
839
754
156
940
644
769
300
800
66
808
641
636
359
708
738
430
560
800
143
900
724
462
151
876
215
143
383
833
171
344
71
508
903
929
187
84
265
966
942
945
532
145
397
845
104
224
849
781
40
506
880
800
638
614
943
453
625
210
21
742
754
718
878
163
953
525
32
207
229
832
334
856
594
143
685
570
71
318
810
329
822
423
684
565
3
183
785
473
235
773
411
652
361
415
730
639
162
558
778
271
760
904
397
524
470
368
806
239
579
624
566
584
699
269
420
74
487
429
373
495
925
602
48
499
843
325
40
952
675
310
712
80
9
549
339
286
206
123
95
877
503
963
1000
597
104
376
549
694
550
741
710
582
773
683
399
177
334
369
817
983
164
995
221
725
335
329
914
826
236
537
89
680
454
645
669
639
754
213
828
657
870
752
834
319
471
909
132
519
463
230
549
861
689
273
2
939
28
10
786
56
652
927
249
585
243
249
99
248
550
963
411
121
931
284
339
567
227
767
497
169
323
830
977
885
244
864
460
453
352
123
23
776
471
955
21
848
402
684
693
306
660
897
291
742
401
341
822
790
900
62
94
914
276
630
530
73
904
400
28
582
231
709
727
147
40
27
564
973
416
778
274
905
101
474
597
892
514
231
196
776
517
360
590
335
663
876
949
272
740
202
678
410
34
728
947
483
849
874
596
82
723
55
974
261
926
856
34
471
717
976
495
315
364
505
354
886
849
610
122
95
666
51
780
789
111
211
838
197
40
665
451
348
186
616
318
575
857
57
525
381
836
689
845
3
140
424
529
971
82
10
416
432
362
25
801
45
692
67
874
143
926
290
343
328
469
814
454
643
629
520
814
915
734
481
189
513
476
518
320
819
332
613
191
508
515
14
346
922
581
46
532
292
945
851
136
340
241
709
464
764
358
272
28
234
644
933
395
226
202
927
426
886
603
814
288
406
575
22
476
468
649
448
131
103
259
831
7
705
836
438
978
23
355
417
13
427
239
826
24
342
735
529
704
53
98
784
797
794
763
54
867
284
450
769
91
510
77
419
64
161
408
561
848
351
281
437
940
61
650
616
255
716
669
179
693
94
970
540
577
960
113
490
309
240
675
233
306
415
957
750
894
151
360
866
457
822
473
111
694
144
568
77
335
232
295
132
365
231
100
856
326
935
513
787
810
908
90
615
935
700
930
803
133
798
45
598
47
158
939
962
580
118
312
797
160
707
148
134
785
921
1000
755
691
558
639
860
348
680
752
611
805
453
953
786
516
485
694
140
238
171
977
434
244
465
286
29
696
827
559
393
822
858
422
471
410
643
827
150
252
22
977
7
990
746
485
842
187
212
946
820
865
187
723
424
565
639
566
263
233
865
372
11
230
83
244
667
376
391
170
411
166
618
438
462
653
66
763
753
657
988
37
350
142
994
105
233
210
506
658
586
214
238
831
738
702
921
599
394
402
523
287
566
38
255
422
374
829
67
322
16
377
520
708
708
1
526
250
343
148
369
100
42
788
969
678
814
810
291
783
270
358
158
479
830
226
836
974
254
525
965
372
397
331
246
322
559
989
752
167
491
699
169
606
104
53
540
904
684
290
693
836
592
964
949
195
986
714
875
676
602
848
388
827
837
559
562
597
61
20
457
873
612
868
512
867
461
999
552
649
160
200
563
883
961
485
40
362
975
534
472
674
157
827
845
364
742
625
30
52
417
796
701
123
960
72
659
871
53
979
823
950
134
102
672
569
480
548
753
734
306
303
788
789
814
566
851
188
230
704
548
55
748
509
652
652
595
100
188
273
740
832
243
818
432
183
120
108
614
313
381
154
665
751
400
138
136
821
966
244
595
621
658
515
681
145
372
1000
345
992
18
487
703
170
226
115
88
664
457
713
813
85
189
719
705
757
39
975
26
282
591
495
769
272
277
669
262
255
501
278
278
819
903
766
501
46
21
297
654
405
398
325
354
257
334
136
217
391
479
308
361
754
558
564
19
956
272
869
847
921
747
438
78
660
773
549
538
950
820
412
934
358
80
719
349
363
141
577
281
533
824
162
884
306
51
626
33
197
611
567
590
795
450
795
116
397
14
51
685
706
755
313
891
907
160
541
358
914
939
390
161
733
935
477
462
671
833
720
17
481
307
156
481
39
51
907
938
312
556
443
978
117
358
731
639
110
528
709
608
968
977
346
685
436
670
884
335
801
864
551
265
861
318
760
572
631
272
766
677
242
464
165
279
14
119
502
139
670
716
568
169
286
465
547
302
547
44
916
552
164
513
839
46
568
447
527
994
89
670
947
824
537
624
322
101
593
769
756
47
913
879
251
875
473
398
242
936
664
95
192
765
283
373
374
828
618
522
702
356
940
617
853
268
388
124
687
530
992
713
351
131
937
50
6
69
166
564
101
196
325
468
187
807
695
131
464
218
189
579
866
245
792
47
898
919
801
821
134
43
623
877
882
507
841
454
36
80
358
271
568
702
541
322
209
35
783
811
507
213
33
720
56
488
618
720
438
341
973
489
522
762
114
855
248
784
844
390
120
194
141
481
458
763
475
147
860
756
392
342
143
89
920
905
359
344
171
609
960
963
801
591
140
992
173
240
439
471
557
377
956
915
893
211
893
643
734
926
197
156
606
638
189
356
51
585
776
244
388
918
736
170
724
293
518
823
513
879
165
501
936
637
783
395
468
178
634
11
985
115
925
827
948
166
758
209
548
321
187
91
58
243
509
914
233
212
759
256
997
563
729
346
978
398
433
297
751
818
954
548
790
930
158
941
731
319
284
654
980
623
903
919
987
962
11
296
42
444
366
765
619
144
851
156
565
981
210
62
685
295
576
767
765
534
111
507
843
835
618
513
353
979
149
35
518
904
913
556
734
373
335
763
895
49
43
910
393
822
696
791
243
822
854
943
377
860
819
160
80
441
33
337
754
693
195
348
578
69
291
986
72
923
40
941
517
535
493
763
942
792
290
817
419
246
958
95
970
549
123
789
22
782
23
149
524
878
419
108
948
234
495
210
761
958
841
127
722
328
151
26
31
796
187
951
120
537
10
821
807
596
741
314
765
335
486
93
771
460
160
349
121
900
361
464
746
731
132
451
538
33
233
732
813
30
902
593
719
239
515
288
705
548
35
466
385
879
260
124
169
563
81
289
339
250
457
532
179
269
996
375
342
471
369
148
785
690
455
298
483
640
130
482
295
392
444
158
319
470
961
111
166
441
910
81
530
888
754
459
23
803
694
25
841
370
117
877
944
986
225
244
370
437
593
531
793
893
23
279
865
891
182
752
36
83
326
981
626
410
379
906
779
278
672
671
847
306
966
384
772
572
165
873
859
252
75
243
767
165
738
105
48
834
685
539
810
955
647
37
17
125
424
520
827
176
594
697
694
724
220
218
759
681
499
768
127
724
659
778
439
584
644
101
295
55
968
435
533
927
886
874
265
163
489
669
415
750
500
220
736
757
209
840
386
795
494
711
725
651
367
880
18
3
956
611
198
544
111
668
803
133
143
49
215
366
162
359
930
674
272
813
874
160
76
640
544
450
421
505
575
729
683
911
455
641
977
801
18
507
921
283
731
711
63
787
538
639
677
786
77
956
475
718
202
810
887
631
553
626
65
76
465
756
276
935
729
634
682
814
917
362
272
569
386
511
46
19
604
374
642
744
481
368
823
357
10
46
206
993
302
598
895
819
209
664
427
968
798
643
782
594
63
961
227
588
750
459
970
136
187
987
666
540
445
742
900
39
467
391
916
79
167
42
977
109
911
298
376
8
177
974
222
413
359
178
236
412
679
331
172
932
817
119
450
416
474
297
306
976
184
686
607
392
53
810
645
370
460
161
297
961
735
195
669
895
751
370
984
392
988
352
9
71
578
633
92
531
996
506
985
978
413
515
751
143
515
99
190
309
500
380
101
645
775
873
924
125
176
749
198
656
882
464
2
225
597
436
526
835
724
605
963
992
800
526
350
13
7
12
158
955
142
485
74
233
655
632
506
148
775
295
57
511
238
6
230
310
766
495
487
152
926
923
918
842
20
146
346
333
828
182
429
242
245
599
547
340
972
431
636
259
799
473
224
36
838
145
217
34
330
141
26
218
875
972
535
758
741
348
907
625
423
503
169
496
126
298
200
308
658
997
697
150
596
75
511
354
94
878
38
251
554
153
500
454
783
336
318
102
667
847
548
923
665
945
95
44
520
627
46
816
162
116
914
87
898
977
794
383
337
979
27
148
454
525
996
843
527
342
887
238
939
786
947
173
215
85
346
245
925
79
479
912
203
228
540
58
884
679
461
123
533
899
679
476
117
448
468
818
953
244
948
138
260
673
895
439
242
266
472
870
83
935
338
68
449
878
661
642
154
230
655
612
551
971
382
79
103
97
921
544
168
711
428
275
247
148
631
537
685
479
823
966
280
237
192
414
551
263
694
292
832
249
753
183
932
217
354
230
263
600
935
58
51
212
821
737
559
484
943
390
632
987
731
611
732
907
503
246
890
431
209
408
900
772
343
315
910
593
853
28
712
249
10
980
147
555
21
425
762
671
529
390
623
212
194
140
228
571
730
687
308
827
647
513
641
447
617
348
421
487
231
743
603
563
608
170
102
926
38
417
710
766
468
231
954
926
973
833
657
117
253
26
184
875
5
850
568
14
869
295
747
534
869
714
657
577
474
582
675
153
632
839
266
548
242
207
39
681
527
960
560
689
964
878
716
29
566
583
839
6
920
365
278
247
11
244
13
975
76
542
373
234
731
631
192
256
956
298
816
479
744
179
20
864
831
54
877
871
925
237
940
223
369
292
101
85
122
249
385
634
264
122
848
954
17
325
569
537
918
601
178
308
471
562
405
131
45
545
729
250
778
549
563
484
790
2
212
637
41
290
719
762
36
718
877
907
585
491
436
269
468
870
164
254
381
723
406
271
709
707
987
553
957
301
798
726
901
886
852
879
359
775
114
524
930
943
321
466
81
983
522
800
819
911
434
231
543
603
745
838
614
644
503
290
907
690
584
336
172
568
765
318
870
26
242
348
306
493
614
399
256
189
164
361
60
974
858
244
37
822
730
819
466
787
605
25
71
55
880
225
602
476
358
361
133
227
676
548
153
482
619
231
367
369
878
681
313
648
636
402
498
921
998
766
822
199
133
809
716
582
26
771
94
96
290
826
515
677
892
861
689
108
373
754
168
809
215
416
474
584
283
684
189
789
771
613
862
410
478
871
649
76
987
259
556
953
948
632
764
235
117
560
107
918
78
502
860
305
259
620
165
263
54
929
474
136
938
345
205
154
304
577
786
87
421
613
553
591
534
838
682
710
836
138
643
212
789
67
875
551
393
805
200
555
450
573
194
994
887
480
441
969
861
148
980
310
524
639
891
952
658
828
193
830
782
265
413
276
588
451
801
946
254
229
28
192
183
559
182
339
629
67
16
181
91
473
243
289
973
366
242
887
289
705
207
504
409
172
292
641
1000
732
163
151
717
658
614
971
798
698
478
943
624
903
966
64
22
51
581
672
275
65
747
928
143
297
783
977
846
517
461
75
938
119
507
837
739
835
269
189
582
347
86
778
280
248
992
314
711
992
546
922
962
652
923
369
224
649
967
796
661
949
106
443
558
941
56
242
686
828
15
949
108
506
366
198
603
202
963
301
995
488
888
80
473
280
489
642
320
553
132
365
734
303
209
787
269
707
140
782
671
355
796
154
12
527
938
503
284
559
785
889
358
471
317
406
685
964
941
775
434
333
810
38
278
176
721
788
346
410
142
868
931
769
125
84
259
63
933
213
398
725
75
45
941
144
177
725
348
20
717
162
830
665
556
39
258
778
337
234
117
332
56
591
867
727
875
523
634
24
515
117
931
621
437
675
679
471
524
382
487
491
319
807
267
225
821
159
388
764
732
215
307
102
610
796
506
184
440
52
34
807
98
535
514
938
553
188
362
896
416
232
425
95
907
40
185
950
487
598
564
852
115
920
619
346
146
933
707
782
125
266
720
28
914
436
287
461
893
453
125
825
398
573
407
402
148
101
430
644
335
202
680
614
344
820
297
822
486
699
703
920
398
757
787
217
203
631
177
903
482
914
66
351
893
958
218
110
940
489
996
996
640
841
996
794
78
279
501
912
85
359
779
386
307
361
646
607
240
492
211
835
469
685
219
210
841
209
680
280
760
600
451
222
225
357
631
496
621
941
19
413
189
545
483
34
256
754
545
735
781
441
154
985
54
809
958
938
663
744
685
770
783
683
713
690
192
645
345
180
339
733
199
742
503
617
838
954
517
213
519
181
213
531
946
156
313
988
240
481
941
6
189
282
335
233
458
199
819
837
293
958
730
228
199
772
192
577
549
71
30
784
837
780
480
560
492
288
814
638
37
370
801
923
521
951
796
417
978
78
868
728
342
78
437
641
125
835
501
185
969
921
688
274
905
937
449
998
363
80
209
104
676
729
88
34
478
474
724
764
910
367
700
8
683
264
224
62
177
136
14
900
110
966
50
674
787
889
334
674
939
2
533
156
764
942
531
198
266
549
539
198
798
912
826
119
85
213
878
541
786
995
283
153
995
891
310
470
567
597
286
427
300
420
171
381
730
626
290
293
577
82
531
869
396
310
481
455
897
925
638
784
560
788
93
748
381
847
477
968
426
461
671
728
955
477
673
513
441
353
735
988
187
31
825
111
829
638
531
889
249
890
998
750
600
908
801
346
722
294
127
593
806
175
944
312
76
132
812
51
597
556
636
679
276
718
221
2
179
549
643
21
318
697
950
47
135
993
286
754
237
863
207
158
900
317
524
161
990
575
202
293
116
326
792
192
961
404
590
931
316
772
977
427
290
82
511
444
6
650
511
630
155
749
245
70
706
493
224
146
337
688
688
312
222
430
848
851
667
327
638
262
25
404
296
149
361
267
671
745
477
216
143
785
865
134
9
201
121
139
654
952
4
799
714
309
373
589
841
323
905
437
823
785
522
703
580
179
305
821
958
163
656
9
102
278
368
128
571
770
368
744
191
317
765
901
654
697
346
180
39
487
957
549
744
7
491
922
581
585
672
712
318
670
893
458
864
788
855
861
828
596
470
317
737
876
831
164
970
412
394
611
962
126
265
810
25
456
629
889
386
617
991
80
870
622
369
498
829
494
82
538
145
370
107
867
632
898
248
985
951
755
372
227
737
475
895
532
112
417
277
425
786
395
491
16
275
193
935
978
162
211
492
902
28
901
415
96
838
570
162
702
298
742
878
181
521
773
436
39
427
37
539
186
780
889
460
203
825
155
753
694
73
733
409
239
425
497
863
36
96
585
461
219
190
228
794
293
691
495
698
544
653
391
444
164
433
407
464
752
421
56
501
877
759
317
449
572
681
820
659
576
581
336
270
983
37
827
955
129
557
430
625
287
145
617
275
207
972
747
920
684
587
586
546
618
536
358
685
734
936
694
55
862
29
501
808
904
545
692
513
870
41
208
618
743
882
841
872
392
595
759
913
297
891
142
530
921
768
789
217
754
761
238
374
374
372
633
904
949
890
262
350
89
125
679
406
238
631
265
717
840
546
447
93
740
533
452
664
797
26
600
92
679
877
918
258
32
157
36
360
786
395
964
627
466
700
406
490
770
465
672
510
539
287
156
157
786
100
581
747
514
374
187
223
260
181
367
614
985
650
85
34
671
415
181
564
419
884
77
955
769
194
143
274
921
436
603
931
922
797
661
126
448
580
362
876
639
275
796
67
240
511
27
60
524
447
536
641
817
520
37
812
603
924
187
724
511
217
851
367
882
370
436
906
795
707
609
457
222
202
648
973
251
888
995
399
645
88
186
476
887
482
158
357
977
567
816
926
510
660
915
650
861
295
634
905
467
962
404
423
755
794
644
534
307
351
990
158
57
377
399
578
517
356
778
758
751
792
125
943
144
409
130
859
930
692
791
61
82
275
920
411
138
726
844
23
991
554
526
292
949
584
297
356
916
492
294
423
915
714
181
701
383
1000
847
515
716
251
450
127
664
340
513
947
54
173
631
538
380
774
691
222
979
522
402
9
480
982
105
943
781
446
927
722
110
370
793
479
830
496
414
4
795
817
329
18
824
55
995
95
403
297
22
660
506
784
620
874
206
930
12
999
73
688
393
204
253
941
689
583
731
607
50
862
373
296
832
449
241
782
126
555
961
955
960
296
743
713
535
431
253
888
77
260
273
190
312
430
654
742
32
413
843
549
727
386
143
742
5
273
86
372
997
66
384
917
325
274
36
569
785
632
265
210
855
464
264
208
910
254
848
899
426
335
815
509
37
445
732
622
988
960
555
940
444
47
224
963
852
81
979
488
444
694
482
859
984
71
696
996
52
303
41
712
535
560
699
765
761
254
244
649
62
945
82
760
897
717
409
662
102
192
172
612
746
675
152
663
454
145
674
613
415
563
445
28
34
886
166
342
209
975
204
16
230
170
863
221
953
509
403
657
637
11
75
1000
465
552
944
317
188
451
288
269
70
292
675
167
198
690
320
556
882
273
127
498
530
970
512
800
126
519
275
637
632
479
154
224
678
864
224
390
987
994
117
161
273
234
517
311
166
965
151
371
31
357
627
241
507
318
431
550
228
369
578
277
643
770
453
527
223
854
267
816
624
73
951
899
347
138
116
417
925
439
630
955
296
6
894
316
583
52
700
653
986
94
764
351
427
849
96
868
457
797
230
435
517
688
198
321
434
553
987
686
757
617
164
300
398
807
113
794
702
233
887
87
262
276
968
762
384
718
902
585
845
507
204
108
917
240
393
933
115
4
619
464
559
66
642
67
205
828
723
771
306
772
718
648
680
53
961
130
268
377
434
478
802
598
822
721
814
171
669
210
189
277
473
586
790
123
722
883
385
918
941
252
350
404
388
56
283
369
920
213
158
568
93
975
354
625
445
776
321
719
12
99
809
480
42
676
468
638
380
938
762
839
540
528
202
335
956
615
567
220
689
580
279
702
500
140
750
909
1
53
883
742
165
187
402
551
889
565
262
172
7
38
377
290
190
160
647
549
399
471
922
974
296
254
139
479
404
175
485
387
283
916
872
847
169
259
75
840
209
377
394
939
286
357
464
592
662
362
639
804
658
799
871
7
907
150
421
460
493
668
393
111
724
226
207
842
572
659
383
720
506
387
779
399
608
256
235
509
407
183
779
749
257
54
195
396
444
586
434
444
362
972
89
747
188
538
463
654
920
630
321
492
963
527
881
355
30
206
681
861
924
521
778
721
619
893
111
661
568
780
76
354
626
429
100
495
140
68
654
233
608
999
549
905
496
254
149
86
675
621
905
541
709
926
299
899
14
877
23
930
71
757
364
78
686
443
980
875
150
976
842
889
753
677
983
583
934
461
487
738
857
341
748
900
587
720
977
548
338
89
416
527
479
39
23
741
875
773
893
950
754
716
330
219
100
605
94
4
89
884
842
228
872
450
706
353
340
555
999
484
587
506
868
994
115
807
770
129
584
136
564
638
242
393
318
348
916
662
741
640
68
905
616
173
850
916
259
194
835
31
906
667
301
891
683
798
878
343
457
195
97
126
684
172
339
15
777
902
479
955
914
964
428
952
545
280
708
46
673
926
756
6
23
835
664
297
66
774
414
543
959
812
613
285
240
392
501
361
864
506
917
557
976
773
897
494
753
996
44
997
878
56
703
28
21
440
160
145
878
259
407
309
989
57
73
564
777
103
189
56
913
510
544
258
990
276
385
664
577
481
863
533
936
663
355
792
935
343
822
181
740
635
523
664
637
453
347
741
159
742
656
261
247
334
587
798
839
583
721
199
906
384
5
843
849
939
726
864
155
141
738
362
381
13
40
443
586
659
290
687
853
928
825
898
890
248
773
278
961
666
690
730
399
100
629
482
758
835
968
729
401
385
588
240
328
14
64
233
233
868
97
70
624
236
726
544
152
915
476
600
449
149
562
628
314
874
68
515
819
471
470
452
954
999
133
553
91
566
754
407
838
135
917
563
946
288
374
776
455
838
269
600
592
774
151
593
256
746
984
488
420
833
479
982
870
320
866
983
107
518
115
911
242
520
212
18
132
523
243
87
461
367
624
629
236
982
423
948
129
969
960
231
852
789
990
25
349
782
982
69
993
536
759
747
996
27
999
87
412
107
927
500
44
306
990
737
157
105
855
181
220
888
696
240
423
552
442
127
523
494
372
186
103
363
407
378
572
349
359
536
13
139
984
774
833
149
498
75
156
365
853
932
769
567
343
957
862
902
347
174
252
24
383
655
141
502
849
657
413
886
601
571
77
86
821
856
351
40
513
763
713
766
665
712
938
970
424
24
34
214
486
861
893
48
445
814
419
245
726
646
375
51
297
888
790
901
461
955
298
361
77
659
104
966
361
679
676
705
104
91
700
247
845
929
810
530
540
778
632
479
100
517
930
438
322
616
624
271
646
559
809
175
676
980
801
524
565
712
746
574
110
140
142
774
428
1
917
339
617
674
527
933
257
529
936
264
421
707
952
364
53
398
211
811
264
695
511
537
642
877
9
903
722
674
475
612
475
772
333
638
902
409
644
601
567
845
229
472
928
934
925
962
478
707
433
794
403
143
642
66
325
335
423
607
730
728
964
880
274
892
854
657
866
342
18
641
156
401
162
734
370
434
858
974
706
3
472
494
653
307
640
235
544
993
367
676
514
729
177
223
649
396
552
320
764
947
150
772
764
296
459
237
273
288
355
470
469
142
332
175
26
98
246
8
905
285
882
368
849
893
464
160
809
95
300
123
665
772
216
928
817
103
298
926
527
366
654
180
488
222
349
683
217
560
942
434
878
285
196
408
391
619
907
776
239
984
324
239
743
728
239
340
655
837
7
43
912
179
218
723
691
672
130
88
836
53
244
637
978
435
76
925
22
699
780
45
94
477
380
116
277
368
393
513
572
856
526
392
381
314
102
745
876
310
975
113
117
851
106
366
989
167
796
726
80
642
91
930
48
306
780
9
713
912
826
350
977
938
874
953
824
652
987
156
125
39
759
27
79
752
525
475
742
862
527
518
537
919
208
752
751
794
752
403
461
905
367
917
586
332
717
601
484
914
840
850
873
439
201
591
200
356
960
313
135
570
521
470
37
628
45
37
499
593
393
811
167
438
858
145
288
300
127
574
634
925
499
783
395
560
61
862
721
199
375
127
543
411
407
509
678
513
213
14
500
415
656
519
707
45
604
407
487
15
336
899
855
6
94
982
690
727
576
835
105
394
306
632
60
358
657
424
987
966
895
828
427
6
18
573
217
205
578
379
745
200
68
868
272
462
182
878
743
370
573
670
125
831
336
283
754
979
247
558
394
187
436
340
165
567
641
250
29
219
751
454
530
518
6
159
845
335
495
294
846
180
603
349
538
565
143
202
213
594
20
345
905
332
691
231
64
751
553
291
582
419
636
767
288
681
731
687
506
367
275
389
102
514
340
691
683
81
769
970
391
309
855
914
94
404
684
903
437
598
652
133
838
783
226
879
130
331
540
591
529
502
938
991
701
635
322
438
288
634
375
792
447
23
448
276
427
656
195
510
216
1
654
926
925
636
721
238
308
105
956
966
915
604
158
51
506
435
200
707
605
172
233
954
721
571
611
660
206
4
200
682
686
865
828
875
926
531
854
504
545
594
483
343
895
721
351
466
847
89
624
519
860
56
480
811
62
269
65
116
265
427
949
931
776
657
454
903
274
21
350
417
531
602
173
238
450
410
152
657
381
905
220
68
925
634
779
896
327
346
809
317
109
785
362
871
476
477
888
551
712
926
148
75
511
597
569
598
606
123
405
728
384
95
575
84
944
670
97
911
868
704
412
692
294
636
505
548
958
613
345
920
645
887
775
555
340
311
284
257
798
78
158
784
339
494
968
874
848
735
885
95
136
648
175
542
665
544
59
786
438
260
364
846
708
213
729
41
883
88
261
982
61
739
296
706
830
484
841
4
788
711
240
653
194
113
41
793
847
848
741
817
846
880
311
401
275
321
201
177
932
946
974
340
424
897
904
955
674
485
694
131
617
460
520
997
746
879
586
996
180
209
293
446
923
325
998
556
272
381
614
456
1
490
187
48
312
23
750
38
278
24
230
834
642
878
199
121
785
547
199
953
64
190
34
198
286
815
226
809
529
460
407
231
137
448
449
494
34
437
428
246
552
964
499
313
538
144
150
277
696
607
878
881
186
325
199
671
67
528
396
884
507
897
829
242
605
967
114
510
7
613
362
257
737
303
583
796
680
156
424
582
128
856
323
518
39
928
881
788
423
49
442
820
97
818
8
467
750
382
830
732
137
97
929
710
750
765
420
331
428
83
692
210
524
938
82
961
713
872
825
292
649
622
376
692
250
39
243
696
589
394
301
733
946
202
86
358
183
673
438
69
134
94
48
797
281
532
917
569
521
407
15
227
657
709
900
155
178
819
421
361
784
769
699
623
408
645
253
299
461
517
21
167
999
52
89
719
238
260
416
458
337
637
401
484
207
921
298
467
379
596
747
401
826
661
85
250
162
735
490
964
158
143
534
696
296
260
229
793
93
97
86
344
642
622
356
426
248
799
268
548
699
581
640
774
857
74
970
165
429
372
614
621
150
886
137
582
989
369
224
17
149
931
358
127
946
505
929
881
410
587
976
863
144
57
361
605
902
681
475
410
824
846
907
861
142
390
460
703
452
967
393
125
685
796
23
674
313
44
209
637
200
613
124
95
366
1
501
14
968
907
133
5
819
342
365
321
737
427
264
167
70
785
754
927
416
440
575
411
703
750
127
748
242
114
241
48
864
59
512
154
524
991
624
730
716
933
161
619
65
604
910
669
255
521
298
598
304
279
602
93
52
816
815
357
332
482
375
347
104
534
749
931
900
216
349
647
251
580
944
368
631
952
281
742
292
592
63
158
352
624
34
602
716
499
618
176
789
898
37
230
132
158
407
859
389
445
495
832
298
65
149
800
939
459
603
721
724
276
568
145
79
602
582
425
213
397
989
900
770
271
219
278
521
461
374
839
885
711
137
755
668
854
995
34
569
148
745
698
122
599
810
101
680
630
403
468
360
866
466
963
245
362
773
668
486
917
801
885
138
152
711
149
685
312
784
87
255
336
637
29
885
437
230
856
389
373
844
646
962
381
609
947
616
944
526
840
157
513
580
255
536
590
857
930
964
958
730
314
16
400
916
413
26
279
747
454
143
963
933
856
776
686
123
515
222
337
59
65
807
458
280
92
867
297
495
181
666
106
423
215
576
692
460
673
320
724
569
511
375
946
481
985
320
340
904
900
628
872
295
637
544
333
459
807
498
993
658
221
955
515
668
465
3
968
981
785
239
331
195
70
54
888
941
415
777
637
387
250
476
668
314
762
458
85
890
704
110
870
184
30
581
190
201
377
549
983
502
957
334
418
986
11
470
703
485
276
652
915
778
964
864
798
5
445
412
492
580
980
467
292
926
983
491
943
957
398
863
968
103
534
754
241
553
579
383
976
709
410
219
175
204
456
534
426
727
646
901
252
828
494
478
669
483
811
632
483
502
517
936
57
637
873
561
566
359
359
254
159
468
721
981
89
330
325
889
616
368
321
392
519
909
334
447
966
110
55
354
190
345
779
358
967
561
759
67
110
123
643
950
690
871
53
207
58
376
681
43
786
409
301
432
378
568
756
382
746
62
937
973
906
329
919
779
521
832
527
753
895
200
594
702
4
716
405
296
839
331
512
269
705
863
672
696
530
966
806
69
288
757
341
740
738
968
259
965
866
235
432
782
656
424
495
170
70
757
235
355
346
410
636
432
514
805
152
420
253
592
419
828
500
117
551
445
648
811
512
118
536
849
88
886
65
965
450
780
245
327
536
769
474
391
368
109
267
973
528
761
116
451
784
626
700
232
957
603
476
808
691
457
105
461
195
837
633
315
967
125
517
803
114
358
35
475
255
463
303
395
937
583
260
436
628
496
968
980
272
29
472
965
852
89
412
765
816
279
43
170
161
778
35
533
918
669
963
668
203
598
601
444
938
164
941
611
128
552
452
544
577
747
348
480
941
205
782
123
545
975
535
641
809
115
440
540
4
615
846
874
2
174
291
195
626
328
517
176
997
719
542
783
102
660
504
826
518
427
856
660
976
820
240
907
649
256
182
479
870
597
533
506
599
773
42
267
400
864
869
141
525
713
906
256
384
100
614
382
444
265
405
326
923
35
503
888
755
275
86
275
492
740
454
876
374
917
62
950
658
500
717
552
2
792
344
939
202
228
199
192
821
200
189
426
877
365
851
802
776
622
887
577
861
565
9
266
484
521
301
513
936
511
508
358
262
544
70
890
495
407
343
49
471
880
632
690
904
565
347
577
316
995
87
496
426
336
654
999
111
333
627
361
624
77
828
545
944
844
861
540
341
363
756
827
246
872
521
824
799
293
83
652
103
415
60
244
338
897
902
218
953
271
44
484
74
104
947
255
791
560
957
956
742
454
238
365
554
150
683
692
556
71
201
409
753
417
114
762
982
869
381
388
936
595
190
181
18
568
962
106
438
582
760
765
77
213
143
166
322
636
932
59
978
236
56
307
533
92
343
646
526
176
637
648
748
636
654
490
734
686
691
600
930
154
137
906
403
86
947
915
694
680
669
178
267
24
344
598
851
62
542
978
704
687
610
133
642
526
51
514
175
689
121
969
126
238
813
863
5
797
467
450
656
982
773
1
694
777
790
23
734
119
452
272
464
32
652
547
132
541
677
762
794
475
725
721
755
365
629
62
718
280
450
579
629
88
833
86
615
411
729
37
455
105
612
422
397
953
294
504
790
415
439
894
281
146
632
457
865
737
762
183
835
672
222
884
538
782
805
482
194
753
59
324
723
559
382
725
607
303
813
981
436
673
59
647
390
645
602
351
253
151
493
429
839
43
259
208
364
769
850
676
75
318
481
534
229
41
460
668
3
280
103
434
767
521
932
956
798
311
33
842
773
73
584
412
318
244
440
622
125
955
285
624
653
791
879
141
723
966
924
193
901
802
528
402
771
277
769
845
421
460
166
471
462
614
352
534
376
781
348
462
669
528
612
966
923
928
371
94
740
426
914
823
704
315
822
29
485
694
100
658
193
283
852
29
631
419
36
590
959
920
465
70
686
74
240
199
674
113
564
784
595
813
212
305
693
77
125
137
654
334
352
513
666
798
908
111
782
338
313
120
384
681
674
557
528
801
711
559
438
744
313
785
131
891
102
571
541
645
588
490
637
15
685
249
280
971
718
739
341
64
725
988
90
85
875
749
633
776
183
834
692
857
59
119
180
534
356
579
314
93
923
519
470
845
788
55
541
306
774
552
432
500
179
478
599
863
76
523
841
547
699
694
313
701
784
329
163
841
246
956
835
459
447
821
920
439
193
451
397
311
722
251
564
412
408
270
135
637
945
92
519
699
621
485
960
625
421
503
904
126
8
913
580
429
676
924
660
428
804
13
40
671
991
683
248
173
898
278
966
349
465
107
685
731
200
819
644
696
809
973
210
2
822
169
212
263
64
989
496
733
603
982
350
798
780
854
989
214
350
380
37
893
857
810
25
380
359
558
899
519
122
957
154
139
114
880
474
124
621
493
481
665
219
181
56
908
973
965
929
377
801
327
640
875
854
240
874
674
11
970
879
204
514
323
505
6
351
301
828
598
332
937
900
9
749
993
60
222
563
554
880
271
806
241
736
253
565
260
303
493
648
353
412
35
633
831
26
978
274
996
428
238
462
793
879
278
554
896
186
436
501
110
939
839
277
394
136
375
843
362
752
595
753
775
790
941
914
201
873
767
221
508
324
853
640
719
815
412
427
655
30
193
846
678
551
852
136
111
721
377
828
982
769
256
28
553
237
12
902
601
738
641
519
124
722
529
468
978
38
771
870
525
675
909
848
633
868
433
718
53
13
810
890
919
997
274
416
304
412
618
428
923
108
709
487
556
43
574
791
262
297
903
647
451
718
250
753
949
699
649
757
21
195
811
33
383
261
645
297
955
452
599
372
398
220
424
963
205
742
39
390
389
814
647
328
357
215
644
960
498
991
901
981
283
337
819
806
108
152
785
1000
463
271
991
666
29
149
32
529
650
198
924
43
985
282
922
831
954
511
553
570
136
662
713
290
626
363
886
360
454
388
755
57
559
249
846
352
946
500
405
922
674
632
413
928
45
690
280
203
991
51
239
906
130
668
930
567
228
967
472
267
915
883
288
610
954
350
308
212
133
168
812
41
21
244
687
320
657
377
540
916
357
976
646
39
403
105
393
492
699
883
319
720
580
353
460
294
870
243
725
722
903
539
998
992
195
785
306
196
889
727
74
400
619
510
689
614
150
542
501
986
616
13
662
276
419
326
455
170
914
179
926
372
42
655
138
799
572
689
878
896
184
196
528
469
82
657
601
54
376
775
520
539
663
300
82
426
711
195
330
904
194
982
226
772
348
441
86
814
559
135
685
380
625
584
174
783
697
73
28
652
873
741
960
705
566
718
594
714
378
840
925
266
842
832
84
282
784
916
206
795
89
406
684
834
832
181
914
785
35
476
501
533
31
126
968
857
137
627
597
968
288
664
189
332
330
161
195
600
756
231
733
584
547
144
985
118
49
675
112
501
654
560
169
309
798
253
39
565
33
372
302
179
429
832
277
941
627
474
458
707
275
977
25
164
312
739
629
276
335
88
624
976
802
473
233
712
840
171
154
6
859
377
129
5
679
30
275
468
899
620
964
920
137
839
970
239
252
242
244
969
777
144
464
434
578
183
517
226
299
436
380
674
171
556
968
799
925
432
362
506
1000
97
393
837
736
696
669
65
159
251
14
120
892
252
898
534
69
579
362
576
647
534
712
335
576
920
444
236
262
229
817
901
991
239
714
918
930
507
556
69
626
464
620
540
876
700
264
597
704
708
467
67
36
966
211
991
173
572
653
961
288
564
283
509
235
225
312
685
563
936
874
899
753
813
709
324
79
593
903
149
501
428
198
662
899
513
140
11
814
437
453
216
725
824
752
278
298
282
767
612
415
329
479
309
586
549
878
680
60
915
68
574
221
834
102
439
347
706
45
528
897
773
169
112
40
525
305
552
159
352
721
50
787
394
866
718
806
347
404
275
75
819
29
102
985
895
593
441
60
693
96
647
714
119
182
103
884
209
359
77
425
739
485
831
3
121
157
537
418
77
352
808
329
473
798
917
514
730
741
526
499
296
33
411
16
818
236
190
226
674
270
637
867
358
271
768
82
869
259
53
587
19
506
756
868
222
228
486
655
811
169
952
553
791
361
394
849
923
684
109
50
962
883
598
626
152
252
384
137
796
593
299
32
107
793
358
317
475
261
994
994
829
967
532
396
614
697
185
910
848
133
5
913
970
356
465
872
765
860
58
551
344
720
611
755
119
41
977
199
805
977
116
472
494
124
733
938
294
669
927
290
584
673
641
742
609
702
203
444
950
308
563
424
904
51
360
328
337
454
862
492
648
837
206
518
235
767
677
263
127
872
118
485
375
686
837
121
185
772
101
366
968
311
716
899
808
730
191
984
434
62
422
597
855
776
821
498
782
833
482
62
620
321
115
949
925
784
149
9
274
364
45
451
429
610
518
412
310
896
580
670
83
27
746
767
729
90
452
14
534
129
201
364
845
891
831
737
773
613
487
279
123
612
158
894
937
730
73
548
623
480
943
476
854
9
831
411
533
562
697
571
287
398
147
263
276
691
589
634
20
639
504
322
516
941
306
177
305
893
166
366
793
656
17
651
416
439
731
998
401
757
818
993
40
581
206
881
397
620
128
234
518
407
35
277
860
69
546
636
946
420
393
519
159
995
591
919
885
362
476
180
638
44
305
926
113
21
289
230
557
18
55
954
75
730
971
931
197
219
181
231
477
567
365
946
244
502
753
408
316
52
500
723
189
482
861
4
117
390
854
190
269
745
686
673
597
230
540
875
873
908
49
780
471
401
784
800
21
661
870
714
890
771
360
473
770
89
194
306
652
176
346
417
633
37
518
764
329
888
193
3
142
782
783
818
952
6
790
337
416
606
960
494
883
64
462
293
44
902
172
795
237
52
581
175
454
928
585
574
240
795
729
927
127
848
841
473
504
777
854
37
137
341
648
754
909
505
70
514
140
123
741
749
982
350
198
700
997
338
192
910
851
884
205
49
17
417
518
774
417
169
235
545
918
890
527
22
367
48
955
510
954
544
689
874
897
912
332
769
604
845
5
578
934
183
374
675
311
943
498
572
781
290
284
443
596
19
164
582
619
853
314
906
363
61
573
182
30
125
44
653
462
116
588
520
667
551
393
682
969
300
52
596
438
903
187
878
46
257
345
808
723
424
569
103
74
843
238
862
381
53
403
950
78
933
98
843
392
86
807
662
523
709
111
857
78
26
292
3
891
470
492
479
513
337
283
641
69
82
617
204
782
532
468
925
751
511
237
783
202
422
372
417
86
656
86
327
340
712
42
646
444
8
789
148
264
138
927
614
718
804
717
521
731
111
509
295
904
829
917
79
688
544
314
178
15
2
199
883
561
565
934
609
231
313
119
43
70
373
198
233
141
52
642
168
44
546
918
6
461
400
806
396
831
157
228
509
152
514
99
928
245
737
881
962
58
689
190
158
467
619
987
153
92
869
333
27
340
264
627
18
600
769
520
394
216
163
4
707
892
738
206
803
120
501
544
205
774
821
209
375
46
426
144
17
68
478
198
61
32
997
264
144
22
273
891
490
17
803
397
782
960
609
200
245
326
985
317
629
922
14
332
298
513
993
807
893
754
744
365
994
397
388
139
970
365
195
556
990
284
205
281
744
927
50
16
31
352
634
367
36
692
750
865
511
521
283
328
426
66
744
510
901
896
861
425
927
818
251
645
178
871
893
139
249
110
19
995
376
566
617
258
324
860
369
418
805
343
385
626
675
713
38
285
559
483
202
12
519
131
454
120
182
822
611
225
352
503
797
187
978
818
480
896
762
323
100
450
450
230
245
663
294
816
549
925
673
614
463
599
354
292
326
609
540
466
741
952
633
343
971
981
292
860
593
795
433
856
273
792
760
974
825
594
548
889
28
306
152
552
606
101
568
229
378
343
93
118
761
449
154
739
635
810
283
603
342
689
377
383
495
861
959
5
196
906
945
987
928
346
464
639
416
880
914
985
974
694
498
430
791
792
726
992
749
674
138
514
358
56
728
484
247
314
549
578
48
290
360
336
748
32
139
342
231
610
732
551
838
936
688
943
42
848
597
49
771
32
896
768
115
577
181
263
704
259
747
496
562
268
887
723
951
771
516
799
444
619
625
616
396
365
914
148
999
970
228
523
344
793
798
52
179
230
31
568
665
152
482
125
537
568
692
290
283
13
722
417
16
464
221
170
804
373
532
441
232
290
92
349
926
61
615
627
455
991
392
23
151
25
916
813
670
682
758
76
531
619
67
91
450
832
992
3
772
585
693
967
951
687
597
154
47
970
91
261
474
558
62
192
871
332
90
42
723
108
547
489
247
543
293
559
580
987
754
909
828
30
937
512
708
540
508
153
750
276
399
801
520
755
293
33
718
92
618
477
238
484
656
898
414
334
554
127
107
797
813
437
994
41
647
549
917
701
640
860
280
532
485
250
191
128
833
734
525
824
821
405
451
222
151
703
66
647
516
673
15
255
686
411
628
934
577
20
186
976
166
791
351
170
576
451
680
844
870
503
801
488
361
97
145
337
190
447
518
525
818
155
965
621
304
902
461
222
149
321
432
215
856
722
812
571
515
495
275
885
373
714
758
628
490
680
725
975
394
676
614
975
402
964
789
512
173
585
840
871
542
499
825
416
672
350
239
714
498
507
324
521
560
332
447
185
653
711
110
533
371
471
858
755
24
649
520
134
471
715
707
479
483
365
917
279
503
22
232
565
904
66
794
636
635
555
121
332
976
390
263
581
911
55
755
717
473
717
130
512
537
319
526
87
58
652
828
333
144
966
636
569
241
320
488
179
451
452
852
974
410
564
773
325
317
174
893
194
56
991
412
508
662
772
142
793
416
890
218
638
751
104
917
561
280
900
741
32
262
696
997
661
621
654
9
837
862
90
133
836
443
398
321
49
760
440
58
493
933
578
969
368
491
433
225
965
576
681
553
952
67
623
796
273
700
761
903
515
708
431
414
919
843
41
309
996
387
507
628
144
789
996
189
203
661
909
578
111
133
509
647
695
955
660
206
49
519
809
16
753
541
580
681
200
945
290
153
310
281
134
952
155
937
860
34
688
167
733
996
651
677
797
792
252
508
53
169
103
440
983
870
142
563
540
778
109
319
628
40
324
810
333
316
972
504
464
202
88
282
578
744
634
481
230
167
324
249
93
299
987
656
162
881
531
288
400
49
329
857
881
852
861
682
75
585
132
201
907
855
793
909
945
999
130
31
113
271
795
323
768
200
959
636
529
544
520
413
89
319
859
355
51
562
443
66
105
429
875
609
738
7
36
631
416
116
349
147
457
372
130
430
889
449
175
920
371
303
966
668
397
294
142
460
276
539
269
836
85
892
860
566
761
500
798
418
650
669
316
439
268
508
501
834
901
525
903
921
472
151
366
118
193
953
637
159
313
753
446
795
460
364
45
205
930
237
168
548
364
660
68
620
97
623
819
911
313
446
704
305
929
820
155
294
928
476
808
355
958
186
579
235
23
696
445
188
810
179
53
451
359
268
411
960
555
101
130
360
457
516
11
828
410
131
537
373
118
881
520
132
680
448
578
614
530
798
281
747
816
397
941
552
205
976
413
82
790
187
221
501
316
77
773
900
996
823
853
456
699
970
25
208
886
42
148
892
698
573
681
74
164
331
511
316
641
477
116
897
279
589
731
521
996
362
253
253
352
988
552
872
789
754
577
112
992
553
493
547
47
976
687
233
740
960
260
415
633
255
21
858
165
656
25
120
160
709
350
818
471
630
610
365
59
886
144
909
758
44
823
820
764
490
575
916
747
572
497
476
282
67
961
242
142
424
769
161
450
610
904
406
173
885
258
952
553
326
917
314
811
989
300
580
503
183
36
905
303
272
721
822
675
514
480
866
924
307
213
367
619
783
769
298
251
744
617
15
634
717
49
80
515
234
972
839
919
861
965
522
258
772
868
689
523
574
539
644
422
938
835
183
788
310
219
300
398
302
107
572
694
481
140
58
640
921
959
315
876
627
893
745
615
677
701
820
702
933
613
342
566
670
126
795
328
946
899
358
811
453
896
615
731
533
540
973
622
883
794
779
236
168
40
517
456
876
116
229
807
959
786
624
166
924
853
231
992
755
449
738
275
526
246
281
555
292
47
726
804
816
331
562
816
402
221
463
291
499
874
642
811
828
541
766
568
115
634
581
74
782
419
352
520
830
655
601
866
919
37
722
887
699
425
238
47
427
272
346
314
899
163
140
383
895
430
81
768
119
356
256
633
141
581
906
505
731
835
70
165
147
63
777
870
517
644
417
127
623
592
395
736
128
537
443
929
419
102
856
842
558
831
800
150
718
345
631
50
875
939
168
647
674
763
473
306
813
903
600
973
687
959
596
65
522
667
227
917
712
685
609
794
642
798
424
294
792
833
580
630
29
518
847
43
7
429
790
550
325
591
307
33
628
545
755
189
555
555
737
433
685
61
525
419
796
544
298
902
1000
235
342
619
407
257
34
433
114
53
904
465
127
478
60
557
652
22
218
961
453
954
166
209
42
224
172
640
443
596
753
565
96
303
509
123
793
992
183
39
653
745
842
690
392
268
562
495
616
543
457
712
99
89
624
523
688
218
325
683
567
870
25
626
615
442
190
451
417
64
847
680
139
239
986
467
101
404
430
437
812
767
849
584
605
687
821
584
427
340
701
366
29
239
184
77
574
96
102
731
26
396
501
587
822
296
568
917
94
571
956
305
109
838
205
600
202
837
755
10
334
682
579
422
939
916
166
836
449
631
366
998
65
749
175
875
198
35
193
705
163
796
341
425
788
310
411
688
415
280
758
124
984
74
337
1
548
764
960
369
796
15
536
447
551
263
727
786
490
747
674
875
710
499
48
450
516
648
744
716
474
78
417
594
688
457
156
372
296
405
756
467
662
479
291
885
273
536
192
380
983
346
461
962
840
137
430
646
610
360
495
754
839
763
844
21
479
523
764
169
490
806
113
598
449
849
364
578
68
469
465
192
326
827
419
448
627
87
646
928
105
695
149
517
819
543
729
205
201
304
355
538
454
66
440
43
258
142
772
193
592
40
27
194
332
179
79
963
987
964
71
72
234
211
141
777
940
650
534
270
364
520
657
543
957
566
562
848
560
851
156
900
271
947
588
134
938
299
711
915
790
462
782
924
814
388
900
95
613
416
686
967
742
606
113
529
11
577
1000
86
156
828
869
360
823
739
656
239
478
603
916
928
492
645
543
385
246
182
44
748
540
477
363
610
629
224
55
827
343
400
977
972
792
677
963
706
809
53
999
448
880
594
68
45
194
749
7
229
211
94
155
224
411
418
730
808
939
312
85
909
748
713
21
443
359
69
298
763
986
478
366
978
3
134
656
229
228
913
207
288
838
446
454
547
453
8
368
425
831
467
906
625
667
265
896
745
937
286
468
952
581
665
592
528
769
82
403
452
813
430
85
777
949
282
775
911
220
981
275
568
627
769
758
199
978
691
473
847
116
64
162
262
493
304
22
410
877
356
886
453
558
330
362
549
890
75
787
593
759
964
645
607
932
102
83
97
478
891
742
406
176
963
221
563
546
147
545
543
503
80
88
905
669
80
900
865
160
485
32
887
883
913
826
234
770
114
374
496
268
196
172
552
482
290
825
75
907
454
709
292
353
474
403
281
710
417
494
77
669
118
943
85
513
601
879
605
193
627
81
806
455
499
577
402
482
741
113
690
267
48
653
529
873
222
637
563
795
927
473
394
891
500
437
799
528
241
834
148
653
667
427
386
457
796
574
103
443
824
810
712
985
361
79
604
333
651
128
242
765
559
935
382
513
675
984
478
993
312
413
553
29
835
687
542
325
72
398
954
154
374
675
1
147
396
133
167
411
254
106
431
250
728
701
911
65
393
604
985
142
913
404
456
152
58
100
661
233
595
838
908
198
94
977
463
26
325
976
875
129
448
735
338
128
133
4
137
78
162
248
820
232
243
725
419
385
585
545
813
911
356
245
389
612
981
956
136
778
899
971
103
184
332
582
33
247
404
209
387
796
196
755
559
357
444
758
539
875
994
567
323
372
743
861
243
521
132
964
913
717
694
95
131
104
894
21
882
953
95
543
526
288
432
548
252
42
40
244
911
724
531
483
40
967
980
626
494
473
192
898
579
505
626
272
819
634
545
95
220
613
134
206
60
436
522
491
817
802
55
922
266
231
83
889
72
792
104
664
61
854
440
668
523
776
612
378
649
876
927
976
406
78
303
607
45
593
698
604
906
315
746
203
860
727
155
765
86
818
358
568
464
879
328
789
418
684
132
267
622
560
41
9
462
98
645
712
317
255
735
677
410
704
262
704
30
426
938
660
278
973
409
92
670
800
438
921
16
681
657
285
509
419
750
361
272
277
751
479
264
12
706
288
437
864
24
838
128
56
281
247
779
441
265
828
598
218
535
626
628
521
299
624
673
570
989
937
327
507
551
350
283
622
653
827
248
863
968
938
68
800
255
845
229
888
960
313
519
556
43
775
180
139
934
121
380
58
842
389
706
548
904
967
545
871
204
699
527
140
830
68
925
633
365
585
670
441
785
63
350
736
871
422
734
78
807
992
703
473
784
357
512
280
41
342
300
410
529
3
573
804
639
102
845
675
826
10
747
984
894
294
964
233
786
790
381
33
887
214
439
994
71
373
365
383
939
624
436
150
914
314
986
620
413
360
443
560
932
40
193
705
195
676
539
965
678
355
917
587
42
19
627
1
67
29
528
734
433
979
713
79
538
735
386
346
485
16
591
734
385
907
676
843
358
45
645
877
432
444
654
417
155
671
605
379
636
186
876
218
771
382
370
729
796
440
228
896
896
770
865
572
438
792
398
645
280
55
359
408
704
255
823
312
308
873
560
842
981
120
481
663
556
238
114
454
582
748
358
208
147
144
569
201
145
188
445
650
969
742
425
653
132
570
582
460
928
263
740
350
966
923
949
598
273
275
680
707
139
722
502
722
213
597
515
672
435
882
115
290
835
696
306
341
408
373
670
847
768
740
335
300
592
249
813
615
491
167
502
791
859
83
677
335
959
65
584
616
154
284
795
303
521
290
346
429
704
261
953
720
969
158
424
530
835
129
652
502
541
505
36
804
954
485
163
655
924
73
968
998
931
986
489
56
833
941
597
181
847
567
640
61
738
634
810
995
272
221
770
884
924
381
512
674
212
336
479
99
66
891
186
887
592
779
426
674
523
271
24
515
562
401
985
884
208
485
362
501
866
847
660
135
642
332
674
915
456
694
504
515
838
381
110
446
720
914
440
694
803
57
37
831
187
539
646
636
280
351
119
934
524
333
100
499
75
579
656
506
969
668
700
128
545
711
114
536
377
669
533
141
260
789
461
544
446
489
428
216
901
200
950
372
767
395
910
44
294
45
629
308
679
455
827
352
983
774
624
485
33
742
772
786
645
881
470
819
794
104
194
802
54
250
168
304
7
985
278
486
476
716
178
26
876
338
607
166
965
701
534
459
998
776
321
548
256
557
708
782
434
450
959
145
834
368
292
755
262
159
806
531
495
263
731
858
378
470
846
912
918
318
675
817
44
616
90
211
369
720
903
839
192
780
287
859
277
616
588
1000
794
631
594
87
508
325
453
645
725
939
761
989
292
679
411
53
734
644
40
938
388
108
957
251
645
40
657
204
715
1
449
1
150
359
24
56
138
24
245
699
48
760
93
601
292
29
917
760
170
412
596
108
899
336
75
670
114
776
856
186
439
773
192
523
636
278
861
932
384
587
922
286
804
252
866
386
205
680
26
607
622
584
888
104
224
154
942
796
45
578
939
916
924
113
324
321
201
352
542
992
963
122
370
636
403
705
714
879
193
90
260
505
640
368
724
674
68
842
456
415
334
569
819
408
232
484
644
417
35
963
231
568
362
823
428
56
778
505
135
570
384
876
358
627
455
574
61
332
939
369
93
404
955
687
816
735
687
565
111
508
416
470
418
507
316
151
348
503
189
723
533
410
223
797
776
782
232
878
449
921
233
828
578
340
204
142
376
395
879
342
434
612
528
292
304
806
464
80
963
308
369
553
804
756
548
467
813
714
624
571
237
357
126
847
979
605
901
747
434
773
839
300
652
829
490
997
617
161
248
315
27
130
135
489
422
716
269
353
327
449
393
154
393
885
373
923
339
355
876
591
451
709
536
306
476
852
898
660
584
795
804
675
892
114
542
893
780
484
328
791
270
319
760
441
350
867
22
215
687
242
95
549
897
615
92
339
731
74
167
941
267
849
217
914
920
684
778
20
222
643
835
24
494
789
67
850
77
402
740
164
383
443
629
378
249
191
568
861
299
796
964
94
501
768
180
324
646
7
335
385
137
326
462
849
414
419
210
473
221
243
644
784
63
575
862
683
238
732
356
130
780
435
55
107
619
811
526
65
133
671
235
378
960
686
397
413
47
904
124
497
803
506
806
197
369
212
604
610
692
437
145
14
879
533
739
495
578
606
660
228
456
379
432
350
339
882
893
185
720
293
324
122
326
174
833
548
690
979
40
281
720
679
946
379
907
415
862
770
379
77
649
420
643
871
252
584
783
307
286
642
173
240
546
566
631
66
887
63
882
807
12
604
942
207
64
192
512
935
279
76
863
74
678
427
713
553
493
214
841
988
697
820
727
59
65
289
376
982
409
411
250
516
303
699
256
139
257
225
731
252
414
633
936
641
843
227
778
525
281
875
461
505
507
765
676
374
721
972
790
306
902
519
631
546
287
348
200
232
213
420
612
37
607
45
634
406
743
522
421
371
530
967
912
512
615
526
301
370
909
17
816
551
879
286
207
54
807
958
784
320
379
862
388
679
245
988
215
17
914
484
75
241
710
701
139
602
473
594
125
641
867
251
6
940
945
328
608
98
928
450
252
839
774
174
377
849
190
983
398
476
798
486
749
380
951
445
404
400
370
922
56
757
466
426
375
91
136
258
70
425
986
512
289
29
36
635
873
317
487
155
679
21
427
333
874
625
616
165
443
386
619
302
408
871
431
32
700
704
271
245
866
80
436
971
799
833
610
703
87
848
168
603
855
228
249
315
432
248
26
772
314
658
341
175
373
25
359
663
751
484
99
891
393
1000
44
548
72
471
257
659
442
58
315
31
76
883
874
617
203
381
976
133
199
296
424
438
956
604
662
90
83
692
259
446
722
69
711
988
428
739
779
757
3
716
550
272
495
680
67
557
159
817
643
598
494
198
525
555
531
170
948
64
497
413
935
975
695
384
55
112
462
219
650
400
488
991
856
42
183
258
955
584
945
640
806
247
806
885
127
443
119
200
779
85
745
766
731
587
878
72
562
103
128
933
341
693
623
97
754
296
87
847
372
716
54
190
991
682
798
508
944
318
742
798
473
458
737
445
76
423
932
291
910
435
592
465
639
887
57
146
363
531
838
115
47
158
947
567
907
693
228
554
811
195
464
195
879
307
186
72
648
837
805
949
814
761
104
215
323
283
273
855
105
851
65
280
488
819
381
304
541
249
82
992
94
602
658
31
341
888
404
835
356
375
277
507
151
730
761
519
357
706
646
85
900
814
142
344
885
845
531
158
914
933
262
88
725
458
990
847
231
141
73
781
946
598
460
610
575
696
821
559
556
235
451
749
551
551
511
222
603
150
526
721
41
921
736
122
953
522
672
204
879
840
421
919
381
332
325
549
139
469
41
636
964
644
765
259
104
317
887
181
983
862
853
985
123
207
775
429
227
105
836
25
949
231
112
484
317
342
427
491
783
490
725
419
285
207
995
981
381
866
85
469
881
265
873
520
27
877
517
551
695
995
427
839
905
331
116
635
320
130
128
581
916
363
726
789
474
849
116
186
886
723
429
761
6
295
207
763
425
38
424
25
49
994
433
936
150
979
222
294
933
934
783
762
415
501
90
330
862
753
920
451
479
414
527
791
188
681
42
452
507
194
266
318
873
475
303
789
230
465
253
790
111
917
46
482
148
222
999
170
215
915
699
216
897
476
215
45
871
293
878
252
228
197
567
862
135
462
706
322
2
407
387
601
878
151
743
58
410
479
241
889
659
442
145
511
430
938
97
930
681
655
309
626
684
657
492
633
16
578
291
359
304
183
877
874
410
840
422
719
127
336
304
818
451
391
650
891
416
11
371
905
12
342
540
837
752
465
259
184
520
654
143
340
884
25
325
854
617
871
760
199
235
57
214
775
960
336
822
214
312
315
811
175
194
838
909
335
781
25
497
442
379
29
788
557
849
970
414
953
120
134
575
993
785
429
573
864
927
301
476
628
546
10
979
336
667
6
345
958
448
307
362
158
177
570
529
125
844
450
21
712
482
404
979
123
769
800
567
85
955
777
880
643
208
572
240
30
838
850
160
47
694
965
580
347
735
192
282
300
425
765
825
28
272
306
950
73
304
116
314
874
903
471
252
301
397
517
717
50
892
647
612
702
135
603
7
989
26
965
206
766
752
313
538
164
586
779
207
945
115
316
799
904
238
740
212
179
897
926
594
380
565
95
387
81
544
742
211
463
868
440
414
893
614
821
156
693
730
746
29
26
891
346
61
995
581
577
279
707
432
397
46
910
204
237
279
857
654
440
735
680
987
561
636
82
334
969
295
159
914
324
76
333
184
721
643
398
302
13
315
385
640
224
10
144
653
970
463
800
698
269
270
138
164
698
386
195
891
933
97
524
862
80
660
785
229
430
999
993
845
170
824
465
765
321
964
92
94
207
457
343
281
361
627
978
757
859
671
783
204
775
189
668
622
290
638
398
523
309
268
698
895
513
297
691
411
828
76
200
767
157
46
662
373
416
331
442
179
216
633
71
661
815
400
870
817
708
274
837
357
361
962
681
652
504
694
528
778
600
390
455
471
747
999
710
178
170
299
947
101
299
254
22
618
536
921
982
139
731
296
221
634
836
43
124
300
569
941
368
488
656
420
748
577
218
239
832
506
412
516
605
493
669
213
459
136
711
867
59
683
400
500
437
493
854
44
349
963
712
78
351
195
267
932
210
416
131
806
263
110
938
375
376
97
275
948
129
117
45
876
157
784
239
999
454
201
460
397
646
810
629
730
480
531
686
918
768
40
454
552
601
706
380
667
757
829
565
326
775
318
459
310
993
436
846
842
551
263
169
537
171
751
668
236
375
710
256
759
463
311
407
387
596
420
579
757
805
991
311
147
515
551
330
991
41
23
973
297
575
179
582
457
22
261
273
900
444
433
559
694
383
314
617
265
262
459
998
80
944
531
745
7
358
41
882
128
229
911
87
386
526
916
887
702
97
234
675
999
709
120
243
737
996
298
657
401
808
607
884
502
71
931
820
334
679
544
571
126
545
99
818
241
204
680
489
938
211
699
497
217
99
720
425
698
924
520
108
100
656
247
569
491
17
918
376
297
429
351
447
23
758
143
431
60
263
889
378
608
349
623
41
110
798
134
974
79
856
555
598
696
723
870
51
347
944
869
174
843
794
562
137
629
979
732
875
575
685
178
231
293
340
431
583
811
896
134
748
738
9
965
60
376
357
155
901
117
128
238
27
4
651
984
339
260
432
768
621
915
662
239
19
819
695
978
628
730
927
704
576
16
154
449
119
638
700
940
719
639
93
322
383
671
411
572
389
150
378
934
960
422
586
615
493
849
631
458
430
242
373
474
88
760
775
960
175
700
534
739
265
876
787
229
437
95
872
434
65
146
175
407
258
275
418
796
110
19
99
459
308
791
398
331
732
322
129
828
563
978
686
921
247
11
421
155
658
338
202
941
481
45
32
633
240
219
8
59
775
292
646
188
280
115
104
957
54
866
341
131
460
383
758
726
492
724
554
523
442
74
828
256
451
375
440
120
559
970
571
582
850
135
478
427
4
82
974
743
572
483
523
21
962
28
374
936
317
211
398
355
497
896
859
500
365
807
133
947
722
147
536
219
262
550
866
474
189
737
153
321
53
480
938
297
926
945
839
243
477
269
527
61
969
434
490
943
410
145
976
138
505
18
990
345
172
319
613
895
412
857
55
54
139
221
365
871
88
806
974
518
728
236
868
497
890
394
193
72
50
201
81
682
553
268
584
46
253
617
337
761
646
570
212
328
191
333
51
248
91
352
184
620
211
190
902
744
838
248
976
825
540
414
577
532
579
388
408
205
340
637
745
336
779
980
647
518
619
375
117
824
740
451
303
145
222
219
938
326
998
615
38
465
498
788
330
289
866
48
279
58
105
275
834
745
761
925
747
872
885
541
536
512
277
582
751
711
565
648
372
548
289
739
898
370
277
930
338
402
747
731
107
195
546
644
297
647
164
756
962
467
574
628
979
104
345
64
591
757
176
888
231
469
240
835
929
210
273
660
515
11
153
258
46
619
105
731
315
326
483
441
137
672
309
336
883
904
448
495
751
58
852
294
619
796
900
610
586
524
639
18
649
540
221
225
611
262
209
910
852
842
347
2
646
950
702
234
974
270
882
476
32
154
740
662
914
265
199
846
716
759
159
591
128
311
493
632
389
249
897
197
387
173
172
608
175
84
771
477
552
963
781
291
348
517
31
213
243
797
863
683
156
59
809
492
488
184
679
433
47
719
415
108
612
169
855
779
951
433
980
24
8
690
752
796
551
712
708
769
264
367
193
193
635
338
443
227
893
166
148
298
510
847
714
415
615
596
193
172
47
840
457
603
848
117
573
922
74
182
404
825
706
135
963
793
11
214
941
88
73
861
257
861
961
488
657
737
687
841
272
309
616
936
945
568
775
758
842
513
62
768
559
203
957
277
947
151
529
423
439
330
879
256
112
248
562
782
990
273
674
977
481
892
213
368
812
680
192
165
999
785
652
628
130
739
306
976
551
705
836
64
681
14
840
828
810
473
802
651
819
316
356
462
873
933
871
778
860
457
181
848
951
747
303
556
982
767
530
342
955
186
709
425
862
515
956
382
839
102
799
631
483
470
564
347
116
918
2
447
132
95
776
166
627
916
239
933
569
64
638
499
961
776
212
721
896
590
154
94
863
915
500
291
64
384
62
982
162
62
420
771
566
803
105
299
270
121
934
130
439
726
953
940
59
694
273
668
426
865
840
253
187
614
34
550
910
940
66
256
37
534
284
657
426
894
52
294
612
676
94
584
428
825
955
13
342
776
299
449
226
706
112
503
683
117
108
414
498
313
855
142
349
46
765
614
162
782
271
233
73
177
254
824
841
157
674
799
65
986
467
678
439
333
457
693
190
940
476
654
829
635
396
310
751
261
411
800
562
957
889
377
710
150
660
493
689
298
886
274
498
383
272
13
913
148
851
607
863
29
847
579
499
850
848
869
750
61
509
711
729
91
1000
786
316
561
3
504
209
313
892
849
257
769
488
850
183
961
902
380
85
275
651
642
181
420
659
113
998
485
174
595
28
750
844
275
672
468
604
432
4
924
919
831
586
781
858
133
70
584
451
3
157
69
609
119
687
184
916
618
205
917
168
866
362
645
539
188
568
475
289
878
535
406
3
532
318
851
632
978
217
297
237
979
184
432
301
158
417
177
694
211
102
292
837
290
529
726
776
154
925
223
107
60
780
586
286
326
346
78
85
903
153
315
446
130
756
695
575
662
862
806
858
98
369
807
865
427
614
300
382
418
772
746
729
494
482
434
871
219
683
445
946
364
480
333
101
531
579
139
580
970
971
153
906
311
884
97
459
105
724
92
863
375
653
422
171
605
690
858
393
588
736
219
58
833
465
276
838
949
910
302
418
250
697
594
455
645
682
847
685
828
668
465
383
326
80
395
964
795
375
980
841
501
117
811
970
303
517
825
602
643
830
124
495
877
111
61
973
235
388
351
424
791
858
568
870
899
298
95
352
85
245
22
550
177
516
623
270
233
151
146
455
392
513
517
424
921
773
727
240
137
46
674
108
137
311
70
945
190
439
387
61
698
94
585
995
915
964
807
132
624
327
346
108
300
765
80
849
373
764
155
984
146
352
503
366
317
145
86
803
693
104
925
711
1000
307
427
364
741
625
394
350
190
786
398
252
901
607
927
235
164
447
56
932
272
4
183
995
293
129
17
491
904
548
940
132
76
562
821
823
818
466
650
391
884
816
459
134
366
1000
938
408
270
58
118
666
377
735
518
73
167
917
686
151
101
435
296
642
14
559
803
418
330
461
903
39
944
897
446
387
281
457
743
955
932
525
223
712
745
737
783
736
364
966
655
791
147
271
675
405
415
394
398
307
564
46
12
898
985
488
327
268
182
645
966
364
658
842
155
462
964
568
309
485
492
480
279
366
909
302
327
4
303
671
56
400
591
753
291
307
992
175
992
264
194
707
492
150
983
129
298
549
389
772
41
525
752
627
128
31
227
751
780
277
868
239
114
613
832
855
473
522
766
689
803
411
615
327
203
798
982
157
914
694
457
50
911
892
628
366
729
829
16
94
144
867
105
808
167
943
982
312
152
994
222
360
355
485
854
604
602
46
556
165
971
3
950
458
954
954
636
21
336
770
811
323
10
532
782
250
497
398
767
796
837
422
296
123
286
959
842
866
691
672
852
511
503
621
48
528
613
682
138
499
602
995
53
426
630
425
762
624
720
839
922
724
931
206
49
283
946
400
928
834
159
365
330
463
630
464
473
30
552
194
68
390
57
603
867
46
324
608
937
89
500
250
431
168
170
912
303
343
793
596
206
179
254
275
270
767
411
786
226
736
185
689
889
833
751
711
264
981
459
921
775
333
178
997
15
331
841
522
819
822
208
724
222
569
280
724
996
224
898
699
229
336
48
196
522
488
284
245
92
765
499
653
837
826
35
373
497
527
367
680
516
657
929
189
680
980
268
303
347
857
909
176
367
973
893
530
118
78
538
302
161
769
387
137
787
971
675
28
826
427
149
697
177
795
598
68
531
525
608
61
85
940
659
946
443
834
217
31
802
910
990
572
883
24
533
40
17
249
650
861
401
456
344
597
432
972
973
31
185
958
855
142
856
528
472
557
224
348
436
636
444
98
95
201
34
284
567
626
370
431
95
210
514
983
704
119
736
299
547
345
34
324
488
274
763
414
1000
51
581
570
747
40
928
823
649
147
34
662
598
865
182
334
190
908
480
108
819
970
908
749
773
802
724
245
614
402
32
1000
899
6
991
617
290
277
183
34
458
422
3
186
343
692
607
492
347
839
109
650
734
956
801
93
701
608
713
101
96
615
44
553
725
565
253
88
614
103
619
134
649
265
907
243
190
410
896
31
118
180
784
504
840
511
117
278
779
277
495
18
771
647
565
775
261
652
806
302
870
334
915
867
661
113
327
883
537
610
615
628
110
605
718
605
793
768
222
184
105
601
648
412
662
115
976
806
113
339
237
558
146
192
256
828
654
268
759
101
175
670
736
990
210
350
165
461
95
898
83
52
753
939
128
666
443
298
688
916
207
398
250
14
32
845
177
334
703
896
967
744
491
455
586
748
404
702
79
566
799
132
41
655
114
332
836
745
955
426
979
163
709
208
175
541
163
495
253
580
373
182
58
983
713
22
246
79
720
768
16
288
699
905
944
594
597
360
527
204
232
548
316
138
666
428
159
361
866
46
759
717
754
292
212
355
937
632
596
532
196
9
647
968
371
87
541
269
150
696
769
707
34
214
127
378
292
832
524
898
681
600
788
850
344
350
58
211
148
410
377
845
239
958
630
450
568
613
684
298
929
486
545
324
77
115
311
563
260
212
296
188
775
662
717
587
937
801
180
466
960
118
639
254
579
914
277
818
968
387
201
90
299
113
864
908
900
524
976
809
504
68
593
911
596
593
13
446
212
983
508
222
925
387
520
586
604
560
487
482
897
395
1
711
333
412
432
398
438
400
472
76
812
676
892
212
223
549
235
981
232
579
181
615
90
246
505
96
852
115
996
66
195
273
798
622
287
888
495
546
81
747
783
206
996
434
657
132
196
298
126
205
570
969
694
153
835
7
895
686
883
437
361
252
735
671
286
899
45
934
255
569
771
537
414
874
583
538
18
955
253
537
330
480
619
160
176
209
116
460
673
15
838
175
681
183
305
209
632
379
429
795
251
565
55
333
168
966
915
63
432
815
219
772
67
701
67
842
688
527
976
857
872
742
381
742
231
363
689
853
554
338
550
149
912
453
95
289
415
352
128
893
514
493
605
946
376
207
622
507
581
952
111
306
374
253
373
188
288
911
119
496
157
444
528
358
475
568
731
141
624
532
207
750
67
208
29
594
239
321
935
728
459
10
397
837
282
812
139
665
503
536
768
854
404
943
337
601
944
959
368
964
429
288
246
749
648
893
784
598
294
456
21
473
276
159
82
373
86
260
274
213
652
97
839
22
441
803
302
718
436
242
484
788
360
332
963
348
860
737
230
158
926
893
442
567
818
499
383
921
560
271
112
490
622
355
793
456
23
420
378
147
925
282
677
449
202
42
676
766
476
704
314
637
294
546
376
262
945
781
92
95
401
353
998
492
126
50
243
259
978
20
885
257
514
300
995
303
816
9
100
11
914
944
673
986
516
568
396
722
124
327
924
359
290
909
658
196
255
260
520
928
220
804
393
502
347
171
611
27
343
80
786
527
75
821
309
576
23
598
284
78
743
860
644
148
150
774
702
423
804
690
330
100
188
253
475
949
370
356
432
796
101
952
660
338
12
121
804
163
529
906
598
331
659
956
162
137
93
776
443
946
661
170
846
356
747
515
219
886
187
229
742
498
282
302
70
57
483
339
434
152
173
71
867
665
730
679
177
384
605
853
37
742
177
184
162
138
988
176
949
203
164
680
543
604
138
439
411
104
421
779
1000
375
859
997
963
708
580
639
137
768
253
112
722
531
503
806
86
881
998
642
798
160
611
251
164
721
312
622
740
518
78
341
556
601
18
897
711
528
990
988
297
379
520
978
708
122
734
456
745
281
542
692
808
181
779
897
521
963
159
919
226
275
476
24
582
226
735
546
242
886
202
26
897
725
596
55
133
782
110
200
506
610
569
142
229
788
252
565
976
815
894
946
989
888
813
19
582
591
13
803
389
486
892
28
543
474
908
243
72
303
175
422
221
278
973
444
247
252
980
866
481
223
463
68
83
876
538
175
543
730
108
582
697
580
849
537
908
551
483
345
294
414
186
388
500
906
981
407
274
111
440
203
513
34
909
892
98
853
769
393
437
476
515
515
241
189
642
514
260
475
871
459
449
632
64
487
507
227
758
463
746
161
908
998
539
266
646
139
434
889
82
409
500
66
646
784
191
266
785
744
102
920
689
35
299
767
621
644
602
703
924
685
84
297
465
156
493
832
887
741
319
684
966
195
298
51
136
192
488
403
203
556
5
92
21
162
345
142
917
416
850
172
992
672
60
426
147
226
790
549
737
176
629
810
281
127
213
712
369
431
868
31
847
255
434
583
710
167
228
744
950
317
772
269
116
369
595
584
513
557
63
982
36
519
650
80
938
774
976
448
545
136
53
926
433
808
924
997
12
439
421
31
688
51
479
441
41
721
751
717
160
559
10
210
552
541
386
323
921
197
424
231
505
863
74
282
750
621
474
775
810
629
104
461
98
335
479
626
438
619
847
607
932
479
443
591
412
318
317
50
633
647
795
352
557
117
464
810
797
241
928
500
709
131
505
143
155
501
653
707
923
165
675
50
6
821
255
216
915
66
760
884
605
597
558
377
214
700
779
534
839
224
878
133
753
557
836
1000
943
132
616
954
523
993
260
425
234
342
604
675
317
419
653
607
660
216
823
708
377
454
614
375
794
878
757
882
781
372
853
591
486
84
180
767
430
724
62
810
740
386
511
138
746
251
360
247
211
604
999
516
467
86
900
15
853
447
661
846
281
85
73
983
806
370
649
944
190
582
807
947
768
311
634
702
767
668
652
372
414
723
955
659
835
449
284
688
504
279
817
716
177
127
76
306
382
367
223
722
249
185
73
830
633
595
976
123
57
533
226
112
631
783
736
565
62
614
111
793
477
506
941
416
68
512
703
727
454
350
421
954
99
383
180
680
785
598
319
820
303
550
145
878
112
491
710
143
389
592
275
335
259
420
492
94
217
319
820
110
375
811
399
672
936
761
844
789
959
486
196
619
815
10
103
543
23
434
697
985
67
904
98
65
944
504
415
869
666
830
156
272
581
157
255
515
241
880
134
738
202
324
644
419
596
34
119
149
634
258
628
70
495
244
369
732
398
903
570
339
847
666
395
51
37
211
98
327
516
347
256
714
812
639
623
621
433
59
45
726
326
386
806
309
611
70
723
595
182
693
369
467
502
588
548
255
602
904
393
357
434
956
963
528
855
297
770
248
144
720
329
600
616
627
645
682
735
813
932
945
164
161
31
733
667
980
786
617
154
791
26
146
861
239
347
201
500
382
198
677
967
598
180
674
344
672
758
431
97
52
641
434
402
973
200
860
425
471
996
790
418
938
488
766
333
351
592
797
50
820
81
113
703
363
277
804
402
752
83
254
281
62
588
909
255
324
288
244
608
767
444
263
194
427
241
336
487
114
150
603
605
749
533
885
585
291
892
421
435
239
981
52
625
964
76
769
786
382
735
52
716
111
314
776
789
520
848
734
282
553
694
776
885
55
893
293
700
810
413
959
140
896
89
184
596
903
686
278
69
187
762
63
589
415
794
730
302
957
669
729
920
649
982
325
519
658
547
955
584
397
826
231
170
795
213
630
798
682
914
583
636
845
357
928
817
956
651
282
492
433
34
261
870
401
613
641
662
311
422
767
129
48
535
308
670
786
721
399
584
555
515
610
888
169
801
684
735
25
580
546
799
373
344
826
872
582
309
403
119
461
862
933
661
741
244
144
627
763
793
226
627
83
831
801
349
680
806
926
143
595
934
433
384
583
868
427
963
224
446
489
767
872
216
808
243
429
604
584
978
142
81
27
798
629
184
319
31
858
336
173
729
297
832
327
157
381
8
2
172
16
579
358
567
958
616
844
628
315
885
932
322
95
236
961
645
266
966
70
619
261
453
898
875
46
896
845
121
903
965
706
851
700
440
127
930
824
47
93
422
475
840
747
565
365
110
705
232
33
704
199
697
693
680
396
778
352
403
570
411
501
145
442
361
505
281
738
499
829
559
39
612
64
944
775
741
18
821
819
930
151
199
105
489
6
60
435
320
685
620
243
110
29
42
181
503
228
847
875
627
215
211
605
449
664
579
97
401
689
603
569
680
479
162
183
261
964
444
863
517
383
337
831
279
453
8
391
234
613
619
825
216
49
356
16
444
923
935
53
332
701
92
841
173
992
734
449
881
139
218
131
360
836
254
177
112
120
787
255
602
661
735
521
420
563
698
898
366
529
94
389
837
311
367
137
722
901
697
606
281
168
942
933
978
541
780
242
628
978
325
356
84
657
519
796
620
473
267
349
757
329
340
506
849
100
208
784
448
859
923
288
788
162
131
340
758
614
561
559
997
752
319
18
135
617
770
922
659
533
951
555
822
892
816
360
628
820
590
704
438
608
128
890
880
763
570
331
906
139
470
946
515
120
587
532
39
667
148
197
740
735
294
870
697
156
815
161
567
52
221
399
871
334
354
933
992
439
917
704
723
225
639
298
930
328
933
779
936
212
370
813
145
932
724
206
52
624
806
522
686
57
842
642
580
206
393
169
750
883
531
449
740
321
194
521
501
978
233
994
402
947
31
173
414
667
571
367
951
645
376
787
993
809
340
204
743
835
768
375
420
557
995
17
875
318
309
647
729
955
750
975
929
444
148
397
188
720
626
1
212
103
305
273
538
385
18
28
579
375
702
802
959
305
18
123
233
427
519
134
978
560
150
67
48
416
317
590
454
687
902
267
905
961
479
927
460
711
479
923
133
626
439
126
733
833
445
890
730
171
657
22
38
574
984
4
731
458
303
378
175
607
584
119
611
199
490
575
811
328
587
988
814
337
266
410
936
89
234
879
153
340
773
620
114
89
59
523
620
369
290
181
822
347
511
211
120
936
348
362
979
482
814
597
341
679
226
974
210
376
12
593
625
192
90
680
278
733
64
688
344
137
949
504
26
571
64
827
340
604
869
491
148
568
722
148
436
345
716
766
803
738
228
348
8
903
269
285
833
244
148
328
347
490
745
321
505
214
735
462
647
854
655
93
886
809
82
978
838
630
525
593
652
749
102
830
819
763
110
672
443
1
292
56
998
171
549
887
217
289
919
383
535
586
9
570
514
205
510
698
282
632
644
152
593
966
198
459
410
389
883
626
973
438
315
578
274
706
910
805
130
766
339
939
773
550
519
104
890
70
628
459
120
186
71
988
461
693
263
576
817
993
415
646
955
916
279
125
545
43
40
167
542
268
458
711
356
520
431
2
32
434
525
395
587
28
731
898
66
646
666
324
38
873
946
201
907
782
245
293
886
949
619
252
116
781
669
528
723
634
975
788
480
521
425
233
810
755
341
932
657
555
955
374
63
434
308
455
157
3
357
286
601
54
172
852
804
247
761
791
35
211
470
600
188
367
66
871
770
313
168
864
457
697
405
472
784
998
436
296
389
230
333
19
433
56
583
437
265
648
166
711
374
549
757
475
285
728
110
17
130
755
277
405
420
927
299
458
66
534
181
86
736
560
48
685
988
937
212
805
313
994
976
597
343
793
403
660
79
675
899
701
877
623
761
403
870
545
25
485
319
780
955
559
758
455
625
315
47
491
351
306
219
787
44
178
902
70
565
361
44
820
921
831
119
112
557
245
508
398
469
128
670
25
726
695
607
419
832
828
986
555
932
189
506
931
143
136
411
120
98
125
686
44
58
275
558
983
485
833
390
79
194
197
464
188
727
812
108
568
96
621
931
239
73
480
927
817
955
696
475
936
21
549
482
871
546
650
574
243
86
420
476
503
412
992
194
402
559
795
932
851
944
360
866
369
244
362
105
708
478
111
659
94
719
416
418
150
474
235
736
660
939
548
9
953
339
806
408
394
792
323
884
218
488
832
745
18
344
132
713
371
629
333
526
514
991
667
583
692
561
704
800
132
24
560
127
835
554
703
88
112
479
505
229
435
945
209
206
256
874
338
786
772
310
252
413
647
484
6
174
611
865
24
872
798
288
730
455
927
455
112
52
802
461
455
142
347
840
143
422
178
456
988
661
880
152
622
913
135
231
258
937
743
1000
604
595
27
937
586
487
117
593
519
772
560
576
30
745
970
176
838
550
27
91
295
347
293
219
726
994
44
83
589
642
880
553
188
708
363
77
619
826
341
522
667
527
709
655
446
947
720
765
551
440
682
926
152
237
890
664
614
729
568
759
239
227
258
211
251
362
366
779
106
640
75
989
739
328
128
715
357
816
803
987
27
575
88
160
116
676
521
379
789
560
640
611
761
85
291
907
634
152
952
201
839
98
523
849
958
378
257
403
60
831
998
907
506
682
369
567
648
270
820
577
300
839
717
516
196
926
922
104
687
186
792
797
115
924
49
609
712
954
783
270
780
132
526
506
483
2
899
760
315
442
858
544
113
996
991
861
706
124
610
422
253
96
847
188
589
382
328
421
767
558
250
580
857
230
265
77
151
984
388
709
950
65
581
224
449
431
166
469
131
178
698
848
914
362
809
761
296
734
695
797
21
410
624
747
968
679
22
751
827
62
280
836
623
383
600
717
177
472
815
883
697
103
212
943
110
908
648
136
357
413
640
293
111
852
463
128
226
886
98
655
896
114
716
507
508
870
280
392
927
769
837
865
28
529
144
507
770
483
260
490
965
11
977
319
412
449
264
270
790
142
401
941
636
910
290
564
914
781
731
466
698
461
625
73
193
877
122
977
858
844
652
203
496
912
728
15
970
900
936
155
25
69
412
339
615
907
822
252
184
748
412
427
724
747
251
178
806
49
271
718
940
521
763
858
6
593
239
645
352
332
539
480
969
100
105
832
413
561
482
536
851
696
829
312
799
712
4
751
7
724
387
86
350
128
704
148
288
899
320
460
336
22
930
557
620
515
202
909
281
380
217
375
144
72
59
457
60
339
917
162
49
945
244
284
100
531
402
697
692
17
408
801
159
433
557
900
634
598
424
833
909
302
541
703
361
777
602
319
225
247
228
338
805
756
781
27
782
197
392
882
148
398
226
927
443
127
435
869
21
63
111
885
153
570
345
553
238
848
164
918
764
918
958
956
846
722
300
424
194
671
667
168
538
858
505
906
304
569
158
459
963
63
708
142
641
344
714
236
889
325
943
577
690
868
942
399
325
664
472
293
408
112
258
101
32
984
521
535
174
261
776
869
376
821
599
92
865
263
553
519
841
362
268
577
646
598
574
36
616
685
559
962
140
556
656
722
512
512
642
436
811
504
812
675
40
275
455
327
911
182
566
656
571
825
473
860
657
98
610
628
39
95
410
967
912
328
536
697
561
522
292
463
86
585
378
503
733
7
227
424
106
433
739
570
349
334
521
1000
26
347
672
699
309
521
908
302
857
539
733
900
437
463
46
885
724
710
654
242
235
316
498
91
212
986
497
274
400
736
780
362
677
492
463
855
494
181
232
991
424
17
50
704
366
56
159
540
991
977
702
175
117
86
609
912
171
126
774
576
824
701
986
322
174
336
8
441
175
702
262
605
400
624
480
141
951
989
583
585
627
263
731
503
315
82
665
999
224
147
652
748
393
574
27
694
992
566
702
963
566
531
524
190
991
478
870
324
506
201
101
566
768
129
130
584
569
331
807
854
432
645
138
437
627
473
78
404
680
202
569
435
914
1000
112
557
728
307
420
324
806
105
21
50
549
373
229
23
972
447
604
925
125
288
218
262
608
291
818
440
944
746
959
733
90
510
494
561
185
5
781
140
42
138
216
536
79
845
732
171
73
162
294
918
739
768
299
657
515
278
764
621
723
250
737
747
261
335
848
50
516
53
385
633
479
608
583
19
781
487
564
367
283
183
798
800
313
114
728
795
876
116
25
999
406
128
460
214
938
878
346
697
716
171
1
225
111
752
228
299
503
856
399
451
276
123
831
670
275
343
96
669
650
315
425
914
382
932
378
731
763
962
137
537
638
734
994
431
575
505
222
519
665
741
117
492
892
874
46
46
470
142
452
518
975
302
987
50
535
685
995
57
656
814
658
696
226
590
458
208
837
909
768
217
54
951
772
504
677
725
125
889
330
467
39
341
789
479
757
12
277
644
796
456
571
466
279
373
722
476
464
782
93
252
666
874
307
257
609
232
397
140
624
971
82
356
244
309
545
789
173
181
855
776
806
313
520
242
488
916
308
974
334
22
7
193
242
374
246
837
726
282
495
281
260
47
281
729
393
976
80
1
369
714
572
282
445
350
378
355
364
74
759
717
154
340
454
491
579
756
599
235
234
796
945
907
440
438
504
58
326
25
646
823
430
857
262
882
365
464
587
981
746
379
269
913
778
228
512
338
328
646
522
212
948
383
144
372
471
780
505
966
582
622
948
920
824
54
351
3
537
664
530
875
687
558
890
717
334
863
429
334
754
510
595
546
135
918
203
288
778
648
182
435
703
768
366
276
887
510
842
201
735
632
862
94
193
633
731
503
943
716
830
197
247
212
664
763
962
708
70
450
151
961
427
856
358
829
47
713
279
463
648
657
708
357
791
389
33
641
38
959
170
177
198
232
377
950
469
420
132
220
526
553
705
689
77
591
861
454
123
295
465
695
542
866
62
688
437
614
487
537
236
833
41
489
379
947
432
591
780
197
394
603
372
824
315
99
403
642
707
339
336
30
602
397
465
368
593
469
857
618
437
136
428
755
309
490
26
688
39
543
818
867
943
479
969
647
843
92
687
689
311
773
187
117
715
121
873
459
982
930
656
941
975
856
683
740
569
334
866
399
421
593
505
705
794
383
663
778
36
934
106
904
799
824
328
863
771
732
739
136
584
102
295
955
41
404
936
115
818
920
466
488
695
674
339
395
389
200
693
993
951
699
221
391
373
342
264
885
288
23
414
582
902
504
607
995
137
767
245
515
690
690
509
455
193
504
5
40
635
423
445
504
966
57
621
310
920
786
614
891
753
102
413
387
122
239
140
372
898
862
820
602
175
427
279
446
2
318
791
145
776
963
644
421
551
552
367
557
927
42
981
900
126
462
130
308
33
467
265
719
493
304
951
473
538
113
638
631
763
321
755
640
723
984
383
499
817
900
513
351
697
726
640
928
222
156
759
471
263
2
824
114
284
863
461
971
300
602
731
283
492
439
361
414
390
292
200
905
428
848
129
784
233
153
794
326
151
797
181
937
19
606
465
205
956
161
904
119
27
847
571
519
687
516
645
937
822
207
446
817
744
592
536
838
588
726
107
915
426
632
895
528
811
622
721
761
695
66
746
597
498
504
326
200
334
905
469
833
437
354
666
477
434
210
978
12
549
829
727
542
719
958
225
525
414
508
529
689
141
457
380
510
979
454
629
790
382
438
386
892
831
20
233
154
745
579
506
720
128
26
914
770
685
676
68
510
633
502
619
693
224
914
376
370
263
501
879
917
262
471
799
815
844
111
734
973
568
485
119
837
781
112
156
942
878
604
533
657
545
113
456
828
266
241
711
452
217
473
405
194
843
214
441
773
731
267
64
890
473
218
698
599
27
615
325
135
535
67
407
131
418
943
699
393
499
86
532
423
223
416
422
984
974
720
152
209
182
9
335
869
324
182
560
181
702
64
831
911
718
218
183
842
751
566
812
887
727
138
176
583
324
447
840
48
18
895
630
890
360
48
523
134
217
452
318
528
515
457
440
121
159
380
684
172
497
598
660
656
410
705
11
209
150
772
900
210
513
50
913
269
792
276
140
800
633
160
357
610
664
851
502
534
889
259
303
936
958
229
724
810
251
659
660
109
397
80
244
162
189
535
249
607
818
69
514
109
564
650
54
200
786
807
924
550
810
592
876
677
148
151
467
946
139
846
830
819
993
922
187
430
25
75
709
278
740
747
189
205
129
345
945
908
153
740
420
262
309
614
764
337
4
907
148
832
351
271
980
84
551
269
759
771
819
1
332
149
740
984
39
108
993
377
349
341
658
242
350
439
605
861
950
539
514
944
685
669
877
98
771
17
895
357
703
38
736
933
809
201
143
341
409
76
27
702
120
228
16
115
186
607
462
261
547
531
978
660
490
475
902
685
904
912
235
129
846
186
819
964
864
376
512
10
580
487
51
365
270
611
256
649
299
110
39
532
665
672
725
717
133
651
733
32
644
311
596
117
500
619
339
542
378
965
467
108
716
689
737
958
962
545
707
360
450
772
398
852
866
961
3
658
82
843
729
302
385
599
26
234
435
10
612
371
630
375
330
674
65
372
201
264
72
44
218
181
343
437
736
288
94
312
887
130
3
392
594
983
703
511
185
808
991
749
689
159
831
688
326
191
204
755
924
878
606
907
848
516
820
37
767
811
308
574
116
682
165
931
712
953
294
626
141
707
106
380
357
752
996
148
705
726
395
288
471
293
108
400
585
557
485
960
811
50
357
207
817
61
101
585
335
485
446
225
866
929
822
396
619
563
900
49
190
314
924
163
241
190
396
764
566
302
822
539
433
266
212
588
190
342
761
71
851
162
414
574
787
62
336
995
101
997
337
900
554
137
548
99
551
684
647
303
29
240
646
386
952
705
388
592
833
763
234
394
291
568
224
577
805
889
157
757
970
463
88
417
477
634
66
692
167
49
536
821
48
276
947
110
361
241
544
109
248
49
740
224
806
205
511
505
190
230
20
373
221
205
518
86
767
973
733
412
444
404
836
176
902
922
708
407
882
242
560
634
403
137
979
500
685
131
9
785
747
727
802
758
537
832
245
671
288
57
417
483
818
551
815
949
115
929
454
819
94
626
379
542
555
915
977
890
199
967
454
240
148
428
339
45
526
588
9
672
745
965
892
778
217
14
838
250
755
89
226
134
976
124
257
24
815
920
278
848
512
102
594
785
466
526
438
70
659
761
519
136
237
565
447
190
505
176
439
693
944
998
209
163
911
366
314
368
261
558
505
475
843
376
547
56
315
191
444
807
34
520
900
170
822
717
567
932
684
237
634
896
118
403
162
541
397
207
246
357
623
402
998
484
489
11
265
244
894
172
405
984
125
358
627
187
997
201
431
758
313
566
941
498
797
595
516
473
341
330
328
858
984
457
181
963
828
115
646
954
62
676
568
918
4
301
657
652
243
264
939
439
422
683
491
648
338
218
956
638
91
129
524
544
859
747
536
110
249
49
552
209
528
855
783
834
347
791
133
307
808
506
233
703
640
799
571
780
305
857
764
949
425
765
884
644
452
928
27
548
617
764
296
243
852
919
864
837
259
105
442
419
45
879
76
870
226
395
235
243
205
690
39
924
458
82
620
634
564
526
828
529
818
172
891
215
69
447
432
335
687
526
568
450
850
101
752
72
668
281
993
570
335
72
587
435
265
734
707
67
843
563
798
257
80
282
289
889
717
783
538
552
315
259
234
504
10
55
104
484
823
812
20
503
746
610
489
434
129
277
988
72
456
429
385
823
725
475
930
761
427
165
563
17
461
168
480
55
211
666
776
266
447
760
753
861
352
497
627
37
75
774
413
112
971
704
200
880
912
314
659
127
116
223
693
790
629
509
122
763
98
444
959
136
916
188
621
990
398
638
865
932
486
909
847
89
442
640
580
500
478
614
401
671
138
174
762
259
845
713
939
882
912
281
458
849
577
122
284
330
788
330
838
33
18
999
95
211
143
73
498
893
19
865
751
149
272
308
485
694
844
646
488
172
508
251
788
699
545
306
79
438
536
812
827
809
761
64
996
117
442
942
554
833
191
654
46
635
467
434
950
818
670
665
832
46
863
649
697
958
995
693
234
643
654
31
758
242
552
806
753
572
995
186
989
356
309
485
306
257
98
582
105
981
9
645
125
788
795
895
616
66
437
136
249
842
9
71
456
964
351
964
781
803
575
68
414
540
439
807
408
300
746
211
773
839
507
663
950
667
219
808
419
575
506
672
829
579
822
252
990
331
298
338
752
649
78
264
704
895
950
450
868
316
602
565
266
355
479
160
720
210
152
239
405
420
762
803
821
370
233
174
277
247
63
78
946
779
436
448
69
619
198
207
663
558
107
555
837
840
889
639
411
390
962
116
783
726
237
591
30
764
565
720
888
632
827
42
764
160
538
55
884
915
302
221
419
350
24
54
377
336
242
108
730
96
818
762
881
463
764
822
666
447
239
800
50
572
124
312
853
12
408
889
234
202
948
807
803
674
913
406
224
558
403
565
184
270
576
133
704
696
247
85
607
404
637
298
680
456
542
530
837
58
456
93
229
874
200
844
530
420
630
763
249
788
615
521
397
445
156
300
1
63
928
90
606
653
294
502
148
820
70
592
79
959
793
629
954
408
498
259
771
601
673
225
331
142
395
864
987
129
533
155
365
386
909
668
609
434
933
779
936
494
530
843
483
942
651
11
769
897
36
938
431
248
482
199
766
162
131
592
234
276
537
416
575
198
637
548
481
936
743
797
974
441
930
555
602
144
334
898
492
347
840
733
8
201
855
941
605
39
390
962
900
659
229
617
693
577
910
555
380
768
550
565
850
338
738
623
146
729
4
961
111
159
876
321
340
534
652
832
20
213
537
544
337
999
304
14
280
592
723
698
38
564
91
190
175
693
162
513
260
422
229
331
833
353
796
712
905
985
739
509
82
380
950
776
657
684
397
25
974
239
155
640
950
77
850
17
609
680
57
272
940
900
346
162
477
402
734
975
510
34
569
645
356
904
296
881
219
387
655
676
775
636
372
11
241
600
790
874
602
690
766
31
440
518
460
852
916
324
40
557
883
221
280
795
300
699
804
470
522
779
723
517
159
945
559
669
43
971
153
926
805
528
257
564
507
588
957
752
972
602
302
820
72
301
621
724
309
348
96
935
280
390
681
816
263
831
953
212
474
884
321
491
864
24
350
970
775
283
773
979
746
688
880
386
238
737
90
788
573
990
972
2
295
300
436
986
257
652
418
335
508
504
461
219
279
320
274
870
738
736
829
483
748
855
192
402
72
178
936
350
574
69
887
237
204
628
286
846
522
315
839
167
719
970
116
565
256
612
956
704
506
399
660
642
640
199
964
144
793
588
976
994
179
474
986
109
769
667
25
120
932
736
554
343
633
282
319
164
131
651
202
598
554
871
484
632
238
288
524
365
289
82
303
291
304
195
851
164
47
435
451
464
360
430
322
957
772
427
969
741
796
196
232
209
599
869
326
383
443
327
704
186
521
854
297
7
419
650
894
491
721
558
817
910
540
316
31
207
110
850
779
620
932
737
833
416
545
290
8
100
542
249
535
697
593
728
889
576
33
688
276
556
541
815
3
11
422
493
200
665
998
729
34
220
627
137
693
910
122
298
347
980
523
175
470
563
334
794
999
239
452
728
118
765
426
14
13
695
407
866
799
809
850
868
132
919
809
730
100
150
572
289
884
713
170
207
85
287
914
161
180
88
108
424
414
817
388
830
231
336
128
72
42
687
195
739
612
905
906
697
984
313
752
483
683
727
3
859
418
240
707
210
50
468
722
4
191
43
168
747
356
655
990
95
508
270
486
746
851
618
748
921
358
203
273
608
873
169
912
761
496
350
274
652
614
23
226
291
945
687
40
750
810
238
288
106
869
313
634
806
645
621
18
55
686
908
731
50
626
413
271
634
300
616
982
919
60
181
189
719
32
279
349
572
904
4
17
166
263
963
124
824
23
82
849
294
967
164
980
598
881
591
70
526
167
6
256
289
40
903
124
247
544
305
353
71
111
544
322
704
590
151
840
513
994
371
804
752
914
50
769
465
525
809
128
573
197
386
621
129
327
729
788
642
578
475
407
420
685
486
868
432
637
664
706
217
653
234
738
353
10
367
385
6
451
826
21
640
275
735
499
69
721
606
146
497
656
973
818
954
632
73
187
655
568
115
635
685
331
447
960
315
493
295
550
142
3
589
565
427
473
12
375
776
168
683
730
391
643
766
920
652
540
27
669
562
161
281
450
152
855
400
623
425
780
227
489
132
189
434
922
676
452
237
183
302
636
673
281
541
210
282
337
457
186
825
287
251
541
572
584
867
529
343
650
39
61
128
639
19
668
690
500
558
832
783
128
352
443
535
146
157
920
658
485
380
976
599
932
473
330
167
324
400
939
244
576
908
392
329
290
544
43
217
748
211
63
921
817
48
741
502
503
647
759
603
447
106
855
942
638
432
431
802
744
724
379
708
800
152
352
125
911
138
109
941
237
372
10
227
763
951
447
330
492
226
518
43
479
733
7
97
868
377
424
422
534
436
387
30
698
159
743
449
988
173
561
961
931
962
13
876
187
844
490
467
249
387
599
403
280
887
325
611
979
85
932
405
956
35
45
205
733
781
936
463
316
588
871
807
951
727
317
848
389
262
792
433
328
482
194
978
416
608
600
555
548
270
354
477
821
95
445
5
341
163
117
507
379
256
752
229
78
951
921
661
508
338
6
760
32
777
184
360
521
102
551
404
579
998
932
568
693
553
802
449
406
786
242
542
547
286
905
997
238
380
355
374
921
945
541
737
215
978
201
120
304
6
919
649
897
521
89
817
118
179
708
779
907
172
601
814
488
879
578
315
676
959
925
870
19
143
679
901
627
414
445
240
970
567
10
311
339
480
237
874
32
356
925
921
421
422
238
326
680
213
460
378
661
852
700
532
877
112
398
140
796
52
659
56
704
156
207
18
775
78
870
486
503
648
484
535
812
479
515
636
266
940
496
912
216
305
695
576
319
122
974
692
190
276
854
626
229
876
703
123
40
759
521
771
747
554
204
23
527
866
629
535
138
46
389
859
614
341
499
225
225
139
397
335
105
98
155
118
216
656
528
151
454
128
67
113
927
67
453
353
263
480
83
63
195
136
177
447
881
330
440
448
239
1000
717
857
563
128
958
101
733
754
944
315
921
222
178
105
591
632
417
151
17
995
179
120
701
159
837
461
324
342
505
864
577
359
587
856
675
332
98
369
639
796
966
867
395
666
545
389
744
789
889
98
294
130
574
480
11
807
142
672
657
493
383
834
369
840
432
286
696
562
369
104
54
626
619
596
712
310
490
826
293
173
693
283
965
420
81
21
857
968
72
604
85
210
482
732
190
386
604
142
644
933
443
843
406
85
110
322
999
541
224
989
802
10
209
87
583
614
434
11
585
909
770
946
857
770
113
440
237
903
423
167
793
247
472
586
635
323
811
398
3
635
497
852
784
684
696
714
887
997
808
562
519
28
845
30
216
497
667
916
606
13
981
798
298
96
783
450
945
309
174
383
28
515
373
999
850
328
789
591
5
438
115
99
164
858
92
842
991
456
457
596
501
483
52
604
621
576
40
615
379
690
812
807
589
620
92
72
186
761
509
421
181
355
224
180
268
995
880
882
882
796
937
816
316
273
564
392
141
729
953
580
252
983
509
66
126
100
762
908
410
915
440
108
308
657
588
676
453
715
970
906
499
263
909
325
444
925
688
329
812
722
351
870
80
256
871
658
248
703
985
328
835
270
71
340
435
465
968
814
538
506
97
659
502
403
704
261
467
589
498
901
954
121
573
896
721
18
273
832
276
533
406
869
590
237
90
645
758
322
950
517
558
666
470
561
816
49
858
279
189
852
574
254
73
597
450
510
942
717
693
542
66
587
208
677
526
804
712
317
568
639
531
601
77
984
888
698
851
621
169
28
592
833
362
836
374
294
620
316
873
351
201
765
701
867
4
784
591
26
20
709
36
318
445
402
270
93
329
424
400
127
728
686
168
241
226
270
948
713
399
933
448
753
834
620
723
59
94
217
757
20
217
562
223
907
518
553
868
840
386
142
239
907
790
485
460
470
863
645
151
657
348
526
950
892
798
719
598
588
726
75
567
104
787
73
659
700
499
921
42
170
932
940
362
76
571
445
391
232
511
862
200
107
937
416
209
554
619
387
37
704
112
747
861
711
128
863
677
413
626
617
860
705
887
762
711
272
499
817
349
77
80
664
718
17
945
15
421
963
303
620
61
879
372
736
709
241
600
528
690
965
804
199
44
529
540
648
255
904
175
199
23
561
250
442
88
739
502
803
120
503
66
989
630
520
290
538
284
202
401
733
834
607
600
537
160
125
358
475
879
909
399
275
973
396
725
395
486
853
29
686
812
80
660
825
74
139
543
331
321
969
488
983
120
379
688
47
360
631
456
271
137
706
33
943
187
253
910
892
773
644
692
143
699
886
478
909
800
848
245
213
822
12
493
895
202
113
431
119
742
802
432
926
801
722
454
544
27
800
925
917
919
194
436
47
335
730
544
493
559
826
475
866
331
956
820
940
61
97
263
391
660
218
880
370
170
856
144
371
725
423
412
977
19
592
697
837
737
155
40
582
994
625
588
779
68
456
112
954
985
200
651
128
130
106
603
831
538
227
426
135
47
81
321
563
473
453
160
767
445
624
539
727
213
263
471
961
217
385
339
58
429
971
687
792
811
282
874
792
536
806
191
392
244
543
185
921
529
648
740
69
232
201
96
507
316
462
760
13
37
555
484
751
533
915
662
278
125
347
10
187
530
883
867
792
898
741
882
565
746
562
43
314
947
582
106
107
251
505
170
698
881
805
576
695
474
270
178
130
523
14
113
638
335
672
221
509
319
106
430
505
528
149
289
968
29
503
888
352
137
526
417
464
339
202
299
640
256
274
738
278
253
272
330
228
899
991
175
682
695
591
409
898
125
211
927
374
745
948
573
896
743
522
44
47
876
105
459
54
144
890
970
546
954
674
558
349
994
271
132
223
721
974
709
98
182
164
680
111
764
336
622
699
527
847
221
723
86
534
714
195
466
652
70
841
932
333
577
275
465
282
90
248
432
373
842
957
521
991
628
729
975
51
572
411
431
363
7
912
571
46
36
117
162
187
73
416
263
278
39
827
369
934
796
843
436
247
998
731
590
853
883
636
503
256
771
174
544
811
218
864
718
98
641
724
961
569
191
166
463
509
896
160
30
134
741
640
990
317
650
888
750
93
705
602
119
80
471
927
123
477
503
272
80
963
579
840
217
89
9
880
156
501
137
30
897
924
302
451
105
832
163
224
25
607
390
362
461
55
177
334
89
246
105
601
758
247
366
91
6
164
182
923
798
938
945
838
618
813
606
440
480
12
173
242
339
843
234
554
909
785
115
256
154
865
923
36
659
324
500
147
604
97
741
970
486
696
335
585
906
574
367
63
675
378
190
757
143
61
411
714
220
920
715
115
428
493
816
587
999
976
112
107
938
297
783
28
855
698
674
196
964
607
168
665
587
580
918
928
812
818
147
182
49
30
723
749
500
879
205
529
923
204
680
606
485
251
546
87
706
750
600
906
157
435
457
694
686
426
396
337
203
318
474
787
99
353
937
186
892
493
16
279
139
810
446
975
723
763
676
444
670
530
510
877
532
465
977
830
8
493
194
869
200
318
590
928
999
564
524
159
474
629
662
499
430
151
549
92
308
689
985
561
608
733
180
642
611
158
37
705
66
624
125
669
178
58
520
40
780
454
429
963
108
892
681
794
508
700
682
789
209
53
826
118
948
253
801
132
247
346
576
995
393
813
405
235
438
670
380
748
102
869
475
178
812
336
402
756
698
281
332
408
618
154
353
115
797
214
775
920
998
191
539
750
558
358
227
84
789
16
432
521
926
753
895
740
59
84
38
153
833
38
959
317
522
255
763
444
693
290
245
816
295
468
620
129
790
858
482
750
340
140
503
918
412
740
95
164
612
674
167
602
91
453
962
263
71
197
101
831
566
550
893
325
518
483
381
277
575
639
703
573
922
632
208
275
88
485
195
277
150
474
176
546
492
874
212
961
508
424
139
593
690
642
506
700
172
845
219
457
1
366
903
400
415
674
916
491
467
792
193
231
920
173
244
729
804
640
328
585
602
256
986
389
60
736
3
400
912
567
752
537
910
402
784
258
304
969
516
639
705
124
431
624
348
925
3
510
698
136
327
523
693
324
229
559
585
277
732
595
401
303
215
192
465
807
191
469
689
543
810
106
14
367
694
311
398
5
718
99
761
745
935
287
714
294
870
190
475
718
469
927
162
66
282
723
387
40
809
760
691
592
935
620
925
98
59
788
63
288
196
858
600
394
518
797
324
419
291
394
586
535
943
409
524
622
141
908
786
955
283
582
542
620
431
554
730
389
163
645
494
392
29
228
672
868
456
640
419
140
733
990
496
120
962
650
773
88
893
474
869
760
127
43
937
674
134
725
542
487
768
270
843
654
491
794
920
8
571
406
804
335
312
459
43
136
637
649
172
438
601
296
248
597
361
24
144
686
991
180
364
503
932
761
989
359
160
525
132
135
825
903
324
790
298
954
688
427
50
346
537
187
707
844
145
605
791
150
128
714
686
321
329
760
200
530
673
426
702
356
524
409
606
304
373
715
751
922
924
645
328
859
571
452
735
698
426
499
493
843
469
355
974
586
76
683
628
39
363
887
334
623
956
650
335
395
563
142
919
484
165
756
338
120
132
512
286
577
853
421
1000
454
341
733
932
957
29
443
506
738
256
869
764
144
288
499
518
829
108
460
250
292
836
882
135
841
707
456
686
29
742
320
162
714
475
616
550
295
340
518
641
197
539
145
108
642
673
159
314
808
49
76
399
518
785
199
79
255
355
134
55
530
386
737
75
202
152
55
958
773
584
877
979
178
721
955
312
171
592
546
191
81
110
329
471
606
803
411
492
342
128
201
368
509
299
65
184
451
761
112
757
961
875
881
62
521
714
224
639
88
447
218
835
244
632
767
402
479
60
850
181
57
208
492
32
580
479
555
840
263
900
791
70
518
279
622
649
680
593
282
851
982
484
259
242
150
947
788
548
63
351
975
370
85
236
316
790
254
922
421
940
231
610
389
480
485
277
859
444
6
71
480
304
49
140
423
806
378
125
643
215
843
151
362
840
925
434
804
242
2
469
32
777
799
116
205
676
91
201
428
137
476
563
228
210
190
645
686
287
600
347
887
512
661
384
209
495
17
832
517
792
912
807
481
991
119
751
703
809
335
709
603
379
144
725
314
761
523
396
356
464
949
693
206
930
925
791
752
392
462
557
869
695
703
917
189
996
48
241
395
216
181
76
911
467
993
607
364
274
826
338
472
933
405
522
600
397
150
106
118
237
73
824
318
875
985
419
540
175
751
271
270
880
898
772
776
965
884
266
743
782
839
709
213
775
665
497
323
223
769
913
673
222
758
215
462
865
752
230
66
717
179
449
665
454
351
502
836
900
626
25
832
292
339
6
257
321
924
197
903
543
9
826
710
170
342
963
287
503
84
151
393
821
805
753
415
222
210
904
525
54
525
109
503
811
391
147
749
929
267
567
60
677
594
207
628
931
219
438
88
505
956
214
107
281
140
221
772
49
702
480
589
139
826
722
217
977
69
632
985
195
536
860
495
48
763
45
616
219
750
353
79
201
354
856
469
509
710
562
174
664
233
353
962
607
509
706
976
841
212
615
845
205
708
660
530
390
85
643
369
502
951
27
866
519
81
925
404
289
365
571
618
959
634
58
10
669
279
906
173
309
618
291
908
737
661
856
844
528
248
52
281
798
509
948
896
70
257
646
202
474
750
955
380
323
966
111
899
841
402
688
146
903
412
507
348
280
283
181
998
934
904
950
288
575
919
173
54
519
19
571
553
531
170
152
533
129
235
908
519
884
30
554
234
538
91
209
503
407
282
754
878
245
973
234
221
183
823
296
86
377
278
276
134
271
730
285
626
739
610
776
138
257
727
459
189
607
392
223
483
914
215
338
378
67
30
881
150
590
385
635
807
850
367
746
362
823
244
630
192
468
254
393
871
677
445
671
359
190
477
602
547
238
32
431
713
331
949
439
595
988
947
385
498
914
208
551
233
83
82
346
602
654
781
726
107
729
549
854
996
243
716
161
286
67
843
684
584
860
818
258
734
892
278
899
838
645
15
786
357
716
950
645
730
497
879
588
214
592
532
328
807
374
30
770
94
909
171
175
793
594
383
240
515
658
580
497
305
777
968
74
569
440
676
357
436
355
734
820
19
140
304
668
909
543
286
159
330
998
475
65
973
729
19
488
957
93
732
933
589
490
142
723
89
752
846
189
130
600
940
457
660
753
582
790
90
797
492
155
285
111
895
744
189
695
557
942
868
533
422
989
911
404
312
224
196
368
375
816
19
785
886
249
106
25
940
718
270
107
102
375
820
143
211
417
127
245
528
753
929
775
565
103
158
484
855
366
510
491
664
203
812
438
882
223
902
835
716
489
584
154
578
971
279
102
320
449
278
424
779
858
650
865
890
2
849
375
972
772
111
562
14
275
116
166
519
356
347
665
194
275
517
472
201
99
446
89
28
384
595
730
372
893
979
733
35
551
725
951
896
961
718
471
673
568
449
487
989
449
900
778
307
746
736
211
632
150
103
539
192
753
212
850
76
129
522
792
167
192
616
387
720
367
170
418
421
422
628
370
537
101
805
858
532
244
479
480
902
495
3
625
372
801
633
52
958
248
692
775
299
689
710
524
864
749
352
832
737
641
106
354
253
278
999
412
920
654
105
836
498
274
866
223
692
180
174
945
664
686
734
732
538
474
230
685
171
31
609
496
970
230
283
105
566
286
50
302
796
176
388
242
882
969
888
669
495
371
302
24
198
656
957
605
867
894
650
308
206
399
235
895
559
66
573
629
523
531
84
460
401
22
761
638
577
634
834
818
496
375
835
650
5
210
175
339
547
78
868
687
595
186
903
32
564
107
319
68
892
884
351
204
86
288
796
905
371
100
277
568
220
355
538
880
31
879
282
594
627
539
854
920
684
904
10
339
665
969
177
911
150
14
500
196
481
217
566
367
85
884
381
347
367
199
291
38
415
534
944
192
831
780
328
999
501
46
659
502
557
352
624
773
171
291
929
172
339
317
104
632
196
24
927
131
893
466
109
686
396
187
39
69
65
215
719
136
50
450
560
515
905
803
594
592
621
715
196
134
744
740
245
58
789
491
14
633
849
952
728
15
945
706
144
331
500
901
557
100
525
210
831
802
655
139
553
640
910
282
856
268
668
63
5
184
17
300
554
984
813
574
21
175
469
956
543
148
642
377
570
445
762
362
668
966
814
913
803
603
511
923
16
388
838
411
545
574
990
194
214
953
438
836
665
343
370
133
636
493
121
801
646
681
485
5
962
905
418
954
288
853
164
718
982
961
677
906
231
753
106
712
496
573
51
211
254
687
997
529
297
733
168
490
986
104
227
248
601
655
24
860
163
406
981
382
649
863
780
427
595
690
190
726
880
667
421
181
280
853
877
856
321
357
872
754
846
597
866
919
257
721
555
209
513
298
861
373
766
331
632
55
542
127
759
751
761
677
913
417
1000
638
279
817
797
93
220
715
529
448
702
786
815
147
478
198
94
910
366
89
734
419
665
512
133
948
217
1000
273
890
331
51
303
325
440
642
329
946
30
394
841
987
210
806
196
638
453
620
33
298
389
709
301
389
601
649
377
889
444
221
625
711
722
401
694
677
254
162
959
366
195
819
780
351
745
518
501
559
698
325
703
169
205
465
545
469
151
294
776
499
855
775
548
415
1000
615
957
384
889
793
456
618
572
110
508
277
760
282
199
909
171
670
149
725
800
24
876
297
45
241
364
879
17
877
521
848
712
869
288
647
486
939
9
445
796
40
667
182
758
366
372
116
462
636
582
752
282
355
202
573
409
436
619
578
735
298
371
783
500
63
589
618
55
10
210
613
896
596
20
216
23
847
804
667
186
233
901
860
593
409
921
615
680
296
772
500
453
660
924
91
135
394
858
300
401
60
396
345
832
491
705
998
640
204
847
25
915
686
397
998
616
780
475
873
812
285
930
911
405
238
663
526
936
665
315
787
722
605
787
211
787
490
768
5
449
591
45
680
218
319
361
229
85
436
820
232
481
771
405
363
912
819
207
651
434
302
392
378
350
328
346
107
576
379
889
768
904
709
580
893
221
260
553
452
336
8
869
368
626
528
722
248
525
932
587
228
874
155
175
911
753
353
525
321
393
876
691
547
460
436
473
734
104
883
112
585
193
185
643
558
184
673
568
736
545
960
972
434
385
93
221
667
981
789
603
158
195
919
486
521
54
263
940
731
136
764
293
985
113
661
272
702
861
483
691
294
856
168
311
962
865
422
902
70
739
828
540
389
285
293
405
116
623
7
533
634
438
552
615
117
477
271
820
289
932
420
402
425
272
1
347
619
756
146
380
431
235
113
375
816
468
312
116
779
312
548
554
608
879
669
346
154
601
307
81
59
96
521
161
980
578
108
95
686
159
993
945
179
62
646
33
511
70
623
887
351
653
77
472
137
108
846
205
612
604
771
846
527
893
917
222
7
357
329
91
74
520
3
448
613
544
468
451
40
873
173
921
908
343
290
352
750
999
33
715
206
31
275
838
381
81
781
699
520
559
109
470
653
655
448
149
296
642
981
273
108
878
161
469
887
39
406
615
9
354
982
237
112
429
14
945
727
634
806
961
280
764
806
179
288
405
166
68
531
794
569
243
112
26
432
924
266
588
835
170
188
338
906
896
259
207
120
672
747
378
462
57
996
819
948
996
489
796
365
182
299
765
529
645
524
234
321
886
172
278
873
836
157
610
843
260
931
157
750
936
393
550
60
411
57
211
762
305
736
954
381
486
86
471
738
539
866
383
211
290
962
227
396
501
444
894
70
653
995
960
936
309
68
679
838
795
881
810
961
614
138
65
471
190
646
167
126
558
294
739
538
96
842
960
90
811
958
820
685
930
846
620
465
228
243
659
812
506
339
830
844
211
398
623
169
923
905
558
421
374
88
100
13
472
141
657
657
367
43
356
730
299
133
475
287
909
56
778
528
158
163
604
704
162
723
1
751
244
693
602
264
677
600
404
428
415
371
152
167
280
734
955
603
237
385
577
96
924
705
531
319
39
481
463
535
217
273
671
586
714
890
898
336
800
653
63
451
805
528
453
579
572
815
628
47
68
884
193
395
461
454
342
165
206
560
777
478
653
913
639
170
225
65
524
974
380
691
94
212
611
802
374
677
799
793
495
714
806
767
369
609
997
458
236
502
979
314
749
965
205
956
66
466
185
287
601
633
537
564
980
516
42
553
946
942
77
310
203
670
444
668
576
95
730
832
200
2
476
184
808
48
773
622
855
768
606
931
75
282
226
698
309
781
463
423
48
972
517
893
204
308
310
946
490
232
564
847
968
408
552
14
158
385
301
931
233
538
378
313
279
39
909
994
864
367
594
249
184
376
906
153
184
829
814
751
70
338
82
857
714
158
558
688
444
449
238
424
14
787
782
111
497
951
855
694
382
471
321
928
816
819
864
726
551
139
806
715
486
746
514
523
449
887
678
57
488
827
165
889
582
121
917
792
526
195
633
231
140
988
104
138
510
972
282
641
325
730
892
604
788
488
873
518
545
361
701
791
526
597
859
903
195
591
783
982
829
300
377
899
556
259
19
484
457
805
756
321
188
940
814
521
489
606
553
237
936
530
223
739
811
945
732
99
334
839
560
450
261
670
141
244
915
240
172
677
598
849
59
31
424
97
767
335
342
758
841
283
911
354
55
675
648
371
875
685
677
634
738
737
656
582
22
577
912
210
391
444
169
707
377
404
217
873
834
637
69
734
335
303
823
368
250
220
376
719
886
806
168
876
326
18
449
942
823
269
584
690
443
7
253
230
280
75
133
631
178
322
351
158
819
993
438
926
33
391
231
885
208
67
525
448
782
564
523
107
78
188
518
365
441
509
839
581
102
402
894
289
206
740
408
817
434
737
554
76
717
943
584
449
883
603
935
692
163
413
988
514
486
222
755
23
477
38
602
58
279
146
148
953
757
662
219
416
361
128
424
294
923
574
175
596
379
172
443
724
26
482
583
335
741
721
359
690
800
649
257
321
852
136
415
544
18
4
461
907
549
596
422
257
1000
550
354
787
149
393
793
398
739
871
745
965
480
179
306
479
581
917
783
246
121
893
473
66
507
536
533
41
411
427
354
946
807
66
737
628
975
735
968
137
93
701
920
246
972
190
128
281
540
14
146
348
222
286
908
712
780
672
468
986
918
493
612
406
808
508
874
658
79
757
826
560
832
879
145
526
120
650
836
196
82
653
238
442
249
734
404
376
985
394
943
92
93
680
502
96
274
728
767
53
34
342
804
239
451
311
860
736
193
207
713
475
320
909
620
57
459
555
941
320
658
727
260
289
440
425
710
607
700
373
979
701
989
690
149
101
816
116
344
992
251
688
767
193
211
306
731
326
485
969
997
380
437
641
198
220
475
807
345
473
782
734
892
632
270
679
266
428
763
962
148
598
651
902
959
729
771
942
878
597
185
52
932
399
228
858
294
344
621
637
506
734
815
168
240
222
351
182
997
22
940
359
583
571
485
400
839
477
969
184
563
405
269
821
496
150
930
696
398
484
413
636
331
804
150
407
884
326
331
924
148
477
10
129
353
897
331
884
923
920
926
510
891
721
636
169
536
319
626
740
398
482
595
481
159
481
637
904
633
258
356
494
17
133
588
341
282
47
275
500
800
720
876
496
510
215
624
122
310
349
287
824
481
545
582
866
687
971
70
751
574
917
866
157
428
686
554
124
42
80
925
372
296
423
342
353
613
198
189
527
510
676
619
282
246
13
427
266
549
709
961
438
486
632
218
577
727
182
736
377
104
967
154
468
94
143
211
177
176
790
294
885
87
642
596
528
471
766
597
482
704
62
542
297
75
893
606
711
126
373
174
359
592
486
669
385
471
556
755
815
502
142
207
240
884
814
82
940
234
538
535
125
83
564
637
396
75
657
982
652
514
776
465
73
560
185
938
429
389
209
134
637
318
686
261
801
756
820
789
454
171
991
511
968
82
224
938
668
290
107
143
295
779
784
216
932
318
797
285
677
13
925
852
415
442
951
844
13
494
418
861
521
890
630
878
281
758
768
429
441
746
499
47
844
679
599
194
605
866
316
745
225
92
563
958
446
837
534
75
598
90
316
909
595
12
524
967
358
882
415
131
961
166
904
40
218
320
438
121
287
562
395
776
81
337
106
379
160
8
330
200
834
214
125
805
743
700
932
919
132
496
293
251
491
759
506
190
734
898
744
554
332
820
665
864
318
984
225
776
417
285
126
947
217
295
342
925
746
593
94
881
62
177
816
418
116
639
366
349
35
299
629
844
43
315
115
568
208
536
401
433
567
682
480
83
224
712
724
67
513
407
201
407
850
891
272
1
862
152
866
495
665
904
903
16
486
606
570
211
759
170
925
47
648
752
661
275
470
550
45
179
247
754
763
141
915
992
81
96
741
230
491
281
69
400
657
425
33
844
32
553
591
535
406
795
14
687
931
714
159
462
612
744
967
650
612
513
553
779
450
546
919
30
908
366
345
211
415
537
831
432
921
382
840
566
918
638
842
818
118
17
227
432
95
217
827
446
225
108
265
853
737
901
436
261
7
281
516
281
838
127
258
950
802
967
544
991
348
39
845
454
731
600
353
326
871
208
677
624
183
958
780
236
101
893
579
707
199
999
615
507
386
963
478
295
610
217
309
504
113
793
43
863
665
322
575
531
240
366
878
480
395
799
316
557
732
408
362
219
727
897
28
757
822
129
998
204
915
152
971
276
160
642
636
21
858
161
41
141
363
945
894
985
151
359
821
231
130
155
659
256
731
740
982
388
48
232
319
103
46
528
914
943
479
668
595
862
668
980
961
625
940
989
513
814
44
967
524
299
196
410
976
925
448
304
595
121
36
120
151
739
227
976
228
672
286
473
626
918
960
300
674
665
203
216
888
868
256
190
316
371
483
230
335
545
56
488
498
870
555
204
744
269
319
270
72
413
851
535
640
30
102
897
549
883
900
702
891
261
458
176
794
72
832
99
472
284
13
184
374
270
157
739
140
540
249
295
6
972
938
991
139
907
172
745
787
995
901
461
67
951
695
131
366
135
696
353
174
908
886
625
227
490
759
201
934
910
298
140
886
389
585
21
349
880
874
431
295
872
479
864
589
522
435
248
171
705
527
553
907
834
403
314
491
216
644
296
962
549
973
618
836
75
216
235
631
590
971
301
535
739
659
478
525
563
945
294
671
388
994
558
996
353
328
781
172
639
438
616
755
380
679
233
510
261
796
245
718
605
484
770
686
931
47
903
919
847
196
814
711
532
183
907
604
590
677
318
440
295
218
443
873
808
45
549
923
569
16
667
889
450
857
76
141
382
278
461
380
99
25
42
593
52
324
856
560
871
838
267
264
948
870
916
152
491
632
201
265
285
165
845
883
657
618
399
591
917
7
763
154
481
264
440
168
147
372
464
230
839
688
551
645
297
588
85
798
222
85
915
435
454
336
246
774
631
884
290
89
940
485
426
195
619
439
140
481
423
108
684
447
620
757
666
714
163
55
793
88
151
401
176
64
971
17
293
895
662
482
652
652
140
151
992
841
926
708
582
298
353
95
366
930
818
701
815
216
666
603
686
887
780
644
474
424
519
866
67
285
324
495
984
829
733
51
844
519
431
258
170
394
901
446
776
694
626
72
544
779
20
58
441
667
224
669
876
60
365
995
657
956
602
424
604
801
451
258
525
896
591
444
378
666
474
969
41
846
716
334
31
811
469
747
375
453
481
436
274
255
402
113
311
317
235
14
521
825
41
878
838
271
699
250
417
491
262
155
750
962
399
312
200
164
920
935
37
966
675
979
779
9
636
776
985
121
42
755
28
138
350
641
782
167
97
299
180
461
570
284
500
50
341
420
733
948
861
310
885
453
241
318
52
126
120
321
235
72
435
990
931
206
636
594
162
793
612
360
664
976
386
816
371
392
911
863
657
824
33
374
575
548
392
279
695
1
365
367
458
796
48
243
918
833
591
392
709
907
4
777
492
305
749
99
135
860
94
221
12
140
761
523
814
78
820
32
952
103
102
841
176
972
248
962
726
2
837
790
442
606
62
404
545
401
781
740
11
540
118
690
743
730
153
878
250
872
473
652
955
107
901
556
413
476
19
390
456
818
515
904
531
212
166
76
214
510
339
471
624
982
342
923
765
233
929
442
155
777
296
496
260
988
478
822
887
259
880
22
488
409
41
573
566
560
594
972
670
137
934
385
650
687
280
645
749
465
59
586
786
495
984
42
841
40
334
512
647
506
7
455
217
897
112
647
552
272
704
578
926
756
342
689
814
310
42
15
542
935
119
445
535
771
319
33
659
601
373
245
746
9
464
732
670
434
210
956
754
552
233
31
449
600
303
234
17
203
207
194
70
483
686
820
988
606
299
201
360
302
380
288
612
301
624
740
284
747
13
874
774
336
775
446
493
550
621
949
634
640
898
741
221
996
951
37
906
228
485
298
546
714
918
336
645
175
713
189
446
186
218
982
396
68
48
875
12
396
153
430
34
293
678
811
967
53
1
368
759
795
123
931
141
738
28
937
904
498
343
907
876
903
6
396
881
514
86
183
398
264
104
487
942
189
65
957
678
202
193
443
50
720
837
142
765
252
80
999
134
645
813
550
570
472
37
235
622
560
47
342
85
322
155
818
478
549
500
442
172
100
944
577
533
14
749
472
951
516
259
553
715
506
269
836
205
527
889
479
370
131
835
97
790
197
155
790
563
232
89
817
149
662
986
93
980
689
195
457
840
690
385
607
158
486
574
656
949
987
792
939
791
168
116
51
707
45
777
185
577
713
856
337
137
526
110
533
507
438
903
106
247
967
949
546
549
833
115
779
246
715
868
525
483
756
828
657
447
447
858
418
440
986
522
117
79
531
536
729
270
415
876
140
207
551
975
125
255
21
129
735
606
214
458
22
956
732
237
966
604
577
148
738
917
148
858
849
114
676
592
650
923
676
492
244
639
996
912
369
220
34
950
745
957
867
578
376
878
379
285
627
579
890
819
352
655
650
177
97
988
693
386
300
621
853
900
652
224
585
920
557
658
734
108
816
426
264
745
444
711
125
199
909
130
81
279
813
434
19
419
599
173
866
558
914
536
34
513
508
959
127
477
815
189
640
834
435
226
660
193
494
255
916
71
660
722
21
410
530
198
852
839
524
188
858
63
542
933
43
832
757
903
485
887
268
417
977
20
37
598
12
433
253
902
98
625
756
231
751
860
665
338
513
37
710
210
634
905
800
79
20
508
786
232
773
288
685
842
991
133
588
609
3
937
658
37
369
717
128
585
639
303
500
336
707
849
865
650
310
816
163
935
725
269
401
792
489
349
290
842
969
183
602
763
666
759
298
426
794
689
12
469
212
99
668
220
698
756
755
725
831
611
67
702
377
694
662
710
549
335
23
423
599
479
882
675
78
329
997
318
738
46
354
573
742
396
613
247
423
738
790
6
686
644
57
508
955
6
486
375
213
793
571
33
814
993
335
842
585
325
296
651
295
647
819
853
526
972
263
21
343
856
309
952
397
845
952
98
957
242
990
170
84
743
217
345
247
940
341
30
616
852
221
506
193
450
764
781
129
790
792
544
856
247
619
930
610
812
966
538
287
685
280
646
310
173
2
384
412
77
345
422
556
619
540
239
275
310
255
951
79
557
845
620
97
45
815
681
64
396
99
125
658
551
779
758
379
4
910
301
706
383
452
260
526
22
760
298
537
139
492
407
774
362
918
897
648
989
560
100
553
404
232
650
124
964
707
768
920
942
568
692
894
6
262
614
842
231
772
570
8
326
462
881
782
269
855
33
788
131
17
668
32
764
843
433
734
6
472
828
306
614
44
219
478
440
145
631
569
892
40
949
174
471
307
532
857
836
825
8
532
696
510
313
34
606
90
35
145
394
157
687
737
895
220
791
715
74
674
330
249
535
857
186
95
269
525
549
794
494
479
961
601
112
286
284
738
253
536
210
51
715
937
459
565
293
438
374
974
206
554
992
221
213
117
599
869
744
309
326
677
281
131
378
548
133
153
283
939
83
468
430
856
958
622
564
121
639
910
323
602
649
781
891
532
616
387
696
739
924
988
231
908
441
835
862
268
595
174
521
640
554
856
227
980
457
141
161
784
732
105
45
618
227
276
190
738
214
353
43
210
619
717
386
921
478
210
551
990
258
65
427
908
695
344
109
220
261
352
366
653
116
626
309
711
611
868
919
235
798
492
267
642
945
540
988
938
90
285
570
488
361
814
283
599
103
188
663
774
309
143
919
748
151
367
907
963
537
65
774
71
892
102
156
589
235
196
975
314
501
190
875
157
532
687
39
782
27
460
288
779
863
212
644
397
14
221
504
806
406
860
401
326
422
922
186
250
400
623
217
67
238
424
546
970
52
9
822
231
849
802
906
534
130
61
999
508
19
932
788
794
218
419
321
926
928
670
631
2
74
646
831
837
769
955
825
691
52
833
983
822
130
701
583
258
172
335
306
545
353
372
92
670
905
992
42
534
864
812
242
660
169
824
274
209
477
440
998
165
859
834
175
333
852
942
852
885
452
272
166
387
216
896
448
109
575
817
170
707
166
153
511
313
886
793
902
815
1
884
843
3
238
459
78
908
90
215
917
532
84
733
491
504
850
60
490
178
650
630
973
799
660
128
187
960
394
485
634
483
308
441
676
278
489
456
362
599
502
886
302
748
961
339
212
495
940
545
399
683
686
672
224
899
175
710
877
510
317
378
695
540
570
746
311
240
804
320
373
717
442
879
381
658
185
436
62
938
561
7
448
806
321
966
92
967
787
19
595
477
143
226
618
858
799
489
470
720
570
436
856
721
283
518
302
1000
101
310
746
165
595
861
320
591
468
2
255
235
996
950
333
900
962
939
561
724
878
227
30
390
551
310
241
99
510
96
412
361
120
58
782
639
646
821
694
821
725
29
325
547
91
776
682
457
151
131
895
958
818
876
918
2
903
204
72
680
800
985
393
522
775
791
242
543
393
91
175
26
585
904
742
327
955
25
736
943
349
395
339
235
39
559
200
29
435
727
483
656
424
925
684
516
262
309
105
716
222
517
602
280
920
322
783
310
990
486
380
361
305
480
432
756
301
46
293
101
762
411
818
167
220
27
43
864
7
195
444
502
675
108
156
441
697
921
906
337
653
595
661
336
722
77
375
309
620
605
92
467
350
814
897
167
239
795
348
669
630
24
798
646
646
467
724
134
64
327
931
864
397
116
327
435
145
447
140
535
717
901
107
482
777
815
565
652
966
112
674
803
144
138
344
653
832
12
493
68
382
954
105
604
9
657
342
523
43
392
444
779
37
9
342
600
452
132
26
665
101
628
508
710
280
455
152
71
158
99
904
832
16
274
117
475
561
777
791
199
191
908
366
193
762
703
228
988
830
912
966
967
25
276
313
532
908
820
333
879
122
650
290
676
395
222
85
755
791
827
705
32
515
466
474
608
153
699
598
772
172
964
690
326
946
268
923
263
872
328
206
324
409
129
511
341
654
802
782
997
97
443
195
87
428
292
348
374
105
245
430
846
391
596
794
992
763
821
793
459
278
259
381
372
919
161
101
549
33
152
464
143
878
680
955
246
750
757
882
22
927
462
913
284
443
749
197
838
515
234
640
783
210
649
295
883
855
754
771
552
857
846
146
754
548
648
882
484
536
896
427
122
876
651
29
589
392
152
666
3
921
954
125
779
552
958
431
917
695
363
243
221
824
408
306
844
799
370
755
715
527
88
502
635
862
466
354
292
973
701
174
19
783
535
434
119
137
720
865
593
884
133
459
292
538
345
37
512
294
312
821
331
454
640
999
300
41
389
560
785
101
82
797
747
747
709
999
150
172
481
442
995
454
423
526
162
871
659
136
534
690
674
3
524
761
307
567
61
292
454
329
390
262
694
8
608
365
785
477
279
989
687
464
753
670
932
758
934
217
544
824
827
304
73
6
505
805
453
193
882
202
6
964
588
910
895
48
261
436
814
58
547
828
994
541
432
410
766
330
567
719
208
159
907
111
698
342
700
19
81
377
258
943
476
599
110
116
419
307
131
775
495
607
837
277
286
755
903
182
176
81
924
788
739
995
753
689
846
938
354
282
630
797
820
87
345
617
868
525
432
436
469
929
256
133
789
429
185
638
307
314
397
502
862
883
472
950
305
537
632
357
200
620
117
456
163
548
143
134
725
78
295
242
714
446
9
613
931
520
193
442
487
30
726
715
377
275
245
643
968
255
740
315
461
349
122
417
215
253
699
84
1
374
329
897
457
168
737
429
830
304
31
131
80
108
399
784
916
119
12
814
139
979
687
646
468
854
991
536
828
408
756
125
419
327
468
340
993
355
798
500
380
226
633
324
587
397
500
415
104
930
630
190
31
594
177
23
973
70
331
163
410
328
328
418
447
603
530
719
933
808
353
542
94
93
366
204
74
957
408
614
548
293
283
848
989
10
187
420
214
676
630
29
786
417
761
617
482
314
714
53
778
722
349
545
76
577
305
794
878
130
309
3
183
174
341
944
514
385
783
499
225
225
762
423
606
87
935
889
435
493
369
653
138
349
867
499
82
691
842
338
931
718
836
110
616
382
181
211
104
702
763
483
78
849
256
3
149
460
329
898
9
547
974
133
462
704
683
21
13
530
385
823
374
106
654
853
203
544
537
330
664
197
81
611
555
534
805
211
429
347
443
844
688
643
331
280
382
343
874
420
525
153
997
729
9
51
1
141
749
615
606
929
317
397
976
500
594
114
118
640
326
113
936
206
763
598
197
929
827
980
240
445
523
204
417
756
222
699
801
538
295
912
745
321
800
969
878
659
351
869
209
759
797
652
145
165
827
332
407
687
286
820
727
482
612
709
642
267
770
981
343
858
376
117
891
585
197
781
492
950
545
523
614
870
568
967
254
555
715
203
38
943
48
880
939
285
331
397
706
106
356
52
619
845
760
648
77
605
805
482
56
656
886
987
468
246
825
294
485
802
456
541
268
997
454
61
315
452
30
498
665
720
36
643
504
603
244
766
495
216
545
327
341
171
869
414
822
518
553
187
492
874
37
823
705
181
649
77
265
232
875
355
922
657
754
684
96
146
901
392
690
338
524
727
782
207
293
117
912
139
989
83
516
645
942
742
739
723
642
409
293
176
794
327
288
871
489
393
70
790
353
815
349
575
913
271
983
655
453
57
744
772
792
744
597
588
67
555
753
495
318
956
778
837
392
457
871
250
804
28
958
443
140
537
412
403
676
973
662
320
140
345
808
331
583
365
177
490
657
146
180
694
742
840
711
196
395
825
563
634
745
688
15
287
880
991
691
643
656
267
928
262
301
363
461
523
463
709
328
842
572
256
803
879
98
600
827
66
843
711
425
738
589
81
64
534
868
979
621
512
351
823
71
961
522
846
742
970
103
504
543
357
630
463
621
171
601
617
470
314
822
138
933
516
606
126
242
163
122
869
695
687
452
103
259
558
224
693
68
494
552
822
125
716
228
533
692
958
516
158
541
186
976
838
213
150
373
570
475
288
540
913
962
508
252
235
283
339
526
912
784
733
799
173
861
841
466
272
294
255
10
712
886
849
164
448
493
541
509
179
706
12
132
438
568
765
327
192
37
197
856
241
341
227
949
928
753
109
608
304
588
625
365
877
259
487
458
714
184
822
42
640
331
690
128
802
878
169
151
310
95
546
51
587
249
871
335
724
574
434
670
311
110
711
895
409
138
991
342
953
909
91
341
936
109
48
859
300
165
1
373
936
130
462
900
287
751
878
434
229
49
2
633
494
359
19
138
142
242
866
441
234
435
906
623
842
378
881
239
203
717
871
176
881
32
786
406
432
280
485
237
647
213
183
166
623
800
59
272
655
958
142
108
572
623
460
338
815
547
147
165
780
641
331
797
209
537
830
794
22
250
492
419
743
126
11
921
978
176
715
666
585
42
800
753
38
582
769
310
184
766
240
111
879
907
654
40
246
264
6
519
327
173
767
166
63
65
899
477
355
147
649
197
381
59
990
612
930
564
813
113
600
83
650
136
855
942
839
936
282
863
578
803
64
606
516
784
608
55
5
853
60
750
133
254
319
494
770
615
195
317
179
784
668
597
426
387
313
254
110
557
693
503
643
46
344
879
34
774
461
291
836
529
482
629
287
416
950
804
512
4
661
966
746
229
993
883
22
579
54
60
322
308
28
483
283
63
25
911
328
128
341
831
943
972
896
740
110
985
407
353
93
591
169
950
938
709
872
576
998
865
664
552
981
396
337
274
123
720
701
895
586
89
894
901
509
558
564
470
39
352
775
885
796
383
460
572
641
564
69
570
907
171
451
794
949
323
330
674
245
159
960
464
263
132
477
462
318
149
845
680
617
360
737
533
31
164
97
326
907
76
325
119
900
23
424
564
469
674
567
656
512
347
699
900
295
524
169
285
822
980
397
927
624
456
360
950
691
261
989
924
658
116
497
965
191
776
369
65
455
194
567
898
418
337
414
257
516
953
594
901
281
704
893
655
918
508
316
343
318
832
419
668
126
756
281
845
265
316
122
798
621
387
545
428
788
679
341
575
929
747
299
997
416
697
655
450
625
484
540
361
17
317
146
673
289
754
51
721
764
402
660
856
893
884
28
114
452
982
157
455
354
517
663
720
689
565
841
247
633
546
457
630
300
226
699
159
670
6
576
782
601
531
757
577
858
956
262
851
566
32
700
928
808
505
353
561
228
998
432
388
727
922
739
776
814
606
633
13
779
578
644
51
191
539
769
210
956
539
805
152
122
569
40
709
752
358
90
684
627
435
63
886
743
448
862
774
868
863
474
737
515
537
414
827
595
99
393
464
621
563
642
693
336
798
555
942
388
850
989
948
643
581
448
157
971
491
763
28
510
905
224
133
626
218
429
581
730
466
638
621
391
945
478
693
684
859
461
42
779
571
859
538
618
532
476
786
217
816
892
712
805
720
879
407
688
475
194
112
363
200
34
804
226
58
474
513
348
219
818
92
623
268
498
285
46
808
82
632
297
814
72
816
758
767
315
576
985
292
136
304
685
629
558
564
90
736
582
643
125
212
59
25
846
957
69
759
785
393
395
955
76
92
477
931
823
857
701
63
519
631
944
717
467
944
867
622
21
813
369
958
156
577
890
640
339
619
110
182
47
64
556
268
559
834
989
705
474
32
204
612
621
884
725
95
885
985
252
403
633
20
402
248
763
662
950
118
833
470
308
249
243
292
428
320
974
755
808
306
680
227
623
936
749
901
28
892
847
292
484
861
581
277
529
417
775
703
268
570
388
125
356
772
625
784
452
733
950
997
504
457
863
612
710
949
48
769
447
763
957
894
525
350
307
956
96
618
868
733
571
408
248
988
446
334
906
481
952
750
676
960
739
260
886
886
388
908
824
328
415
418
184
501
268
956
967
159
936
254
538
852
349
622
603
417
57
418
601
207
169
433
39
915
835
835
626
373
939
253
747
383
546
154
507
65
330
830
331
155
66
849
190
425
210
112
193
960
839
988
136
965
304
310
509
817
783
401
955
357
30
87
801
338
489
595
643
624
401
385
184
716
378
521
458
908
454
726
869
712
789
466
207
610
584
92
678
192
494
347
27
486
522
867
229
280
223
59
902
215
276
809
407
286
764
340
793
785
136
953
274
510
880
961
235
911
257
111
187
866
776
664
927
749
696
774
125
556
681
162
801
144
648
754
295
462
976
702
434
753
143
765
222
355
344
51
645
113
350
708
190
17
990
394
323
872
301
970
939
819
552
817
759
272
413
562
513
148
392
699
390
384
659
571
395
313
152
747
810
831
421
607
652
601
149
519
837
149
225
625
730
577
797
774
695
413
431
637
139
836
41
171
259
185
509
825
861
329
932
746
890
617
74
23
185
552
944
612
785
492
546
155
538
910
160
441
100
948
93
725
667
759
263
641
240
70
213
367
739
242
868
616
106
691
918
303
464
874
868
820
132
253
88
810
353
820
755
718
171
321
131
305
817
757
949
274
554
207
737
126
635
807
832
620
481
533
252
413
753
615
352
852
375
460
274
836
640
228
671
274
820
966
39
896
161
334
734
410
974
760
330
917
161
549
238
356
990
310
556
181
160
527
185
658
708
866
503
718
330
461
890
444
468
107
72
292
744
108
603
40
413
27
921
126
90
803
448
193
255
408
525
815
849
151
644
120
689
313
343
123
946
303
73
783
4
135
658
442
685
354
677
546
650
810
85
346
154
51
314
143
121
478
169
811
741
262
734
138
963
87
461
267
163
896
549
668
817
676
904
566
704
164
383
955
825
502
487
583
390
816
405
880
121
591
161
1
49
670
527
330
851
551
901
296
185
926
941
563
756
244
777
441
459
232
949
433
934
697
932
676
599
343
264
432
608
110
644
408
978
845
296
993
377
884
202
662
778
661
126
734
563
695
91
988
106
846
334
283
517
612
146
536
264
433
332
777
801
424
781
672
978
987
657
191
478
934
189
691
556
721
465
45
188
598
847
30
5
858
828
83
926
711
338
51
428
601
859
886
878
807
672
865
180
873
426
624
831
294
168
633
213
877
946
228
289
987
895
353
11
46
829
492
29
978
700
685
927
78
167
895
996
833
323
513
145
513
772
792
131
760
360
127
112
996
890
946
51
377
440
423
96
695
129
996
83
554
299
209
546
2
409
970
366
584
74
757
992
745
522
86
107
898
730
165
517
698
938
597
817
262
324
90
726
158
209
293
642
445
45
625
226
419
281
775
362
988
392
680
381
849
578
377
730
77
669
630
467
327
497
449
388
312
555
844
804
429
181
70
270
551
72
554
595
210
62
171
117
114
824
23
992
57
15
461
565
186
780
771
142
672
739
180
941
716
765
264
514
889
513
841
349
710
195
128
302
233
15
647
30
631
870
362
147
241
518
585
44
371
113
967
196
618
218
573
752
619
347
579
530
971
858
982
229
763
487
238
488
5
571
758
198
856
813
629
382
218
782
691
769
544
995
814
7
705
191
657
48
911
492
717
240
448
947
871
751
944
453
300
505
269
382
464
958
703
698
351
520
263
285
416
554
821
12
16
368
261
746
106
737
449
284
809
349
239
574
151
292
790
998
166
253
251
976
826
86
643
27
90
37
575
535
462
792
716
660
969
244
763
25
528
755
711
45
228
155
335
328
474
528
17
769
465
776
830
531
910
251
991
546
891
265
34
282
119
279
912
674
352
464
185
924
259
792
679
975
539
151
639
673
154
137
932
544
230
291
295
191
382
118
178
62
396
373
994
556
668
262
702
722
381
140
217
33
956
982
77
537
494
469
971
916
430
610
908
601
494
109
245
170
994
934
993
427
384
492
918
171
431
539
636
431
986
810
183
95
754
501
586
992
618
262
902
834
746
129
255
39
208
551
650
460
790
798
803
57
669
682
156
733
759
847
245
143
796
290
856
436
639
879
89
83
875
399
301
885
662
857
525
428
840
261
438
917
879
511
266
280
256
365
448
703
737
916
421
828
895
335
53
89
299
75
809
778
308
742
871
891
715
42
539
285
629
709
181
959
740
292
857
876
533
782
730
291
824
901
122
430
737
486
309
27
163
196
664
727
735
290
933
274
611
842
122
129
651
712
238
375
64
143
626
796
245
512
864
369
556
416
968
473
784
449
265
38
553
760
471
696
713
524
720
120
453
449
698
950
394
739
454
412
552
536
58
760
665
839
72
310
398
45
311
366
613
554
992
298
792
691
969
47
203
38
290
988
376
255
266
631
853
478
320
784
672
164
783
55
961
230
604
180
253
247
633
525
571
930
317
280
137
241
127
370
567
51
959
357
52
474
736
816
345
577
331
599
490
541
621
128
414
6
819
86
101
188
547
266
605
199
704
333
116
629
872
394
76
156
757
224
502
349
186
886
892
456
253
74
776
823
308
149
561
961
60
580
863
265
659
735
16
147
681
609
513
696
81
368
470
513
748
654
396
334
322
474
263
87
879
849
30
132
827
49
544
219
591
65
472
837
2
345
512
543
14
580
423
402
235
909
217
412
849
515
715
849
144
944
856
816
776
955
661
884
831
775
664
442
60
169
472
709
807
852
174
771
34
589
873
433
517
574
146
301
544
86
829
503
316
449
625
179
191
647
28
625
425
540
4
729
566
915
649
380
340
377
200
335
89
306
972
82
769
372
7
285
806
644
169
951
185
57
96
833
106
705
150
118
554
87
844
712
156
266
26
252
106
847
686
370
387
444
585
932
898
93
131
180
289
187
826
595
322
397
263
475
849
928
985
75
776
413
730
16
666
107
407
833
293
860
310
42
653
769
169
983
499
834
683
952
14
954
380
116
263
390
374
493
681
406
795
203
866
47
805
494
460
725
850
670
578
315
520
595
762
995
838
34
200
719
490
391
374
62
996
947
8
899
516
808
742
589
906
193
950
980
167
524
287
690
538
725
459
758
654
288
308
379
719
546
272
780
330
905
232
631
723
216
33
342
111
402
833
606
810
542
987
894
73
586
650
800
148
130
224
555
899
445
64
877
877
782
886
672
800
635
130
357
509
131
810
644
753
374
622
924
15
676
6
419
406
219
869
163
553
457
835
663
107
748
784
911
33
805
851
585
36
566
672
783
51
453
698
751
51
134
237
136
839
71
706
175
585
978
591
63
318
134
770
719
591
93
885
248
130
581
252
513
462
304
451
3
647
954
977
776
426
158
974
422
838
814
749
51
529
323
968
125
924
565
877
70
461
700
530
259
763
585
139
647
60
785
750
571
963
671
149
982
796
785
266
120
979
900
938
782
452
744
163
252
761
641
267
385
885
271
254
587
320
788
393
886
983
930
50
533
656
706
295
22
850
574
553
326
726
976
129
252
841
695
981
606
625
985
56
348
48
664
239
780
651
114
959
740
979
107
314
437
758
966
109
265
843
889
37
48
861
534
677
980
138
979
176
108
695
628
789
596
421
734
810
385
457
750
729
255
761
524
626
984
8
596
203
438
116
867
653
191
323
965
993
932
936
757
818
11
313
318
931
403
623
497
938
648
419
722
831
973
846
593
607
202
433
974
394
961
395
422
663
924
487
745
16
118
72
354
925
906
629
647
723
613
55
369
270
53
215
829
212
657
73
324
759
114
831
117
541
951
932
726
413
413
529
888
452
234
782
240
884
39
818
370
499
480
952
202
793
900
313
698
658
433
556
51
646
804
803
412
373
784
432
717
108
354
257
127
386
202
644
643
178
895
448
803
581
278
529
482
269
810
822
12
27
268
952
940
604
600
516
620
184
404
372
594
737
947
867
864
905
539
22
686
104
167
28
780
51
709
272
169
294
96
783
843
576
934
170
872
525
4
436
592
729
151
143
648
4
936
491
728
995
83
679
164
470
364
959
360
107
578
645
367
339
245
670
429
299
890
536
297
421
40
153
598
636
992
810
283
2
217
967
690
134
379
393
611
873
3
293
391
487
658
62
900
571
224
56
271
97
644
440
819
506
177
608
185
858
280
295
63
613
797
750
603
301
846
865
527
669
314
903
603
760
616
918
478
325
429
52
750
391
598
213
231
851
663
943
177
390
187
86
978
976
144
805
719
579
167
334
696
453
239
519
273
5
11
949
717
258
408
450
523
223
597
684
931
787
179
414
812
267
504
476
370
165
406
325
432
299
507
772
61
565
296
876
831
703
552
133
44
286
925
677
296
217
515
974
49
932
661
335
411
394
385
350
503
426
711
60
707
719
715
82
423
104
107
269
206
6
521
409
734
94
606
8
194
868
478
691
865
257
583
998
799
161
135
682
680
703
543
937
875
795
853
808
236
802
928
702
490
328
511
814
13
157
69
214
727
349
212
768
477
979
64
681
550
217
64
821
902
820
631
446
485
502
82
524
491
330
947
604
94
307
792
423
208
882
30
584
706
746
488
315
429
461
678
921
582
733
659
694
253
590
130
626
883
672
300
718
825
49
133
405
626
582
469
369
980
773
305
725
964
964
700
837
492
599
66
313
581
200
443
562
829
946
952
993
62
241
310
487
837
799
135
713
402
413
916
285
526
965
105
423
549
705
110
845
214
976
863
745
680
57
993
41
847
350
700
42
674
960
508
728
737
510
385
719
958
358
824
75
850
926
544
811
176
492
748
877
300
667
577
308
481
833
906
233
981
5
513
865
50
504
854
422
265
715
413
118
475
551
539
949
964
922
696
634
401
400
107
804
865
421
892
426
47
416
179
198
32
981
86
832
49
840
518
199
983
591
680
832
542
721
64
935
44
68
6
23
34
251
103
945
330
441
75
795
644
361
153
382
128
902
889
327
869
1
556
472
160
847
212
742
74
138
712
910
714
990
705
888
99
684
246
316
420
888
293
944
923
776
909
997
353
610
558
327
923
171
153
981
316
225
845
795
65
819
503
862
450
371
427
182
4
559
491
790
828
783
237
527
697
998
878
508
774
26
531
886
159
344
915
776
979
470
227
214
117
727
678
777
631
777
830
300
50
865
546
147
114
306
804
118
494
521
706
968
392
395
306
358
113
857
165
499
477
788
595
80
262
548
426
644
158
31
390
426
258
781
704
358
68
671
159
98
715
423
546
862
512
588
936
318
419
925
823
780
408
383
251
904
956
861
87
310
52
726
376
808
997
704
5
294
206
12
813
724
126
346
984
180
832
252
747
538
667
159
647
136
605
389
320
986
234
319
737
739
586
390
136
72
254
233
361
53
654
493
317
301
989
435
812
554
15
329
620
560
129
883
675
235
732
508
198
759
960
406
545
113
122
327
505
554
533
10
688
680
355
583
634
552
134
767
531
653
272
304
51
930
720
337
863
524
487
166
968
983
872
708
371
739
194
373
134
175
380
734
288
456
34
519
704
648
464
555
354
765
898
692
417
897
789
567
743
751
820
32
868
798
553
782
160
601
155
297
268
699
678
928
550
361
263
676
723
441
194
379
494
574
272
541
29
915
973
685
921
596
576
460
385
349
286
540
272
6
600
414
743
288
334
468
540
934
666
758
508
827
500
623
371
247
990
469
573
435
397
775
719
840
309
113
714
736
364
126
446
104
878
40
156
407
94
427
124
253
945
913
776
133
83
201
139
566
42
518
486
786
145
378
263
102
993
257
407
590
739
876
79
983
677
78
83
447
610
697
755
745
954
637
624
406
91
669
532
432
221
298
124
391
48
9
596
331
769
6
321
200
978
215
240
879
926
247
4
49
173
696
205
744
40
532
391
743
7
51
646
620
196
53
286
124
674
966
959
481
89
773
216
17
973
636
511
171
800
706
769
460
547
236
977
928
989
198
417
842
834
557
334
253
88
960
789
804
168
957
83
132
175
357
399
898
823
349
114
613
692
733
337
298
861
376
613
553
252
814
836
222
766
816
327
360
337
138
99
74
771
239
983
728
308
224
991
922
524
66
212
119
319
36
333
263
830
91
628
35
622
187
125
597
813
481
43
384
474
319
834
927
516
397
932
494
175
744
226
183
195
45
794
613
251
520
4
215
236
339
429
309
821
247
98
446
550
544
507
758
365
826
294
365
5
418
772
167
86
610
111
152
382
689
508
945
29
782
312
457
807
569
226
518
441
381
662
410
527
576
876
982
284
762
594
780
672
915
81
494
946
848
466
989
5
425
722
377
492
766
332
168
371
752
830
176
257
423
370
145
189
285
347
92
998
310
536
484
597
837
980
648
813
537
489
944
459
33
667
302
398
732
758
309
821
343
420
389
982
839
474
962
613
338
666
780
918
421
898
415
57
415
719
879
41
672
518
401
913
665
911
797
318
811
243
39
136
444
421
140
915
433
814
953
920
166
406
642
770
666
558
510
114
559
71
980
49
146
114
778
39
862
89
347
965
231
391
546
959
20
830
111
565
206
702
852
199
668
925
458
570
328
794
494
443
975
288
296
688
342
784
46
806
781
17
243
120
261
227
240
519
664
12
866
912
958
169
674
34
871
533
812
839
510
175
737
208
16
714
274
310
290
510
508
219
149
998
923
709
658
303
180
612
861
528
751
387
151
696
606
781
765
757
804
118
650
115
933
177
888
919
759
364
682
445
570
676
366
22
493
638
888
602
875
534
857
765
998
868
846
922
940
74
120
194
263
870
635
239
202
579
739
440
578
492
515
165
414
728
814
746
141
227
639
500
363
631
808
181
549
518
499
735
127
43
745
41
901
170
311
21
613
625
539
121
827
272
548
317
74
798
432
281
549
515
84
610
807
216
111
218
25
543
781
173
202
251
71
108
147
647
512
592
407
458
498
129
643
897
477
85
419
452
511
331
709
888
119
99
910
615
913
880
790
457
252
603
287
624
533
626
976
598
19
82
147
410
658
219
119
853
100
338
555
601
248
687
236
153
363
294
695
875
736
590
185
19
719
32
874
233
651
136
721
946
786
467
775
606
565
950
698
391
537
478
60
247
490
920
477
707
575
608
965
749
345
259
788
454
793
500
321
638
50
760
527
332
26
475
689
764
543
697
122
166
369
919
608
606
371
568
888
196
110
813
265
770
307
229
350
902
882
937
795
245
155
830
492
44
858
332
788
208
9
189
537
700
384
795
352
265
541
633
101
352
293
354
196
318
921
433
433
572
875
38
188
884
919
618
892
248
726
606
746
59
856
922
80
563
445
673
684
138
178
252
261
475
776
367
471
223
713
427
295
229
145
320
274
933
518
986
346
1
473
295
105
52
965
928
460
920
152
466
282
754
817
641
292
361
776
360
952
185
287
846
844
779
601
878
50
206
396
587
891
64
226
639
291
608
735
772
421
298
506
562
322
63
456
266
340
782
376
217
131
906
161
855
661
182
466
693
332
930
21
526
785
582
305
900
329
763
782
932
982
972
411
313
823
720
553
38
473
655
801
324
783
40
644
299
506
174
752
930
539
113
688
808
195
87
272
777
446
571
308
853
957
816
549
778
793
811
110
918
788
187
182
513
486
367
656
302
68
322
125
393
443
123
764
356
490
422
958
181
627
767
228
675
916
967
908
785
269
78
916
302
545
299
266
901
31
455
666
765
899
169
391
288
301
623
196
827
672
743
633
871
160
16
849
411
979
218
168
942
217
508
928
961
421
48
762
128
284
63
358
788
634
266
258
824
206
211
739
333
696
192
398
500
417
405
91
971
783
10
187
17
878
695
480
942
205
994
966
640
347
350
850
214
462
606
134
295
935
98
124
87
676
450
755
315
140
692
607
54
662
52
247
127
184
29
545
242
991
506
312
989
498
721
713
594
315
984
572
907
792
236
22
497
38
770
303
309
357
767
302
375
252
114
56
134
149
642
345
584
544
553
573
622
688
545
657
454
331
924
271
658
321
493
534
176
325
431
727
842
677
310
825
236
855
238
971
981
963
519
875
369
648
402
280
430
731
341
373
389
954
178
8
224
574
681
859
367
196
797
877
207
101
258
561
980
906
945
331
723
907
58
323
648
717
974
593
51
66
544
783
163
571
293
379
990
637
332
54
387
350
643
960
931
414
195
79
618
742
605
943
110
505
85
425
6
891
23
714
36
53
129
374
399
82
610
701
361
809
851
410
707
452
904
335
868
930
351
152
100
54
840
743
610
640
269
520
593
121
990
597
320
580
497
273
384
901
240
913
90
872
315
970
596
660
470
569
548
205
780
787
373
199
337
123
163
888
359
537
679
787
567
359
840
831
228
787
260
31
433
27
106
125
716
648
644
175
738
198
282
835
136
368
69
59
774
852
262
582
896
729
891
304
531
777
276
326
183
940
339
721
118
983
915
994
537
809
876
704
1
539
141
152
324
936
985
459
59
68
374
113
219
795
572
776
111
545
963
143
399
419
102
661
100
42
393
808
430
906
796
528
787
356
455
571
701
743
539
850
671
798
70
911
33
37
999
620
431
268
296
192
555
163
810
304
271
95
377
919
948
472
867
437
185
566
182
792
430
249
302
656
566
911
518
570
787
816
140
697
258
573
220
299
171
432
167
475
332
716
244
361
987
302
825
520
199
229
328
641
587
495
110
186
362
377
265
996
963
857
420
164
712
553
319
920
735
752
499
484
395
2
290
86
765
883
997
717
165
472
396
582
427
134
965
752
549
536
890
884
969
323
779
675
464
974
682
385
11
756
685
935
948
969
307
159
902
10
555
890
445
256
417
744
372
467
175
42
695
358
536
691
357
918
261
125
963
647
932
960
26
259
507
812
644
363
523
690
247
908
785
852
370
208
619
25
311
819
28
168
525
289
99
229
235
669
766
298
129
737
384
863
996
709
462
1000
195
130
870
370
270
919
755
624
314
362
405
523
358
984
432
507
137
544
24
230
938
949
769
18
696
109
356
702
192
773
442
216
939
847
248
398
335
768
173
425
518
859
946
234
86
265
512
934
188
324
504
5
471
490
357
163
646
90
691
916
105
304
450
610
313
890
612
121
801
500
430
813
280
13
966
683
661
579
933
298
758
596
895
206
967
208
514
432
198
311
482
437
756
105
545
167
983
66
461
530
827
176
32
629
586
425
979
423
299
175
741
325
114
605
898
782
689
313
923
631
870
869
539
590
343
411
330
858
58
54
914
918
611
956
767
464
713
689
417
512
448
388
948
80
776
802
256
242
564
605
607
211
211
910
250
987
612
516
544
308
468
9
960
305
586
353
172
514
693
110
602
153
713
537
463
723
243
396
893
84
232
256
683
821
523
425
868
595
200
180
505
992
952
589
400
944
841
676
843
922
575
225
885
401
123
648
877
901
209
56
466
515
113
880
168
753
906
885
812
989
885
345
614
307
746
673
310
233
99
992
788
79
617
589
95
549
617
222
855
704
230
696
275
116
429
927
496
642
857
156
140
822
569
932
144
188
708
472
170
566
686
381
734
985
877
367
54
886
369
283
736
169
249
382
97
401
196
342
736
957
331
239
614
981
468
1000
324
896
696
524
269
437
11
350
658
839
393
899
326
796
723
874
214
413
757
935
229
286
587
81
145
449
22
171
978
911
766
737
777
216
456
708
682
296
801
700
38
238
306
116
433
269
617
403
865
193
717
819
348
480
204
759
47
206
841
575
264
911
189
609
73
715
872
244
576
62
870
236
520
99
427
312
413
748
856
84
300
121
603
788
918
863
154
812
351
500
144
657
734
297
57
632
116
741
350
412
380
468
817
390
374
680
645
714
273
281
837
32
528
340
928
940
108
70
692
212
336
40
93
565
768
244
819
807
502
982
77
390
350
67
98
444
508
399
546
748
636
416
366
911
770
466
982
356
662
689
285
362
540
657
841
313
926
420
947
71
683
431
992
230
82
980
747
788
544
202
901
398
885
820
623
410
951
616
781
297
760
90
643
329
158
571
520
118
377
283
740
614
251
927
836
466
42
677
749
788
223
969
49
614
128
73
803
606
857
140
89
866
169
151
649
532
247
348
332
204
319
382
696
751
457
48
511
239
177
77
581
492
152
479
376
239
248
475
563
463
51
355
275
501
676
249
546
746
804
669
702
370
716
820
302
947
786
966
10
666
964
780
835
460
106
517
32
539
436
415
985
240
885
238
636
537
608
998
503
313
18
157
523
964
989
434
406
62
280
374
837
281
371
432
805
185
398
64
488
237
938
665
989
915
349
762
383
916
341
186
981
318
188
13
999
303
161
395
366
264
312
210
425
891
802
525
153
316
715
396
524
305
467
6
22
457
369
892
263
305
175
402
701
62
349
437
803
126
733
766
459
30
806
896
124
128
376
312
980
621
341
665
286
759
604
269
382
345
586
729
628
816
947
401
194
457
797
323
287
445
283
538
429
595
971
747
212
528
351
398
479
105
120
484
530
608
506
945
537
571
975
883
407
331
932
552
60
406
831
262
415
776
686
358
172
796
118
196
582
934
490
644
91
314
996
528
712
59
233
607
856
24
990
577
315
173
632
674
568
922
591
43
956
9
526
947
170
704
324
14
939
179
501
238
576
616
50
763
93
96
222
879
477
362
162
297
582
152
317
394
889
112
788
625
918
756
686
333
273
533
882
715
275
829
587
635
602
206
175
933
523
191
41
988
661
115
898
326
517
7
694
332
157
888
716
150
98
716
801
869
661
580
711
91
191
178
53
882
279
211
662
920
593
756
609
199
295
289
45
103
260
868
419
656
211
510
167
388
763
990
792
597
293
142
855
681
610
113
822
674
18
185
680
826
867
73
728
816
641
537
482
725
318
366
989
935
672
141
261
670
902
864
840
439
560
270
283
683
91
407
1
494
368
658
452
828
97
414
573
815
829
83
289
642
617
649
183
636
225
652
596
207
455
925
986
963
181
292
842
539
770
222
858
695
970
271
412
446
470
542
195
86
147
813
741
419
158
258
262
684
662
367
192
702
196
955
402
872
876
220
376
561
586
573
286
658
704
836
893
278
721
235
727
186
163
432
782
171
28
571
197
490
257
889
135
200
400
857
552
240
772
950
54
405
144
675
498
210
67
522
439
332
831
984
760
295
900
782
165
249
57
516
908
841
961
15
814
578
741
379
883
321
519
636
294
688
667
671
474
978
243
745
163
573
900
829
624
658
408
605
465
871
639
218
875
77
413
60
683
186
745
597
101
255
11
395
350
226
214
85
404
338
142
451
717
317
75
1
264
360
621
477
550
778
460
646
345
765
499
872
738
621
539
683
332
219
320
368
172
259
462
742
522
566
644
444
466
864
177
521
118
385
676
23
517
252
782
16
130
594
672
729
886
881
290
482
87
473
677
597
873
490
717
951
22
396
214
242
10
911
798
710
430
125
233
266
338
638
176
374
993
286
936
514
305
117
349
702
323
309
52
317
7
26
407
856
944
986
920
831
639
462
630
887
67
190
422
866
754
500
747
121
244
815
22
877
706
139
952
31
309
564
685
959
910
318
389
637
619
779
265
302
586
985
366
895
46
110
607
546
650
221
44
451
269
641
766
286
363
870
666
706
353
792
664
814
131
791
6
129
176
426
353
995
575
496
747
929
832
972
259
172
743
825
805
484
358
172
203
267
37
961
653
52
779
865
561
655
548
490
265
753
912
779
779
167
496
711
360
250
339
109
109
63
267
162
404
867
955
260
46
408
663
523
621
772
502
5
727
74
677
66
415
170
822
944
978
246
32
91
892
594
214
908
714
364
830
417
803
167
83
927
668
841
173
78
548
998
697
328
83
859
229
428
616
592
505
748
692
890
505
310
339
293
938
829
485
660
322
763
86
566
815
982
943
184
594
151
878
559
255
334
87
807
381
456
202
129
317
989
137
134
720
738
118
938
792
311
725
258
43
628
219
788
328
595
332
735
841
537
402
152
123
422
331
574
51
88
58
916
454
901
431
636
936
237
664
824
127
925
220
173
631
63
482
9
446
76
18
459
924
133
871
985
770
739
772
315
431
698
81
557
241
476
507
578
583
956
761
399
119
184
661
370
426
825
529
806
344
740
927
44
146
190
867
636
144
968
60
437
144
766
362
796
831
406
110
410
665
985
465
848
830
864
264
49
601
381
34
822
569
408
832
455
335
790
994
883
250
658
617
671
143
853
546
401
323
408
868
220
457
219
124
747
644
829
388
46
196
191
43
202
308
521
489
654
867
832
53
596
136
5
694
38
406
350
174
354
790
440
551
685
241
522
247
711
555
322
513
798
452
229
568
607
239
879
802
888
481
227
779
293
19
805
471
994
537
502
324
552
212
989
782
818
708
937
325
242
730
932
807
394
84
394
751
959
541
726
636
143
889
533
27
934
459
596
70
906
724
45
609
149
883
899
459
37
922
903
392
923
662
293
750
849
933
976
252
452
764
856
853
493
170
781
680
437
267
802
890
990
970
626
161
373
928
98
988
808
953
788
282
917
131
284
30
870
681
623
82
169
994
509
678
94
292
528
5
385
342
193
104
809
140
607
50
225
655
3
808
818
727
922
480
216
896
584
990
109
541
915
351
475
643
483
132
818
540
498
448
532
81
367
727
936
946
960
826
964
921
260
923
823
604
411
340
909
850
969
446
64
845
274
687
975
178
877
832
49
534
621
545
435
36
90
854
75
658
642
276
305
849
998
448
448
890
247
362
95
700
780
342
279
24
179
755
343
861
66
633
665
945
43
951
510
393
763
821
69
643
805
390
634
575
419
95
396
24
703
339
773
745
883
513
998
990
340
642
836
357
618
824
743
187
510
207
269
482
508
552
37
9
736
744
198
62
56
474
834
758
71
471
158
92
847
357
85
981
304
614
244
557
449
873
617
671
974
330
602
374
275
839
44
886
681
682
898
862
92
539
737
404
791
819
289
588
561
387
161
286
351
344
412
812
796
313
160
484
258
581
315
991
719
309
84
351
505
95
512
281
108
909
25
195
423
132
821
864
201
960
832
609
972
121
103
240
876
199
366
67
617
643
124
83
863
29
344
513
489
268
92
858
173
32
393
593
454
512
105
124
437
755
887
414
387
324
826
408
925
490
991
379
642
914
919
791
36
880
709
50
553
162
769
659
52
148
743
279
330
154
621
199
249
688
403
833
614
461
92
302
641
339
723
191
848
317
914
721
966
965
180
213
332
626
660
788
578
342
823
556
229
571
157
525
566
966
772
962
775
689
834
650
808
826
227
684
860
219
612
827
422
54
578
170
626
69
287
613
272
617
858
357
182
260
958
458
588
877
9
335
539
661
537
416
369
603
890
878
498
777
644
693
47
649
410
152
643
982
931
567
851
641
546
198
850
739
434
276
78
749
262
672
712
121
969
32
294
905
217
25
363
141
432
448
888
796
444
438
999
625
233
133
43
771
902
37
16
269
839
267
897
345
44
15
235
629
846
898
984
305
152
99
579
437
590
198
810
500
181
49
679
14
922
771
947
53
172
780
779
948
396
4
56
571
943
118
732
407
887
781
423
841
161
10
220
326
876
34
935
886
106
320
25
818
433
566
82
997
581
850
897
645
436
786
410
692
470
339
842
162
898
722
590
461
219
541
292
26
227
616
977
393
560
157
703
569
95
515
564
394
172
182
246
642
664
999
985
101
709
762
998
572
744
867
869
97
643
744
949
985
834
239
227
537
571
586
307
864
508
704
33
903
315
63
514
363
384
323
538
382
218
164
103
468
841
376
648
91
420
44
738
36
118
859
113
868
92
741
732
161
9
680
611
173
892
583
738
144
542
302
602
167
146
226
390
255
778
907
918
330
283
620
666
873
813
610
803
141
621
100
527
557
638
267
573
130
545
170
929
721
77
348
643
85
70
26
291
603
495
77
484
655
814
898
183
584
71
594
115
947
1000
261
12
194
198
259
856
952
713
946
132
449
568
565
56
2
139
324
29
914
206
363
13
157
395
108
982
314
760
136
776
28
165
753
562
621
187
910
292
96
46
964
521
837
445
398
715
987
420
614
190
233
54
803
25
923
182
754
964
587
823
150
471
402
18
963
129
183
898
407
302
277
992
577
35
445
174
346
282
636
43
858
490
587
331
517
714
958
684
162
636
142
816
268
397
961
454
116
466
527
73
679
309
717
970
249
230
128
907
465
888
435
586
225
563
117
32
858
756
640
347
139
602
637
799
526
903
901
12
144
69
150
317
788
270
157
576
195
88
23
724
436
904
177
280
155
404
98
920
598
734
544
837
411
986
1000
567
558
284
378
550
165
207
76
220
675
435
202
438
682
298
340
485
90
426
348
540
253
493
149
910
446
979
4
728
911
463
194
37
368
172
593
536
407
446
146
633
562
989
666
494
31
145
734
429
278
730
264
835
348
886
751
208
257
985
820
205
600
811
170
572
959
889
162
280
282
760
26
662
928
459
883
53
223
633
386
180
865
864
681
128
290
374
128
978
712
432
648
288
501
471
46
387
561
701
101
709
127
434
571
366
583
1000
760
841
721
168
391
2
19
405
266
400
206
514
76
517
996
798
182
362
266
826
794
226
11
568
7
210
539
686
603
154
518
605
329
724
776
401
893
718
910
121
422
225
564
574
241
498
475
989
742
331
446
742
107
146
387
915
438
285
222
572
336
859
971
758
202
188
637
6
236
516
231
388
694
460
231
964
129
903
718
348
72
106
760
208
278
215
369
500
208
402
899
912
473
175
70
544
939
695
609
124
494
498
382
123
926
640
503
973
37
134
474
269
158
124
631
211
550
370
890
502
454
312
789
899
767
837
127
980
916
154
144
530
788
189
213
816
548
744
907
267
385
151
111
76
705
892
591
351
867
187
954
394
821
95
336
655
447
329
19
183
794
500
278
933
416
576
437
927
284
982
486
183
151
916
712
940
798
655
274
681
421
438
132
361
269
806
530
687
577
920
686
918
106
554
137
321
913
981
781
67
536
101
426
119
877
962
519
544
60
736
354
116
907
988
889
872
719
692
763
546
291
256
228
172
177
796
631
314
956
768
753
37
194
117
552
567
109
615
567
149
29
990
202
168
31
320
447
263
997
956
922
308
356
403
285
939
796
327
589
283
231
485
11
165
243
230
570
798
589
954
99
444
457
183
190
769
589
107
458
828
328
1
283
106
766
679
483
973
812
602
376
995
413
562
138
529
796
772
368
55
740
960
467
902
614
999
141
676
696
400
450
200
780
342
484
627
977
469
525
460
757
839
975
240
90
85
621
583
135
55
414
293
796
192
476
962
632
916
516
957
402
677
307
500
169
634
189
682
408
128
71
403
40
179
350
376
330
389
869
325
212
544
825
357
65
644
480
350
110
216
72
120
182
151
563
446
338
551
12
247
894
340
896
395
725
543
653
317
414
410
991
25
34
208
744
836
830
363
72
942
918
974
343
176
895
501
454
258
812
482
299
13
379
554
681
524
805
633
858
347
219
182
104
707
738
210
604
343
927
853
262
760
601
420
320
654
656
229
516
656
521
179
68
606
606
403
755
283
536
428
668
912
82
213
500
797
989
80
655
963
579
865
719
483
211
507
303
325
89
73
54
756
498
810
743
872
256
598
34
367
613
127
5
877
565
25
39
856
514
860
475
268
740
377
849
360
575
971
615
437
932
978
590
730
747
774
739
677
958
606
950
700
740
24
359
781
28
315
29
379
210
429
270
685
584
976
305
993
560
228
599
688
897
812
961
342
349
512
261
708
831
427
233
141
988
929
305
233
517
896
855
426
657
674
233
251
125
324
132
894
679
211
51
252
18
867
193
624
549
572
373
226
776
919
935
346
968
178
135
437
224
646
569
151
120
629
247
534
563
320
736
606
521
147
760
164
906
495
980
883
779
872
330
47
876
511
898
88
458
2
604
991
499
732
46
809
424
349
152
363
356
668
89
367
200
992
519
20
923
534
848
330
965
296
603
625
105
140
246
589
199
653
677
297
126
133
42
777
864
941
28
773
4
110
154
735
383
923
400
372
265
901
515
336
351
203
743
18
547
964
421
882
316
109
614
422
867
438
217
250
210
794
804
423
696
608
671
34
655
266
394
881
233
368
958
534
823
826
627
489
107
91
536
963
784
364
979
488
545
712
234
905
353
782
101
210
656
944
729
182
885
816
705
125
489
132
101
646
531
797
354
246
986
21
615
991
175
20
26
196
135
136
704
60
286
403
181
599
789
276
225
617
184
612
144
409
543
830
26
602
789
319
23
189
520
364
35
882
379
843
734
472
393
437
943
679
363
150
221
213
964
155
990
610
36
491
725
518
759
307
80
910
170
867
552
455
253
672
632
228
107
542
904
958
849
323
140
603
165
80
236
952
143
4
783
849
868
531
586
508
253
622
844
963
861
469
135
567
748
309
254
667
759
149
174
110
114
623
457
971
496
699
576
416
742
224
828
208
851
787
567
744
257
239
671
295
981
72
120
534
714
828
489
34
584
59
525
436
114
701
986
206
125
996
130
210
151
878
976
526
22
592
852
128
583
364
619
370
593
580
311
109
629
478
846
965
299
892
97
940
359
568
876
670
90
130
781
361
686
875
148
479
129
540
818
70
138
538
103
193
971
130
912
173
399
366
771
787
735
725
87
14
341
692
236
96
33
890
161
165
206
391
545
690
263
184
978
543
323
769
124
206
384
301
755
946
479
167
559
285
517
48
835
597
494
321
837
981
701
741
230
661
948
23
390
904
333
657
308
600
342
428
595
146
708
290
880
731
586
999
599
618
298
192
119
806
876
280
308
748
907
870
14
985
232
631
254
720
211
103
576
556
838
222
238
588
361
302
72
336
597
525
557
84
382
628
685
784
80
226
745
29
961
969
419
790
232
698
711
919
876
301
899
856
830
157
249
230
244
459
833
125
95
1000
312
577
225
681
258
752
258
987
866
429
115
445
439
764
579
931
168
261
624
486
676
795
504
904
829
500
908
706
925
615
312
916
417
906
947
489
138
152
226
357
243
409
721
626
793
519
197
50
182
16
463
933
470
489
219
120
218
488
536
884
107
358
327
694
88
117
947
179
379
795
197
622
932
960
61
470
518
561
771
626
112
377
981
917
916
790
460
818
351
391
134
141
472
772
667
376
301
188
395
982
523
928
312
293
198
103
737
859
432
755
135
848
46
254
373
647
616
656
372
83
527
753
968
129
626
905
501
215
260
628
45
809
550
296
218
947
921
372
308
754
197
198
798
671
510
540
184
197
35
490
669
406
492
294
868
1
616
354
918
89
86
906
343
659
1
700
723
493
29
725
844
463
152
84
382
135
816
524
842
301
462
145
909
714
372
618
978
730
812
395
201
349
975
534
53
117
20
436
299
381
680
427
910
774
105
639
273
830
255
67
394
936
57
637
715
843
208
445
799
905
527
804
431
834
865
199
74
469
769
488
656
737
691
191
817
314
818
774
835
60
395
711
323
893
532
308
274
315
332
926
552
123
10
246
495
993
461
390
794
816
941
362
795
201
377
735
204
737
717
998
944
650
592
437
704
852
571
386
855
580
575
846
244
604
799
907
615
573
802
47
601
545
584
568
204
35
65
714
296
189
76
964
786
732
423
122
659
171
868
551
537
460
247
551
47
592
830
785
844
874
902
234
480
971
179
497
345
315
400
313
983
528
462
840
647
206
697
184
355
586
944
784
783
137
248
747
989
484
402
961
397
213
383
24
780
436
872
55
390
31
473
954
525
56
977
303
809
371
967
738
20
285
626
657
261
611
70
479
410
930
706
509
916
163
573
457
267
862
541
992
711
275
347
585
504
949
971
133
164
365
841
916
412
720
315
777
283
774
371
192
173
798
298
168
388
515
440
788
163
821
372
703
979
227
311
19
297
34
852
60
673
588
662
331
312
782
243
455
436
861
250
662
858
428
529
114
515
374
667
346
365
104
386
412
318
943
537
335
756
724
528
346
533
578
925
374
445
482
144
274
682
117
858
103
664
993
811
781
759
627
661
800
603
666
946
432
530
408
567
579
554
851
709
157
826
916
851
666
404
907
417
192
433
208
278
700
777
419
525
82
867
238
190
223
331
547
384
28
88
588
668
16
916
623
796
109
382
896
208
614
231
488
689
967
229
272
94
370
223
581
472
371
172
330
761
829
118
894
554
949
860
879
932
909
69
663
187
843
890
944
149
151
22
504
673
659
281
121
890
334
959
407
399
655
959
811
966
624
56
381
626
881
548
659
17
523
179
324
153
208
144
820
35
538
916
851
817
438
841
109
989
767
160
158
936
480
171
763
86
389
404
745
211
66
859
31
243
526
626
657
428
159
927
943
121
823
673
651
564
625
814
11
190
691
353
190
960
146
555
678
4
363
909
411
487
149
518
964
813
285
36
487
513
155
246
862
141
829
830
484
957
340
176
65
960
321
341
36
180
976
183
814
452
407
659
1000
733
342
644
727
903
100
237
585
67
366
136
135
807
48
693
395
547
159
112
66
161
284
867
725
809
200
640
257
394
549
475
725
600
249
945
305
150
733
424
668
531
910
858
706
811
439
276
59
839
230
875
666
122
251
447
873
494
187
744
623
141
573
605
438
198
658
980
183
388
668
157
166
634
406
257
960
528
773
471
851
667
501
193
95
829
766
607
227
282
311
635
295
82
934
36
334
541
335
664
285
604
271
530
842
210
983
649
803
478
855
574
600
665
712
823
647
245
740
364
613
486
31
457
822
214
490
692
673
423
145
368
549
175
737
613
898
724
730
481
201
678
87
294
718
579
110
177
577
8
527
241
273
469
1000
432
610
739
302
852
458
384
34
979
659
507
96
125
51
47
701
293
80
611
355
140
477
543
176
212
887
395
262
722
580
720
871
171
780
828
174
484
610
392
284
70
966
197
996
840
921
399
470
634
396
567
462
262
255
281
886
666
672
550
183
21
219
551
457
794
947
922
266
747
960
274
847
374
114
446
307
169
355
661
606
363
569
526
153
146
617
784
390
729
75
636
346
764
92
883
447
976
696
141
787
749
549
556
378
817
587
244
76
131
237
628
120
18
798
578
728
890
292
356
419
297
207
849
260
724
627
179
607
681
434
423
854
111
629
95
154
827
209
893
167
520
407
789
655
513
190
532
733
243
253
845
691
40
864
841
98
507
848
784
555
51
273
246
498
239
912
518
856
232
735
706
825
633
28
875
485
632
614
665
454
382
362
26
313
183
698
246
523
835
468
135
578
351
497
665
362
886
540
653
223
932
306
759
940
648
121
705
391
545
166
690
655
843
183
149
784
48
457
741
59
507
701
118
182
159
532
426
673
488
101
454
331
521
298
242
131
60
129
4
102
167
319
842
901
65
469
98
553
533
918
629
521
500
260
163
40
885
614
515
92
948
722
539
921
946
687
384
699
675
38
948
118
945
196
241
895
110
426
752
209
627
955
405
25
812
548
212
984
977
520
210
493
451
172
357
533
492
914
432
761
935
775
916
470
737
529
860
795
455
611
566
532
279
909
489
602
29
21
499
894
386
396
589
554
201
202
625
452
147
796
859
904
166
800
426
422
862
515
687
311
333
241
136
502
905
237
17
916
123
369
190
622
364
407
187
372
944
292
467
520
549
41
915
357
337
978
370
111
244
88
122
334
416
603
71
501
627
818
796
216
512
851
1000
319
540
796
518
828
747
199
275
534
901
154
63
562
867
647
575
520
456
924
516
367
919
307
299
716
528
737
729
191
907
658
767
96
260
420
197
48
32
263
946
828
458
679
605
637
159
466
449
395
722
177
707
24
863
352
516
803
513
571
756
713
268
871
847
197
111
295
132
935
506
513
316
879
44
510
914
892
228
327
891
112
827
448
565
410
915
752
873
984
673
999
324
476
552
975
380
323
50
417
376
71
314
203
395
557
24
364
450
171
60
725
8
268
49
589
309
856
718
650
944
695
455
514
483
367
230
178
925
460
345
181
743
97
768
648
634
6
98
84
746
685
219
880
245
510
854
308
19
114
448
942
297
849
602
436
958
362
158
932
648
431
43
128
362
371
741
998
284
76
748
850
372
556
646
43
230
53
492
630
924
975
530
758
244
652
408
326
401
299
412
937
698
104
501
870
534
48
706
683
445
678
128
860
833
586
634
975
61
255
19
380
230
912
991
410
173
617
171
727
836
675
839
521
340
281
763
699
299
262
730
699
80
987
195
235
93
334
551
417
796
9
57
595
60
122
853
85
211
650
634
594
866
608
713
438
706
834
186
848
421
341
171
292
703
623
979
616
598
774
653
514
798
821
82
394
631
607
52
692
902
530
859
884
404
403
360
653
762
666
708
376
953
651
406
98
980
115
712
511
904
450
729
92
439
216
662
902
513
392
376
833
796
77
87
496
24
646
44
134
207
215
639
639
787
790
453
273
787
832
254
211
79
269
667
103
193
818
263
665
805
600
982
372
115
906
180
870
360
745
590
184
146
354
343
808
906
802
176
863
670
361
483
113
253
871
736
213
235
499
331
754
203
366
956
992
199
512
517
753
793
769
697
347
418
864
803
588
497
107
317
168
40
745
457
972
130
484
390
278
383
699
801
244
194
53
176
798
451
656
557
301
447
987
258
373
370
813
603
752
49
197
99
737
59
968
45
394
171
613
817
323
233
99
386
289
406
527
8
153
541
750
584
463
70
759
340
86
680
114
894
566
552
10
545
327
945
864
689
111
791
175
656
366
933
318
467
722
170
586
915
510
836
165
13
862
26
867
997
538
251
424
850
806
70
16
628
867
258
26
844
498
109
112
988
304
556
72
878
177
177
628
953
52
455
845
922
668
117
305
46
293
417
499
411
601
279
922
780
620
423
232
905
502
972
599
945
91
917
646
525
629
695
319
108
133
385
131
378
371
298
876
620
137
980
778
103
466
536
303
374
402
579
875
883
774
379
85
855
532
938
411
55
966
9
695
706
638
394
266
547
803
736
347
904
444
743
140
444
120
339
61
427
575
370
29
313
762
136
641
831
54
830
648
173
319
798
281
862
208
964
76
97
12
405
428
712
197
457
980
628
357
234
138
699
781
942
48
799
603
784
94
737
49
267
663
620
494
982
820
873
297
644
80
944
993
923
998
591
601
669
649
867
973
592
5
928
68
696
737
109
42
645
555
142
336
260
9
685
236
527
320
737
445
361
936
944
82
755
127
242
630
802
399
44
92
592
901
502
493
194
921
687
529
437
810
465
221
727
506
985
913
952
906
238
890
135
54
750
329
786
659
508
859
234
619
387
860
500
610
950
189
798
345
501
66
118
116
197
731
485
598
237
779
103
40
626
882
609
715
9
230
13
685
533
661
750
466
255
997
865
137
535
673
494
274
221
912
559
719
842
763
369
918
228
899
45
206
746
198
828
606
788
858
440
434
966
318
753
194
76
90
329
650
179
112
522
52
463
320
793
190
154
564
930
466
162
822
970
828
76
238
659
641
104
138
142
233
363
783
280
24
368
737
987
554
913
159
528
308
719
543
349
649
947
579
600
414
141
584
777
519
361
165
106
849
43
489
664
396
52
862
171
603
172
679
23
765
165
427
175
389
965
720
295
322
153
111
280
727
945
86
775
45
819
833
760
933
22
671
91
399
942
873
980
856
602
103
465
442
259
246
548
115
977
802
849
656
803
367
347
522
751
605
626
244
282
213
715
105
812
23
792
514
963
122
523
465
767
77
578
116
359
333
547
101
978
488
600
655
291
707
374
286
250
106
759
938
643
271
474
685
421
268
917
718
484
920
823
925
848
569
92
924
226
201
464
935
726
51
145
945
267
635
568
300
116
981
464
648
767
834
289
398
1
930
46
245
725
379
817
472
450
358
12
840
485
374
855
428
461
326
313
820
535
709
390
457
394
332
605
547
63
938
68
191
644
576
831
403
287
161
374
18
653
709
210
107
349
254
916
931
725
571
431
939
293
60
577
201
663
664
5
590
103
641
425
253
931
941
902
594
665
18
269
249
96
575
401
464
483
999
793
143
865
467
221
69
478
480
278
988
844
86
233
435
264
209
993
505
365
309
187
190
87
714
200
60
495
290
782
416
868
359
953
401
496
137
343
576
240
496
162
90
208
573
351
436
981
230
1
263
883
603
153
997
590
751
778
796
534
937
632
671
945
714
169
497
648
46
759
432
581
413
811
987
949
372
908
379
366
964
65
112
360
805
844
723
333
399
533
773
521
18
864
453
374
78
583
485
427
494
272
156
149
432
502
384
576
793
888
123
51
949
992
388
224
736
404
66
419
802
932
190
980
685
952
515
207
780
891
443
600
544
234
489
555
131
356
650
478
88
429
446
935
945
34
469
750
367
155
718
48
78
307
498
398
733
397
361
74
471
278
94
734
763
169
444
489
594
840
151
731
799
553
699
873
906
916
664
891
225
554
862
142
301
922
560
282
976
511
14
837
792
229
66
200
57
998
190
699
507
934
168
89
612
113
102
30
322
948
275
938
5
773
769
982
145
254
669
138
409
232
900
577
589
806
558
385
829
879
320
9
540
681
855
326
472
958
519
59
806
638
932
16
108
904
635
805
444
672
570
972
963
351
538
593
935
340
740
104
9
21
643
769
539
852
403
971
271
789
210
550
868
534
162
203
28
458
188
169
269
638
833
410
550
525
471
629
716
36
363
549
611
499
427
278
621
134
995
242
274
726
263
328
458
435
385
139
310
639
542
206
587
90
844
557
158
480
18
905
642
238
603
162
675
310
512
339
555
839
16
885
313
376
992
530
94
616
445
134
717
673
719
871
627
218
951
637
111
169
518
150
861
378
769
452
362
900
464
156
183
197
615
579
288
143
330
568
720
114
649
317
507
118
35
930
852
612
627
159
188
395
405
751
807
665
867
262
68
309
112
169
146
972
456
408
391
596
702
939
943
171
311
225
284
679
87
444
762
889
737
484
807
125
153
782
635
295
185
424
806
902
619
346
292
61
298
170
856
207
145
464
739
67
770
537
608
519
248
75
341
441
667
658
743
237
145
898
776
895
864
233
656
458
3
579
556
848
302
279
701
76
476
517
300
979
592
472
804
297
315
100
275
650
676
167
109
648
418
574
615
205
183
292
942
87
12
982
866
444
309
204
661
939
574
549
258
73
543
325
938
100
541
14
689
883
140
855
633
623
230
88
948
105
564
348
877
488
276
243
121
629
985
711
64
874
900
898
186
455
580
281
445
431
194
314
947
651
666
735
809
259
764
915
59
834
108
964
474
517
83
310
737
892
851
382
800
727
601
847
503
298
970
111
346
312
296
728
307
166
261
261
275
497
545
14
358
757
974
771
555
432
980
17
493
633
286
245
98
907
856
899
187
958
733
236
912
256
755
36
259
372
559
52
479
918
548
381
201
960
744
631
282
794
259
722
298
121
892
73
164
898
208
466
737
775
193
992
994
217
388
382
542
528
558
861
565
421
504
510
205
131
356
581
949
415
782
543
268
164
60
152
334
744
681
74
186
512
146
517
914
301
45
135
672
574
995
427
973
516
52
523
685
685
4
476
817
795
314
228
180
545
272
998
834
308
533
158
328
387
864
123
463
189
854
876
549
241
491
846
556
347
402
810
15
744
104
884
230
94
321
336
794
983
910
960
49
280
17
505
657
622
11
803
22
47
346
40
44
730
892
431
282
378
247
877
593
506
334
524
786
9
693
791
347
991
905
305
374
392
612
713
222
167
339
566
106
379
633
78
101
119
250
487
57
183
78
474
23
900
494
686
601
607
475
207
334
839
294
617
715
8
192
81
225
877
380
157
187
245
192
936
297
113
17
424
274
419
175
783
44
254
602
556
809
228
970
338
116
124
831
703
856
381
751
644
879
569
544
431
482
807
528
548
891
665
372
889
148
874
200
810
755
339
6
383
889
572
646
146
137
208
639
784
131
44
540
831
205
714
780
549
364
173
645
307
556
730
880
963
389
900
383
35
195
492
686
187
204
83
632
415
769
607
45
845
427
327
464
520
558
783
854
257
261
119
480
835
471
847
874
51
165
232
647
575
78
154
608
190
313
624
235
126
335
936
367
165
102
857
289
230
246
646
366
768
333
107
809
92
215
160
210
229
190
318
210
509
561
529
715
438
64
748
264
134
295
949
917
557
936
370
159
798
259
923
719
589
309
210
187
43
933
803
466
278
724
746
450
562
665
703
682
918
978
584
35
112
108
911
66
816
840
306
425
378
689
689
350
2
962
526
217
380
142
833
698
509
97
861
134
291
473
116
802
864
768
559
550
906
194
948
813
454
736
632
265
403
503
757
866
192
754
199
334
751
144
994
467
395
375
683
574
900
46
46
879
729
418
541
37
549
937
221
369
337
533
491
926
580
121
813
852
955
414
911
551
817
494
377
648
151
331
245
508
823
903
760
983
438
488
853
855
386
472
391
716
563
151
365
888
230
778
317
130
758
744
152
345
192
960
472
617
950
980
636
179
142
478
773
425
788
958
25
127
734
36
189
661
390
150
260
753
630
557
922
116
472
737
967
662
732
722
684
44
769
909
800
431
825
830
125
913
33
924
426
146
219
227
333
108
226
655
51
207
962
543
264
133
641
58
25
185
81
44
111
804
275
548
781
133
229
55
982
133
92
833
55
234
631
81
695
347
257
53
922
944
771
795
944
294
405
597
207
350
877
374
316
241
15
379
518
489
918
23
821
885
174
481
510
421
814
135
621
737
458
359
340
351
733
58
857
771
80
735
119
131
216
398
147
841
180
673
658
779
883
258
430
773
683
374
156
776
356
466
524
203
357
153
57
8
872
361
491
305
346
612
504
776
570
13
574
433
582
935
580
221
313
720
141
899
755
868
686
751
16
994
862
522
214
112
637
427
146
51
936
415
501
920
825
263
434
695
476
812
320
871
351
772
528
552
273
279
871
462
362
94
158
66
499
628
343
490
496
958
828
133
711
948
534
363
151
683
686
862
463
226
513
820
145
787
566
579
355
68
234
380
903
849
828
889
72
983
892
57
380
152
948
892
143
509
670
912
895
985
173
468
682
467
397
467
904
488
18
413
358
968
216
112
56
44
983
702
240
743
463
501
234
150
228
116
541
220
864
218
442
668
629
411
194
363
495
906
59
767
295
453
648
642
822
937
795
917
647
31
192
182
765
556
500
621
176
950
137
361
423
712
172
712
697
181
16
527
553
311
347
548
367
143
630
408
374
578
275
94
317
445
834
124
404
2
789
817
774
415
87
6
487
829
292
983
938
699
944
317
266
222
440
313
627
856
668
812
353
640
610
747
288
70
638
899
703
22
628
544
755
486
76
171
362
185
686
949
194
266
864
361
367
995
303
877
766
844
314
736
964
748
13
543
916
534
848
17
53
833
578
348
35
759
453
58
839
186
348
808
315
662
59
841
863
102
550
173
727
730
445
612
992
165
568
353
952
12
349
225
841
89
476
422
68
11
936
967
179
765
434
334
94
126
190
778
500
855
686
434
890
667
47
671
508
317
876
351
998
668
701
323
417
790
573
891
702
83
573
506
227
559
855
601
231
309
686
905
579
602
223
214
603
770
493
501
122
480
731
519
380
778
251
793
156
733
919
1000
41
650
74
330
426
112
862
883
875
428
905
124
284
207
444
698
802
124
457
396
765
990
845
645
178
753
784
45
771
246
542
200
517
985
412
293
150
368
59
314
490
400
701
774
983
104
839
317
686
409
853
522
606
149
699
866
803
269
633
277
979
990
560
592
80
23
58
997
874
274
413
572
507
487
394
859
588
188
981
408
365
707
36
390
570
682
136
83
763
336
393
612
692
297
597
830
114
936
343
882
780
457
954
231
448
996
73
21
257
972
8
163
471
829
479
303
846
702
10
72
12
783
4
54
221
927
177
859
686
788
430
630
155
240
128
396
690
345
129
983
766
204
789
458
940
288
57
319
63
511
986
345
174
529
602
832
799
177
522
301
888
222
836
200
121
111
809
501
544
812
169
451
192
44
967
723
165
197
859
698
690
239
857
673
256
394
575
135
788
138
704
42
129
557
43
496
618
631
343
190
87
354
380
537
861
932
805
266
766
529
963
606
691
272
600
121
823
985
354
654
951
805
426
695
578
424
167
183
598
741
796
876
903
473
178
644
540
460
281
652
806
864
272
920
636
579
224
722
392
419
64
173
741
324
960
150
371
955
539
387
714
360
983
671
282
328
374
148
432
2
762
638
954
141
284
647
466
229
375
800
502
839
686
303
724
808
548
290
545
663
845
684
163
310
223
285
875
885
897
760
769
571
532
641
678
994
507
986
368
298
21
924
898
964
498
357
921
580
23
415
482
605
110
535
233
375
143
295
868
750
410
841
341
779
351
52
41
700
583
792
846
609
681
763
769
442
110
678
95
414
741
453
880
468
767
498
180
709
652
299
838
260
515
316
873
316
477
168
257
264
85
116
445
34
720
177
209
97
433
196
38
817
443
864
51
57
208
995
489
529
366
201
12
417
367
322
587
754
515
100
647
996
417
765
551
50
249
531
308
164
16
254
49
72
670
828
397
863
119
289
898
125
778
202
826
39
785
3
126
645
851
932
720
698
921
698
232
6
394
800
980
498
834
471
549
289
551
89
769
731
476
733
787
265
432
517
732
405
503
380
81
303
282
750
658
946
338
301
342
966
185
994
534
546
828
836
883
378
315
117
570
638
121
199
677
637
915
129
944
138
975
354
77
965
686
87
295
995
338
86
347
393
122
157
665
861
241
870
983
945
937
414
963
660
566
326
268
333
332
245
733
160
652
484
324
276
905
791
67
391
492
512
407
964
746
382
54
45
538
484
322
390
931
729
36
765
91
684
798
262
368
157
254
375
54
703
553
944
576
101
167
392
520
438
296
425
138
171
659
106
369
222
559
217
58
203
138
183
751
734
212
214
556
592
153
23
120
132
466
681
325
594
99
582
673
117
122
90
902
838
302
94
514
714
313
298
970
946
131
55
277
966
25
10
663
993
347
414
804
374
649
507
911
853
986
759
541
936
264
584
261
578
263
911
939
208
36
569
137
185
797
659
245
291
82
70
702
920
891
163
164
25
8
847
953
185
254
954
957
408
581
389
985
661
778
366
344
623
819
225
504
757
746
96
439
162
665
240
600
75
950
197
306
992
156
764
522
529
79
847
502
983
240
407
919
970
151
979
11
514
288
917
477
231
232
397
313
640
196
841
920
407
972
754
260
491
913
351
605
577
747
910
760
724
218
719
714
909
667
390
506
658
853
403
301
301
814
737
564
843
873
123
129
288
886
457
881
552
193
733
748
64
457
100
74
750
716
355
572
971
734
329
294
148
27
264
105
384
968
401
102
205
273
782
643
867
513
70
176
886
438
71
759
492
534
29
57
388
748
836
475
454
599
907
208
49
654
156
470
409
35
436
179
664
214
884
663
30
581
622
771
311
602
380
751
520
844
590
390
171
111
15
453
240
665
756
622
663
954
316
214
264
173
564
917
111
24
122
205
85
636
269
168
826
459
909
4
434
946
98
270
882
913
417
154
167
124
422
219
685
346
741
814
335
74
457
224
502
355
953
714
358
869
757
276
354
495
413
845
608
770
252
872
539
545
219
279
671
984
220
78
753
995
786
655
178
580
14
412
491
213
641
551
277
962
909
511
157
237
801
984
380
223
78
673
965
330
513
713
358
737
843
291
935
649
463
358
507
166
513
362
741
948
377
271
748
544
466
459
786
462
451
49
528
852
741
437
135
989
979
963
896
264
367
587
498
425
122
111
43
897
668
958
901
661
419
923
55
360
543
858
266
461
620
123
54
604
692
491
673
893
619
620
824
408
986
465
168
981
30
632
603
972
645
701
724
123
998
897
970
976
981
9
450
289
391
817
736
110
554
951
481
987
379
562
296
38
712
785
657
262
864
822
153
922
985
974
796
809
895
343
966
557
729
223
661
761
3
160
164
993
435
839
74
167
481
456
519
903
194
732
702
749
42
22
725
204
377
604
166
450
872
92
287
666
190
693
712
175
797
418
415
551
639
948
820
109
320
89
574
669
654
911
370
650
615
442
955
569
457
526
457
828
158
255
270
502
743
33
152
156
901
288
782
220
339
321
939
420
208
902
258
260
252
137
845
928
11
94
171
810
324
74
12
988
72
691
131
592
715
78
336
690
319
511
461
953
167
910
972
120
833
490
909
943
359
7
738
359
417
85
490
196
356
872
479
941
616
761
662
378
814
94
370
893
691
875
858
483
484
147
93
145
567
152
339
930
350
526
155
147
952
655
335
796
967
196
517
827
914
169
479
308
957
646
851
779
9
24
746
778
541
514
719
613
998
98
747
361
618
738
464
668
168
201
966
343
256
549
270
127
675
976
210
376
959
681
581
665
528
261
625
319
620
43
68
759
714
808
587
790
909
80
470
857
250
82
448
863
782
41
896
91
167
354
306
614
421
593
922
471
764
998
261
858
145
410
139
261
169
840
576
226
423
280
1
124
822
615
820
663
381
602
141
525
349
515
821
215
245
19
422
393
843
729
309
618
676
976
821
571
531
709
406
494
81
743
966
411
229
671
223
221
966
486
903
37
530
865
581
440
577
369
593
93
559
892
679
844
56
250
581
624
746
155
533
544
967
471
275
797
594
816
987
228
42
200
634
136
796
823
405
631
311
520
116
991
123
209
477
663
87
47
499
147
152
700
669
853
214
729
289
358
16
502
96
85
16
732
47
767
426
311
907
415
844
405
430
160
167
62
126
683
90
341
373
983
960
843
755
759
470
49
519
88
758
867
140
939
691
851
491
984
533
461
413
124
492
925
957
660
6
966
448
60
462
705
512
966
427
239
817
468
304
643
35
181
952
610
592
538
656
699
255
91
789
815
719
508
881
655
197
962
781
175
714
93
624
690
934
187
355
353
324
81
769
362
71
472
919
80
580
495
862
63
866
702
706
724
137
119
420
721
787
179
367
464
610
55
698
558
743
221
305
427
37
766
291
253
744
285
917
112
344
315
556
689
968
578
60
94
698
981
121
608
874
433
99
691
381
665
933
131
434
60
480
691
508
905
879
417
209
526
32
860
868
894
936
926
470
513
433
338
849
557
699
212
311
349
78
551
968
440
42
236
942
924
395
971
725
359
100
65
748
393
356
146
864
511
777
54
816
620
505
672
94
362
767
20
772
236
517
58
541
835
965
980
247
745
96
753
290
35
696
549
940
706
134
836
995
352
300
1000
424
107
403
965
227
748
558
209
376
419
821
548
477
157
838
694
243
886
163
697
96
480
373
5
273
447
258
147
692
267
346
929
51
171
907
587
312
144
653
239
69
459
885
210
686
389
29
902
646
204
688
310
204
845
533
108
203
129
232
256
143
560
611
80
243
899
444
575
847
226
581
465
35
868
985
420
527
580
79
138
819
345
290
547
372
580
172
81
547
819
181
736
457
370
431
36
823
835
311
695
727
626
797
447
299
836
774
538
511
780
423
270
430
580
472
96
536
318
447
350
667
778
166
681
25
536
279
76
748
668
745
286
348
31
187
905
571
836
523
897
616
103
767
430
900
348
88
429
393
234
749
526
807
893
837
537
635
359
886
270
514
569
748
997
780
409
457
219
427
271
940
906
214
741
332
868
948
538
39
32
42
228
825
772
871
93
27
588
265
329
116
806
785
226
364
644
586
103
748
442
816
257
869
546
420
859
34
866
592
418
764
617
659
128
206
793
580
13
970
72
981
848
548
369
964
761
180
965
280
310
234
19
279
645
456
346
789
617
201
57
4
155
88
723
253
757
62
147
976
933
331
527
233
745
909
63
855
620
524
550
580
746
958
42
694
859
641
795
203
867
523
222
126
76
122
226
812
978
779
647
53
765
699
537
129
708
216
373
675
33
939
579
60
274
127
324
459
355
935
670
366
142
213
295
480
567
805
237
958
188
300
591
615
586
383
65
627
252
448
839
149
916
762
482
49
43
36
659
128
250
793
361
437
826
621
122
571
556
857
446
573
895
909
745
411
539
171
379
652
903
110
892
60
321
613
892
765
181
538
5
940
590
962
735
214
341
620
699
410
435
6
321
518
222
708
406
653
637
351
915
223
425
5
592
292
174
767
542
675
730
804
677
135
710
429
701
328
743
1
444
640
325
403
583
732
281
698
992
476
120
510
327
732
389
256
140
264
115
32
974
323
605
235
634
998
22
948
580
802
476
387
906
901
558
132
285
845
796
120
650
990
186
784
616
103
975
828
224
553
355
409
585
444
565
613
631
240
390
174
478
667
843
318
241
374
182
183
565
486
741
538
156
50
370
616
979
909
53
878
197
535
883
921
913
873
677
945
837
43
207
764
877
702
928
190
365
298
163
877
744
208
246
340
711
220
786
165
691
87
137
773
588
376
613
348
851
34
808
763
317
821
938
342
459
713
831
162
11
364
893
442
823
520
696
871
845
543
63
406
848
689
151
150
869
980
710
175
517
986
677
635
58
973
907
326
133
346
469
343
761
26
577
326
1
754
783
272
860
903
581
805
793
145
656
25
897
267
288
661
265
477
623
906
921
685
756
62
986
41
124
168
415
562
922
890
265
649
699
273
366
860
722
202
974
565
717
234
751
909
267
659
416
142
802
807
928
144
260
406
63
921
36
265
107
345
600
116
86
403
549
462
414
473
254
412
105
35
747
876
234
520
452
660
114
447
801
203
101
814
577
293
304
418
135
244
213
805
262
334
949
19
675
660
30
72
287
367
608
203
820
8
295
344
906
656
123
923
719
443
462
959
699
406
692
685
826
258
839
714
890
769
676
13
290
204
780
172
872
677
133
518
954
562
507
931
675
266
307
102
837
642
437
641
861
66
107
712
108
526
309
582
265
351
985
704
804
853
776
105
352
161
979
711
356
15
770
211
996
752
723
356
388
39
936
416
299
767
410
749
368
801
161
912
24
714
577
243
128
688
612
883
81
470
921
917
960
724
182
585
318
630
924
905
580
243
726
395
493
95
705
949
416
54
529
354
540
743
163
420
360
85
497
111
509
188
894
738
128
760
887
281
756
273
315
757
314
578
963
945
487
926
666
406
400
527
140
188
877
217
883
717
638
763
647
453
443
192
534
770
258
52
403
869
942
200
381
327
600
175
881
1
847
795
336
823
787
313
860
907
350
453
642
200
238
188
580
26
267
83
30
796
936
305
462
895
210
341
725
567
39
621
725
976
855
269
807
783
301
308
413
201
512
213
176
535
857
229
681
167
272
832
925
128
95
463
955
77
62
267
292
799
36
127
418
230
665
374
654
962
499
381
895
468
604
813
412
18
41
238
859
28
653
107
899
8
800
602
307
60
542
512
4
436
370
639
406
314
346
589
26
716
400
62
123
492
921
118
526
124
607
127
510
279
172
185
635
723
174
269
610
35
886
257
382
261
557
461
948
973
859
813
443
893
144
535
466
982
393
892
337
588
257
311
447
649
870
754
940
13
572
383
769
355
72
790
68
623
780
233
377
390
609
213
916
523
497
34
604
602
768
960
388
181
622
242
874
581
24
238
128
58
599
837
69
610
974
185
361
910
187
579
77
824
255
239
169
427
154
967
925
644
955
977
845
14
541
304
719
858
860
438
306
60
115
679
338
654
427
679
901
303
614
420
264
72
421
617
437
970
957
956
626
162
698
129
934
270
643
899
426
151
590
885
286
735
795
518
537
965
209
143
181
779
628
114
474
721
601
639
767
541
804
858
924
340
338
266
442
935
239
475
399
194
253
647
201
50
303
982
162
343
742
519
772
945
478
297
839
621
213
931
362
620
232
601
721
268
894
253
823
84
997
42
897
525
530
612
394
205
359
689
108
109
271
985
253
640
854
883
162
563
954
564
481
409
570
784
480
90
836
99
554
668
201
167
146
189
357
679
591
110
688
800
839
798
202
434
726
249
335
564
460
32
233
505
428
100
20
226
755
880
125
539
678
250
192
635
715
422
674
388
464
506
488
518
7
97
420
446
567
83
357
115
721
237
121
664
108
915
538
953
130
293
504
843
197
525
244
448
528
723
805
838
553
53
49
413
866
54
361
392
339
478
424
571
85
143
707
395
634
432
749
130
786
972
140
67
687
177
968
175
34
693
350
134
152
958
842
268
258
780
613
767
243
817
810
428
231
971
886
748
547
896
101
585
452
209
416
453
899
500
869
328
890
877
877
971
752
551
741
105
930
189
56
800
195
706
75
107
175
990
419
543
318
115
351
155
139
711
538
480
778
581
972
647
372
115
710
484
507
963
172
75
958
357
908
146
303
78
771
477
783
281
323
441
789
207
827
321
243
18
875
658
568
373
273
689
905
480
134
448
481
352
936
518
693
574
543
844
587
382
112
732
386
673
988
67
751
758
125
899
988
938
178
896
978
861
848
935
720
397
281
1
169
422
530
334
16
656
436
367
109
549
265
303
950
237
484
316
734
479
338
357
49
959
230
986
30
971
455
274
477
77
945
161
234
146
77
139
717
522
848
913
902
797
680
415
773
1000
355
9
321
90
593
200
286
90
650
292
233
845
430
149
477
838
909
851
236
509
157
796
844
884
16
56
365
138
417
321
800
898
993
402
87
993
874
954
143
189
898
546
426
254
137
874
235
707
798
385
112
893
968
980
990
186
658
672
93
802
907
122
706
382
561
298
722
212
520
160
420
360
905
729
344
707
805
453
86
313
669
334
161
331
283
602
667
464
779
557
346
409
983
30
617
310
20
478
8
579
237
463
207
866
806
98
959
512
905
643
914
943
477
847
480
201
870
17
884
214
919
520
342
988
246
250
417
915
561
527
407
179
44
175
125
97
551
842
822
204
317
108
325
809
456
8
69
17
576
867
860
734
126
430
936
414
209
652
607
342
439
633
493
39
984
34
631
116
555
81
264
332
26
880
366
471
508
305
575
603
878
779
138
6
342
176
202
128
180
345
243
90
968
300
440
595
686
358
619
541
573
497
240
228
317
643
919
215
794
369
428
187
484
492
278
998
306
172
45
768
824
401
504
879
569
325
335
622
209
802
939
204
870
914
960
155
854
792
746
839
351
939
478
403
711
413
290
112
358
935
162
863
844
139
535
309
851
681
529
309
900
372
880
164
471
920
982
943
929
134
529
123
68
905
584
365
998
884
809
791
348
489
529
969
712
887
236
305
673
33
59
778
145
452
133
168
475
216
396
699
342
976
804
456
636
216
73
636
549
274
855
790
750
126
707
505
800
129
54
415
569
501
448
48
342
61
821
124
747
799
120
727
311
41
368
404
39
921
406
804
310
899
379
88
352
65
672
332
604
514
119
640
493
395
226
424
763
642
534
122
960
735
317
233
799
213
669
135
811
87
838
732
968
858
100
73
496
159
400
241
14
778
162
668
415
400
921
631
30
26
363
259
889
555
135
640
311
648
607
916
727
374
619
754
723
783
20
173
913
11
338
944
229
203
876
465
467
769
242
338
831
962
496
572
847
515
606
973
347
580
757
743
976
9
557
997
985
523
813
988
745
814
327
392
546
663
23
435
209
969
352
551
756
974
73
993
623
901
526
828
390
677
89
53
298
836
943
267
852
468
963
239
63
348
964
952
52
660
177
501
404
250
279
964
702
706
317
830
808
913
480
211
274
85
184
641
952
630
837
222
159
295
748
563
544
420
457
301
522
950
11
561
9
168
303
469
605
971
163
129
433
846
921
712
978
480
577
437
681
742
82
708
902
798
119
351
308
618
775
143
700
962
596
158
387
150
567
268
610
280
591
111
357
342
451
508
841
747
228
76
82
607
673
41
705
425
338
929
660
947
689
315
916
923
461
168
539
156
705
261
404
194
915
891
293
338
550
25
647
282
244
210
664
273
90
878
190
207
46
464
645
778
884
75
706
681
421
263
128
107
846
60
788
561
734
817
668
177
559
948
382
538
374
728
468
448
449
491
957
956
35
98
249
525
29
48
734
394
620
456
927
597
171
646
385
702
320
570
499
392
174
136
102
516
820
104
220
562
944
244
911
179
44
737
361
249
949
570
189
223
228
108
822
204
600
886
970
329
364
716
523
188
354
325
130
706
690
340
156
55
858
879
446
798
386
208
576
475
306
649
225
453
130
927
828
334
485
812
498
135
246
603
545
718
384
195
820
51
930
950
235
641
564
305
3
307
509
810
180
22
207
631
626
246
648
30
783
571
782
106
466
999
553
529
678
148
874
875
156
905
315
215
842
628
551
850
535
192
890
924
707
461
338
976
738
917
563
265
782
130
628
957
128
655
41
599
650
746
228
685
307
717
325
918
721
204
490
216
611
463
723
344
238
286
164
884
914
46
304
375
65
558
699
442
5
302
318
639
131
486
778
874
230
246
16
17
461
261
542
523
365
214
99
29
709
132
506
131
676
875
763
233
302
780
696
611
343
274
112
649
270
9
538
495
781
518
451
78
865
927
257
15
818
10
611
881
832
560
586
311
73
185
861
540
660
428
230
587
624
805
901
466
773
477
1000
877
889
153
965
25
319
98
696
886
300
968
264
374
551
21
251
961
693
616
628
629
322
891
773
431
189
437
206
355
742
811
717
151
522
253
267
368
999
851
499
319
987
765
874
932
445
43
302
153
542
721
458
631
794
341
248
842
900
362
191
626
739
483
385
449
484
422
645
700
784
840
470
714
160
98
421
145
898
213
243
492
820
3
564
281
785
980
626
822
466
123
564
822
111
384
456
449
761
23
776
857
268
378
64
919
442
51
745
711
651
328
216
902
417
297
78
932
882
465
812
429
770
896
194
193
271
101
954
783
829
154
209
927
184
346
961
659
621
200
918
184
316
435
221
136
900
759
831
968
643
237
537
587
984
712
499
441
301
220
862
449
305
135
458
672
86
366
51
849
537
108
240
339
770
80
534
97
62
671
547
285
819
641
875
695
454
991
708
59
557
484
119
552
932
504
498
838
420
634
548
755
1
843
926
423
811
822
835
550
716
923
333
27
443
670
244
774
934
715
330
470
417
875
613
777
733
31
742
923
87
865
518
779
897
784
311
601
60
502
722
604
438
680
839
542
296
342
974
490
21
974
827
615
586
357
148
419
221
135
739
497
804
87
468
25
487
25
805
565
634
981
278
714
934
953
572
238
731
435
403
181
920
307
270
850
131
333
499
629
150
654
450
917
86
84
548
44
802
464
201
510
509
509
635
582
529
295
771
576
613
73
842
325
771
960
388
411
601
821
274
473
902
169
259
926
484
196
776
627
771
39
560
899
143
937
851
112
452
214
248
41
886
653
585
692
836
662
57
401
764
843
579
551
631
209
565
632
209
426
566
63
35
487
60
27
784
523
251
445
751
32
353
245
918
555
908
192
905
750
771
340
624
812
261
391
936
54
232
654
596
916
291
326
368
243
535
803
951
584
878
675
336
856
934
503
505
353
39
557
262
944
481
589
495
625
157
622
374
61
499
738
897
202
225
769
160
716
570
192
499
77
530
908
163
342
789
401
435
533
665
70
478
841
180
921
791
615
547
676
193
205
153
744
276
204
641
692
884
44
927
639
666
163
672
223
707
455
997
815
556
113
190
906
222
743
358
68
465
100
228
546
238
383
4
939
582
560
513
104
324
41
567
637
521
370
776
547
466
801
467
616
541
92
682
720
939
899
682
270
495
362
588
747
526
281
332
293
14
525
856
451
57
321
14
947
430
324
630
97
868
630
279
380
477
94
169
901
541
859
816
706
79
599
113
158
457
535
661
794
407
390
474
845
515
348
317
979
22
377
53
413
437
874
407
910
602
449
835
146
948
914
821
935
657
159
390
844
872
607
652
856
269
324
452
405
93
704
859
963
351
387
364
139
753
758
22
662
732
471
208
966
386
831
217
826
290
39
594
40
166
609
286
982
563
130
405
646
872
207
882
626
656
316
177
682
825
688
314
261
227
381
266
799
187
649
944
283
445
489
378
173
243
561
884
446
171
147
926
770
848
626
93
398
767
958
219
854
533
836
867
948
201
950
567
247
494
413
194
847
788
880
317
542
694
544
997
724
251
146
74
75
12
238
906
395
579
212
936
298
289
743
220
38
578
332
785
986
313
62
437
866
480
946
279
631
921
823
234
459
387
652
736
689
507
426
852
404
53
649
933
424
613
195
35
672
901
368
521
119
526
45
471
79
346
194
535
499
443
662
641
970
85
73
740
713
102
841
526
732
379
632
167
876
652
100
513
294
480
764
234
836
680
813
212
193
245
175
502
741
368
243
678
900
519
528
893
424
144
982
909
302
190
578
899
274
632
578
194
314
360
592
189
746
889
720
341
295
283
466
23
433
813
354
561
114
194
8
94
156
15
489
249
53
479
58
905
399
756
564
69
901
171
903
15
111
44
384
163
652
546
284
250
885
810
836
797
572
46
584
793
318
16
306
475
878
105
805
967
371
699
70
951
323
859
71
6
618
814
269
472
239
340
430
454
262
94
212
505
902
657
198
668
407
46
911
385
961
297
487
769
879
435
99
658
951
587
797
154
862
362
523
967
915
852
351
471
23
133
153
501
478
783
642
529
417
932
860
803
696
213
756
133
546
509
629
890
126
299
601
708
448
663
767
802
457
472
840
51
459
775
768
161
592
150
594
931
462
180
749
408
836
847
747
598
662
739
672
628
713
82
899
340
105
16
324
561
566
760
299
345
539
420
332
180
541
255
87
575
478
274
49
923
9
5
444
77
462
644
244
976
384
964
429
573
802
226
943
206
794
629
696
429
684
894
931
284
531
863
745
549
322
310
861
187
76
983
815
122
925
437
434
465
677
496
972
426
249
574
522
488
574
237
750
237
654
685
917
59
462
208
564
469
595
968
782
782
309
677
654
201
696
767
621
56
415
651
68
153
295
499
15
147
1
96
943
118
522
868
256
518
562
440
522
986
177
840
628
205
199
825
554
627
341
185
979
240
138
232
429
951
687
127
191
510
21
342
302
364
689
6
527
524
569
862
566
952
644
162
164
118
243
116
913
906
252
282
715
368
386
836
184
710
774
107
220
732
11
998
381
263
629
257
992
115
899
582
221
373
835
918
967
376
495
363
600
950
879
344
224
531
225
244
877
258
869
240
55
829
430
635
389
728
101
739
557
575
599
632
643
667
167
770
556
786
278
146
211
444
753
139
244
759
736
293
981
142
187
847
563
843
208
370
184
215
367
979
106
899
316
742
54
202
253
939
99
58
948
810
364
402
819
520
713
94
220
292
800
315
21
321
921
901
758
912
957
609
118
731
763
979
32
706
467
915
116
471
885
493
210
411
194
45
37
547
902
774
503
528
122
183
792
630
30
188
767
568
487
672
61
436
22
743
532
995
467
369
718
806
16
851
221
10
217
876
742
815
186
534
870
558
245
30
510
798
155
996
620
519
309
965
324
522
100
989
26
252
643
117
853
471
680
961
705
616
742
460
466
213
39
489
126
703
382
111
509
597
421
151
442
53
712
707
223
530
271
952
90
232
279
582
538
433
337
25
657
135
912
45
975
370
814
129
809
844
245
564
133
624
138
294
727
401
60
798
329
46
140
106
501
541
73
381
214
254
783
596
290
253
925
810
884
93
875
853
801
752
126
184
435
597
171
791
348
370
744
203
273
888
118
363
177
906
207
874
430
825
103
525
306
274
196
432
627
71
21
552
981
486
960
656
113
810
926
150
544
67
441
744
150
392
341
428
948
32
962
2
926
929
893
879
425
253
866
299
716
980
389
784
971
959
576
12
920
474
282
873
578
359
966
952
622
764
677
386
6
542
255
703
595
127
893
660
754
931
58
149
858
263
635
33
356
832
950
384
674
213
568
611
998
991
218
20
845
366
31
592
603
889
86
881
363
509
115
871
257
731
766
381
935
317
478
700
456
212
27
715
269
255
637
542
974
86
192
300
824
422
496
769
906
506
625
798
939
38
754
208
641
889
268
688
791
899
305
20
619
631
208
782
457
648
202
717
394
226
509
193
352
731
470
518
459
614
458
121
104
514
569
469
861
280
280
766
271
961
540
29
96
803
439
362
94
972
360
373
703
241
230
48
792
917
622
792
159
60
13
334
802
915
145
695
399
656
621
91
169
925
430
60
284
620
920
30
947
827
704
135
454
363
973
135
523
274
79
474
173
43
514
930
151
256
710
555
57
969
124
860
288
110
65
510
290
512
31
876
404
723
933
650
816
591
869
897
305
16
996
272
327
788
644
744
568
557
764
56
100
167
707
255
220
75
185
587
413
796
423
119
148
369
521
211
828
678
871
751
273
343
635
884
700
872
300
507
127
991
307
724
709
367
216
939
64
573
147
539
405
693
180
294
47
498
689
439
278
666
495
669
753
987
545
502
65
413
756
861
308
689
442
897
640
515
229
452
354
99
639
530
180
341
344
784
823
669
579
737
583
333
89
144
503
906
336
998
442
95
649
806
208
656
499
270
997
151
363
377
647
209
573
706
851
66
216
691
105
215
64
900
735
98
106
301
624
707
158
604
196
737
687
367
237
909
978
84
381
188
98
793
265
593
818
108
605
755
380
995
118
333
953
873
254
927
844
895
848
154
539
639
978
50
904
996
869
767
807
1
890
710
956
593
17
268
5
233
992
460
516
363
402
91
821
486
874
392
965
689
325
578
527
246
375
595
828
47
753
859
41
388
954
780
400
861
72
126
907
849
963
240
901
888
544
7
789
937
164
716
738
685
126
228
879
611
50
460
367
780
126
759
40
227
232
568
72
372
300
785
666
359
338
649
761
641
675
488
781
533
773
442
820
841
896
151
162
838
538
839
898
815
539
922
648
159
515
646
383
592
409
729
775
720
8
764
191
779
960
669
891
363
470
590
667
557
984
90
355
227
206
684
13
538
338
343
27
423
988
993
796
889
805
859
86
548
601
770
910
684
910
71
91
442
40
671
584
266
356
121
902
758
63
141
987
502
681
412
58
858
190
6
700
998
269
73
335
841
59
195
348
875
770
65
879
911
959
812
199
993
460
910
431
112
870
27
666
250
969
710
468
153
217
981
447
281
25
503
375
304
863
555
105
739
297
488
191
307
237
986
757
726
747
149
180
323
390
245
422
925
179
666
354
491
31
742
678
518
46
511
754
175
856
852
743
53
207
91
401
198
450
822
194
474
481
592
162
299
12
161
672
725
817
859
337
403
633
875
414
645
4
195
300
251
246
787
297
237
420
142
707
233
35
228
545
669
597
478
789
11
868
875
426
758
116
100
246
467
10
426
612
47
138
434
374
978
375
806
927
492
168
241
717
218
48
344
209
309
927
699
15
571
17
724
418
616
926
659
60
855
546
722
121
817
647
528
677
796
599
275
258
213
446
148
270
536
246
327
584
685
754
459
397
810
795
5
180
391
759
865
159
363
793
641
699
212
178
655
255
221
11
894
397
739
797
301
443
727
728
449
530
367
107
48
803
956
841
609
926
427
756
121
478
108
900
103
789
220
785
535
858
913
704
386
917
567
962
440
433
970
172
338
663
873
713
868
147
377
490
959
417
444
758
603
48
320
116
995
254
781
119
667
719
459
538
525
537
379
31
290
789
593
471
926
552
185
230
730
790
168
651
280
575
241
543
161
360
781
374
224
90
760
175
306
517
72
484
663
355
851
554
354
854
960
383
398
666
372
438
900
291
801
910
321
879
897
193
890
838
167
595
233
766
995
536
18
787
601
984
133
811
319
978
534
574
83
941
199
883
252
162
280
120
436
24
10
193
234
256
791
553
426
197
755
648
912
300
984
562
639
520
466
68
730
517
795
902
98
355
328
260
990
762
597
362
925
129
170
42
529
630
506
934
978
944
325
704
152
648
188
764
179
138
42
663
162
970
454
465
438
739
561
238
833
357
790
478
147
833
738
301
964
198
762
96
715
192
2
561
153
932
90
120
762
545
691
550
295
193
3
994
762
846
167
650
860
216
967
682
203
911
95
640
747
11
318
457
207
388
830
476
228
989
132
899
134
534
569
968
228
102
78
880
578
785
170
315
381
733
462
110
635
896
139
161
176
317
517
93
631
934
11
729
818
822
370
824
949
361
95
460
367
333
504
862
882
14
200
200
759
368
352
288
495
865
234
659
78
143
602
375
626
55
2
752
181
61
151
336
784
639
394
53
477
141
264
346
61
322
624
7
561
387
246
83
97
755
914
788
673
366
607
427
83
62
129
180
314
855
303
153
741
675
95
913
840
115
600
516
756
509
64
425
808
577
914
445
870
370
828
67
278
522
348
320
166
171
399
696
845
437
443
795
169
428
390
981
951
521
810
752
93
91
293
622
794
235
322
318
131
667
198
396
556
136
913
155
409
535
903
954
309
719
449
892
683
785
407
411
876
726
644
265
261
588
85
193
968
616
853
366
155
41
201
464
319
930
870
943
72
872
130
330
923
629
634
517
579
216
725
353
881
86
898
652
203
506
872
455
215
255
631
245
227
760
880
866
498
749
526
836
865
931
490
474
900
839
55
674
226
309
315
293
421
663
182
637
595
434
172
425
410
49
171
990
391
411
449
868
712
931
642
80
621
347
747
340
931
135
274
316
747
701
63
739
728
107
325
667
961
732
385
203
117
392
836
126
158
781
656
361
11
311
148
204
498
472
631
884
569
819
347
861
391
195
695
155
472
840
595
748
831
459
172
697
811
900
184
392
717
244
337
337
191
293
240
198
527
187
663
685
86
901
649
553
685
973
484
486
943
542
622
206
993
673
763
171
484
242
845
538
762
931
347
490
982
840
608
30
926
361
789
801
417
933
19
215
230
486
599
493
453
299
495
819
842
339
173
462
616
355
314
680
544
843
243
459
997
123
362
922
533
593
539
28
330
832
744
538
794
916
442
129
676
168
104
960
578
730
901
225
530
477
353
704
715
674
710
709
745
327
635
28
981
693
524
864
247
858
296
982
8
511
339
952
370
751
817
834
562
611
524
194
222
549
721
575
376
220
293
818
633
940
336
624
888
954
548
17
422
280
110
263
792
851
190
682
24
334
605
613
439
622
169
190
337
79
676
747
249
405
762
337
407
214
548
372
86
35
132
803
502
188
126
798
549
448
491
275
148
412
564
384
174
749
936
474
433
790
935
383
111
93
700
6
17
174
706
849
879
856
772
523
145
881
622
859
449
938
454
158
786
305
420
761
672
135
630
503
778
114
787
679
539
130
39
502
77
345
537
509
376
481
298
399
611
347
3
180
153
720
331
707
989
569
489
409
471
147
326
572
733
102
871
233
121
481
425
678
472
679
721
623
797
46
691
40
964
947
420
706
571
989
412
899
698
82
471
356
364
857
98
711
296
207
85
859
95
346
117
652
298
399
809
456
834
351
940
335
552
967
933
108
79
239
579
17
679
656
638
411
284
390
447
467
95
117
444
439
154
21
728
766
948
409
856
61
867
857
473
453
494
359
181
173
317
333
164
480
106
248
849
19
862
511
136
410
493
168
394
287
416
499
366
492
229
896
830
104
138
790
23
574
857
533
230
600
209
42
271
249
141
238
272
740
919
838
93
990
328
906
844
243
513
817
882
692
445
25
651
771
766
692
712
412
633
98
446
804
772
172
336
273
647
780
636
285
957
520
327
883
706
421
647
555
160
465
286
93
491
492
369
400
749
668
589
786
800
149
660
725
313
908
718
811
213
1000
761
907
61
539
688
396
706
109
710
5
108
719
877
44
468
166
96
148
123
436
673
647
123
760
827
542
143
366
489
468
267
588
837
91
642
937
13
49
460
54
382
906
455
401
526
20
734
833
344
294
478
284
426
903
383
920
75
538
77
955
604
577
712
417
883
994
203
167
505
464
358
555
800
942
311
923
422
155
454
585
762
938
273
207
246
331
870
848
889
139
54
423
627
910
503
361
990
291
821
3
692
473
629
894
356
41
398
965
981
755
147
391
78
590
859
562
980
206
249
541
954
958
810
234
370
931
267
417
928
412
320
359
868
117
324
272
148
916
909
801
868
685
493
979
897
839
71
309
122
827
694
82
774
274
629
575
422
435
220
503
487
888
460
430
611
947
680
609
591
642
604
75
149
475
150
577
605
362
716
231
58
336
141
643
154
111
112
583
745
329
153
749
497
223
922
810
348
915
191
7
666
891
844
210
475
714
741
581
665
382
644
33
812
851
885
478
333
293
266
73
414
566
561
331
154
681
43
69
420
552
936
426
5
539
104
612
127
626
715
144
907
579
535
794
159
214
283
888
964
898
814
690
293
918
675
308
19
538
353
813
990
67
144
174
832
868
559
809
825
293
428
686
475
588
670
81
30
526
30
259
920
904
798
444
488
425
885
744
358
441
181
55
168
672
170
492
702
79
533
347
827
675
535
705
889
977
316
523
7
790
165
336
560
623
406
647
910
333
463
213
943
609
120
833
297
401
202
693
808
606
497
67
378
416
372
535
984
27
954
557
667
626
928
451
760
420
660
699
880
158
958
728
597
460
638
634
92
677
968
290
242
588
154
123
141
468
630
733
407
394
38
858
36
17
447
564
924
758
471
867
968
545
726
559
51
270
10
337
964
658
712
39
229
318
755
979
977
214
552
808
598
343
506
573
581
572
370
956
463
437
517
730
377
101
118
228
881
520
575
323
117
760
939
249
605
331
761
104
904
10
855
622
40
59
258
357
329
715
505
733
673
986
568
972
475
367
759
880
966
955
710
89
930
103
870
123
664
223
972
626
544
564
69
475
137
54
715
47
159
447
643
344
641
248
555
556
740
788
379
389
799
411
309
461
454
580
262
44
577
11
777
335
173
590
614
985
713
241
7
537
139
267
206
103
457
922
215
381
249
913
80
450
446
703
551
547
544
254
934
587
671
724
597
420
4
503
723
670
981
931
822
697
412
228
237
826
269
577
991
367
154
995
242
340
361
769
739
927
776
160
956
894
618
177
581
615
436
380
753
958
847
839
481
682
554
908
823
471
288
993
97
177
995
118
822
469
997
640
222
794
507
717
505
276
658
765
153
51
75
876
449
229
341
764
819
570
623
180
116
431
38
902
598
206
665
849
941
973
952
705
696
695
649
873
508
551
425
329
360
320
6
599
445
954
67
632
943
574
862
33
182
514
966
785
293
926
653
33
314
347
470
670
684
812
186
903
125
93
721
220
962
646
713
275
428
308
468
829
651
780
777
513
835
115
980
915
86
400
766
241
324
468
935
448
123
1000
167
948
626
335
643
549
258
657
232
427
396
830
262
951
770
751
897
41
423
664
357
701
618
358
362
747
744
674
335
276
842
180
417
204
610
865
917
909
934
738
4
119
428
892
373
193
997
910
746
832
166
612
905
11
95
935
420
381
557
175
586
46
794
876
878
648
498
129
246
560
337
86
270
287
736
110
87
423
70
613
240
533
14
124
875
901
27
80
979
816
108
821
75
847
149
428
824
157
520
112
867
474
400
939
205
740
700
740
151
888
717
804
957
104
893
423
974
865
267
170
761
587
206
190
450
885
911
652
629
632
637
837
564
177
122
32
661
920
597
73
215
464
505
621
455
498
497
698
236
115
667
310
329
575
387
974
760
526
153
540
432
167
220
710
13
285
868
779
479
285
385
848
759
262
633
626
174
173
491
84
835
428
636
4
72
868
361
174
430
929
22
27
64
933
793
139
20
696
899
105
279
914
965
891
254
465
934
496
392
911
540
297
287
463
113
567
414
14
321
143
856
387
771
33
402
556
792
633
508
977
132
23
988
489
276
777
902
700
449
302
32
36
882
732
300
652
284
824
853
73
186
532
291
179
273
315
982
9
798
880
452
448
349
967
590
320
389
157
399
208
221
899
377
220
74
609
736
495
498
665
193
120
94
789
19
723
248
522
222
744
36
936
902
850
874
947
484
892
428
234
998
884
374
485
473
964
913
8
906
38
327
822
784
596
701
948
977
324
683
732
272
61
305
913
966
151
298
963
823
94
699
41
36
765
269
297
896
158
149
751
189
460
366
643
557
275
588
252
160
399
877
889
422
373
589
458
637
60
867
300
725
71
807
603
801
513
292
25
212
456
998
988
161
117
74
239
7
929
188
491
651
540
583
736
517
76
940
608
651
419
326
861
284
207
863
442
55
95
47
197
997
163
629
953
161
695
648
766
281
345
694
103
407
716
603
335
862
274
148
306
464
686
328
318
365
920
359
686
674
789
621
242
586
102
653
393
615
957
278
200
600
740
617
847
213
395
823
181
565
380
287
52
818
803
905
321
706
588
962
906
235
90
290
853
106
333
21
977
91
956
236
265
929
359
727
756
865
439
47
286
727
678
825
904
434
378
499
363
509
2
505
128
611
961
146
176
2
621
645
764
515
888
946
312
13
101
212
90
217
331
347
407
520
371
274
623
916
883
309
173
684
845
194
725
276
402
698
4
118
625
424
451
663
934
967
847
384
758
103
533
529
796
986
881
303
129
312
662
204
595
437
829
673
4
245
63
330
792
51
929
362
214
732
894
192
731
583
790
111
703
935
155
874
653
581
386
961
416
495
290
363
882
462
439
382
218
913
257
515
76
75
158
32
812
875
482
892
976
189
347
947
918
792
58
628
556
265
655
35
933
949
3
271
502
790
910
251
816
659
407
739
660
988
803
203
278
884
426
772
958
469
821
321
196
144
253
991
429
318
242
357
383
8
855
179
612
698
449
705
645
294
281
685
842
816
823
385
367
542
33
839
284
100
11
268
809
587
337
605
311
44
157
150
504
473
212
506
971
501
123
850
747
453
658
662
794
504
353
415
145
445
6
118
151
274
538
950
630
625
835
412
675
761
798
556
794
925
313
606
799
913
300
112
530
593
583
215
48
512
798
724
819
369
744
995
206
550
601
895
995
675
285
579
830
709
548
5
731
139
166
472
567
340
872
841
184
254
85
794
868
340
557
371
483
482
524
186
965
750
293
269
650
765
714
331
98
786
341
623
869
178
60
842
645
963
832
886
557
496
130
991
297
584
746
983
786
423
848
54
977
762
629
691
930
266
144
769
556
12
727
267
233
89
409
230
943
824
254
221
56
624
417
312
563
720
50
108
81
315
517
544
302
734
149
617
43
611
993
825
184
665
553
772
698
547
390
903
200
965
168
86
956
379
793
496
423
156
899
736
683
437
779
725
816
791
917
199
380
105
967
598
911
191
781
610
993
865
155
587
945
944
900
414
548
144
468
322
176
488
311
704
200
777
745
54
967
136
874
337
503
406
895
208
434
202
248
166
230
926
727
124
313
502
302
757
608
27
911
45
590
311
253
807
602
257
549
523
244
498
820
796
298
781
906
806
899
336
786
397
662
766
300
532
936
424
52
481
898
781
377
85
636
611
492
436
76
928
216
729
541
901
304
774
853
96
674
559
717
804
277
869
802
938
905
751
521
854
526
572
681
740
886
94
612
569
293
249
57
820
307
823
591
218
899
497
176
717
950
822
179
552
836
178
176
254
513
143
739
369
884
192
225
192
864
796
474
604
615
779
920
83
391
172
733
333
588
235
739
603
54
210
595
679
520
279
468
124
935
816
623
728
248
833
189
465
399
190
276
110
638
438
109
946
869
628
536
115
218
51
550
483
48
102
691
633
828
831
686
791
194
773
798
383
551
399
855
702
493
809
310
868
385
595
405
518
157
750
948
974
666
279
883
627
476
701
393
569
644
947
402
486
243
717
465
57
806
707
695
95
895
688
297
921
951
44
203
198
579
89
85
861
841
557
997
853
223
184
99
872
234
347
292
559
684
50
510
688
584
421
558
7
587
841
944
952
38
812
269
438
510
427
840
408
654
973
51
399
192
347
844
239
375
351
820
361
823
730
475
453
803
287
404
212
375
200
847
901
244
989
139
689
885
615
386
476
858
499
69
102
448
521
847
930
894
170
224
894
426
568
837
148
268
493
668
695
619
355
680
749
197
142
238
153
870
353
329
156
354
240
703
768
806
723
479
658
719
35
455
345
229
289
359
994
503
450
567
316
657
290
215
425
981
830
356
629
784
538
180
621
208
925
263
209
743
517
849
556
959
585
108
763
556
363
908
503
259
289
219
115
503
372
794
336
274
739
1000
303
14
972
347
119
890
533
711
935
996
605
403
857
7
680
430
126
525
333
994
470
726
969
724
53
927
613
670
15
456
853
536
547
615
185
358
323
250
350
211
622
707
352
991
130
950
457
947
674
796
938
78
763
884
851
995
178
478
443
471
987
258
890
639
988
704
838
269
74
837
47
873
520
460
182
416
272
800
601
751
869
413
485
799
22
191
24
719
220
10
764
845
618
981
490
366
976
342
830
463
288
426
858
700
830
26
689
852
78
189
31
45
671
797
584
455
873
644
79
758
730
803
593
859
792
45
472
821
728
905
925
401
981
51
760
163
304
147
385
260
159
846
160
744
282
495
655
252
232
919
107
593
934
484
970
569
120
134
422
295
132
683
779
828
171
921
843
466
352
372
522
487
361
776
558
527
611
393
472
160
881
721
721
596
353
871
397
112
856
386
184
733
26
124
318
301
106
622
235
461
77
694
833
644
606
809
827
457
842
271
396
733
45
180
82
192
549
603
117
982
930
683
259
138
589
688
660
421
624
383
467
630
222
476
247
271
587
946
856
984
590
811
799
345
2
378
323
444
97
131
392
3
180
11
792
278
730
920
469
783
416
994
217
605
187
773
852
193
497
820
893
808
221
483
13
366
305
171
403
115
692
531
902
341
45
180
659
101
162
443
455
592
767
28
527
679
997
674
470
472
79
766
703
691
578
865
730
12
747
923
569
540
280
837
946
587
755
505
760
988
349
238
800
25
988
628
658
32
113
893
433
590
900
410
389
336
9
743
21
114
890
863
737
403
767
172
674
309
863
101
247
391
133
215
762
164
172
83
763
359
841
220
194
599
558
552
53
253
123
574
835
526
375
757
341
311
246
961
480
44
91
904
395
244
927
838
461
750
557
338
826
529
850
778
650
887
221
97
889
505
370
697
582
752
532
953
727
316
810
72
284
648
28
266
222
360
555
637
620
301
785
621
769
648
409
960
153
957
85
307
541
443
850
807
696
867
824
857
501
27
96
799
245
141
503
515
480
335
773
711
655
715
512
299
631
818
304
758
597
849
147
738
107
826
490
47
748
914
317
77
736
698
830
146
20
610
983
443
510
413
432
778
39
191
975
476
466
172
859
245
608
550
147
335
812
238
961
488
599
438
996
300
11
633
212
144
125
630
257
168
526
294
447
23
225
209
159
552
614
319
687
5
426
668
534
531
922
198
677
391
422
299
987
826
353
339
676
232
505
237
229
170
824
500
461
91
309
865
854
40
852
329
436
602
776
508
827
24
78
458
655
125
38
463
541
437
320
840
826
724
808
540
281
726
727
77
174
214
308
506
133
891
345
812
228
528
367
836
975
264
779
63
634
882
734
334
146
693
778
220
692
561
747
74
89
828
726
784
446
159
561
348
667
397
795
205
55
185
710
856
563
567
378
470
432
747
593
438
471
175
989
795
15
541
407
971
647
481
435
341
200
537
648
186
662
339
94
595
831
914
337
549
917
9
551
758
269
211
858
973
976
720
561
541
363
43
52
730
638
97
342
149
310
44
747
760
523
862
317
738
937
414
807
3
508
469
478
522
223
381
932
299
448
581
926
283
508
201
815
422
604
967
762
186
593
45
214
667
380
325
700
348
856
63
106
82
662
434
17
229
182
207
986
75
311
488
309
545
901
285
721
711
329
72
63
924
563
64
179
766
259
399
642
674
631
714
192
820
81
531
441
224
800
940
164
144
580
180
462
316
84
840
665
562
530
922
764
199
258
156
612
440
848
276
234
106
971
559
518
191
104
529
627
959
949
883
49
610
757
794
635
268
739
628
200
153
875
731
868
433
481
419
924
819
470
447
129
975
903
187
566
134
351
435
565
385
25
364
568
474
379
457
498
364
249
840
724
163
19
52
423
159
120
829
60
469
630
534
399
503
948
565
964
568
280
522
235
267
988
770
770
649
172
844
214
299
762
4
227
854
352
351
825
941
501
805
581
690
396
563
484
367
920
946
537
854
819
550
352
249
380
865
618
16
482
907
343
273
51
894
999
600
469
363
10
383
609
785
744
724
237
476
397
442
810
601
250
726
409
625
137
685
566
20
701
9
559
263
484
674
127
127
600
860
409
690
237
39
137
926
39
361
948
773
913
540
453
748
572
92
127
606
937
835
562
913
244
307
708
862
813
921
878
140
729
297
374
783
663
63
359
425
452
448
853
827
460
431
754
509
891
8
645
942
991
439
634
974
134
305
146
184
697
187
304
359
161
258
385
137
57
753
757
725
551
452
42
52
289
972
941
69
819
831
854
118
186
949
657
715
326
251
966
276
692
974
391
255
964
383
875
84
157
283
263
617
55
149
130
27
969
482
308
791
810
303
940
844
95
264
743
898
299
867
856
430
531
40
350
303
993
533
915
47
628
290
51
952
498
338
873
161
270
373
475
629
294
373
946
107
369
518
603
138
954
189
24
822
957
885
559
297
435
603
773
781
686
981
693
198
718
13
48
250
965
524
560
914
33
35
52
967
764
134
470
617
992
841
893
847
179
240
144
20
868
753
459
616
484
717
541
439
322
568
549
11
457
313
956
837
222
606
464
322
741
706
200
670
939
251
28
776
757
466
327
250
507
647
379
733
370
130
62
259
10
354
342
440
835
511
280
126
497
130
794
629
162
33
427
70
727
79
386
563
45
917
732
868
515
735
786
840
248
1000
425
922
872
776
613
152
744
630
737
774
4
180
79
629
541
587
155
21
863
978
971
467
649
528
117
96
376
655
705
553
953
5
881
594
773
332
536
185
36
469
870
140
676
222
145
614
861
311
269
587
547
30
36
666
461
289
649
552
762
412
279
691
384
536
985
380
138
462
218
586
317
423
389
530
21
869
33
240
536
16
532
414
63
664
747
800
124
775
870
815
339
137
896
42
500
663
955
989
546
840
681
890
428
541
980
471
920
631
211
14
118
932
674
771
928
392
37
842
531
697
205
655
394
403
956
551
955
46
739
900
369
26
994
743
189
671
134
805
738
945
165
127
630
808
710
747
430
277
11
194
605
601
668
664
55
49
929
259
481
949
968
125
365
310
205
116
142
575
451
806
513
632
397
452
264
340
802
582
439
619
316
225
279
806
793
238
729
571
608
455
322
1000
418
169
88
437
810
69
830
580
618
774
502
213
271
553
170
854
219
164
947
481
614
736
208
620
560
318
724
901
157
184
748
71
240
900
579
221
136
281
611
905
114
584
112
945
933
253
838
443
518
67
680
562
788
660
414
847
219
19
27
86
144
676
553
796
638
147
555
76
981
79
796
799
834
763
892
25
497
625
9
644
435
180
97
961
876
16
250
740
568
309
78
205
668
210
368
400
55
267
29
428
853
815
444
776
594
849
155
778
252
822
875
796
318
876
56
533
424
30
210
296
650
276
951
359
788
152
455
29
57
843
296
184
855
223
389
994
10
441
158
873
633
178
192
382
523
904
296
84
591
162
356
704
991
787
221
756
31
34
203
550
351
735
451
407
903
844
842
263
316
572
61
888
232
262
431
262
416
865
833
572
530
867
624
407
636
966
903
954
127
464
28
217
186
924
357
658
2
68
898
281
989
388
942
872
316
120
661
995
835
770
949
315
294
540
534
641
729
291
86
950
215
84
35
883
675
211
773
372
247
857
88
510
217
47
487
977
578
648
855
402
164
951
364
914
448
987
518
144
471
425
992
587
464
286
433
75
828
837
77
46
581
318
296
123
463
241
138
767
345
628
746
595
419
57
885
638
121
366
796
350
822
155
229
537
9
467
945
702
84
235
750
713
955
55
562
864
173
223
891
56
726
645
943
182
234
105
817
211
299
156
810
407
969
642
577
722
116
284
204
897
218
17
267
870
868
235
733
268
773
169
979
327
99
346
748
405
820
180
27
140
234
761
424
261
488
520
544
223
849
226
223
546
36
743
857
874
816
451
562
570
237
764
188
607
431
201
659
894
554
250
627
664
181
591
414
226
410
443
102
698
410
285
408
655
796
665
511
42
915
980
9
185
944
42
882
529
424
236
350
723
614
976
211
83
840
557
637
414
782
901
903
75
100
728
879
648
701
854
190
974
90
148
215
367
230
191
292
439
225
631
96
796
17
671
475
357
46
881
590
747
545
318
568
382
695
130
222
470
653
828
520
548
859
560
172
737
222
727
477
311
983
16
995
5
812
618
363
859
343
15
161
789
406
481
833
881
681
149
294
199
251
201
900
351
869
388
405
226
53
298
975
347
623
820
322
42
323
424
353
418
918
126
447
828
556
386
479
243
435
548
862
146
59
75
346
744
96
876
784
290
439
161
338
447
784
546
656
414
851
263
863
897
306
741
584
804
194
791
805
433
865
157
52
100
681
730
51
42
858
680
799
522
955
646
973
731
504
93
464
573
76
702
712
660
324
763
3
550
803
552
856
102
556
908
600
118
610
232
724
667
20
521
205
610
967
604
305
17
392
181
29
36
636
296
609
68
160
985
384
181
568
214
648
151
911
827
664
682
668
233
112
503
9
402
385
427
844
370
810
841
167
85
279
33
764
144
668
42
357
783
216
792
448
629
541
232
373
491
832
630
125
2
305
726
426
569
544
845
984
928
850
417
879
93
982
260
248
326
650
621
997
534
221
396
605
728
450
210
252
946
487
106
706
906
783
884
319
702
882
408
350
618
504
438
974
877
499
467
97
32
14
444
730
929
789
133
217
763
481
750
660
254
600
459
256
555
860
784
873
683
506
365
52
133
826
820
754
689
299
526
891
232
176
571
104
143
755
976
852
771
972
143
337
803
750
605
526
668
977
559
247
536
295
615
815
318
512
540
912
850
72
356
852
413
691
975
254
641
962
723
463
344
173
641
495
144
630
627
491
918
150
96
959
152
100
663
746
361
229
452
946
434
413
226
41
194
572
324
38
968
39
221
403
537
334
559
231
829
502
854
558
628
875
819
49
20
400
49
433
417
161
131
410
722
88
952
138
324
813
515
792
89
34
800
526
537
432
320
48
371
528
514
486
49
761
350
532
792
895
489
444
29
139
540
787
866
807
961
994
701
878
340
42
78
772
78
383
351
818
734
178
818
638
774
141
914
788
495
720
419
124
307
79
283
148
4
612
793
633
333
927
338
605
783
707
274
285
472
866
65
211
376
234
401
365
33
345
260
614
469
85
689
668
256
311
882
932
785
198
138
883
523
809
654
885
177
506
897
925
259
2
351
224
480
157
401
605
94
336
733
191
716
586
710
668
173
305
735
940
792
905
598
151
959
316
176
320
496
947
371
5
228
81
136
704
863
444
806
978
96
268
735
321
723
875
629
779
492
816
180
587
499
382
253
460
250
590
264
288
967
732
967
477
184
219
716
924
311
229
253
721
852
86
948
944
840
657
293
491
198
376
596
453
253
728
717
287
402
50
373
910
425
115
184
735
52
927
194
884
302
531
248
925
909
755
412
792
462
71
273
809
45
119
178
832
453
878
610
116
674
885
705
638
50
209
781
261
979
632
297
753
782
814
265
137
160
180
706
928
641
802
715
874
433
762
817
242
974
544
714
982
745
848
178
421
309
253
246
507
942
946
147
213
952
503
700
31
740
881
612
746
727
434
566
23
607
984
897
612
510
681
944
908
25
903
209
232
363
339
978
855
828
41
144
889
965
179
365
688
641
921
689
705
838
277
740
742
626
952
896
810
220
608
775
873
912
848
942
695
778
208
405
991
660
851
899
32
636
683
132
733
900
691
31
518
827
598
448
107
338
169
260
271
27
658
861
843
149
687
843
613
423
895
433
462
687
239
896
826
913
277
934
770
83
650
861
12
810
764
45
129
653
289
977
627
755
872
532
967
20
577
656
800
711
11
513
960
748
52
709
788
319
136
225
888
452
256
24
517
241
167
385
536
972
133
153
769
127
22
794
498
82
252
912
687
125
152
118
877
414
520
248
153
4
925
75
54
420
139
529
224
565
513
738
759
581
120
951
541
640
593
314
919
901
983
432
455
656
513
69
62
964
873
242
217
285
456
85
907
100
249
499
365
589
732
696
471
637
494
386
798
929
247
40
904
560
536
501
922
939
927
694
693
637
300
357
193
507
912
880
201
909
936
356
890
420
62
987
393
714
862
841
357
216
708
228
388
315
710
198
48
314
905
782
194
32
628
837
26
169
62
447
529
514
15
934
194
754
546
901
401
141
38
150
821
193
633
864
661
454
159
57
906
942
428
702
170
3
752
496
789
208
574
576
66
877
65
739
680
72
357
899
189
879
519
991
39
954
482
968
606
551
851
710
161
637
694
906
8
910
520
921
168
745
87
907
536
564
351
361
692
654
202
17
599
988
525
838
493
434
133
560
310
25
634
58
995
328
869
900
722
48
860
101
219
625
955
602
62
154
983
70
871
277
180
182
198
128
82
896
89
135
452
876
605
708
549
841
244
758
3
738
326
995
805
92
98
947
508
268
980
61
738
815
842
716
691
533
59
970
668
640
883
761
478
427
984
878
687
246
553
515
862
64
620
282
437
810
317
169
682
601
109
449
531
728
703
666
82
306
913
987
967
866
568
274
278
593
759
367
257
77
150
611
833
412
763
859
187
898
471
487
150
308
843
349
593
635
102
165
928
788
349
799
345
74
329
919
244
359
222
897
795
349
691
212
970
528
514
305
622
285
638
78
902
648
827
498
499
19
659
803
260
569
723
733
481
33
776
592
473
927
80
448
40
114
787
559
57
232
707
403
472
666
796
109
823
29
862
318
43
218
91
225
990
356
738
775
670
506
66
611
5
713
171
397
127
569
420
105
152
909
960
639
454
632
270
436
237
669
730
219
923
566
648
334
263
212
747
590
32
261
816
735
622
831
694
11
909
686
407
313
244
779
782
347
284
106
905
800
978
625
940
586
359
188
631
532
615
243
243
955
675
993
457
344
651
995
401
641
759
761
913
79
813
645
970
209
777
883
666
797
334
905
233
53
218
481
503
518
885
618
335
954
993
477
186
481
529
614
491
151
822
595
920
951
775
912
176
616
296
755
210
37
788
761
653
32
710
455
247
884
691
447
525
140
493
862
359
134
432
179
957
66
68
592
487
369
558
983
804
982
730
638
130
61
146
667
482
896
908
361
785
963
334
339
388
696
995
650
780
712
47
716
685
769
139
190
257
956
485
924
301
679
721
352
693
892
654
235
774
648
206
350
905
236
122
987
338
829
772
89
566
605
618
445
435
685
551
227
460
342
755
782
567
449
117
117
42
349
208
387
721
60
505
825
380
277
207
624
746
438
567
264
959
764
650
364
181
194
658
491
672
843
640
749
229
216
508
845
268
397
599
651
884
143
922
972
826
710
286
555
329
210
228
491
639
424
613
808
226
421
724
641
901
389
972
498
656
923
297
476
411
828
948
652
258
644
724
908
423
31
454
633
724
172
258
330
402
569
264
206
275
824
455
812
783
726
311
234
915
891
189
379
333
560
240
77
469
775
592
360
55
179
921
430
716
275
665
785
825
604
730
584
30
993
548
551
17
365
909
149
160
957
67
717
994
333
519
974
837
665
348
455
399
815
82
525
856
894
422
491
354
102
144
821
816
132
3
147
505
88
196
772
756
68
74
864
230
516
605
271
395
690
465
523
865
651
462
887
484
49
118
884
897
377
827
225
250
671
680
222
440
985
763
781
869
211
424
721
240
307
840
878
184
708
85
568
502
673
393
519
706
387
152
991
446
260
644
142
969
498
563
946
416
929
669
759
982
801
830
560
259
767
511
139
737
877
556
213
808
916
636
854
593
123
539
985
199
567
227
700
26
254
985
246
329
549
310
517
287
795
273
541
320
848
181
458
22
553
409
178
67
710
285
705
788
456
269
767
863
19
674
80
299
843
110
498
99
120
67
137
604
733
848
649
261
517
929
433
87
609
300
306
95
199
565
15
664
507
614
605
919
927
583
721
561
155
30
114
880
250
513
929
660
994
732
582
996
79
662
814
872
242
645
434
455
666
111
518
54
483
95
984
428
517
951
342
25
801
804
677
516
557
726
196
907
875
475
738
663
678
704
342
122
608
728
989
197
769
232
907
646
672
388
930
308
702
964
438
69
403
100
953
290
700
460
424
537
993
257
331
165
172
788
116
306
150
402
510
51
120
263
803
992
449
719
380
435
884
935
91
410
63
971
922
441
360
42
607
177
735
329
380
732
43
793
935
674
144
143
291
579
773
123
5
697
11
65
739
482
249
722
986
32
81
648
223
274
267
668
176
135
553
878
132
434
171
502
169
423
94
256
265
867
44
640
418
339
368
480
243
762
490
640
730
549
56
224
142
39
501
87
851
356
199
959
211
112
231
452
53
163
938
826
839
891
900
221
12
174
117
390
866
939
349
491
977
955
982
863
587
417
600
639
17
352
165
371
568
900
253
363
624
188
903
388
769
412
186
890
584
861
484
580
48
5
690
834
862
928
735
589
890
543
466
90
845
76
299
953
708
152
885
968
838
644
515
501
725
414
827
285
142
90
641
171
340
207
675
240
400
601
170
3
978
804
427
309
387
399
163
435
469
660
862
33
212
159
496
459
918
828
61
563
185
733
226
635
591
415
939
981
937
482
169
851
844
121
803
26
407
925
144
419
740
161
662
133
740
555
306
960
247
823
1000
271
154
796
11
216
27
841
693
364
554
786
316
480
533
132
99
709
646
969
55
371
83
918
106
297
1
881
124
422
602
79
972
214
37
639
691
110
837
883
295
149
142
238
604
456
378
488
623
821
65
319
171
364
791
274
151
179
72
925
115
686
402
826
26
580
767
885
988
44
157
393
406
988
448
634
278
647
44
661
67
322
710
338
421
867
431
147
91
604
403
24
74
198
607
821
951
240
206
188
428
288
645
36
201
450
149
634
697
375
91
269
945
827
182
874
52
588
193
825
503
952
380
415
647
878
607
212
420
740
791
61
276
842
833
618
363
195
510
250
749
493
305
909
867
800
639
594
728
463
80
413
722
585
575
603
427
565
47
986
769
427
632
833
906
752
204
723
937
130
123
798
239
713
178
361
897
694
481
822
830
827
747
803
862
376
210
978
794
82
954
911
401
771
676
753
154
346
934
579
551
663
130
231
671
327
184
506
830
899
423
42
192
823
668
471
997
183
160
105
116
428
777
666
529
279
767
584
247
751
753
244
225
692
374
705
924
821
736
405
87
525
64
606
675
816
232
98
637
345
968
412
9
160
572
949
464
340
746
955
84
438
405
976
1000
298
911
546
616
201
588
698
54
484
819
361
627
962
152
188
622
567
851
76
40
921
164
339
864
644
130
529
782
31
609
303
271
503
227
792
301
627
103
111
769
285
240
207
904
388
634
521
247
464
928
462
321
65
793
905
235
289
172
45
90
782
743
849
258
542
39
24
965
305
874
65
733
729
304
964
864
18
646
881
507
584
192
225
688
411
281
651
321
286
102
770
945
52
220
642
907
291
673
80
317
36
28
229
923
462
352
985
872
766
477
156
372
883
464
213
383
746
143
179
400
552
545
747
542
832
553
534
427
950
596
234
197
187
692
216
239
736
265
13
613
199
369
376
759
921
273
175
423
757
54
635
310
973
847
727
383
197
979
730
428
403
299
407
647
420
987
386
280
694
270
110
425
800
617
439
379
720
525
891
828
256
309
782
90
287
821
611
50
130
91
207
335
213
175
523
458
684
447
998
330
187
316
881
866
856
460
587
463
344
689
604
712
456
579
767
618
227
923
663
829
173
443
907
283
224
692
879
331
373
185
24
545
882
998
490
730
319
467
107
639
763
372
633
348
927
274
220
602
733
16
635
929
767
125
463
63
217
183
316
162
653
536
886
847
257
50
730
618
913
373
669
769
741
612
536
751
930
64
703
763
545
127
349
557
197
366
802
158
136
659
907
2
171
455
294
138
914
860
819
237
53
442
202
896
581
920
514
774
340
821
824
193
270
261
58
727
595
955
449
289
135
390
284
796
799
710
821
244
407
410
839
129
715
217
288
600
509
445
308
882
278
940
228
550
537
199
21
674
971
765
294
411
847
94
913
880
996
947
891
599
629
668
55
843
762
914
276
308
247
266
678
867
510
480
354
615
239
729
790
966
150
206
448
228
700
404
343
899
912
353
254
228
768
822
215
881
551
83
655
936
302
1
909
364
543
574
876
397
124
501
502
491
15
353
22
548
682
447
402
914
56
526
250
380
875
182
453
682
168
603
305
392
759
195
819
200
83
966
929
488
181
847
225
679
560
167
719
707
546
54
857
959
679
492
788
22
458
290
113
758
283
760
448
854
755
253
313
669
450
327
538
685
648
949
213
51
528
237
68
76
571
873
752
378
411
840
426
32
18
376
254
956
919
18
936
869
821
792
646
170
78
534
567
280
675
626
86
802
714
971
973
383
852
563
492
603
468
182
661
870
896
450
112
703
962
603
541
218
590
164
881
8
725
795
853
79
686
704
910
174
784
852
713
445
684
631
12
196
973
709
425
240
762
525
714
250
506
681
989
66
80
591
48
380
664
726
414
135
128
519
877
280
275
44
180
562
444
345
271
48
43
757
804
508
699
441
228
841
57
12
440
53
857
111
437
354
612
170
111
81
168
717
323
842
85
332
855
682
576
486
885
662
310
134
549
67
849
356
273
290
297
517
237
620
272
563
815
771
525
609
322
858
638
887
146
223
966
427
465
116
996
272
841
138
186
469
329
363
502
48
726
552
798
384
192
155
52
885
469
738
636
319
97
693
194
448
170
378
156
839
128
302
982
964
991
772
250
854
536
370
222
940
414
119
492
134
369
482
289
35
26
776
935
839
991
539
662
411
770
466
232
859
981
566
267
682
484
860
42
371
55
369
794
34
928
663
980
631
287
625
374
134
721
938
516
659
585
183
46
328
301
345
949
520
112
543
241
244
120
239
898
449
756
816
592
461
578
567
721
386
474
910
487
714
812
829
619
966
360
980
572
696
287
966
280
467
383
514
663
63
494
986
385
918
942
582
931
404
376
143
657
508
551
958
821
643
54
236
860
532
691
863
657
979
458
382
630
465
716
375
168
656
374
142
765
389
448
710
743
49
61
399
805
27
18
409
301
828
365
887
364
617
465
577
783
359
924
402
34
924
638
235
780
21
329
773
900
420
845
297
758
786
302
722
757
504
84
607
844
871
705
173
932
610
945
456
46
729
792
923
801
547
145
710
909
623
736
660
527
241
8
197
310
538
226
758
693
404
57
929
183
659
245
671
865
904
231
874
362
341
142
831
80
822
438
561
219
449
294
458
444
288
166
69
819
681
379
712
186
318
235
984
828
687
121
485
777
751
844
691
125
346
233
87
615
162
620
714
338
820
178
499
688
114
570
694
91
390
605
344
126
873
98
55
482
718
216
860
725
52
658
604
169
230
30
682
786
399
703
732
190
957
806
770
244
982
394
898
574
958
449
253
429
175
4
250
930
541
899
921
951
108
634
85
124
737
175
76
367
837
895
375
684
155
771
761
253
499
280
150
606
933
499
85
532
38
666
784
191
149
131
2
888
616
956
980
933
373
259
386
726
872
126
402
377
831
596
770
771
355
144
144
612
921
757
836
700
107
573
554
393
333
259
864
496
46
445
79
145
712
686
990
224
105
348
500
956
423
456
704
945
310
204
886
191
524
888
398
657
642
616
645
840
227
165
885
213
611
425
378
522
794
725
935
892
300
661
94
735
89
936
91
455
752
886
311
428
194
441
45
854
809
567
924
903
247
817
943
826
827
25
452
266
397
943
931
828
848
305
622
660
521
89
501
611
442
676
300
944
6
888
630
572
555
945
939
233
519
398
349
462
974
23
444
838
509
69
616
444
839
451
24
280
617
750
95
628
997
501
85
715
539
270
299
818
420
181
655
418
427
2
622
845
359
930
324
439
830
198
356
16
849
676
785
22
132
177
742
94
184
367
626
663
419
736
138
94
227
292
636
705
634
988
962
290
158
242
900
266
326
581
552
367
305
709
229
874
3
570
507
448
138
505
13
763
353
610
94
602
564
526
154
930
969
584
156
762
169
360
379
7
425
131
471
152
911
848
677
849
192
488
885
953
74
888
80
419
446
6
990
959
483
61
224
347
178
350
696
682
879
870
152
64
557
255
413
89
88
998
849
436
172
120
673
863
113
134
58
439
580
653
294
370
780
117
386
128
947
483
102
130
564
712
977
400
327
828
541
370
321
268
161
799
184
653
196
601
434
248
829
222
104
4
633
725
900
690
833
915
359
200
683
540
404
567
161
348
955
474
28
184
261
442
514
30
517
965
491
981
147
167
362
262
950
672
15
60
298
352
96
845
338
591
349
87
129
742
952
108
376
59
219
123
387
900
246
655
555
870
847
370
979
483
379
406
710
129
887
427
643
602
401
790
897
793
87
279
274
336
169
267
101
246
757
822
763
738
762
432
573
364
535
162
97
14
26
263
675
59
187
929
303
446
89
139
701
674
339
406
763
396
922
370
448
332
564
702
760
90
665
707
333
968
465
149
88
67
402
104
459
562
509
63
804
702
602
239
282
865
807
831
969
771
499
505
579
507
789
155
503
150
189
967
514
969
34
868
63
566
271
861
483
960
467
507
838
906
831
595
399
871
161
293
938
845
397
722
546
503
759
639
542
442
828
725
649
35
614
671
467
562
595
207
770
468
855
150
545
838
50
940
824
868
662
337
182
172
571
266
845
663
711
529
822
497
593
166
163
994
187
465
42
282
47
458
173
120
11
767
383
63
655
337
21
580
289
575
417
924
727
258
388
357
776
394
598
295
827
102
676
384
814
136
487
443
447
683
180
557
800
621
60
827
378
193
834
769
579
763
786
142
988
299
300
197
193
703
785
485
174
119
975
563
670
30
990
287
970
796
355
443
472
869
328
888
840
499
199
805
723
49
566
185
197
306
633
145
493
222
777
13
632
309
421
299
67
368
910
966
120
971
43
683
666
615
698
812
380
779
795
429
340
993
235
544
774
249
716
704
389
360
49
936
61
11
847
984
979
716
73
412
578
9
588
218
50
94
285
8
131
594
184
883
668
752
506
730
823
77
552
547
309
833
657
200
620
874
777
783
737
284
159
708
901
804
289
172
830
688
222
76
804
171
789
252
983
279
349
509
829
662
629
412
210
294
550
807
820
144
718
414
23
649
86
952
650
526
412
750
805
995
301
988
278
452
80
355
932
609
163
103
852
27
620
47
871
855
525
582
51
239
346
602
376
864
244
227
52
884
741
306
609
139
367
58
929
268
969
4
911
589
544
189
168
277
862
840
447
409
360
594
646
518
138
122
430
375
417
625
424
53
828
909
644
540
348
406
68
277
43
671
972
185
692
892
49
592
2
476
832
687
286
10
851
218
87
900
788
53
362
448
564
844
907
875
922
857
830
148
427
705
912
119
726
577
1000
139
630
406
352
641
286
303
449
951
389
784
818
376
974
55
818
136
594
268
267
966
106
799
238
883
380
257
380
343
804
535
260
394
193
827
104
263
199
772
617
219
486
664
844
557
911
18
599
832
360
643
373
181
492
706
43
388
669
976
34
763
629
777
195
647
316
858
471
225
231
712
144
211
705
645
739
467
665
388
706
451
239
732
405
315
356
800
165
140
368
989
351
246
851
610
795
117
724
8
2
166
946
657
941
950
626
361
100
599
625
808
759
985
214
104
202
440
665
915
739
216
60
640
935
307
360
576
134
55
376
952
93
136
689
41
908
772
210
18
489
582
157
306
956
236
193
780
142
910
800
932
502
663
881
512
867
38
187
869
339
407
725
294
73
544
770
603
825
517
123
519
809
672
997
759
734
597
474
207
527
861
417
526
40
208
949
869
419
132
737
588
72
378
24
784
584
425
628
126
658
952
673
721
891
61
177
440
845
837
281
15
88
307
604
125
114
948
225
371
826
415
500
563
717
906
75
518
146
458
863
104
859
316
382
287
939
630
757
659
804
730
376
993
866
367
63
454
97
859
402
714
281
508
794
191
799
331
80
764
8
870
549
439
566
750
139
592
160
350
445
799
902
147
814
741
24
110
458
2
728
633
119
943
823
606
91
851
122
743
657
212
966
709
110
399
997
755
474
317
680
370
900
680
852
51
113
155
678
121
543
911
181
294
55
812
122
56
815
245
357
810
277
388
690
513
211
409
184
909
935
348
408
571
207
961
589
55
414
399
486
185
199
56
377
159
527
92
903
10
645
457
799
484
180
122
818
566
676
744
774
26
629
913
179
370
622
131
964
295
207
510
922
436
561
477
97
501
624
580
642
509
513
294
295
335
203
415
777
754
162
373
22
963
839
344
275
839
48
854
424
993
787
641
351
968
313
93
860
155
821
983
125
652
131
439
906
457
794
839
879
943
585
60
633
938
624
406
90
100
443
310
787
456
690
108
548
349
201
606
416
423
327
262
689
201
690
316
185
822
916
622
42
565
50
593
714
159
535
744
704
406
746
238
244
844
398
314
787
88
871
926
981
435
863
209
504
664
637
965
961
464
93
200
933
431
781
369
373
117
611
760
395
952
552
746
578
682
626
827
684
262
780
373
979
594
979
261
946
409
170
200
665
207
806
817
50
413
310
403
996
378
138
613
49
915
591
798
571
805
470
637
243
561
27
833
828
828
657
833
267
739
52
205
168
952
618
94
510
711
467
993
762
185
931
137
304
345
36
776
526
619
641
384
116
50
186
333
802
47
74
323
571
80
817
345
689
16
376
431
511
573
951
577
841
684
615
529
51
532
898
561
78
156
322
707
626
406
105
742
867
610
37
834
669
577
894
361
494
589
455
997
9
214
194
269
709
189
578
565
228
647
726
347
66
986
217
153
730
865
342
812
677
511
581
858
534
499
473
181
149
675
682
55
114
394
923
506
753
491
450
209
220
920
942
133
591
965
916
522
204
918
337
290
191
323
427
149
747
93
787
564
934
471
45
774
822
900
314
247
297
425
694
385
974
952
324
885
569
173
952
409
438
710
949
454
150
3
87
129
681
326
134
861
476
757
894
11
484
821
419
361
833
112
146
615
890
42
33
520
388
317
228
753
662
473
269
643
474
596
611
587
418
550
578
302
405
592
105
451
968
967
560
859
709
128
663
385
170
536
988
260
452
966
797
95
440
316
836
157
650
810
495
12
346
536
417
971
234
668
437
430
447
343
12
659
786
52
522
677
467
198
478
752
780
666
680
235
776
719
569
662
412
575
149
55
539
401
322
208
28
306
276
213
848
529
544
129
149
680
952
311
787
180
597
619
542
235
154
16
896
254
960
852
536
636
300
842
43
464
401
879
498
51
166
800
64
219
743
731
179
478
139
255
129
831
179
451
355
901
244
117
615
683
524
463
424
489
191
714
286
806
63
123
723
755
460
593
308
422
642
129
152
481
865
989
968
914
172
938
924
504
520
974
72
464
546
133
876
282
487
186
105
940
429
396
678
341
729
857
409
845
664
440
684
224
482
989
275
394
906
703
538
875
926
675
282
630
801
669
243
920
977
487
414
603
256
95
865
905
826
816
120
145
293
822
207
708
418
36
537
718
647
586
910
708
481
995
695
758
55
779
872
631
454
294
990
906
345
602
117
636
859
889
359
32
540
455
76
79
738
888
134
440
40
137
341
904
163
394
557
481
699
153
361
25
189
341
269
59
422
624
438
232
998
196
379
112
630
590
242
832
592
622
142
928
858
408
793
734
338
586
264
959
705
117
701
753
275
216
128
423
802
270
513
181
209
484
73
383
534
321
761
584
383
209
765
988
425
851
892
255
978
671
361
205
171
992
131
637
563
797
652
809
79
515
13
615
589
847
205
535
206
554
180
253
709
467
859
814
447
345
814
980
917
66
582
226
216
74
376
599
148
370
399
753
634
795
435
80
961
206
893
215
189
802
758
740
999
730
124
735
24
182
163
472
995
771
196
760
215
594
362
383
142
499
290
252
785
436
852
31
767
368
722
113
21
575
152
519
229
964
534
869
912
988
665
88
424
978
710
860
574
579
609
303
324
384
872
944
719
462
575
303
189
294
225
406
212
668
357
862
695
95
506
614
74
554
106
357
370
891
502
210
349
225
285
650
400
469
765
842
48
13
267
120
281
419
533
806
631
44
431
542
482
478
571
318
847
10
28
377
695
921
194
552
849
659
954
995
640
865
446
343
548
415
686
207
305
425
298
92
710
953
995
861
482
283
772
703
101
617
638
44
832
588
775
359
908
577
583
468
240
16
51
349
587
320
678
79
344
105
581
286
173
31
627
393
580
882
210
301
455
157
133
37
906
281
651
5
6
550
313
627
792
88
145
753
846
940
283
6
572
253
981
389
329
678
928
852
248
878
755
810
293
738
252
625
81
807
270
587
300
868
966
436
839
696
230
476
667
69
989
561
840
865
311
877
539
799
163
789
658
689
665
909
953
223
45
771
125
438
371
539
517
145
850
17
58
39
366
282
457
541
607
698
181
869
360
198
907
994
998
644
615
469
131
488
893
664
447
973
537
97
984
699
375
853
524
171
982
370
720
578
733
326
534
496
238
291
877
253
729
796
371
833
510
546
734
940
276
576
549
938
194
12
855
142
919
258
763
439
11
224
261
306
516
111
58
118
837
772
59
582
108
705
374
581
643
490
971
746
489
207
965
574
218
545
717
362
166
203
297
76
104
651
124
24
534
813
233
223
68
184
788
157
842
848
691
414
77
696
433
8
459
376
39
44
543
835
597
869
862
844
147
626
113
506
907
765
843
637
920
157
350
341
321
600
672
729
861
835
121
171
568
917
472
554
845
664
529
924
508
340
794
237
727
366
645
467
916
413
966
870
696
71
740
813
100
493
857
662
186
173
840
353
709
524
116
191
133
607
711
1000
77
437
53
377
150
145
23
74
375
934
633
569
354
237
373
506
371
637
191
50
169
440
741
624
502
70
919
948
633
319
523
153
646
460
779
943
934
668
334
13
74
144
483
633
657
425
369
939
574
341
743
396
91
298
350
468
540
787
209
174
206
647
715
749
460
13
30
616
73
35
1000
539
697
762
794
874
403
493
213
25
890
454
433
721
114
724
217
148
798
522
871
787
132
250
547
497
258
164
48
575
753
280
408
313
28
971
691
200
126
819
104
495
102
738
447
902
526
151
169
902
700
995
5
609
633
20
760
124
217
46
616
406
131
368
308
127
336
533
232
159
316
756
736
765
626
194
709
370
454
32
512
675
802
927
712
986
372
85
62
161
882
437
420
930
804
3
318
504
169
404
813
942
123
743
1000
825
797
953
845
332
462
692
530
417
54
69
32
684
896
732
847
820
540
528
897
485
584
657
734
730
128
157
296
472
946
502
299
784
220
481
39
567
565
900
284
740
698
596
616
659
744
166
156
183
827
947
974
878
887
175
878
276
901
87
929
863
175
129
281
351
101
576
969
395
832
671
979
404
787
860
631
930
979
660
55
326
408
270
222
205
286
22
894
676
693
500
920
270
260
887
187
876
849
479
347
316
389
989
567
895
167
867
49
233
717
605
284
95
525
821
114
821
84
200
604
604
448
81
220
981
450
579
568
536
209
388
285
195
125
222
552
188
694
931
20
523
680
444
406
753
484
739
575
92
525
995
577
905
771
801
229
117
328
934
961
887
905
457
788
956
727
823
792
34
603
386
626
527
444
763
577
382
236
419
709
866
104
497
589
701
62
800
587
983
47
638
263
961
819
86
366
371
724
821
754
109
20
830
948
222
466
662
422
663
45
602
330
116
124
162
119
349
857
667
283
24
723
300
9
894
582
381
36
5
961
206
976
265
684
726
554
327
402
229
401
457
666
981
827
593
744
57
433
786
791
47
467
409
979
772
107
187
922
786
482
10
437
372
329
264
886
336
61
3
463
123
602
574
728
764
490
870
130
394
513
676
305
554
609
970
391
279
896
249
894
169
451
58
664
823
292
166
968
2
272
661
320
78
508
731
300
982
572
162
73
465
192
360
694
593
789
948
165
206
587
300
496
682
561
550
261
90
203
965
436
806
632
472
546
930
875
534
962
8
103
782
676
735
209
506
635
730
308
999
264
596
622
308
845
113
571
287
896
488
212
638
93
611
439
307
158
988
418
481
777
96
662
510
347
343
771
509
240
771
853
457
980
339
345
422
179
500
351
670
166
363
990
806
686
407
145
829
62
808
549
725
314
79
620
540
698
777
946
625
919
589
662
535
881
51
509
733
184
867
386
374
968
841
660
814
375
263
412
877
140
506
611
919
389
727
300
50
96
422
24
170
968
57
168
706
918
416
331
930
919
615
636
638
329
732
458
389
568
664
799
937
988
175
710
752
413
576
105
635
798
39
542
681
639
625
132
386
49
264
495
997
749
680
273
11
173
857
844
545
65
20
734
282
732
470
501
276
346
952
31
605
706
318
35
5
993
201
118
939
669
263
342
42
590
672
305
421
616
433
967
312
373
728
418
227
25
31
682
647
45
628
888
174
91
626
829
909
626
478
441
682
1000
771
532
898
362
873
215
882
311
31
779
72
752
370
859
702
730
88
553
322
757
985
750
479
116
531
313
407
154
139
780
112
747
282
702
273
62
418
901
82
612
295
888
744
644
778
947
377
698
118
30
783
729
613
208
106
998
170
818
517
12
306
349
977
680
493
464
91
704
894
194
72
653
613
417
89
493
123
171
788
564
725
379
73
608
87
534
952
421
878
9
427
312
179
834
427
805
172
661
754
847
451
904
15
742
205
494
770
331
123
792
540
82
736
723
625
224
724
140
994
108
653
287
228
871
535
277
841
964
130
519
347
47
968
872
637
927
792
656
155
102
164
840
558
688
916
395
250
786
517
66
234
243
661
840
752
678
703
452
519
528
693
337
353
169
519
254
220
23
211
286
230
276
577
222
190
161
752
324
748
399
810
768
887
526
97
144
243
664
940
142
117
548
434
395
174
337
729
490
662
729
456
260
813
982
136
497
572
497
21
512
985
800
295
313
477
998
155
31
409
731
259
353
110
500
882
344
867
602
247
798
517
837
793
362
238
879
769
341
854
715
273
540
842
111
501
302
501
94
426
93
872
832
837
415
780
59
497
189
13
981
695
966
18
756
392
667
132
351
197
129
614
283
209
795
897
48
768
728
638
204
538
778
347
464
109
182
856
258
595
273
329
481
801
561
699
718
730
482
266
207
640
969
323
902
663
910
164
162
392
115
72
631
648
170
582
745
425
819
831
556
222
730
437
410
101
201
454
770
21
712
582
865
60
431
186
507
714
341
846
868
550
135
495
268
710
347
532
263
812
280
382
973
29
239
133
178
612
993
414
304
807
44
197
89
865
575
870
318
757
934
75
754
277
805
529
526
562
211
996
306
375
866
173
573
757
314
556
87
563
63
393
5
771
760
385
943
446
670
573
767
38
130
752
216
275
317
776
228
376
26
53
885
719
429
692
178
807
420
384
812
584
670
360
785
311
931
831
780
702
436
58
563
781
311
759
816
695
203
966
665
206
575
308
7
614
723
908
947
7
913
167
339
317
645
673
983
526
616
215
797
68
88
222
213
528
133
209
652
809
903
881
268
572
267
482
633
55
9
945
719
318
135
392
940
446
899
904
636
963
928
71
707
100
762
60
956
357
370
189
704
185
419
323
133
679
582
626
595
679
416
184
326
617
917
376
583
941
141
578
859
714
793
450
890
555
515
46
444
931
189
749
14
913
764
57
204
538
600
130
440
598
301
536
157
401
925
981
406
373
690
657
918
286
431
844
787
165
606
703
292
387
983
929
608
502
308
315
2
58
49
698
449
508
225
3
248
282
934
137
933
265
873
124
481
588
869
607
484
652
253
697
614
727
751
943
272
133
298
141
447
18
791
106
914
570
328
247
122
796
38
492
549
541
429
271
86
948
239
962
575
652
219
802
388
446
136
696
463
985
573
621
483
166
232
533
572
219
566
627
128
181
482
967
264
764
357
50
865
815
281
310
343
734
245
533
911
40
197
814
492
511
464
107
750
728
468
952
805
594
378
630
145
968
152
468
891
550
462
732
248
647
37
992
45
848
968
599
120
170
611
72
524
895
925
616
437
450
878
898
874
823
925
404
839
703
240
752
755
392
34
227
129
971
535
893
276
253
791
325
426
479
913
244
506
614
648
505
935
728
297
55
435
250
843
382
929
92
890
431
615
675
259
366
548
678
810
477
312
707
907
690
560
898
654
255
782
99
409
440
322
559
835
194
934
346
692
327
304
378
91
561
269
766
629
735
602
5
214
975
879
169
634
932
108
817
224
291
979
341
817
824
442
145
850
392
662
314
898
62
585
265
817
450
159
533
412
948
619
798
199
956
573
175
485
924
616
476
122
987
272
833
195
501
967
137
87
793
799
323
523
83
245
469
230
540
523
725
840
747
338
571
986
667
756
394
227
323
272
58
872
667
967
240
550
627
83
628
327
942
904
907
453
158
333
186
719
794
757
990
138
482
921
960
398
271
578
283
819
602
971
333
996
35
852
759
465
411
813
83
495
464
954
259
134
952
595
557
453
132
904
11
153
984
87
409
771
839
399
774
99
263
24
826
113
840
924
635
858
924
651
385
956
204
783
172
293
201
18
554
64
58
971
257
303
242
223
526
480
99
486
597
292
160
516
989
555
267
646
452
890
962
447
320
252
743
271
612
414
52
879
485
869
311
715
147
389
508
760
33
172
473
925
254
93
162
630
52
777
496
704
789
305
742
886
913
347
72
591
664
712
113
121
194
800
545
934
169
260
8
760
200
202
269
515
569
651
620
745
618
542
297
238
579
250
144
243
355
878
982
160
900
487
194
770
773
674
977
829
861
949
875
451
993
876
414
5
403
58
788
470
662
760
138
713
120
884
540
822
615
357
671
416
997
619
206
67
425
635
146
680
337
71
72
661
26
380
730
158
369
908
919
618
535
210
127
780
451
613
95
24
580
701
447
432
100
457
43
741
934
510
729
847
462
113
422
560
584
873
594
839
444
458
802
769
62
603
391
781
534
632
680
533
109
818
494
10
742
171
80
88
402
187
103
255
241
205
363
728
878
236
881
673
908
225
788
996
343
602
102
621
519
893
368
190
33
280
366
496
240
481
938
926
354
646
324
903
99
821
773
719
392
994
665
825
956
936
524
130
614
104
118
652
217
612
859
680
370
787
965
504
623
29
496
84
469
607
564
287
667
845
491
862
121
176
762
368
463
778
273
617
24
969
27
31
248
758
658
68
434
299
881
909
651
967
587
511
584
107
425
754
912
905
425
923
819
609
621
863
186
526
131
67
501
706
801
171
779
32
581
101
255
998
465
449
619
621
536
813
825
271
38
447
883
738
190
468
960
841
420
140
63
70
182
70
208
519
385
424
223
26
938
191
356
553
834
141
74
469
335
404
381
348
141
389
222
95
696
309
384
97
958
225
32
449
444
629
525
52
492
282
258
358
459
319
941
172
9
939
914
748
628
299
16
170
179
817
250
469
43
161
425
316
486
669
554
756
51
622
962
368
985
664
641
315
386
510
343
461
333
411
509
895
24
545
419
96
847
832
534
579
782
160
746
258
297
410
369
509
669
15
755
554
492
796
459
373
395
442
290
197
937
148
996
555
845
560
898
312
44
347
833
442
883
803
863
130
126
626
437
120
812
404
384
898
660
601
212
981
487
466
709
185
807
566
269
455
542
15
936
256
690
903
139
646
518
249
626
647
981
902
420
161
54
748
938
947
529
289
494
411
190
821
89
381
635
985
708
850
567
102
438
727
250
831
952
327
889
966
23
231
959
312
401
962
871
818
219
944
167
478
565
885
553
858
152
273
239
4
965
666
763
189
266
516
725
603
521
332
842
648
575
987
554
112
75
951
535
794
616
454
798
476
609
787
895
744
87
326
413
462
194
749
632
106
359
653
578
63
159
52
832
975
709
611
670
977
608
115
27
495
810
35
975
247
6
177
621
735
741
395
886
120
450
778
555
184
635
615
710
229
69
485
216
754
371
81
185
510
962
26
759
584
166
595
273
467
568
122
625
366
75
534
350
785
382
333
333
551
527
662
744
624
254
416
65
111
429
191
723
415
815
224
397
581
533
96
193
553
466
842
833
4
370
418
645
92
339
176
765
116
275
937
837
757
161
76
745
334
218
635
27
453
622
407
993
356
432
334
173
757
885
838
69
527
548
709
419
244
245
848
834
950
841
940
159
186
816
696
594
61
239
120
251
394
705
682
893
250
595
80
697
37
354
237
624
216
66
608
41
417
114
810
838
924
771
814
26
190
754
398
457
171
327
803
424
706
212
942
637
682
709
111
384
159
287
357
330
967
256
158
372
858
854
639
334
534
202
417
333
117
831
254
379
361
116
527
565
710
466
7
552
305
141
714
134
574
946
376
102
427
820
275
469
329
34
160
406
806
974
15
417
402
316
94
107
29
249
362
720
31
775
988
88
903
959
682
551
860
707
389
132
536
667
56
926
816
99
53
247
1000
255
52
996
788
330
93
471
374
882
365
57
819
39
369
985
759
728
506
969
138
361
997
15
447
390
174
493
346
572
41
824
170
391
11
582
86
318
961
727
505
935
329
43
298
588
294
567
67
813
895
81
646
791
735
125
982
749
696
708
414
708
233
844
617
42
382
787
325
190
431
23
747
356
402
537
303
927
451
394
816
603
218
887
737
701
312
489
924
396
574
555
3
740
240
851
4
829
813
690
68
420
981
68
333
732
604
382
551
158
40
873
360
485
420
274
410
174
698
310
500
346
846
578
93
789
145
689
544
648
787
845
177
448
837
359
834
628
144
485
145
27
180
75
947
600
330
659
500
750
729
919
803
482
933
598
243
689
583
980
370
819
260
116
658
520
563
490
752
337
596
237
557
445
253
112
253
984
534
718
794
173
153
110
684
671
290
792
918
524
968
935
164
743
526
84
452
979
159
798
952
751
310
440
294
689
129
279
502
49
179
362
439
686
306
958
405
604
563
654
935
627
753
505
893
341
992
60
820
421
376
994
929
635
807
402
506
614
234
541
876
8
139
722
107
248
439
382
241
108
931
468
818
419
5
320
228
854
797
47
683
986
926
521
240
88
929
90
444
664
985
735
10
647
299
853
343
744
734
113
180
702
509
942
948
494
668
924
70
222
636
964
213
324
669
384
608
994
109
777
658
269
654
532
269
650
897
186
502
682
864
553
981
233
21
80
544
559
398
191
648
495
870
74
515
662
986
663
347
810
805
646
977
743
620
765
300
58
263
939
304
951
138
871
391
63
212
654
149
258
70
675
406
600
20
515
195
326
618
65
964
820
873
98
568
417
608
276
55
275
200
817
856
534
811
830
444
481
858
54
375
544
450
711
963
799
282
81
362
464
690
594
1000
511
283
127
653
963
344
573
13
65
107
595
577
587
212
393
748
538
312
131
35
466
490
397
599
950
310
304
984
977
817
109
60
859
439
904
106
381
665
516
482
313
530
253
151
113
586
336
761
565
867
519
700
453
248
253
920
777
703
527
495
150
820
233
570
332
483
247
50
847
804
112
221
146
219
916
344
840
351
276
146
782
208
405
864
75
115
548
917
782
818
230
184
580
250
7
55
580
63
165
626
56
632
819
78
137
28
183
650
435
318
84
356
495
226
588
440
676
306
842
726
60
651
549
372
448
371
692
112
205
664
977
699
380
277
794
737
405
57
71
249
889
26
493
991
899
572
20
619
203
856
304
536
494
659
472
958
720
922
775
614
815
715
977
535
162
948
429
520
757
387
452
390
46
627
358
462
394
812
692
929
548
867
913
386
886
129
716
996
459
776
810
114
543
227
858
210
26
946
907
283
578
435
3
95
470
398
382
339
49
144
629
886
216
755
384
764
995
875
140
200
700
412
629
705
74
678
898
190
955
837
345
163
716
359
223
892
769
59
680
732
871
10
144
525
118
236
206
420
574
314
647
387
583
441
998
334
460
952
830
801
662
148
64
637
318
426
111
641
347
1000
24
849
782
304
574
443
709
329
101
761
231
802
812
453
851
191
749
853
457
212
330
575
47
557
140
541
566
703
582
249
488
452
647
433
920
145
581
206
529
238
334
615
908
960
620
914
776
603
300
968
401
276
371
418
877
484
281
184
333
605
422
915
334
409
495
119
384
830
119
852
621
20
869
498
520
192
198
894
392
79
357
245
793
184
729
64
734
228
260
86
347
442
699
596
35
549
544
149
979
958
253
535
212
404
620
962
447
538
628
528
65
507
366
504
446
301
444
305
106
619
44
717
598
414
895
963
543
212
838
347
134
984
18
144
537
400
693
21
634
944
845
88
253
962
395
347
64
304
282
242
444
763
716
416
705
755
271
427
648
453
848
895
822
925
925
282
708
297
388
956
192
628
521
20
275
926
678
396
729
536
840
506
651
352
426
682
591
154
764
160
155
142
613
849
337
661
871
664
227
279
28
675
333
645
331
909
45
303
568
328
340
533
968
98
707
746
826
388
716
298
361
72
562
334
92
797
973
918
234
124
682
646
201
39
556
988
61
232
428
731
610
159
685
184
893
994
49
321
792
278
92
219
135
116
977
943
128
645
299
91
445
968
18
140
986
133
698
847
156
169
563
809
20
324
484
249
839
477
999
775
512
505
176
239
904
342
940
145
29
4
181
77
769
304
793
944
229
60
501
729
507
778
858
202
34
127
432
792
19
323
911
373
442
403
465
188
730
508
163
257
717
938
859
225
532
951
802
753
153
123
413
967
106
548
196
696
512
761
962
288
457
500
660
875
733
2
202
941
388
936
805
733
535
716
716
377
274
158
529
122
156
184
698
644
136
85
818
717
330
282
765
661
608
89
555
117
673
490
863
838
416
283
914
528
988
97
897
999
801
105
47
883
920
420
769
983
285
826
227
771
574
885
418
1
6
147
394
867
46
930
596
1000
115
954
48
28
801
325
820
240
806
664
926
972
543
158
205
531
445
538
239
756
72
562
266
559
370
263
524
666
170
759
693
570
390
638
565
134
107
769
205
531
852
223
61
818
153
888
757
341
171
645
151
359
203
4
664
887
518
160
536
203
369
979
808
873
422
847
727
868
619
204
109
82
423
659
915
424
997
939
719
345
578
45
41
897
461
265
768
705
641
218
954
821
729
620
453
891
573
215
832
599
635
903
35
386
108
995
248
56
617
237
121
209
611
45
708
713
635
378
104
182
167
703
542
609
499
447
58
48
788
838
283
867
142
226
273
57
655
575
617
979
710
722
594
256
387
773
864
815
72
510
161
831
583
244
954
300
800
769
878
465
214
744
519
119
432
824
302
693
669
788
828
5
131
793
444
372
382
218
422
213
586
35
977
988
111
152
994
505
435
39
126
902
341
327
148
428
14
662
221
122
784
873
128
575
713
866
968
677
846
794
698
453
184
556
565
328
668
300
922
275
714
85
83
944
399
233
797
935
187
157
74
210
946
762
324
438
644
111
705
552
934
352
643
986
808
379
911
224
611
904
753
969
605
293
566
711
906
135
338
368
346
837
45
393
546
569
663
456
594
28
387
903
422
276
174
918
700
967
248
761
170
15
552
138
402
429
141
369
927
967
711
7
586
336
312
770
708
670
733
788
583
163
565
335
275
293
32
402
100
173
765
407
281
519
686
277
722
651
320
133
528
136
997
543
327
151
105
585
597
688
513
478
205
632
214
353
853
354
402
524
845
980
807
885
442
353
166
361
969
614
751
421
149
266
979
192
383
767
306
878
403
211
101
859
395
710
448
577
448
372
481
468
368
18
766
509
715
58
710
968
742
850
656
945
847
429
347
172
786
788
157
598
936
832
610
320
202
624
1
113
270
625
75
730
82
698
687
152
534
286
736
652
411
739
948
800
502
839
110
278
989
991
197
232
754
55
214
888
233
952
64
89
536
13
455
157
881
488
976
483
219
877
65
645
508
482
407
524
936
298
448
445
647
704
500
496
234
750
999
509
65
199
427
840
557
266
60
9
442
664
29
195
628
378
453
386
502
316
901
106
466
645
215
762
65
313
354
65
428
993
315
620
702
482
74
471
873
355
72
319
420
503
39
388
710
820
934
428
287
646
349
441
894
260
858
386
857
756
337
705
810
600
21
379
503
252
861
137
735
291
401
132
928
809
836
866
443
79
286
86
993
449
9
572
651
336
30
781
274
548
208
10
802
668
816
54
113
944
464
930
37
2
572
546
533
373
12
411
100
639
119
462
470
175
238
458
981
558
449
247
909
404
633
553
637
223
908
647
46
268
523
200
427
580
396
626
867
515
872
700
237
271
268
432
2
476
286
272
780
808
120
180
160
5
824
207
22
868
555
954
37
922
845
922
409
953
120
341
290
734
870
129
10
61
17
560
11
147
719
590
838
269
997
585
781
904
54
319
612
669
938
399
927
580
115
771
666
428
153
739
399
913
878
419
32
208
880
326
869
667
156
968
47
148
36
571
625
450
420
303
640
321
614
387
944
361
757
820
887
724
569
762
619
485
31
804
187
263
581
579
384
390
931
289
990
752
542
627
221
731
50
428
192
122
387
429
500
500
276
646
284
996
421
301
275
305
879
487
79
548
603
589
253
456
630
780
637
719
118
249
530
497
586
731
684
791
515
590
494
799
629
174
67
515
928
843
248
616
903
557
552
688
615
113
787
769
821
298
851
276
712
509
102
781
575
864
191
93
714
105
689
906
456
218
897
640
266
174
840
44
958
91
663
866
392
944
209
53
659
423
583
772
401
494
963
681
79
715
780
272
248
359
739
981
283
66
588
902
325
534
790
168
365
179
554
858
294
368
682
138
788
582
511
551
819
203
350
173
509
384
36
47
645
887
795
50
591
375
782
258
713
766
480
779
450
661
23
211
620
49
854
840
131
513
358
520
162
207
500
171
579
68
31
657
42
226
210
941
65
157
605
805
618
775
807
220
973
546
259
642
710
362
388
713
972
261
792
577
652
849
862
615
889
658
684
632
388
521
715
927
50
128
133
652
205
601
37
777
944
638
183
326
477
351
204
139
950
558
742
829
929
660
798
424
586
791
866
838
907
155
821
687
203
598
780
546
935
48
579
924
592
440
839
904
600
341
243
500
667
663
890
665
729
920
309
741
476
2
185
189
136
65
78
361
752
285
56
717
803
428
37
800
911
639
264
958
826
608
127
422
7
123
558
15
163
803
397
536
535
125
679
751
627
903
312
82
106
150
991
660
966
663
283
588
136
589
728
276
109
44
635
788
239
96
98
697
185
749
447
743
282
787
968
690
989
21
827
914
782
159
922
651
679
628
489
76
272
521
561
212
399
885
2
893
400
957
926
109
563
773
908
439
703
115
332
107
83
383
640
180
909
66
199
706
543
181
339
152
131
139
315
336
800
96
79
479
353
192
596
126
273
231
560
309
664
696
478
260
178
847
838
91
430
948
199
403
523
256
858
507
657
980
356
62
230
864
438
977
689
627
564
741
188
514
987
230
352
666
31
535
88
19
92
211
889
865
633
385
45
70
732
40
52
27
29
224
2
249
377
489
130
195
893
306
818
154
895
784
216
246
754
6
119
625
43
110
836
235
96
308
754
926
554
499
901
306
990
605
132
925
839
192
76
280
587
144
11
521
392
506
798
183
359
82
434
487
701
595
32
365
742
386
283
234
900
469
620
546
321
132
145
500
236
976
816
704
895
673
231
367
417
551
764
112
307
643
503
427
363
75
930
864
700
407
869
402
145
237
251
711
322
331
892
784
581
228
344
644
712
401
521
507
674
784
518
534
988
913
717
737
465
953
802
256
472
451
355
814
410
518
155
264
448
12
830
470
117
915
377
649
839
478
430
398
522
977
492
685
393
157
265
894
495
131
514
484
308
262
890
213
592
981
669
17
94
970
577
988
380
633
275
214
27
544
310
176
805
849
530
817
627
718
710
412
825
914
256
742
47
263
863
373
703
295
292
399
541
335
888
258
911
736
883
105
695
735
745
443
857
610
407
988
533
613
515
128
52
538
801
487
116
650
983
132
83
933
605
873
68
688
215
784
541
893
14
530
486
993
240
246
811
149
713
896
714
3
561
540
364
471
669
68
670
152
585
29
67
244
563
708
445
305
395
676
752
369
266
493
194
978
585
817
610
786
384
80
922
403
705
396
826
310
720
690
612
186
46
211
53
403
83
559
162
313
290
819
502
692
201
558
924
695
165
603
334
735
205
846
868
902
646
522
908
823
744
129
80
450
78
30
241
388
759
535
560
163
661
448
876
47
537
769
556
283
547
526
194
430
221
244
746
258
683
134
407
5
808
407
574
355
639
44
863
769
26
583
335
525
641
515
831
753
101
147
666
163
968
663
630
480
462
712
855
666
184
505
883
976
571
266
173
699
854
139
959
754
559
886
542
465
894
153
41
815
13
517
731
432
980
922
830
16
601
288
224
849
705
121
610
8
702
154
117
499
246
989
799
629
858
760
694
197
216
857
477
660
506
465
475
713
102
336
930
689
301
721
284
490
831
347
776
554
65
847
144
880
611
342
11
107
841
69
555
390
479
849
627
626
813
598
768
488
262
34
958
48
639
150
200
799
150
601
758
555
491
194
67
476
395
29
251
172
797
333
23
174
874
218
301
239
675
856
561
111
650
133
413
767
408
407
455
550
992
6
112
792
165
97
25
994
690
604
693
856
668
456
350
965
666
398
175
198
618
563
318
665
105
370
337
782
138
134
326
564
372
745
48
543
533
171
895
627
169
641
680
961
889
775
506
68
407
721
107
361
877
505
38
562
499
527
676
118
653
786
609
287
166
907
718
80
746
986
787
352
783
44
935
590
458
767
283
605
647
829
59
820
551
358
636
968
884
825
779
987
33
473
107
381
744
728
48
788
464
546
109
899
652
17
831
676
825
481
55
599
1
307
580
414
435
630
188
958
342
798
538
247
130
202
152
599
132
606
351
46
433
378
592
803
192
473
177
167
190
124
737
449
342
121
343
77
767
678
482
161
542
630
698
255
726
368
324
842
72
332
587
328
290
642
702
351
423
928
260
296
376
555
750
111
84
87
701
447
710
524
495
373
981
274
941
432
177
829
891
104
806
519
70
936
15
696
975
205
399
888
381
874
124
202
828
818
37
336
367
137
301
869
393
651
827
658
219
605
597
867
992
401
719
281
712
441
978
241
692
435
658
200
164
589
314
936
236
627
75
707
373
337
868
47
565
904
247
952
806
813
994
464
958
402
419
351
652
686
151
398
243
288
103
657
823
342
338
629
586
731
764
511
935
80
900
334
929
686
381
342
869
96
955
863
737
602
61
478
639
777
777
319
643
842
502
422
507
497
156
293
466
464
229
677
107
216
476
157
35
317
261
669
881
434
198
980
349
284
568
685
337
606
836
736
916
478
95
228
461
689
927
485
267
846
441
781
928
764
466
795
98
32
220
186
762
897
879
67
860
428
355
161
706
526
620
873
284
280
443
665
82
639
755
29
530
324
505
932
306
633
722
687
453
239
222
579
285
518
896
19
675
458
812
890
541
459
9
536
807
841
83
452
986
829
420
201
725
263
289
296
684
798
657
648
614
155
35
514
603
478
810
375
574
869
244
183
770
530
816
867
649
181
562
850
582
969
980
447
149
139
796
444
640
472
597
409
830
466
98
926
577
940
515
545
724
403
620
509
420
959
435
131
910
289
10
807
883
204
880
422
816
297
713
396
935
282
97
845
202
107
721
831
499
183
815
474
435
804
122
747
795
734
241
763
673
514
804
601
46
287
427
876
405
470
711
255
294
541
65
727
972
835
860
575
194
652
603
164
18
83
232
820
282
791
169
71
156
460
224
79
400
739
402
305
998
692
819
52
32
420
224
897
383
822
877
427
353
663
836
169
228
639
353
167
947
255
326
60
427
114
670
625
523
476
916
201
648
146
531
337
854
190
767
344
712
531
391
943
469
829
462
812
535
855
648
214
434
332
126
991
376
531
267
745
581
917
150
760
892
325
206
515
547
821
954
304
894
796
491
434
373
905
351
972
340
588
411
150
691
271
58
616
698
264
731
266
207
207
463
266
655
309
128
413
566
594
157
96
885
955
207
448
191
80
145
949
60
920
559
632
340
199
552
760
120
668
289
178
535
880
653
984
475
622
844
833
775
722
492
87
400
196
311
888
731
24
150
955
215
45
612
387
603
528
349
518
241
273
419
722
71
905
141
830
593
74
782
600
747
524
780
167
2
255
259
529
555
793
134
729
210
964
128
146
24
630
76
689
328
107
896
188
27
663
535
181
804
241
355
560
163
124
209
977
496
548
32
632
630
512
12
31
357
179
847
593
339
177
181
589
828
526
263
24
271
892
486
941
930
446
688
481
736
519
26
819
709
462
640
757
593
165
71
368
804
449
845
82
100
831
547
653
802
568
240
90
669
989
713
994
949
729
559
759
320
799
118
20
644
301
951
777
811
899
720
578
610
916
270
958
373
264
785
549
673
922
507
432
21
780
65
575
632
256
370
125
376
182
643
60
484
398
112
587
295
904
188
190
879
659
775
660
805
921
192
253
370
949
470
462
30
260
341
562
201
311
840
428
176
485
467
156
722
751
718
920
284
875
932
649
432
564
144
219
917
312
680
336
357
799
876
208
594
85
428
198
756
835
466
757
321
87
156
470
3
843
770
356
140
582
565
594
253
564
379
729
875
670
501
534
392
862
943
688
703
790
74
868
701
565
774
743
265
675
148
238
875
315
408
596
540
563
323
167
762
849
841
102
463
629
363
701
933
159
971
977
168
111
410
279
944
791
986
143
133
114
411
38
85
561
415
830
652
91
797
61
595
374
645
725
210
750
679
242
408
216
322
193
469
749
757
614
74
655
460
808
50
341
863
593
994
628
425
488
297
716
182
533
28
197
665
329
630
556
34
539
628
243
559
827
612
100
854
838
836
431
371
304
479
860
594
363
766
413
310
423
287
461
638
602
473
363
467
555
509
853
219
391
931
57
380
278
158
790
110
192
299
951
878
448
20
195
687
553
39
612
90
322
269
940
636
657
138
733
280
208
702
353
470
21
413
467
201
572
93
675
640
695
597
323
227
810
789
36
416
716
743
340
865
88
685
62
359
417
713
95
333
174
651
22
497
458
854
426
623
75
602
342
431
956
617
70
398
476
513
544
354
956
404
763
10
653
644
307
376
43
924
428
35
694
331
239
227
102
976
23
100
643
119
510
326
322
119
261
170
668
810
166
686
182
696
253
426
967
777
346
626
46
637
139
411
721
138
389
314
543
844
497
30
823
954
145
989
932
49
257
488
428
324
792
231
298
312
772
760
244
915
42
644
368
83
564
390
448
921
293
249
956
137
856
396
904
376
818
604
384
610
908
72
608
503
404
999
893
959
176
983
310
777
402
536
127
290
577
19
944
502
569
595
147
814
377
564
59
727
140
844
373
897
540
459
416
397
384
554
864
867
887
623
564
785
557
585
758
39
199
421
575
525
766
309
688
802
374
332
615
162
39
419
324
880
380
503
563
653
646
611
266
482
290
536
114
585
26
186
574
750
509
204
144
890
706
377
876
617
612
131
517
493
6
188
91
331
23
808
916
443
551
544
531
146
768
480
498
579
650
523
682
987
58
7
764
524
922
630
900
402
324
350
70
690
947
440
105
300
506
512
854
469
951
843
231
764
137
729
577
264
296
53
709
788
395
399
1
908
294
976
706
319
622
362
483
833
984
727
621
252
820
716
396
888
773
931
217
83
425
564
244
582
598
939
654
774
450
809
972
977
134
621
755
360
591
49
250
649
849
579
815
610
178
631
313
889
278
452
413
671
484
974
434
41
526
97
463
126
956
979
851
631
913
220
860
350
968
12
248
593
687
513
105
905
42
263
323
768
384
128
686
178
484
301
544
475
755
553
507
354
765
608
125
327
194
317
251
130
903
563
501
266
258
671
836
102
862
642
165
92
97
685
96
114
323
979
817
490
619
978
776
342
274
407
249
156
609
415
799
855
350
692
922
140
966
99
1
789
475
719
379
141
74
794
657
267
295
28
189
511
912
627
548
321
901
461
828
614
777
278
230
307
227
85
984
187
419
215
209
876
382
763
102
684
8
473
273
550
501
325
108
908
848
80
703
309
663
869
416
664
953
761
132
472
752
944
588
222
131
119
673
908
744
316
863
823
522
664
402
723
686
11
202
348
273
24
863
635
617
630
655
231
162
719
91
449
887
395
730
689
338
704
690
277
879
892
630
251
7
800
616
590
181
536
90
844
328
329
137
783
659
253
750
475
72
453
136
247
380
732
321
834
375
451
427
185
761
85
351
566
980
296
997
541
278
970
263
855
842
256
813
546
293
115
156
467
215
318
672
690
508
812
279
729
188
639
28
879
268
520
224
444
783
659
891
695
761
568
172
427
430
599
702
614
951
733
110
640
855
518
286
663
29
696
106
416
73
37
746
108
793
953
912
247
155
708
768
100
701
72
245
246
696
419
912
273
441
6
534
823
343
482
236
226
907
542
686
551
257
373
265
442
228
300
132
757
921
748
136
841
121
275
380
776
333
779
186
93
632
517
977
746
121
995
627
379
115
250
423
321
647
482
912
180
325
575
8
546
367
609
470
278
838
672
434
152
292
968
427
645
139
471
985
373
128
705
966
897
237
575
158
337
912
512
744
37
14
620
290
63
241
178
749
146
367
596
376
622
957
543
48
841
248
433
703
316
373
976
936
179
266
348
141
538
943
274
533
50
326
406
288
284
651
7
405
645
763
407
65
927
812
785
670
7
179
637
915
87
211
857
29
5
720
453
894
198
376
58
200
494
375
769
944
844
166
348
43
709
653
573
690
4
697
926
637
959
372
77
442
804
465
504
756
987
745
773
920
154
363
467
367
486
650
949
380
960
927
673
730
138
867
185
947
644
28
753
418
129
825
569
348
461
144
191
49
419
635
858
160
296
8
459
232
984
765
959
224
687
785
99
314
365
121
257
828
386
736
876
437
140
244
88
550
916
725
547
534
309
116
707
550
193
445
117
762
844
708
355
28
882
782
612
217
955
823
374
510
358
285
885
54
247
291
879
356
111
797
787
185
288
453
925
670
622
823
90
193
810
853
703
3
26
526
205
497
342
809
741
31
944
911
903
298
470
733
995
79
601
907
311
957
865
556
660
732
822
892
416
488
430
168
732
149
26
455
947
449
313
554
752
144
517
56
728
721
617
505
381
909
338
717
795
773
221
596
997
836
433
50
290
61
341
133
735
650
323
759
1
117
676
221
895
244
818
183
603
231
380
746
725
738
686
35
44
585
735
584
817
626
898
687
167
185
247
391
867
417
287
282
113
139
302
216
426
641
337
646
247
319
122
800
441
663
806
742
331
307
380
844
984
625
761
94
361
888
86
991
289
142
428
927
866
224
529
397
209
530
312
527
206
211
367
114
746
276
623
649
494
715
170
223
372
878
523
418
58
721
210
494
357
260
163
659
629
322
635
107
176
148
76
429
86
946
855
749
202
515
690
619
262
329
475
290
953
457
383
902
24
788
93
555
999
951
816
533
76
673
253
337
539
345
5
149
274
422
842
701
401
768
803
347
414
356
912
535
137
392
338
835
568
436
1000
94
347
804
754
276
327
108
982
565
225
218
841
481
56
560
452
20
544
484
964
340
949
572
63
69
776
753
592
113
828
50
969
332
65
797
280
847
958
702
490
700
331
969
288
145
957
661
642
1000
993
973
468
306
148
891
404
932
351
949
97
201
632
969
715
761
974
706
276
486
291
839
113
693
10
469
746
644
88
658
372
805
10
734
233
842
818
842
622
736
943
715
284
20
963
856
893
132
573
515
412
284
439
241
42
479
63
337
588
398
16
174
620
466
801
615
566
173
681
810
387
414
362
42
540
774
255
875
725
739
34
291
814
955
487
194
943
4
973
198
764
195
765
9
664
567
655
276
858
827
4
527
767
281
921
576
697
407
751
845
896
884
63
831
565
506
36
735
515
262
296
315
53
161
213
85
888
533
27
232
364
530
443
667
447
268
948
988
303
476
39
297
762
644
194
386
257
600
432
955
630
781
826
400
402
273
241
835
654
741
510
597
835
318
428
365
830
69
443
249
711
975
730
965
208
586
226
735
519
889
836
835
602
771
290
873
700
165
67
724
248
982
613
354
753
107
361
675
742
472
437
62
947
955
255
202
958
430
476
637
238
683
215
973
165
713
581
179
805
835
525
576
803
997
399
429
710
389
467
515
37
899
778
262
556
219
519
867
404
853
843
679
823
145
264
944
202
986
201
22
898
401
249
966
639
860
116
436
914
117
695
340
912
925
342
873
789
152
194
309
63
976
949
59
941
683
146
623
741
722
972
361
604
14
29
658
45
998
969
319
967
14
872
274
398
51
590
219
865
776
689
23
552
460
129
769
265
126
154
26
141
294
321
245
840
847
225
989
235
758
992
67
126
263
373
382
34
625
511
820
913
485
848
404
472
324
427
55
169
23
185
684
964
480
528
819
918
119
609
994
702
347
9
660
773
733
516
754
327
539
117
517
736
788
335
71
863
857
548
460
887
471
16
379
949
834
92
574
960
806
947
186
55
877
505
565
268
487
334
522
970
568
523
860
896
821
808
96
214
873
290
635
828
674
308
246
202
564
743
735
999
771
70
102
460
453
622
536
288
723
792
291
499
269
163
132
351
63
79
898
73
491
121
964
57
337
882
443
977
457
453
634
322
809
632
207
486
242
344
817
261
605
845
110
255
719
525
215
513
613
746
438
436
967
293
249
469
173
192
614
965
3
995
321
885
244
200
431
722
209
714
538
590
599
115
835
564
533
764
939
471
60
19
785
663
559
221
21
125
271
187
135
178
886
511
380
596
290
998
544
357
824
780
332
144
105
32
469
119
844
703
432
712
661
877
523
193
988
554
592
280
209
712
950
984
871
842
863
843
700
911
263
990
817
40
316
707
948
502
236
671
291
547
260
776
847
542
661
335
560
791
227
266
1000
585
560
13
442
705
636
998
651
390
650
872
18
308
927
802
573
388
263
227
144
648
480
674
824
551
171
768
356
811
321
436
709
388
705
733
174
437
332
446
813
364
628
98
914
258
252
428
826
436
637
193
981
75
840
149
10
61
631
742
523
471
578
539
247
871
744
605
760
506
39
503
240
178
853
592
33
648
296
310
947
847
347
119
14
494
714
307
985
846
28
615
8
518
688
350
283
832
413
649
705
112
678
701
785
143
275
398
231
496
715
766
242
692
357
43
344
168
625
859
815
491
906
952
498
590
799
268
502
621
692
1000
340
711
299
774
557
152
328
645
253
570
586
664
871
752
840
525
437
989
146
750
721
548
473
148
439
229
86
736
584
880
92
354
334
944
914
777
630
816
162
661
863
752
250
672
733
565
229
261
750
416
224
154
497
806
623
334
972
946
165
368
50
3
640
904
80
343
13
310
877
961
97
437
324
615
501
689
335
58
86
698
781
826
412
718
814
667
263
696
559
320
424
549
215
232
51
520
74
120
552
82
204
745
934
952
225
264
584
229
551
842
430
927
565
547
92
649
356
2
498
46
698
904
794
127
895
303
681
264
617
345
102
439
276
283
539
979
187
370
396
29
573
143
887
67
443
284
452
765
754
604
921
496
199
44
763
734
665
192
256
878
937
933
521
235
365
172
25
720
885
409
593
20
6
636
844
478
331
924
387
194
83
957
587
427
176
296
982
947
208
979
414
421
442
170
83
735
455
970
857
554
750
698
517
968
155
345
254
537
695
168
533
291
501
844
8
44
408
895
179
965
75
612
68
164
674
309
733
963
511
969
705
284
539
865
907
528
800
539
495
440
575
3
585
630
58
925
343
19
869
606
442
944
312
944
919
300
121
866
810
320
367
204
633
458
340
143
861
565
502
324
105
111
517
334
813
215
278
515
586
94
104
296
328
674
556
488
430
293
206
680
175
725
629
640
170
87
44
720
300
16
362
522
622
311
721
594
245
931
135
837
136
29
950
809
792
880
763
630
250
202
42
917
95
343
429
767
990
65
739
861
122
845
116
479
649
756
416
383
98
587
180
615
910
366
377
433
365
165
437
544
247
815
999
771
91
773
779
597
567
815
903
668
303
234
141
538
755
353
692
57
616
832
671
580
607
798
57
259
663
591
696
145
269
837
736
970
379
949
13
136
734
705
150
939
635
961
761
838
8
863
125
226
113
622
810
92
178
30
795
852
476
58
272
857
118
32
363
672
346
169
459
903
824
524
220
289
235
688
57
142
231
320
420
476
277
782
694
163
775
566
869
169
758
867
901
28
732
961
415
657
397
402
285
954
18
533
458
620
292
145
349
1000
733
548
767
834
519
137
138
711
165
768
221
164
843
265
803
768
583
956
215
159
197
264
80
766
467
811
372
712
683
158
794
365
792
360
481
974
441
467
360
420
364
504
511
406
654
32
290
700
268
57
180
572
928
540
512
448
259
102
759
520
570
560
968
229
74
68
763
8
610
539
297
449
657
570
612
663
861
354
734
59
47
451
808
772
643
185
868
605
187
181
82
827
579
343
752
154
811
947
804
760
166
341
270
533
91
828
537
968
185
964
619
392
112
393
129
996
282
472
18
681
870
170
36
233
934
959
760
18
976
748
248
150
859
78
579
125
476
569
510
132
59
785
556
880
355
677
238
151
378
432
135
794
978
111
534
374
414
232
167
242
943
74
610
87
797
950
407
498
430
218
633
596
870
811
449
970
646
726
234
475
606
439
516
818
352
686
369
610
11
260
223
509
635
719
92
75
939
396
715
401
542
903
625
255
769
306
66
750
420
353
263
536
10
53
83
571
564
326
433
679
856
628
631
843
54
132
65
788
976
409
667
5
632
659
347
836
873
324
856
67
706
619
801
326
576
405
546
147
467
334
553
350
632
948
459
229
378
280
577
791
923
573
649
819
667
669
302
373
973
985
914
730
868
434
321
284
90
612
215
211
574
918
824
680
779
4
840
685
319
87
1000
690
305
951
714
447
487
388
745
262
868
594
322
948
352
543
165
915
748
686
120
319
129
570
831
772
465
431
370
34
320
79
977
303
159
512
584
390
174
816
403
571
581
92
520
306
818
36
893
350
762
889
382
325
836
672
935
689
54
663
284
601
691
877
401
296
899
25
651
488
198
610
614
409
586
508
58
193
677
454
974
426
964
646
914
826
254
862
170
526
88
165
301
840
519
361
719
808
939
523
377
908
792
3
5
181
899
223
969
714
115
802
360
874
433
814
91
61
376
943
457
566
626
741
696
556
450
259
14
219
989
39
440
413
57
258
605
895
434
566
288
180
234
836
5
945
125
840
471
364
886
403
554
692
926
392
486
534
553
430
686
444
714
541
589
121
357
218
421
503
728
435
964
771
456
629
805
660
166
842
996
251
361
731
64
612
375
550
449
248
337
387
548
997
450
851
611
887
620
422
470
887
877
232
413
688
303
667
957
236
784
70
464
548
523
911
326
184
228
663
105
858
456
451
200
547
413
308
311
376
667
860
854
96
166
980
703
203
315
725
795
257
280
710
798
956
798
526
264
317
115
206
546
372
307
56
953
655
730
412
469
153
128
924
723
388
781
743
837
673
148
71
396
4
845
726
743
327
271
493
393
496
663
397
247
447
763
777
329
700
924
119
784
300
418
712
380
893
390
543
743
893
326
267
675
461
709
442
151
888
16
228
431
773
521
666
756
69
208
112
372
420
515
806
23
532
131
798
708
598
778
426
5
517
410
567
98
235
360
46
575
169
307
539
520
852
601
537
444
57
66
8
519
337
373
370
983
425
496
305
650
182
93
629
222
632
616
921
675
99
909
399
439
541
695
750
721
404
735
512
147
851
890
53
862
659
84
680
712
137
125
649
207
652
938
176
746
750
41
132
19
883
571
27
660
217
364
347
20
405
520
952
312
697
723
609
216
773
222
598
843
560
131
117
534
171
821
256
149
872
241
755
494
52
994
213
472
663
392
578
802
354
571
988
746
244
909
486
216
340
594
616
146
38
584
498
462
136
844
378
491
160
739
194
670
432
434
802
523
252
50
893
491
672
561
952
474
351
339
318
247
594
408
177
456
66
966
533
30
968
552
999
463
362
272
154
220
588
307
413
210
69
788
889
413
570
342
192
420
528
810
77
232
190
210
258
863
608
127
557
31
575
488
632
20
306
938
397
58
712
810
270
697
160
679
109
925
103
30
347
337
941
16
186
600
777
720
529
640
361
380
448
183
915
262
367
546
686
348
993
141
135
42
722
219
995
378
824
854
983
593
570
992
885
710
425
129
848
460
566
597
241
505
792
591
397
34
928
769
670
753
533
733
104
164
346
903
147
179
150
957
118
464
69
359
267
225
314
498
270
817
486
213
21
199
962
342
789
616
139
476
223
510
899
858
279
863
519
711
986
17
975
493
574
904
587
386
132
411
947
600
111
449
406
695
358
68
941
245
100
158
778
108
814
203
802
397
82
265
228
577
817
428
577
910
589
298
142
796
430
318
651
509
483
860
777
998
600
290
612
939
213
680
272
727
658
889
401
396
436
312
642
465
500
436
936
52
948
189
807
411
723
912
807
17
932
159
703
226
343
695
894
263
816
629
722
82
694
792
115
699
754
135
713
188
888
4
371
193
700
588
326
56
703
759
798
529
521
301
577
938
806
300
997
301
916
791
759
414
389
652
124
437
952
766
385
426
327
397
177
970
602
894
631
259
60
780
91
367
337
74
969
132
744
657
1
701
877
81
341
743
540
571
733
791
180
890
854
109
54
5
22
964
614
538
511
540
624
924
666
893
451
818
133
495
831
719
312
666
130
295
74
793
837
145
287
264
328
586
493
225
411
347
424
559
877
237
713
707
754
613
534
191
89
58
771
55
960
341
253
709
86
416
17
492
976
687
137
223
11
451
227
884
984
965
299
406
651
322
710
856
253
496
900
699
205
869
352
383
590
426
570
290
744
69
776
510
89
575
961
30
797
532
616
622
162
36
867
452
824
810
459
422
329
601
441
115
598
103
786
577
181
800
466
845
919
545
613
722
915
59
646
611
301
471
960
172
850
453
269
305
679
467
923
31
979
671
314
491
807
571
39
20
577
652
251
856
844
486
586
73
91
64
505
14
121
199
136
715
944
621
927
807
82
426
770
470
390
415
542
303
453
8
667
817
729
375
277
391
691
922
742
138
261
402
415
180
152
913
710
452
803
353
782
580
168
797
787
743
958
73
328
582
115
394
549
460
780
124
541
665
176
432
687
53
268
600
554
574
663
950
979
142
797
571
137
67
221
847
564
375
274
708
821
19
914
759
116
921
710
608
316
947
374
472
480
158
29
405
877
774
953
248
727
407
605
795
984
347
196
665
117
546
340
858
941
853
787
961
701
917
292
383
469
184
514
148
628
328
793
977
876
782
179
221
898
149
527
781
615
294
663
686
883
93
85
769
17
420
348
906
905
938
60
429
697
968
748
50
511
948
592
568
906
439
325
53
561
341
282
671
945
693
702
637
414
978
943
682
465
689
750
400
545
232
852
77
887
650
303
863
766
700
769
876
198
386
537
317
665
348
992
691
482
134
708
418
343
101
465
865
852
912
793
188
415
216
177
19
762
218
646
199
670
505
42
242
300
87
671
759
804
808
759
14
801
307
719
533
720
174
666
598
736
785
632
293
99
763
788
52
549
855
952
142
444
340
282
237
796
423
264
369
625
884
454
646
789
795
911
906
998
66
11
476
499
316
832
298
57
167
105
84
703
402
758
682
771
450
837
580
243
285
498
400
493
893
153
54
247
314
73
511
882
459
743
124
571
443
483
470
684
5
644
947
262
969
763
582
724
769
340
651
384
263
606
990
41
918
862
29
90
225
884
84
288
191
667
105
235
215
50
5
51
878
977
555
145
274
407
542
139
66
226
987
533
976
183
988
810
848
911
520
856
659
426
846
854
811
970
920
311
238
570
988
240
481
446
607
610
93
781
492
753
418
728
1
504
609
111
835
279
317
692
49
961
593
543
509
503
389
817
500
785
785
515
913
490
790
416
326
10
922
646
770
892
637
197
432
839
788
853
986
237
635
628
673
431
543
363
990
778
305
565
882
711
954
928
591
53
398
581
243
374
12
757
964
453
802
435
898
128
585
939
416
85
762
465
60
551
866
395
913
577
190
766
189
704
144
222
556
311
489
796
152
430
699
17
931
961
753
235
244
937
260
283
45
222
244
534
649
780
414
847
174
971
841
270
893
605
830
783
83
513
233
565
355
470
869
321
213
249
957
967
177
75
696
87
896
593
609
608
740
797
259
247
406
460
453
815
345
212
762
540
93
555
423
144
276
722
778
883
550
969
338
21
113
62
997
323
495
453
868
85
951
398
121
278
252
192
269
687
783
574
976
275
713
725
844
78
262
860
650
183
182
491
99
755
64
688
73
141
100
341
589
871
356
44
226
460
36
404
127
437
663
795
916
333
444
693
895
402
267
14
714
5
819
9
397
704
648
158
234
1000
667
685
46
878
623
677
551
120
224
228
869
215
178
792
622
59
280
317
903
424
518
415
913
56
903
317
383
154
799
577
226
474
33
742
119
785
801
836
934
753
314
900
446
456
228
96
206
410
228
460
872
339
298
130
105
105
520
987
684
24
40
871
910
845
464
785
956
688
971
740
456
379
428
275
585
61
128
513
746
562
594
429
163
479
67
527
846
322
696
852
598
560
490
499
117
647
297
224
334
605
91
1
285
714
259
689
824
837
891
342
113
130
701
790
955
935
516
7
101
324
584
660
532
121
734
512
798
311
132
731
620
497
494
805
413
701
707
312
655
244
307
398
562
254
720
538
17
360
952
256
606
431
154
253
621
440
598
381
156
307
904
232
304
807
135
292
585
265
111
629
667
888
441
789
752
627
173
500
892
959
970
42
286
613
439
119
393
237
189
863
406
367
958
319
838
787
917
922
873
498
99
241
233
384
961
182
849
103
335
813
613
691
831
315
156
528
957
305
574
274
259
885
980
273
139
232
127
973
440
372
602
61
103
761
286
143
155
334
516
65
538
806
705
915
719
225
171
600
371
973
943
355
179
26
542
469
832
332
117
720
828
564
138
87
144
916
201
796
290
794
285
205
378
813
931
612
316
648
745
772
947
836
433
113
181
829
464
340
620
15
278
980
940
432
850
745
128
865
1000
937
663
481
50
3
430
373
230
400
488
840
384
462
485
198
851
644
259
851
49
865
184
180
627
267
839
97
967
35
908
147
765
955
722
856
408
167
996
565
884
161
399
130
763
478
378
103
140
665
238
875
990
71
621
331
229
44
461
845
822
686
305
82
221
219
406
15
3
589
313
40
282
76
286
772
312
509
649
314
503
860
466
917
263
461
965
858
11
626
26
921
546
868
882
478
100
922
775
739
928
709
913
747
505
730
934
833
532
574
224
109
493
80
57
627
731
74
804
495
813
297
580
473
338
30
883
311
848
73
859
27
760
823
799
505
14
545
701
915
257
171
690
932
539
834
621
678
544
58
822
978
759
438
380
990
200
229
561
672
877
37
108
644
897
222
334
155
319
103
531
129
955
689
323
825
853
273
147
291
363
585
366
193
639
440
560
685
772
927
450
711
842
5
571
918
818
374
429
840
506
461
874
850
676
883
179
766
817
226
387
653
216
270
870
55
359
843
539
64
8
372
946
230
521
75
105
243
589
824
808
735
849
681
105
82
599
195
749
512
207
58
652
349
692
520
886
230
758
857
998
497
235
431
273
810
739
84
352
181
239
339
2
835
691
559
547
469
648
498
994
491
492
645
55
379
992
287
840
589
455
989
118
127
213
807
166
350
763
914
771
427
682
850
947
816
563
62
540
952
296
314
622
822
188
718
422
167
286
302
567
238
224
302
131
636
583
838
167
274
301
125
271
705
855
316
536
476
491
63
619
12
968
60
184
763
393
474
482
229
263
811
355
390
127
222
934
260
495
433
449
431
580
962
522
141
315
432
204
632
90
87
543
685
527
874
549
488
419
873
324
939
57
990
950
59
603
381
830
511
104
8
184
576
506
459
13
954
218
556
528
402
206
606
22
544
871
772
189
967
934
100
325
21
913
307
613
778
121
299
541
143
920
882
393
134
820
152
699
502
244
960
32
781
655
852
553
944
598
513
523
870
532
256
653
200
668
710
181
513
504
961
481
564
120
260
580
453
368
790
780
167
937
667
428
162
792
359
958
317
584
394
350
12
37
130
314
508
869
588
540
982
241
566
278
505
28
340
860
266
662
481
854
136
942
774
584
117
781
949
300
271
886
634
721
701
218
472
468
858
996
924
580
644
441
159
721
102
128
776
350
492
262
490
293
584
199
627
647
925
663
5
61
27
258
158
166
49
784
815
260
66
580
535
184
431
713
323
615
722
162
975
995
104
351
111
667
255
259
828
959
346
725
36
636
23
560
643
584
177
696
877
800
714
816
278
331
392
256
143
984
347
24
839
97
982
762
240
742
347
860
809
396
262
631
711
625
457
705
902
995
7
346
987
813
416
256
950
100
78
596
21
421
529
523
675
528
415
417
473
255
939
395
55
929
578
644
591
867
501
82
4
6
92
414
521
713
725
984
304
96
72
595
602
920
896
250
386
719
482
212
984
206
409
685
589
191
564
667
976
782
736
589
936
254
515
122
248
447
348
269
343
722
222
991
660
633
830
241
576
911
230
394
222
483
560
758
789
722
771
997
305
580
834
947
472
452
785
971
620
520
987
400
102
208
562
406
845
614
980
679
995
875
506
711
415
925
386
710
30
231
793
822
46
695
42
818
310
818
674
572
749
289
488
472
816
97
655
547
928
300
10
738
924
554
568
705
832
374
635
991
59
255
819
1000
815
844
284
442
425
781
967
475
639
109
526
293
60
700
685
256
440
936
686
573
629
240
59
823
40
511
910
412
857
582
338
920
415
391
672
933
726
310
389
563
32
767
438
80
878
180
800
701
38
458
159
302
407
579
60
749
738
529
251
354
45
100
397
914
230
195
938
740
853
864
167
18
966
15
655
775
942
100
358
243
493
339
800
582
960
327
210
85
650
242
827
897
793
112
310
73
478
706
78
333
110
697
770
678
924
356
561
358
706
577
335
796
397
931
349
595
695
838
402
838
680
789
728
577
169
345
49
397
840
495
355
203
690
607
548
687
566
651
946
644
123
653
286
380
146
473
493
905
67
540
410
240
22
268
969
986
727
4
172
724
196
808
93
815
737
878
589
960
334
772
845
330
640
96
986
869
303
778
358
63
9
832
404
419
249
922
711
515
47
259
574
968
782
496
25
846
728
734
683
247
530
542
986
411
298
566
466
256
441
502
987
643
717
441
63
931
358
184
89
943
737
521
672
241
11
675
969
859
419
335
489
643
470
510
682
757
856
907
815
379
481
797
725
24
371
169
694
520
60
350
649
357
992
503
914
370
771
972
417
400
362
919
578
598
7
155
653
330
848
264
884
823
958
799
809
183
159
330
764
220
640
819
950
605
980
820
914
713
1000
3
119
425
333
34
779
370
136
380
208
293
362
775
389
888
811
860
342
948
282
975
236
380
361
626
874
541
747
28
800
245
355
524
647
934
785
696
424
389
42
544
834
310
39
811
647
159
880
847
701
637
659
759
466
792
580
795
198
91
967
868
481
426
368
185
74
824
197
743
158
459
702
381
717
191
336
384
754
130
780
267
177
838
873
388
772
105
725
975
524
144
120
723
62
429
970
311
998
637
309
12
250
469
765
230
864
615
464
693
699
885
392
110
194
880
946
49
198
224
549
528
617
683
340
648
86
919
219
773
889
669
880
1000
423
709
924
306
446
689
87
121
479
460
452
203
748
173
394
893
509
423
732
540
887
529
9
603
566
833
877
791
342
45
250
114
746
488
181
640
284
161
200
102
848
491
319
455
173
477
776
16
180
632
440
566
348
145
673
179
208
918
302
179
917
925
505
709
363
176
293
40
20
821
545
763
553
931
637
414
116
953
609
294
431
670
371
80
824
175
568
619
827
477
130
293
38
699
152
746
779
279
121
932
957
238
472
826
14
577
772
803
815
545
570
208
584
946
896
471
173
796
296
718
431
973
818
749
346
720
44
659
236
780
420
772
810
564
378
42
601
733
921
887
279
152
538
42
15
529
967
181
20
948
367
888
766
838
582
593
238
247
720
494
48
584
656
134
934
875
746
370
739
412
468
939
856
844
214
78
68
255
564
511
499
674
650
139
525
933
685
746
575
560
902
382
150
784
309
127
474
894
827
741
840
454
405
380
479
222
549
206
858
705
640
837
106
1
92
510
51
562
118
392
200
941
41
454
177
775
138
944
410
265
798
967
541
397
89
886
448
741
71
422
233
960
634
250
793
884
514
385
333
876
607
885
986
179
296
623
902
346
630
327
270
686
387
836
548
63
662
373
429
481
227
502
867
652
950
82
742
361
4
691
876
856
839
807
555
97
456
161
15
602
959
589
630
667
901
478
945
224
568
91
415
867
924
921
870
369
137
625
298
732
405
432
898
372
143
63
339
364
533
202
894
170
495
144
161
204
646
830
1000
576
845
599
972
8
275
497
550
186
880
709
774
36
35
903
964
327
990
748
795
722
438
326
85
200
412
720
402
883
796
222
369
878
580
864
969
432
21
801
8
83
696
299
740
126
196
201
969
204
128
85
461
655
389
368
768
475
325
961
410
234
431
552
154
727
724
895
446
459
122
776
308
833
948
780
665
626
97
271
510
461
861
346
742
234
682
890
695
124
247
373
580
898
638
8
624
694
336
987
9
53
221
952
828
448
379
507
644
107
463
214
302
566
206
234
704
446
157
368
810
528
395
516
577
143
729
880
460
433
112
624
615
24
39
344
2
85
463
339
663
1000
202
54
590
777
278
585
522
187
405
50
601
456
63
851
733
661
357
218
630
104
456
947
964
798
554
805
850
809
600
270
419
937
600
36
485
999
317
955
194
886
983
533
280
547
69
198
13
467
619
921
714
541
526
710
950
409
514
585
93
788
206
648
826
593
351
930
17
538
908
635
611
881
918
504
482
869
222
94
425
120
402
136
780
402
790
133
745
673
483
962
306
34
654
512
336
192
937
623
875
939
418
768
837
839
782
732
287
416
280
842
999
932
284
604
100
101
541
21
596
947
654
295
734
205
562
164
738
989
923
333
848
480
403
935
345
432
216
650
666
915
196
284
892
764
696
480
273
721
142
124
596
660
6
84
227
921
476
55
867
986
797
419
611
993
819
962
442
433
359
355
986
110
206
85
962
860
755
791
417
757
916
404
964
602
185
754
522
568
568
807
543
249
70
537
809
9
976
248
893
452
948
158
94
128
156
629
649
970
299
758
481
728
904
763
586
731
294
682
947
915
704
731
221
870
125
52
951
763
968
504
363
382
329
465
172
87
708
821
650
866
157
758
971
748
395
769
646
940
245
166
975
315
814
198
416
792
608
333
905
790
126
425
383
861
1
56
494
401
677
188
251
712
705
993
917
110
11
70
389
786
320
791
269
115
820
808
33
561
608
806
597
820
261
627
54
604
692
857
702
925
865
708
745
770
988
976
305
861
648
379
504
551
109
916
801
753
390
215
197
729
670
998
166
893
233
13
316
462
878
399
836
447
220
138
929
448
39
781
723
67
678
168
945
897
747
482
56
615
604
49
126
869
790
263
803
239
594
736
313
108
916
734
448
629
460
359
406
957
466
578
514
982
391
490
780
97
962
901
651
88
461
597
793
173
518
626
40
730
654
626
432
366
967
514
307
562
289
790
186
804
207
862
509
528
58
767
939
86
753
473
891
676
312
551
857
823
108
226
286
476
748
617
275
289
19
252
174
145
401
602
204
809
369
31
611
339
885
142
451
826
911
797
65
650
615
47
285
794
206
421
853
14
383
227
785
112
466
284
618
457
490
16
488
143
248
369
377
64
232
686
125
92
914
260
670
583
869
883
829
514
310
705
944
182
797
148
45
414
165
134
580
342
989
239
392
539
9
429
808
110
552
215
955
7
469
687
197
472
237
98
589
40
832
53
303
893
738
57
85
388
986
288
759
193
586
874
962
164
175
386
300
157
263
790
925
630
860
408
986
392
408
120
2
567
559
416
941
727
493
655
743
555
347
545
763
508
542
876
886
913
387
44
743
951
791
1
473
741
843
798
631
482
495
808
168
587
596
344
730
178
593
846
48
632
533
240
12
181
317
923
626
980
30
854
867
209
514
435
428
430
476
11
704
349
407
737
1
460
208
903
36
33
394
659
618
564
480
21
649
629
290
850
854
340
293
535
60
920
244
534
940
499
884
680
385
530
35
105
617
607
35
266
514
394
628
64
559
249
520
881
932
258
272
748
82
336
496
566
339
71
314
353
211
930
209
975
620
452
856
809
310
465
202
973
381
653
373
257
305
977
530
799
650
6
215
215
490
514
489
667
550
488
516
57
325
668
543
411
750
841
901
22
315
470
440
987
633
241
467
622
881
33
708
632
985
728
82
531
121
77
223
384
424
888
386
939
548
437
350
236
837
35
118
616
400
286
806
431
268
266
637
594
428
874
300
924
940
937
362
890
487
334
424
719
685
637
284
694
225
564
794
314
398
626
692
643
632
254
742
606
38
469
598
366
921
882
862
157
494
243
609
266
674
587
220
557
497
509
782
243
449
334
592
349
475
898
486
719
289
434
602
116
306
283
597
757
716
890
455
266
119
12
576
462
283
744
391
864
199
761
880
503
541
999
77
11
882
41
878
516
598
167
364
173
175
378
50
86
817
400
692
264
34
105
713
396
185
982
453
310
213
883
573
880
712
704
739
724
736
707
315
45
161
954
256
979
179
554
809
512
583
118
228
983
498
752
535
461
542
781
955
403
985
443
732
831
815
894
678
560
912
644
696
486
345
50
796
479
387
246
751
208
862
338
285
351
851
334
774
70
251
590
143
38
998
34
368
977
633
459
667
719
331
52
409
507
677
194
707
632
431
336
88
47
650
20
825
380
118
178
34
26
534
87
637
247
214
754
397
879
645
847
920
535
638
222
464
135
347
819
577
188
765
360
797
494
734
955
955
886
569
17
590
840
276
576
270
785
56
168
831
54
547
81
423
599
419
167
163
21
976
54
816
775
430
288
437
801
234
480
567
766
448
239
7
440
264
981
743
377
54
909
438
285
274
634
897
320
990
322
587
238
878
655
601
94
867
433
464
402
194
839
511
707
243
619
26
402
233
534
694
963
550
538
379
947
240
93
996
139
132
333
701
978
635
421
636
213
819
159
930
420
22
515
968
20
564
236
927
829
135
152
626
232
943
934
668
698
450
912
347
783
117
344
222
564
123
483
303
805
793
801
186
616
30
887
364
698
297
231
463
80
747
327
307
928
625
410
112
316
148
227
641
307
639
79
364
772
30
155
23
202
393
533
222
130
607
796
293
367
274
884
60
88
954
435
187
307
146
935
897
235
498
534
980
306
828
202
359
678
230
247
782
231
65
534
313
728
344
496
114
454
883
436
279
498
951
771
794
468
535
207
788
942
579
272
529
531
919
150
192
193
802
446
861
567
287
831
827
938
804
626
299
435
937
979
696
796
915
125
534
786
660
137
854
831
16
671
523
873
685
523
55
665
461
270
495
326
412
423
734
425
936
362
301
494
672
612
298
710
403
501
308
804
745
718
136
1
575
159
990
959
130
239
84
583
706
927
100
281
422
318
450
531
431
998
380
357
91
414
139
49
317
144
661
339
917
29
535
163
84
134
497
845
128
269
864
813
570
840
191
37
461
838
62
903
767
684
172
714
577
468
716
522
763
556
769
667
846
713
577
253
376
731
123
54
970
390
535
900
946
195
209
698
550
100
463
426
828
474
364
435
323
334
978
868
936
992
767
151
202
447
341
106
699
883
569
659
995
622
124
745
204
725
87
145
826
95
504
817
218
708
511
294
237
695
162
299
753
471
822
890
549
752
497
636
460
849
373
951
915
731
25
985
99
885
14
319
851
478
499
832
2
603
169
619
662
285
363
263
764
903
844
300
71
709
912
637
618
594
849
456
549
672
957
105
242
960
881
385
705
393
854
797
690
579
891
915
515
659
698
848
523
276
209
958
880
283
333
306
888
651
459
39
173
88
389
226
230
222
806
153
134
740
262
864
278
444
38
164
339
520
464
998
286
855
366
450
2
396
886
283
910
864
526
529
681
472
17
693
292
62
889
923
919
351
215
295
669
727
273
762
141
892
541
641
10
549
569
812
488
970
990
821
475
544
472
711
618
865
875
779
501
789
501
928
760
308
394
821
697
554
862
735
183
406
509
429
738
210
46
195
20
140
475
974
54
336
941
987
814
584
98
250
167
720
545
945
988
367
841
229
64
128
158
431
680
964
580
216
366
785
232
823
748
495
752
750
173
829
967
295
645
383
166
104
437
39
275
778
940
203
978
226
521
237
633
417
871
581
987
775
547
771
79
100
707
667
33
672
295
578
62
13
860
893
990
285
720
447
272
887
292
288
481
504
882
81
569
124
844
345
282
231
252
687
453
890
289
112
456
883
888
717
31
553
565
555
388
664
978
245
193
833
972
26
634
329
460
233
105
496
147
553
611
677
727
263
160
661
213
705
880
622
214
305
197
261
359
231
439
709
110
721
488
138
878
794
39
467
797
413
314
935
797
351
188
911
884
339
426
198
323
444
986
482
757
697
830
238
742
422
769
598
770
797
474
808
330
73
572
737
714
205
480
262
61
442
855
655
950
621
628
653
925
796
80
430
879
145
109
876
533
134
34
283
82
993
644
943
817
288
566
848
122
36
146
767
739
864
993
681
712
496
842
823
619
133
883
122
954
661
847
184
512
203
715
303
447
221
145
57
962
453
746
827
125
887
806
442
233
62
722
854
249
464
980
890
774
178
172
76
203
2
139
317
383
731
7
143
178
453
754
831
621
599
718
371
596
468
817
302
47
879
879
222
173
481
596
856
47
361
949
239
730
839
488
100
776
419
227
562
175
524
883
43
668
925
32
275
105
19
592
272
575
146
725
936
392
36
828
13
343
235
755
487
111
456
555
756
430
137
436
289
807
323
966
994
750
27
555
917
898
147
677
337
755
661
971
744
23
829
413
305
62
622
177
279
70
894
598
643
809
972
754
693
820
227
300
694
846
207
348
8
30
415
458
532
535
730
371
829
232
319
578
698
460
146
856
567
312
118
958
175
134
826
304
489
823
440
283
770
181
406
411
779
239
366
495
65
664
470
815
562
79
746
535
528
364
283
829
550
772
97
435
726
691
831
34
419
627
861
261
139
960
328
362
606
548
528
569
981
697
696
89
387
736
601
801
447
487
772
115
588
103
633
390
687
287
284
931
163
503
409
837
935
713
522
517
662
882
701
688
654
589
319
546
526
938
49
434
911
667
237
765
237
738
572
537
595
287
133
222
339
865
944
950
473
972
507
57
340
203
772
606
695
240
663
366
460
538
64
911
937
925
716
703
773
67
982
693
426
877
367
961
188
112
587
142
840
821
98
252
820
835
236
451
803
654
310
930
745
804
751
49
199
209
27
353
400
411
812
729
254
281
784
351
552
487
762
428
277
251
857
989
667
329
622
831
979
200
663
817
166
154
442
585
57
150
786
996
408
257
958
177
987
960
109
183
300
704
763
415
230
648
255
466
178
556
696
322
121
168
767
125
881
979
581
32
268
135
990
102
922
709
809
990
736
132
541
858
502
266
276
404
981
109
245
186
531
734
276
263
566
298
580
375
449
610
926
248
197
387
587
671
110
273
894
182
136
526
573
353
452
888
622
695
778
122
947
706
475
791
485
419
203
191
357
561
277
308
389
649
539
954
724
975
702
50
333
248
302
375
815
345
962
61
868
920
42
817
722
903
836
885
562
92
151
539
151
379
403
177
1000
654
577
762
917
460
749
172
583
182
772
577
223
884
262
87
998
838
443
254
55
209
779
917
333
192
115
733
615
46
204
807
524
39
940
773
713
247
376
831
683
244
123
238
927
801
280
1
231
483
806
853
755
647
170
352
531
263
790
426
946
910
280
66
411
727
76
753
890
890
891
255
489
842
518
211
350
640
425
43
432
824
76
876
651
53
788
660
265
819
972
79
972
367
210
299
78
918
391
591
884
150
137
303
6
205
962
617
308
814
898
263
684
626
336
488
594
847
54
488
247
17
82
390
810
527
292
296
26
583
632
678
358
479
437
28
87
632
678
673
418
359
502
892
795
502
420
500
195
688
624
694
247
788
364
577
504
969
4
795
963
805
107
941
975
435
342
677
632
68
933
525
773
662
710
239
211
117
570
39
324
664
259
952
409
790
644
854
313
956
903
645
501
974
142
46
980
216
772
17
833
769
945
531
199
128
448
850
292
8
153
545
299
328
489
216
718
808
850
504
534
765
987
583
880
254
199
35
59
361
263
245
536
407
181
731
870
1
313
287
183
444
202
129
418
977
886
423
154
572
408
511
395
103
878
290
613
267
26
367
140
241
184
647
629
455
515
999
935
372
937
681
892
364
778
450
529
256
522
484
132
750
167
609
707
305
446
849
722
511
681
784
21
351
569
14
275
458
855
233
713
813
604
349
949
104
500
927
467
641
876
618
180
285
794
741
505
878
748
69
619
791
75
108
633
274
77
610
50
395
571
283
706
400
31
288
332
869
613
537
299
331
926
55
443
468
360
940
368
121
16
686
489
688
93
985
944
720
446
684
997
512
353
87
663
405
571
779
582
435
454
100
257
545
751
930
931
929
393
837
65
162
341
389
770
924
485
719
546
722
44
614
213
963
148
57
850
629
911
622
530
550
11
140
11
918
365
349
763
980
262
306
834
909
492
895
38
58
730
592
970
211
252
354
480
65
182
142
116
878
900
273
95
48
613
703
706
100
976
524
393
811
398
742
930
206
442
616
404
687
90
97
609
309
473
9
620
279
433
784
544
125
926
656
956
322
897
70
929
528
975
605
41
656
799
40
773
776
701
823
33
216
793
229
294
94
901
41
143
296
572
309
366
388
616
764
506
879
669
346
354
777
758
921
196
873
210
241
824
660
642
794
741
99
499
586
656
649
708
118
761
964
723
996
123
41
618
212
412
646
844
4
197
492
615
815
396
276
959
702
205
358
73
736
103
50
402
207
306
585
662
81
239
647
982
876
425
702
4
386
286
899
247
701
329
509
949
463
33
95
837
656
300
13
104
766
268
747
657
687
107
780
832
394
556
407
540
416
845
814
852
286
9
799
176
746
487
786
432
593
967
94
872
812
387
832
243
41
524
16
875
373
225
773
667
394
217
731
471
656
662
101
873
755
133
255
141
545
447
744
899
341
375
853
841
987
417
234
692
936
908
323
277
495
506
662
995
673
898
874
903
842
112
979
508
431
847
172
897
979
620
944
32
800
420
960
178
521
354
445
267
930
655
644
451
654
785
160
483
75
421
59
307
14
833
184
148
76
367
300
903
603
904
380
567
48
628
895
454
980
531
760
117
603
275
574
361
106
578
507
410
988
131
62
873
344
819
737
298
693
220
624
267
6
447
341
679
772
184
664
940
749
887
94
622
452
753
540
651
902
868
269
106
687
288
620
982
331
120
171
507
630
726
941
497
977
167
370
79
824
557
751
533
797
118
734
563
429
674
270
140
678
138
598
398
845
331
631
513
366
249
599
938
17
159
264
310
775
145
236
402
383
686
170
308
794
332
313
60
765
17
956
991
119
67
164
409
93
125
767
918
569
327
330
451
301
255
427
543
658
557
716
206
546
703
266
192
902
290
569
833
153
148
670
12
389
820
282
82
859
799
648
607
545
456
881
807
332
817
419
157
975
609
467
655
563
636
79
583
953
383
390
38
182
797
908
889
641
62
448
641
447
731
779
106
218
654
850
416
455
427
585
188
380
75
799
212
274
533
547
846
937
967
256
164
125
571
958
592
534
829
480
697
450
403
617
790
13
337
864
211
785
163
173
829
421
783
673
791
366
110
136
581
331
761
839
560
193
545
899
998
621
317
260
101
174
500
868
780
81
443
374
745
789
342
68
819
319
245
351
47
398
100
717
193
940
305
203
831
971
346
217
804
923
690
250
355
783
574
717
403
623
872
181
716
912
559
653
319
573
147
965
711
780
52
561
333
43
39
216
992
545
36
872
444
561
945
389
538
956
243
757
337
741
836
789
222
13
540
504
391
504
853
566
290
228
552
887
787
646
729
311
280
327
2
406
808
206
925
816
622
370
331
489
136
569
67
597
360
72
878
701
866
564
697
20
938
804
137
772
887
107
165
340
613
759
107
492
119
379
393
109
689
678
890
187
88
590
950
708
290
998
314
580
75
299
513
703
685
224
689
39
166
541
604
345
305
926
988
371
602
671
933
276
210
431
802
938
782
280
201
651
278
829
444
701
637
186
984
212
820
859
857
387
484
373
929
941
820
130
38
164
369
59
912
902
974
701
762
292
190
198
708
172
208
46
364
584
226
226
867
448
294
180
206
916
567
804
557
658
229
193
618
656
356
95
31
871
85
59
846
745
944
402
685
923
623
399
25
587
18
847
857
727
429
365
798
609
508
348
827
147
791
197
38
338
444
503
653
51
677
608
593
582
390
217
814
75
597
276
626
440
46
818
651
375
256
815
982
577
232
978
491
296
86
653
534
722
721
867
282
775
493
343
630
463
684
732
887
837
973
442
826
597
88
368
719
682
260
946
380
679
193
591
15
875
384
544
458
69
242
64
739
316
262
587
14
544
466
483
6
155
911
370
83
914
648
637
414
858
570
406
18
397
343
575
137
297
259
198
697
675
926
620
98
857
174
715
122
975
816
154
238
233
476
719
170
125
575
161
982
485
145
37
411
291
412
951
709
949
776
779
385
26
73
451
706
976
116
33
824
247
624
143
27
817
473
32
135
198
271
60
437
765
229
671
540
304
800
1000
289
135
572
309
476
218
693
393
854
505
411
903
633
75
55
346
417
751
303
487
203
603
822
449
467
528
415
826
157
169
684
693
546
739
932
807
877
653
201
792
81
547
495
307
500
666
304
574
982
971
848
88
905
840
165
566
779
85
226
720
6
382
901
642
187
391
616
986
69
849
611
119
28
520
888
291
99
214
197
467
418
507
103
311
69
580
824
625
155
427
719
524
959
596
609
712
203
73
623
412
903
394
580
268
405
741
792
924
514
730
444
251
480
91
323
879
271
275
841
841
4
52
756
952
935
37
390
225
978
877
181
697
780
829
337
936
839
817
932
355
680
454
917
58
360
800
505
230
819
640
469
536
361
980
190
940
736
97
197
247
495
87
900
459
579
81
884
288
256
496
148
610
111
514
107
877
502
662
996
148
337
192
190
923
950
130
343
439
342
758
812
969
864
502
842
891
108
261
240
122
145
842
51
809
873
865
653
899
727
439
295
588
695
236
789
702
948
992
198
200
866
712
626
856
320
704
849
909
43
67
572
270
954
556
538
194
20
587
716
269
994
595
901
340
205
493
156
250
144
605
389
860
527
974
379
341
310
728
370
826
580
821
683
665
461
957
776
268
69
180
662
346
581
888
91
846
856
75
334
157
345
195
232
940
75
146
381
266
209
992
662
328
302
24
541
188
79
383
972
814
142
309
144
624
962
706
99
355
653
277
937
241
123
377
658
709
362
41
203
528
345
362
204
475
37
700
890
18
528
390
511
31
478
221
491
446
858
44
565
139
321
578
321
895
529
389
510
240
564
896
682
714
554
929
929
213
653
907
505
886
802
491
83
431
740
733
351
286
588
895
610
480
514
660
877
681
557
925
460
899
686
30
196
178
403
562
548
374
990
831
932
529
23
927
28
688
873
586
464
494
58
605
452
408
412
513
496
20
123
546
501
275
515
617
296
340
797
648
884
274
724
700
395
856
209
448
944
298
623
10
132
416
352
761
344
306
598
134
486
257
471
582
84
316
495
592
860
108
367
595
110
152
254
641
248
37
966
631
784
502
420
754
292
400
679
877
105
799
512
38
173
957
502
604
991
741
218
58
883
837
832
43
180
52
418
249
399
70
941
309
888
549
970
552
94
539
673
448
271
55
334
287
522
564
49
250
24
325
279
201
501
431
467
189
121
947
558
671
777
302
476
149
562
511
423
344
836
545
102
834
790
725
685
382
821
45
410
463
793
636
314
743
370
405
724
116
370
623
914
417
129
391
475
850
975
670
602
777
919
520
673
577
305
838
793
233
170
510
499
244
313
343
731
563
480
677
219
920
470
989
234
58
204
57
448
557
739
531
506
237
781
560
599
829
960
658
752
559
531
446
519
551
29
320
599
913
279
944
286
414
354
528
709
281
352
958
678
178
404
688
176
273
855
927
107
715
7
41
143
977
411
165
827
519
84
123
786
850
599
67
629
48
633
970
436
828
531
998
448
277
646
936
434
892
798
846
912
563
746
37
272
908
469
217
484
811
537
526
778
106
383
471
881
503
363
7
541
25
364
73
28
735
413
34
900
970
620
725
177
544
644
854
526
486
956
306
743
293
805
209
236
397
898
458
935
783
96
210
390
758
600
438
820
128
200
409
165
234
795
792
177
123
237
548
946
238
464
538
116
453
495
566
526
744
471
554
268
241
2
403
613
123
42
872
746
672
681
107
585
615
864
880
408
411
191
676
752
126
514
487
64
592
387
77
337
354
94
14
759
424
611
136
922
991
714
236
96
544
963
194
835
257
12
185
17
594
260
754
86
846
246
592
433
157
375
816
814
150
233
960
393
949
37
491
714
610
807
82
996
329
874
159
274
347
286
4
162
323
56
818
84
466
215
588
816
466
442
74
252
81
353
273
812
62
121
507
426
397
910
42
133
346
305
63
968
807
785
644
98
913
61
491
426
865
932
230
598
996
969
742
264
515
43
765
828
843
584
789
974
117
207
767
217
445
61
585
408
209
296
954
199
700
128
768
290
755
264
976
832
671
204
741
317
702
968
279
123
15
323
669
679
814
94
605
263
508
704
164
829
40
24
284
1000
672
122
127
63
531
369
693
460
964
974
802
755
41
730
517
963
131
693
277
706
703
369
41
79
631
893
821
796
925
225
731
393
648
788
70
153
497
379
547
161
499
875
5
489
483
581
95
448
154
776
299
614
451
683
259
978
74
47
610
664
992
363
978
419
294
498
160
533
47
141
781
987
803
676
482
874
92
841
3
345
680
475
287
883
292
983
865
191
767
526
333
976
540
394
854
870
414
374
798
328
300
817
660
99
987
395
398
815
996
94
174
269
145
283
432
9
421
296
2
677
889
51
852
292
163
733
749
111
952
668
246
35
49
904
495
353
69
756
245
834
91
847
71
73
687
851
187
825
23
941
239
41
728
432
51
815
85
144
715
180
208
920
1
858
769
232
317
258
165
5
479
329
966
303
58
241
966
967
558
741
54
22
476
811
917
961
176
163
38
87
582
339
81
803
797
495
911
227
306
904
16
868
628
846
505
745
95
684
196
169
723
247
671
547
383
456
460
389
35
327
742
438
341
495
647
735
334
362
731
4
400
328
278
283
335
147
337
74
871
814
920
21
843
17
931
214
198
798
360
526
573
732
936
600
859
953
850
905
877
147
648
311
449
253
759
24
548
950
904
168
735
944
725
898
100
176
845
939
133
653
904
368
161
378
117
681
38
171
90
225
538
456
540
973
796
749
851
526
548
732
509
974
365
851
273
283
996
331
262
817
938
690
729
691
5
170
853
708
30
134
741
976
414
127
311
314
189
688
392
811
874
919
204
204
551
384
326
658
885
4
50
299
432
591
805
481
932
122
504
767
693
413
907
684
676
841
813
19
13
622
58
799
377
786
294
423
206
731
576
389
987
516
142
407
533
746
481
121
462
4
977
646
719
295
835
386
492
147
251
709
638
320
362
199
671
250
79
406
787
523
224
263
104
8
587
535
792
839
907
199
552
217
192
26
799
914
344
845
802
257
700
455
158
457
976
658
248
364
143
168
306
956
535
943
37
624
988
337
486
176
854
220
425
807
82
289
808
295
524
798
119
253
105
998
278
871
864
518
823
194
207
770
653
143
541
162
601
949
951
574
739
451
804
433
246
112
321
642
569
395
903
602
766
765
2
970
198
801
998
875
203
611
523
658
632
689
610
690
682
387
827
55
375
433
489
72
687
908
287
751
570
254
111
362
59
508
16
472
406
939
936
460
942
24
4
952
939
963
939
711
339
579
73
461
242
937
373
585
793
613
293
976
426
191
664
611
280
962
213
947
108
816
221
357
202
352
316
314
236
479
53
405
733
33
371
22
236
520
667
432
552
177
720
134
725
194
731
192
934
974
674
779
51
144
549
42
973
424
582
338
372
717
541
335
11
710
327
554
293
606
637
973
391
416
492
137
401
924
981
860
765
173
352
145
136
104
250
718
865
807
778
115
604
273
559
780
390
935
554
991
757
953
206
909
337
313
24
967
959
614
346
247
235
156
268
478
638
612
193
965
389
568
403
679
83
371
345
535
929
133
987
187
797
451
953
723
343
459
371
249
228
875
491
731
739
855
76
582
952
324
744
725
589
511
430
837
262
213
773
10
918
383
285
884
822
766
144
310
652
402
714
607
129
741
560
176
835
972
123
350
462
640
28
3
908
979
753
976
137
32
19
545
407
557
949
373
139
426
695
822
708
906
889
740
917
20
671
539
916
616
426
584
61
512
730
927
612
25
67
903
781
35
805
570
362
309
706
324
111
953
379
774
224
708
983
458
125
873
151
466
204
901
418
543
855
876
799
608
95
352
222
75
113
622
450
500
506
895
95
196
237
741
588
521
817
369
117
907
55
356
344
351
268
690
945
999
645
90
955
976
630
165
930
903
939
157
320
659
366
542
99
777
464
103
185
156
322
288
515
546
14
343
625
435
310
685
903
716
984
871
25
965
518
440
852
723
585
770
663
68
505
173
685
968
502
786
919
269
917
693
396
837
442
698
389
928
33
273
248
651
508
898
971
31
591
901
564
681
625
262
913
464
291
978
873
75
189
373
86
168
308
223
382
772
798
889
30
64
466
620
951
746
379
206
114
804
320
438
515
429
517
112
665
498
248
729
323
848
977
18
35
431
169
655
561
713
16
88
25
654
342
917
697
19
539
144
931
464
655
84
822
388
399
750
737
691
534
997
929
123
712
701
154
523
809
36
988
622
130
117
246
624
345
801
147
667
312
26
58
305
705
749
828
52
102
22
959
879
602
240
243
769
837
958
459
782
917
800
331
821
246
878
537
696
823
971
889
590
911
307
418
874
362
259
197
727
932
423
556
566
204
204
653
196
330
918
46
946
850
470
553
921
983
434
225
486
117
151
855
421
525
634
154
650
158
210
841
698
219
101
888
740
443
690
100
355
261
285
959
443
48
664
789
744
407
791
238
117
118
564
622
336
522
453
955
115
3
930
754
78
20
380
615
622
856
761
132
412
421
299
843
73
130
694
100
668
792
775
529
799
204
509
475
294
213
998
198
83
552
230
453
263
379
568
585
652
999
841
955
682
146
756
253
489
287
626
214
167
163
840
430
699
496
88
957
781
934
660
637
365
493
95
33
390
735
678
327
665
469
936
417
568
778
348
945
401
285
995
976
941
852
354
757
958
637
68
731
608
35
659
732
830
578
777
286
646
774
464
263
488
62
151
13
684
192
911
901
84
585
845
227
745
304
322
350
989
119
89
696
811
886
523
161
414
126
881
833
471
718
353
112
970
980
838
458
44
216
137
332
129
455
622
424
600
589
789
899
596
927
426
771
20
962
255
85
275
36
598
704
20
573
923
369
698
841
362
506
603
467
185
263
638
144
658
663
951
788
73
85
886
832
258
749
359
730
887
696
284
267
758
809
436
859
67
879
405
92
899
350
156
39
207
121
968
553
269
787
483
176
782
611
369
177
282
526
575
356
56
625
295
117
132
992
582
330
438
96
486
621
902
407
485
432
300
764
751
817
963
669
544
838
327
325
55
604
849
654
742
292
499
560
992
342
840
349
772
347
704
638
822
226
254
832
757
986
777
745
716
290
46
580
888
549
92
507
676
122
892
598
616
168
661
116
788
436
531
707
609
796
85
532
263
693
712
66
664
891
595
745
491
795
533
984
120
612
905
317
435
981
347
59
412
190
758
690
298
940
404
407
700
432
524
771
682
580
129
83
386
417
799
890
719
987
701
643
464
543
26
388
250
861
461
180
665
827
862
343
332
643
494
478
275
519
294
605
306
307
778
686
581
662
75
233
597
932
663
462
443
692
541
16
34
944
195
768
321
676
395
701
631
339
229
587
145
510
373
904
741
27
175
418
585
185
482
874
977
601
401
239
793
877
93
906
603
784
632
271
679
371
661
740
630
307
301
529
625
635
925
448
111
818
927
168
952
84
538
995
518
269
759
438
985
552
913
853
754
217
96
332
821
405
919
996
710
551
752
762
995
929
55
309
453
305
282
215
476
760
274
739
643
126
952
598
193
576
336
531
761
976
806
915
146
357
172
994
889
809
461
715
322
49
477
803
313
57
170
250
81
587
341
751
519
706
330
277
311
630
373
959
194
237
372
59
439
450
854
527
501
251
132
178
669
238
632
623
137
646
533
701
903
5
524
374
851
146
375
510
859
248
339
232
784
400
961
517
329
400
71
692
303
14
150
883
28
722
578
948
731
599
398
269
153
79
279
636
773
713
382
298
266
741
392
42
889
319
403
784
386
178
575
906
278
734
511
61
660
824
602
42
553
554
738
6
203
372
417
450
56
187
149
550
202
30
803
425
538
489
322
611
947
995
676
209
631
533
740
694
57
817
995
472
135
799
559
925
19
867
733
193
673
944
127
617
292
6
943
145
563
763
552
883
142
595
30
780
16
690
656
107
277
499
907
841
479
786
264
691
213
377
628
134
36
751
701
34
16
752
909
711
565
648
818
704
566
844
203
922
43
123
810
922
774
480
612
867
787
461
540
618
997
752
44
654
859
663
696
890
277
752
700
922
802
412
391
338
509
300
976
789
94
351
188
761
153
540
324
718
905
861
315
304
288
890
129
789
315
440
338
631
428
229
190
446
491
136
459
989
559
30
564
958
517
39
981
40
637
858
936
470
735
978
300
436
928
113
699
503
914
991
960
115
924
385
881
603
814
116
907
77
146
32
257
715
163
495
893
949
598
470
215
399
379
571
897
886
986
174
22
758
220
258
344
656
233
1
635
499
535
883
753
346
485
580
265
548
430
238
529
601
801
821
727
314
835
618
510
399
531
537
661
607
841
920
664
161
530
613
828
98
205
535
281
47
24
459
378
302
377
829
114
963
482
87
947
100
974
617
514
243
953
262
652
659
355
637
862
107
420
643
176
493
545
468
680
135
953
642
298
881
217
754
981
187
863
272
69
792
303
190
826
402
446
298
107
610
531
996
121
296
696
818
689
781
860
981
467
118
735
219
905
311
174
709
417
729
133
707
454
358
686
285
451
406
425
414
404
761
689
647
321
853
791
175
687
308
999
313
281
8
879
310
513
375
482
541
798
518
554
60
809
701
668
374
687
311
144
574
510
123
208
995
206
249
123
825
833
820
538
365
46
710
332
643
958
651
833
809
358
807
499
828
621
649
38
94
388
936
551
632
618
657
327
10
4
501
995
168
992
586
407
634
295
390
245
914
253
919
353
120
558
195
735
924
203
538
713
242
677
20
862
217
474
801
123
606
764
821
265
966
376
79
756
936
424
422
565
968
222
184
39
809
392
114
794
976
488
35
388
92
640
889
763
60
350
735
61
507
292
943
775
175
204
87
592
426
205
977
494
888
859
191
776
870
683
344
786
7
63
751
719
364
927
939
593
640
59
110
244
584
109
163
461
863
968
644
936
127
132
582
529
904
724
606
605
143
345
712
726
341
603
824
998
723
54
69
974
720
251
682
455
984
267
114
747
58
936
498
365
303
635
887
205
977
9
138
142
418
124
783
398
966
75
408
934
202
516
171
32
945
789
483
770
967
564
639
381
599
826
874
853
509
963
371
250
781
103
380
421
484
494
927
700
937
10
561
720
417
156
829
269
484
792
421
402
329
302
746
790
383
666
961
819
823
721
365
455
529
10
698
348
835
27
700
49
881
609
179
585
542
421
698
231
469
256
340
855
240
335
670
515
688
401
631
786
293
327
996
147
569
933
768
294
696
433
522
924
32
65
865
384
436
597
227
141
923
274
662
584
718
502
986
306
563
414
637
121
772
689
613
811
104
745
578
483
454
689
362
601
279
999
948
523
836
904
157
551
848
43
350
420
817
685
895
693
134
854
418
32
495
15
316
129
828
859
250
702
599
903
931
990
780
896
876
796
371
56
978
641
198
336
652
287
847
117
97
943
501
778
944
636
807
902
127
871
789
455
893
285
410
739
516
458
533
888
780
505
36
143
637
413
89
699
526
859
71
677
833
219
744
605
582
539
90
966
93
950
59
143
103
527
307
5
168
372
150
746
915
732
814
259
612
719
57
342
888
561
606
501
883
118
173
2
500
438
321
225
510
707
686
204
692
625
153
580
817
662
48
22
931
979
53
99
535
472
389
264
413
909
402
857
975
590
138
977
150
917
971
874
783
565
224
726
757
196
461
86
637
283
865
625
512
244
826
527
574
230
655
138
860
470
969
533
542
680
460
949
164
942
193
535
377
44
617
706
214
627
555
980
517
408
379
231
449
454
791
701
889
242
865
338
554
423
148
572
620
851
362
902
170
429
684
254
366
465
647
205
254
817
683
597
330
907
38
16
262
259
495
140
986
482
92
492
815
320
668
211
437
147
51
554
609
25
200
383
799
854
636
276
484
544
131
654
311
25
132
377
584
374
889
650
238
147
555
987
255
780
977
7
439
975
122
721
854
324
949
381
801
791
3
406
113
478
686
786
212
134
582
128
33
30
270
502
126
78
998
923
888
349
145
7
783
284
3
967
488
850
300
267
327
321
554
505
808
863
669
898
851
401
755
798
456
453
643
715
970
199
526
542
576
848
712
10
952
767
500
976
846
11
657
564
955
186
31
391
673
302
879
602
347
656
368
193
903
342
753
978
42
909
36
66
895
616
225
101
586
359
557
145
57
719
862
224
227
885
384
677
44
78
651
423
280
242
443
338
204
93
814
727
177
671
627
992
119
956
598
874
900
482
147
184
104
293
327
985
63
626
336
992
454
772
42
689
852
490
825
84
234
854
4
339
147
938
485
114
839
377
499
392
804
71
847
257
358
856
51
107
737
28
247
31
332
743
904
558
205
496
409
757
990
452
46
166
731
481
462
260
714
691
747
451
626
984
549
858
133
207
96
117
155
913
632
575
128
707
847
284
179
229
895
752
598
359
134
983
771
45
133
378
346
893
850
39
892
4
450
410
563
90
693
498
361
411
209
509
766
488
1000
635
768
304
835
239
323
726
722
318
414
551
790
282
680
302
528
570
175
906
536
98
974
991
368
80
150
292
980
927
872
934
723
361
378
914
10
475
831
505
314
437
557
54
755
291
509
794
793
420
846
14
110
901
375
79
834
690
398
258
716
129
80
23
662
791
353
239
22
17
867
832
615
382
871
410
710
868
281
227
286
328
538
914
888
613
786
880
308
649
443
834
735
269
6
184
756
573
896
283
388
146
764
764
97
439
999
60
576
164
485
366
311
221
259
17
1000
142
194
379
401
652
605
771
998
751
375
996
401
856
723
85
949
596
877
714
463
571
819
511
772
363
761
783
414
679
132
554
449
59
151
742
406
379
240
234
789
53
22
268
266
698
164
440
974
337
20
178
393
744
299
261
426
420
146
384
892
803
806
163
818
122
722
381
229
765
864
261
917
601
279
328
445
996
345
670
297
601
654
245
348
51
681
828
672
564
626
432
896
136
519
231
526
429
955
412
72
918
963
265
687
464
669
295
362
350
150
446
276
602
161
740
262
615
890
939
307
939
442
891
343
901
536
139
324
310
244
749
102
755
928
908
706
22
247
215
186
153
570
446
801
84
96
640
985
113
315
996
356
537
164
740
709
458
151
265
996
841
608
797
909
537
354
344
393
628
768
475
60
131
523
492
271
534
878
65
733
783
99
164
589
516
66
449
664
664
237
128
261
760
964
119
96
11
646
88
965
356
596
902
844
776
123
201
662
122
165
460
558
201
175
787
28
582
41
147
603
641
638
570
658
243
984
299
874
907
983
922
447
566
991
468
796
333
595
173
524
268
69
63
270
896
721
733
494
734
641
619
947
371
306
742
78
144
204
263
253
185
841
886
196
651
291
913
884
99
335
12
754
68
360
366
114
2
315
295
392
213
588
420
832
471
670
550
536
61
131
175
928
703
343
769
51
609
21
918
314
809
871
797
401
543
110
123
849
517
241
501
145
985
407
950
343
59
489
866
107
962
652
293
568
929
438
631
28
612
376
897
914
615
903
923
885
273
163
648
755
998
147
625
839
388
825
352
301
80
74
116
53
305
778
425
770
911
120
168
798
716
278
33
770
6
970
375
186
505
476
795
803
534
191
226
585
835
946
151
577
212
90
231
163
137
392
996
651
839
918
626
545
189
514
959
785
491
668
667
24
29
373
267
338
874
29
390
662
246
599
627
322
600
204
75
828
130
150
232
474
45
673
541
890
388
443
339
643
940
462
377
170
36
797
573
824
550
775
757
830
584
23
586
932
159
998
951
424
716
958
76
402
191
981
237
963
823
657
310
124
174
921
465
676
597
482
441
913
679
943
3
111
36
735
814
120
976
902
160
549
545
450
252
760
164
216
387
838
237
732
951
950
73
149
125
883
618
755
678
227
33
773
506
11
948
794
547
751
463
224
530
124
994
594
607
503
502
128
751
3
126
66
130
670
836
77
559
37
240
439
789
913
619
27
221
744
204
655
173
344
357
909
761
423
337
3
748
557
650
513
638
960
212
433
54
591
278
198
168
370
741
37
135
231
384
649
87
143
806
368
713
791
439
917
490
847
903
581
282
247
229
776
425
281
359
165
836
229
446
671
523
583
527
111
408
896
417
521
641
587
202
297
876
636
422
941
661
399
783
940
952
644
1000
476
695
33
358
855
821
164
160
733
113
321
859
146
753
517
729
925
864
921
298
530
816
202
748
147
733
104
749
642
44
133
227
166
396
175
467
368
814
486
615
227
222
81
928
467
711
56
312
454
330
657
45
544
217
125
635
256
725
471
380
239
526
22
966
745
921
617
34
338
788
521
528
444
972
270
555
396
964
137
892
620
475
242
488
417
422
944
912
922
920
613
666
1000
963
356
347
719
107
646
385
354
683
762
308
485
505
249
408
768
744
108
898
676
282
461
67
646
142
376
803
623
980
521
2
377
858
959
434
975
330
568
157
208
49
560
785
646
209
579
603
558
970
428
197
526
351
573
811
173
512
726
410
496
817
656
386
121
709
362
532
440
334
143
230
736
272
248
424
886
274
952
824
952
965
623
548
511
118
506
440
447
930
320
939
289
370
76
506
611
306
578
613
535
587
709
602
614
418
403
53
425
362
134
526
973
651
761
456
354
584
850
135
765
486
191
878
484
156
712
397
845
244
571
614
725
323
792
301
504
742
193
366
973
88
123
28
459
521
23
80
519
135
658
139
28
219
293
615
252
61
92
74
960
567
380
132
609
705
350
853
803
952
468
174
27
583
257
464
336
198
716
92
112
815
395
658
404
73
410
230
795
786
256
38
242
696
37
624
767
400
868
17
561
687
766
179
291
887
876
866
985
783
936
708
844
248
191
16
787
132
90
904
108
599
305
742
666
310
50
415
639
739
438
264
184
902
292
121
808
432
66
52
715
7
341
803
656
627
63
723
779
21
59
499
781
619
783
562
410
104
772
895
908
369
166
818
998
78
811
792
314
57
974
652
203
863
450
184
788
625
934
971
155
43
952
77
626
930
864
950
256
294
919
609
484
937
234
555
528
538
426
7
656
866
633
891
267
722
633
341
223
778
915
641
584
698
815
738
53
80
480
461
555
346
921
435
165
565
302
746
287
182
170
691
190
79
247
465
89
39
247
35
430
889
785
464
596
602
15
542
284
586
829
914
284
291
582
71
975
726
681
533
600
432
552
988
879
60
505
643
677
300
524
506
285
578
913
519
829
650
444
489
247
283
618
463
808
147
869
301
802
594
406
846
692
381
217
229
707
7
708
933
481
679
76
33
730
880
914
323
21
28
131
486
569
451
464
989
984
111
964
717
84
352
560
168
714
109
266
886
443
733
999
476
471
302
277
304
369
544
813
611
231
306
936
1000
131
143
632
344
890
607
753
314
794
635
789
484
812
346
991
526
288
586
690
397
957
25
705
616
411
641
750
449
760
606
238
939
486
74
735
225
495
552
660
366
911
532
521
932
517
340
482
303
994
275
138
86
728
60
916
944
525
675
861
415
747
223
942
639
729
541
980
755
74
715
430
552
542
174
246
867
528
148
605
499
895
513
823
662
527
824
257
550
848
643
398
269
933
918
513
860
819
491
449
961
868
655
494
301
84
515
324
588
686
75
75
374
627
319
598
464
422
852
378
999
525
938
326
103
50
481
81
21
416
198
920
62
901
23
282
346
526
566
862
735
682
473
365
744
620
518
58
433
359
353
809
605
360
85
389
459
164
875
17
576
630
578
74
168
101
890
51
48
764
795
334
920
7
7
982
488
396
886
269
672
253
579
354
814
329
218
841
828
356
244
145
125
302
605
980
173
365
554
67
280
882
871
465
523
819
572
47
223
365
154
129
105
982
312
469
65
141
920
312
234
901
574
209
978
731
103
348
406
499
961
565
365
561
816
68
833
9
370
368
958
408
232
313
345
910
415
138
838
649
410
301
857
898
21
718
361
657
67
931
319
640
582
221
583
970
714
253
865
247
603
174
726
793
74
544
748
559
805
649
890
397
711
255
20
718
291
930
220
181
805
570
365
558
384
405
255
620
157
943
575
802
379
802
905
724
585
17
103
82
553
894
409
539
9
597
384
567
39
767
393
613
489
647
795
549
476
405
524
875
979
171
971
83
121
442
132
134
26
542
158
495
537
533
497
511
604
589
74
315
946
325
921
6
839
897
78
270
615
783
962
883
191
663
841
767
436
604
535
573
296
817
151
1
466
319
159
923
122
622
780
589
222
300
863
615
239
936
494
535
102
235
519
413
847
266
843
789
468
536
77
17
272
273
11
538
437
757
91
888
455
139
456
38
83
291
318
624
679
676
217
62
314
648
217
563
879
489
456
319
387
149
98
884
666
93
90
113
997
205
281
221
313
536
98
970
210
72
199
807
621
866
548
137
991
854
868
874
747
375
360
110
443
243
858
52
504
159
634
622
145
196
62
909
282
900
343
486
361
286
370
243
702
877
707
697
599
639
724
212
624
942
898
151
848
833
343
34
68
596
901
780
348
653
142
431
952
497
709
96
597
603
985
776
809
634
897
907
690
772
710
457
611
794
240
299
431
948
110
836
121
938
492
550
693
708
414
695
30
921
823
678
152
900
311
735
190
365
870
71
958
495
131
393
196
598
472
473
964
288
627
953
842
377
746
854
61
988
131
307
681
727
888
321
601
147
17
27
243
990
160
325
525
911
629
648
539
538
599
576
409
323
319
140
323
731
785
479
121
255
262
69
264
634
966
312
343
887
225
107
186
820
229
149
538
35
921
277
264
757
940
956
339
772
66
175
669
131
338
559
415
379
762
810
618
452
536
8
90
466
203
23
623
995
801
862
481
104
303
501
78
480
495
111
888
999
331
60
862
268
156
953
199
186
137
887
396
629
456
551
314
810
117
604
550
683
525
615
987
334
287
729
238
462
242
488
490
719
665
382
72
458
241
247
395
394
479
272
652
901
112
186
966
171
293
265
126
812
788
295
514
604
675
18
75
367
153
752
438
757
948
525
272
419
921
611
993
478
926
174
119
462
14
77
250
861
151
709
763
323
487
482
470
335
311
158
365
616
904
294
757
35
40
390
77
960
767
957
65
606
593
946
759
93
415
129
355
393
616
666
955
569
626
629
373
116
58
620
977
864
518
629
226
14
656
59
241
736
445
31
114
997
118
376
757
939
406
244
853
955
262
148
897
749
921
741
449
693
79
735
948
433
760
552
795
163
533
359
527
665
11
817
363
383
964
719
815
300
860
209
43
291
223
37
666
962
855
587
195
106
851
584
946
658
76
55
774
816
11
440
946
591
503
209
825
706
363
974
372
217
687
700
123
150
885
301
72
758
476
825
674
912
87
126
704
770
406
8
34
924
125
410
561
927
965
157
957
129
249
360
461
621
465
640
188
464
12
671
875
702
288
730
83
46
639
306
402
912
564
992
696
460
771
426
970
130
945
958
1
506
559
862
949
629
347
586
224
49
181
26
910
839
33
117
345
916
852
724
128
642
963
924
384
994
922
386
545
284
174
804
837
903
976
102
530
986
715
1000
799
665
818
803
74
775
413
838
966
817
978
807
557
198
76
108
982
740
262
535
634
8
934
447
875
700
612
515
266
989
821
86
946
368
206
958
511
262
24
492
871
362
210
907
241
811
59
800
183
754
841
5
451
480
889
48
258
728
627
697
691
821
93
472
659
256
878
940
438
954
405
132
833
911
684
213
529
876
721
916
425
855
655
691
546
902
405
998
677
937
191
468
739
613
812
747
830
516
355
932
54
426
887
424
677
103
322
279
558
651
718
171
750
298
555
340
19
532
253
290
196
556
977
331
136
52
490
307
420
57
482
588
638
777
483
334
247
300
380
535
916
800
641
138
490
358
642
784
295
566
479
14
817
311
81
884
703
935
299
385
678
665
775
541
484
820
308
351
638
601
790
559
553
597
932
251
407
120
433
124
966
142
382
783
205
819
680
761
499
349
554
976
577
830
840
464
303
102
988
971
391
705
71
77
461
474
244
897
374
443
288
22
271
264
960
428
728
939
496
49
931
615
522
829
366
195
223
88
548
980
128
140
142
573
883
560
310
984
820
96
629
684
477
205
165
842
147
896
173
181
135
120
305
380
653
824
805
596
932
567
675
693
306
113
44
276
701
409
552
481
689
569
718
527
603
79
999
592
869
179
2
356
815
198
324
885
183
913
159
195
4
155
880
548
406
19
950
858
161
832
310
260
727
425
995
628
74
982
257
967
175
788
790
400
169
200
492
419
632
143
950
45
359
942
127
113
337
425
878
782
92
21
673
306
260
811
959
391
206
886
114
934
759
176
259
502
888
733
836
686
577
433
261
469
825
399
205
935
24
340
956
753
188
650
823
95
533
40
9
805
373
563
754
634
990
890
12
264
819
163
437
619
39
277
594
485
818
890
81
85
267
758
558
902
84
270
189
366
150
534
517
686
56
800
77
352
318
837
246
280
222
700
832
549
324
476
718
392
627
318
229
186
354
870
431
940
360
930
951
831
802
59
264
656
103
425
436
436
138
198
993
798
373
614
659
308
50
611
416
740
880
389
750
819
812
143
630
91
887
579
351
72
120
195
525
838
46
478
940
491
769
42
511
822
418
23
512
769
63
686
816
342
902
731
496
585
513
133
350
538
294
973
797
136
696
942
835
199
404
840
818
417
602
82
573
695
763
71
662
892
891
10
553
82
959
382
428
48
864
926
628
988
522
561
439
847
157
624
892
388
169
432
288
889
434
854
678
735
133
229
495
15
594
819
774
877
212
577
519
725
661
822
726
667
170
628
48
124
60
361
34
101
153
104
552
438
601
251
520
550
654
830
813
345
926
966
455
442
572
616
785
450
155
648
772
26
417
978
462
301
36
634
723
965
27
807
41
219
295
605
237
231
499
743
866
256
384
122
51
204
554
546
701
500
815
278
221
166
932
222
200
193
8
668
606
770
742
570
776
399
481
127
92
169
918
574
36
742
497
43
398
845
511
834
194
928
496
397
503
592
576
892
754
109
102
113
869
388
726
836
221
905
954
539
285
7
499
708
550
751
17
273
946
343
577
139
580
46
373
387
729
375
241
902
192
137
26
669
927
16
851
976
29
712
602
181
298
171
422
358
724
617
534
958
738
357
162
823
924
884
987
846
615
533
330
437
233
713
275
415
520
411
462
787
366
833
295
232
844
601
778
319
495
314
759
561
979
999
87
811
242
462
921
385
840
483
172
328
593
919
129
704
267
294
833
128
682
190
431
162
73
820
440
372
153
915
993
274
835
451
135
533
222
498
311
599
276
844
725
17
545
130
301
625
337
499
141
446
206
669
744
516
858
747
630
195
232
796
980
44
184
509
30
598
887
783
275
295
966
730
407
152
440
764
458
396
4
587
253
575
725
429
732
636
617
276
405
397
679
975
969
619
679
110
969
210
219
721
998
316
966
371
843
504
696
350
802
803
877
122
883
337
310
804
796
927
597
299
565
622
425
447
804
609
336
762
840
502
944
984
931
247
702
320
800
798
309
342
117
924
102
450
49
41
604
915
441
856
187
586
943
212
430
182
579
443
170
471
746
893
530
546
311
453
338
239
712
213
503
542
715
973
418
351
378
309
355
596
457
770
720
312
129
148
70
602
131
449
68
941
671
222
245
845
373
941
787
695
973
54
637
110
60
778
824
993
369
842
500
544
319
533
38
977
451
35
600
928
50
268
598
507
130
136
598
495
207
303
478
496
306
354
34
859
408
241
400
721
419
690
480
21
762
894
91
963
495
932
619
745
23
323
968
743
241
101
446
824
997
999
156
18
535
241
793
413
875
226
891
674
191
321
302
174
169
302
708
85
812
662
261
299
56
202
381
892
936
268
971
234
474
587
705
660
564
178
944
969
740
354
250
684
259
777
220
192
554
286
302
227
829
20
316
869
65
508
21
587
720
743
474
964
413
247
921
537
929
684
192
386
359
737
385
112
270
196
857
330
112
987
461
22
742
804
310
210
16
512
578
408
783
231
339
581
950
912
117
489
436
413
942
976
544
110
89
93
837
557
964
459
966
862
259
578
283
454
906
496
334
357
332
770
291
469
174
586
983
313
749
571
640
386
49
105
865
408
987
439
175
873
530
681
374
245
675
488
559
37
494
373
272
969
157
365
960
55
847
978
855
455
144
589
837
965
108
213
55
874
442
941
217
261
912
515
210
703
332
586
185
732
732
19
451
965
911
619
305
158
970
88
243
300
667
177
504
958
62
452
884
994
825
770
353
474
135
173
928
675
645
400
809
750
865
557
118
315
288
513
957
509
677
164
47
752
708
648
311
857
754
798
146
219
892
487
802
587
883
919
53
964
291
853
556
567
342
850
592
896
829
657
253
532
413
941
788
475
253
333
771
194
541
521
752
491
537
748
751
164
344
200
428
772
713
747
3
230
204
160
770
475
349
767
965
365
845
329
184
907
134
392
883
112
355
153
368
682
933
433
524
190
411
551
123
997
440
705
899
263
259
118
317
362
427
458
449
584
288
649
826
146
721
868
46
686
934
663
197
820
36
597
847
19
918
865
821
51
665
810
515
237
781
44
877
645
279
81
533
819
285
786
343
147
733
338
740
45
997
452
428
428
834
447
377
416
15
640
325
805
535
957
21
310
708
658
591
570
603
324
984
88
981
611
661
861
505
608
147
868
112
28
690
424
594
168
463
563
489
292
397
510
296
697
311
118
138
49
118
754
520
367
410
822
399
62
50
344
146
209
581
527
570
63
569
751
735
710
574
298
205
758
414
371
377
141
897
115
381
212
724
228
623
658
664
618
590
369
893
781
408
296
299
973
310
363
700
5
510
259
866
666
909
127
181
607
725
693
683
914
403
346
688
441
219
205
89
700
941
360
214
142
885
880
782
449
463
393
219
533
952
518
10
440
483
358
334
971
53
872
949
43
765
572
290
898
992
403
235
385
460
890
624
594
827
662
528
482
928
290
211
790
619
849
831
679
614
938
915
4
313
774
589
960
88
256
202
526
773
274
237
738
714
427
884
349
730
726
736
686
501
941
68
957
447
86
201
181
575
223
84
169
651
36
620
737
255
903
986
612
806
287
707
729
421
919
398
405
974
989
883
205
287
859
798
453
566
447
523
130
584
692
475
324
592
178
33
159
600
815
469
371
357
385
834
212
500
451
218
373
609
459
176
626
230
981
141
372
88
515
939
230
619
408
342
967
93
478
767
936
519
828
849
454
440
351
612
770
368
846
961
291
272
389
42
112
129
876
266
721
486
598
800
677
912
798
643
368
414
360
369
594
50
979
654
776
497
188
927
519
26
757
353
845
139
448
818
455
442
254
569
655
418
802
873
17
464
322
961
333
325
130
712
101
820
337
651
66
425
399
265
263
765
732
905
693
752
3
586
44
20
591
808
716
662
710
609
5
933
70
826
234
847
51
793
633
516
939
141
254
627
847
76
792
766
2
561
755
750
104
926
422
261
228
338
840
340
907
680
659
198
489
205
666
554
836
371
713
777
582
427
859
81
669
509
125
612
227
393
924
214
154
165
443
175
370
635
611
823
335
211
990
127
21
779
217
662
50
491
512
969
786
754
220
62
563
951
691
776
487
50
456
88
907
371
781
296
153
640
53
234
35
314
560
252
688
770
43
372
900
259
415
677
712
665
278
911
678
741
795
385
765
466
499
355
307
88
703
251
747
382
985
905
419
812
274
698
94
69
644
565
939
272
572
746
907
488
496
918
695
661
33
347
611
333
307
161
179
307
828
840
495
437
659
653
510
931
463
760
746
855
144
686
62
967
302
39
40
35
172
134
28
573
773
717
928
286
215
807
907
322
373
606
461
260
312
278
842
306
307
110
592
872
393
413
19
847
61
878
789
895
361
257
34
741
281
460
118
939
651
883
942
12
91
966
181
243
287
28
440
804
89
598
701
191
653
376
542
570
566
887
390
939
702
544
805
230
849
271
31
547
738
968
333
124
519
299
275
754
421
901
532
228
354
194
829
396
879
125
165
775
310
985
999
420
400
998
424
531
977
869
363
759
888
689
308
501
694
576
17
881
612
440
914
198
482
493
551
99
806
63
219
977
403
674
82
933
246
383
542
812
258
37
352
526
70
947
362
57
691
423
20
747
412
137
557
777
983
424
423
57
407
982
143
683
225
278
939
626
491
715
666
312
519
38
707
525
708
199
764
529
581
619
194
992
76
98
219
427
119
575
365
202
780
206
390
47
31
935
565
882
549
453
16
383
614
367
60
96
651
93
753
327
743
33
802
897
236
953
83
494
674
216
639
678
644
793
387
543
485
753
75
476
661
471
948
799
823
26
496
6
241
624
416
340
506
126
987
647
634
840
3
825
475
834
285
981
589
972
48
86
916
533
537
580
27
345
113
237
309
35
985
977
322
858
697
402
644
870
923
330
612
71
897
846
622
828
224
601
416
107
444
66
898
796
464
72
821
266
970
999
429
941
870
679
8
824
866
910
663
118
412
468
930
882
718
768
199
277
367
834
951
469
126
383
842
977
150
298
373
475
217
762
23
824
689
251
119
58
590
321
623
288
798
842
676
457
232
987
676
322
892
695
969
765
33
426
88
220
749
49
522
551
350
291
473
653
457
169
561
944
100
416
358
286
113
600
148
489
841
335
823
183
835
615
42
740
131
42
789
379
568
225
572
632
759
299
414
212
81
170
185
142
779
982
927
121
713
906
578
372
364
849
583
715
877
379
755
147
664
78
483
576
668
420
802
923
778
918
797
894
17
544
41
821
714
878
215
84
162
939
681
831
74
277
217
587
920
798
1
816
203
74
294
479
656
487
713
745
375
180
707
409
743
671
138
618
128
955
214
597
952
453
787
991
766
38
157
358
96
43
872
590
389
889
417
127
35
706
121
726
201
807
746
659
235
793
93
643
737
201
821
14
886
689
983
71
747
348
515
512
112
744
703
133
138
380
962
214
355
108
592
19
96
396
537
719
847
854
24
515
646
149
775
628
722
360
554
869
202
127
546
973
718
383
484
406
617
80
899
670
285
829
284
415
8
476
542
907
448
456
589
648
2
656
218
319
844
10
780
766
54
320
125
98
268
165
806
121
234
893
713
642
576
80
98
591
585
500
641
128
212
256
133
424
410
220
921
998
407
114
423
910
960
299
448
371
808
428
805
728
825
38
558
727
319
845
274
206
965
751
240
821
333
342
823
326
484
565
590
274
777
627
990
393
281
152
621
118
811
969
168
822
477
742
539
417
214
895
28
535
604
870
353
30
621
827
894
471
986
326
378
50
507
464
996
334
42
520
599
591
801
438
713
701
491
332
216
530
537
191
267
337
613
988
646
6
14
929
254
471
245
636
955
400
391
268
158
160
32
296
484
173
650
231
645
469
186
352
692
306
12
745
159
527
645
765
876
903
612
602
871
979
134
833
449
91
852
929
951
692
248
71
397
575
130
984
625
320
358
27
448
800
860
428
735
965
725
80
148
364
515
165
495
891
673
143
430
919
238
20
610
840
418
723
827
618
777
741
260
825
394
992
488
537
102
897
750
636
42
44
966
720
660
679
355
90
373
293
853
342
69
383
590
986
744
754
541
704
577
126
875
209
391
747
578
201
21
671
681
965
59
83
823
841
466
601
501
839
496
366
545
526
683
964
454
483
718
544
995
315
784
115
546
206
146
276
325
821
18
477
642
937
514
840
941
984
236
422
141
190
238
806
252
516
73
91
705
225
432
643
398
673
917
39
843
151
949
38
637
797
654
1
393
19
681
688
464
904
140
843
596
274
154
552
466
764
854
601
658
500
968
978
695
658
471
330
769
377
350
848
995
187
407
145
589
12
346
837
890
358
140
610
538
160
75
662
456
642
186
737
198
31
476
314
277
621
815
1000
638
302
437
650
726
928
12
335
917
533
953
169
89
519
294
274
189
675
462
188
494
456
535
288
118
625
689
173
211
30
959
568
334
423
451
822
821
413
112
79
580
456
932
347
189
881
670
9
604
144
633
493
611
466
671
947
666
796
425
877
979
948
311
895
278
600
107
489
946
655
810
534
612
493
955
815
88
64
50
211
316
455
682
112
576
480
923
170
247
65
645
168
335
372
53
494
249
913
982
696
761
467
455
872
965
747
726
203
664
861
496
799
537
290
620
621
755
236
533
299
799
189
432
411
716
776
642
1000
734
210
18
764
822
227
385
139
767
455
263
643
16
428
384
974
172
455
887
91
791
709
58
887
973
853
154
301
602
673
84
410
818
545
702
242
152
35
42
252
267
698
714
295
949
705
573
763
460
455
344
533
46
24
150
643
70
567
558
291
178
460
30
650
663
319
822
798
789
583
290
602
892
202
103
296
493
763
164
748
264
27
286
776
222
170
754
572
859
683
977
828
190
346
938
287
215
676
640
902
625
232
433
956
958
310
724
437
273
616
644
761
280
367
122
937
286
816
537
537
673
317
552
446
724
975
217
748
653
967
464
868
833
820
374
145
698
94
316
146
752
469
551
22
784
615
636
203
128
246
171
738
899
252
271
937
196
347
52
993
570
804
683
779
39
458
64
904
699
143
554
595
741
311
546
779
895
154
137
188
635
600
151
328
511
322
264
102
583
859
378
957
234
762
126
63
606
659
30
601
181
278
567
101
372
348
793
545
843
552
850
857
982
872
562
617
933
931
71
557
551
310
505
68
558
553
913
312
136
438
908
758
3
287
387
119
890
124
258
540
888
594
757
92
513
794
964
476
420
991
547
107
697
263
489
817
498
226
82
384
421
751
608
275
888
156
903
179
794
860
252
293
944
898
262
883
189
185
37
778
142
468
264
121
889
953
538
940
186
329
531
396
947
581
984
549
335
95
391
562
359
502
94
586
84
104
986
95
456
743
321
694
188
685
250
971
987
451
947
753
64
900
370
34
808
819
608
335
706
137
696
579
760
176
664
370
434
100
649
561
40
299
968
826
495
138
349
591
260
396
605
274
336
999
342
173
677
764
826
815
809
476
959
197
348
831
438
859
650
56
64
140
749
648
593
219
1
675
756
297
528
962
691
562
371
624
992
72
390
919
66
572
626
24
285
859
531
11
610
915
648
950
32
321
921
116
551
126
143
903
428
236
549
302
300
207
762
848
359
885
415
702
507
122
452
842
441
642
917
714
238
834
791
453
248
97
392
627
958
17
441
22
213
765
694
121
417
954
631
493
618
330
729
441
215
421
232
704
547
922
183
973
902
694
213
831
595
174
200
493
655
276
297
143
329
540
247
955
463
144
685
754
47
433
547
757
930
461
394
676
366
491
386
821
508
658
624
652
897
235
107
475
711
61
117
760
748
362
427
216
899
342
306
441
939
408
927
439
409
361
607
492
540
138
705
825
58
256
827
32
18
149
729
784
450
106
472
431
630
774
30
718
268
652
232
12
411
56
859
979
101
672
838
616
99
458
376
436
17
778
280
908
365
180
898
759
377
822
959
184
140
156
904
681
499
255
568
806
83
606
957
824
443
75
897
679
690
862
975
631
297
66
562
17
695
988
835
274
318
32
54
278
923
591
961
895
926
930
765
948
507
381
337
433
599
38
448
684
592
782
609
19
814
512
529
245
877
229
957
716
728
375
597
823
263
374
751
22
938
519
937
12
540
303
418
630
634
974
581
988
206
296
459
105
658
606
653
658
502
455
214
812
329
909
419
144
761
990
742
371
621
623
850
858
172
26
73
621
657
971
979
937
596
903
577
304
463
461
29
683
246
174
706
462
455
494
768
662
743
765
293
776
381
257
542
288
733
881
432
968
75
960
740
385
972
692
388
391
921
733
110
551
698
375
319
540
16
856
749
809
647
837
351
525
587
700
675
603
84
687
409
317
10
131
374
332
606
536
480
572
13
321
443
350
22
367
999
471
448
417
72
308
950
937
832
778
948
450
19
268
831
704
561
93
284
33
352
12
724
456
163
643
335
514
381
619
937
502
82
843
556
127
212
431
488
335
854
229
337
498
326
332
263
119
908
78
793
935
624
497
760
667
65
878
151
670
234
42
581
923
983
654
327
189
890
90
448
136
869
383
331
718
976
97
89
595
324
758
943
183
720
794
982
13
595
480
697
82
472
899
912
395
504
783
625
435
908
691
58
269
798
864
168
798
144
855
205
534
631
369
181
213
868
161
390
662
952
672
145
413
296
884
486
489
726
644
544
436
147
336
783
815
469
842
161
622
948
285
42
203
989
9
797
439
540
54
822
914
694
287
508
532
940
574
609
583
741
307
322
17
476
528
213
590
580
570
179
566
51
524
707
944
480
956
857
603
113
110
232
672
859
4
690
722
85
991
241
66
968
919
369
163
665
128
804
114
481
960
140
888
576
600
905
417
866
153
469
224
413
236
418
228
818
322
312
469
219
968
169
248
732
106
739
743
105
46
277
56
866
949
35
96
509
352
867
944
437
803
560
93
602
226
557
232
208
787
42
478
719
714
251
989
478
895
574
162
433
847
109
454
606
189
75
855
851
502
901
726
798
97
901
563
401
19
332
982
472
570
601
721
146
237
403
884
915
271
125
633
150
875
2
493
864
266
809
912
493
253
683
321
798
359
403
883
868
616
74
65
665
674
395
161
892
542
309
161
375
546
164
153
91
367
639
507
900
77
120
8
778
76
496
860
939
896
811
743
564
506
66
192
140
476
242
381
954
930
900
455
212
624
331
60
734
952
468
585
386
537
292
990
573
833
394
96
494
4
25
268
372
737
566
514
927
126
407
678
546
85
849
720
498
593
635
679
867
943
312
312
433
941
610
201
259
768
5
47
920
516
705
819
180
546
962
246
6
561
819
612
194
488
688
788
492
813
232
800
487
42
320
675
64
778
990
675
577
577
185
36
748
768
152
190
128
747
127
289
421
68
898
960
348
189
380
968
727
936
933
46
457
69
580
647
910
571
235
920
862
490
543
258
480
172
985
950
603
648
410
543
595
294
899
837
575
62
468
748
880
436
648
282
502
956
438
487
353
797
263
1000
1000
314
287
760
851
92
694
495
257
720
818
265
429
682
811
233
760
924
154
845
993
481
4
897
115
772
439
640
443
724
877
668
187
1000
362
430
145
327
884
523
950
30
25
672
658
982
839
349
230
986
350
943
405
378
21
356
850
120
832
941
964
96
245
905
971
439
347
963
553
858
602
793
30
323
591
338
734
719
548
68
287
533
476
715
646
2
109
873
768
495
199
138
532
27
765
444
330
684
984
911
947
546
268
82
957
933
549
43
299
388
558
597
523
736
36
794
735
924
297
132
347
151
740
186
248
61
653
451
612
183
603
398
434
405
833
749
562
37
115
130
531
908
57
298
881
494
622
304
241
627
758
45
118
313
960
208
686
594
378
234
245
655
40
799
10
661
710
200
248
566
566
606
952
172
883
387
741
745
469
754
335
820
789
258
356
808
59
937
308
35
670
633
251
865
935
770
596
24
230
33
846
584
222
793
83
833
517
263
339
48
296
579
249
449
963
266
133
75
297
289
56
701
160
369
110
672
444
375
274
404
911
175
624
160
221
171
89
435
900
432
145
681
148
263
1
725
889
122
914
88
597
2
895
298
730
123
714
377
408
218
652
551
605
827
862
802
781
16
802
747
366
51
63
422
100
497
452
411
609
212
247
724
195
675
648
17
814
378
573
511
121
452
127
711
652
991
172
988
459
750
843
531
646
499
366
18
478
94
668
527
465
221
469
106
480
420
271
100
424
832
939
482
301
486
596
362
669
123
220
636
208
678
343
673
346
524
479
698
603
575
224
459
445
821
432
223
548
426
381
200
457
880
815
248
551
826
250
827
674
413
183
627
531
109
601
969
229
758
570
443
286
282
342
955
517
666
899
827
470
959
807
826
693
732
839
937
284
784
998
646
367
283
974
888
967
524
722
312
497
992
335
951
297
907
830
488
973
269
681
456
962
625
71
82
140
854
678
187
531
825
752
277
190
368
391
593
492
362
126
312
714
76
754
182
71
464
793
626
967
696
957
647
827
27
607
703
733
247
845
327
192
651
179
76
687
204
269
333
99
687
984
497
603
887
634
307
259
521
815
963
424
79
250
703
7
809
881
314
616
890
869
242
828
925
850
386
382
772
309
513
745
988
219
330
649
846
889
755
257
244
670
333
245
459
187
315
939
437
684
853
855
756
405
175
22
97
829
522
521
606
774
751
952
311
551
389
950
653
179
231
142
180
906
643
35
128
946
382
750
233
338
540
456
519
825
233
692
51
714
561
312
488
899
920
755
135
213
450
210
628
389
12
558
876
221
756
131
208
384
6
418
289
29
984
517
767
638
307
182
91
996
558
879
842
777
962
294
465
972
584
743
801
675
188
213
140
798
354
516
848
845
319
124
534
286
607
188
134
544
560
189
107
505
437
674
504
862
116
465
610
140
587
245
477
678
187
184
318
859
648
653
672
981
718
133
554
381
623
341
707
158
29
206
356
602
856
257
24
374
610
391
463
329
159
896
39
364
578
586
78
261
722
245
231
778
456
703
462
928
817
504
854
568
261
945
353
925
393
284
860
42
848
978
103
311
222
972
539
816
294
229
377
986
72
401
470
205
791
837
770
680
140
910
828
957
534
134
372
9
633
883
28
367
462
801
426
162
378
152
115
514
114
581
443
91
439
672
555
945
96
329
620
752
489
622
346
133
486
14
341
749
841
982
156
240
863
632
594
613
5
672
529
850
514
400
984
240
440
673
844
637
727
695
916
364
904
892
559
558
808
575
701
344
448
497
963
760
142
949
878
825
932
867
30
894
825
481
920
403
637
411
49
27
295
119
770
756
325
760
324
915
7
170
721
776
586
820
382
378
410
534
435
665
683
264
25
701
958
381
732
63
152
150
186
375
587
208
545
934
554
572
29
977
399
93
929
377
794
67
449
798
29
146
857
847
471
957
382
820
719
709
398
357
464
505
643
843
690
122
125
632
97
771
696
495
272
716
800
457
688
225
863
423
614
455
457
847
478
638
203
366
54
145
354
250
527
281
541
873
234
925
509
970
899
453
62
988
900
711
252
991
8
415
301
422
158
200
433
358
388
587
991
254
164
966
901
370
483
597
358
529
190
161
815
66
58
385
296
397
958
211
976
928
966
652
97
18
873
254
120
343
675
207
80
309
115
855
273
936
862
979
999
765
427
435
436
566
712
574
645
881
430
626
473
48
563
791
347
765
169
758
132
116
157
674
693
559
541
387
778
180
189
374
726
779
504
998
552
819
391
684
952
271
916
211
969
527
774
156
329
370
405
576
327
114
73
530
536
867
761
41
447
777
248
164
271
654
864
761
6
685
395
526
812
21
916
432
799
966
906
267
626
27
129
866
116
188
404
147
60
564
170
962
28
174
370
81
520
115
559
798
609
289
765
982
401
285
999
845
970
342
957
678
278
200
529
606
119
423
266
571
403
17
571
249
363
544
543
822
169
870
14
809
935
915
47
514
815
305
929
518
896
659
866
75
14
581
226
421
217
54
996
143
955
505
767
540
326
865
689
885
521
871
739
382
237
882
643
597
526
79
437
733
159
765
704
915
617
804
796
981
222
899
228
858
379
262
525
192
532
910
785
869
934
676
898
157
204
883
33
652
6
825
167
706
396
610
309
1
480
439
467
898
308
314
771
732
324
236
948
508
875
108
483
212
778
205
384
993
937
338
197
129
97
188
603
275
202
347
492
878
758
164
210
405
952
575
664
81
817
606
531
941
271
549
831
880
956
225
44
927
87
137
942
513
316
162
126
930
642
642
305
45
297
84
964
272
16
232
286
426
553
757
635
940
971
153
529
764
836
415
507
553
109
635
861
306
213
472
554
125
757
953
515
999
980
53
123
825
449
370
109
978
266
530
252
444
431
526
955
72
106
46
851
593
694
603
941
2
185
806
702
974
228
659
431
645
718
608
144
336
590
369
832
763
881
855
83
754
183
812
433
174
307
225
960
33
556
815
57
75
49
3
671
325
196
297
483
363
552
209
1000
215
608
526
375
482
652
680
392
762
155
855
204
666
29
220
739
37
695
823
48
946
256
229
384
691
591
707
847
593
844
908
805
587
653
952
361
845
815
114
793
149
71
246
928
442
813
822
144
182
1000
819
182
658
475
703
95
601
211
285
458
946
572
562
93
298
344
35
374
262
836
428
63
700
345
881
320
710
914
810
74
994
805
319
821
244
978
649
485
257
990
256
979
452
408
736
217
443
816
752
770
452
79
756
692
69
284
156
905
372
616
167
601
380
4
971
310
259
584
86
850
204
191
423
104
78
244
15
689
658
705
409
385
322
355
861
482
48
55
37
707
454
887
831
148
782
114
266
635
720
851
701
315
153
109
46
913
618
693
717
293
666
186
341
279
458
729
581
372
558
24
220
725
195
755
585
767
793
421
879
776
224
334
905
824
187
859
417
529
882
524
144
876
225
965
81
950
533
253
76
313
842
742
8
141
33
633
932
712
4
16
448
864
537
216
903
971
195
971
210
710
578
224
551
802
773
253
939
177
109
497
919
816
296
22
173
716
431
874
952
354
64
945
320
630
484
931
342
914
103
796
445
475
752
792
263
858
551
947
662
37
914
513
409
72
788
196
404
107
69
861
760
946
339
649
130
8
758
983
234
280
443
115
285
595
916
119
225
718
386
684
837
385
35
989
751
752
99
516
478
522
573
38
928
999
47
404
972
125
27
392
262
907
609
166
905
147
480
782
97
608
685
825
777
747
2
663
899
176
551
319
265
311
665
222
789
269
182
984
80
991
344
212
414
501
706
255
739
195
598
992
481
153
699
277
37
494
382
54
384
521
469
220
299
155
762
971
432
738
850
769
846
501
726
624
262
891
122
294
472
856
795
350
915
698
246
791
826
615
517
509
958
51
119
60
964
573
410
182
24
551
52
323
979
373
501
646
392
779
759
311
200
404
257
571
488
934
147
485
905
670
637
820
934
494
162
483
930
880
265
767
162
108
290
620
535
75
166
230
144
832
383
43
460
294
801
791
526
754
283
661
699
558
278
908
183
610
736
251
19
373
557
410
70
687
43
635
468
959
639
667
722
505
72
750
835
124
70
416
352
572
477
427
495
49
596
934
335
27
834
693
336
482
204
318
127
698
600
862
158
868
183
635
82
762
144
98
267
918
534
23
805
994
197
872
750
213
161
657
856
786
317
51
405
748
817
917
317
68
223
471
117
965
182
734
358
405
591
192
87
774
641
150
658
14
733
810
364
427
299
17
619
548
712
775
404
949
43
914
512
958
434
141
631
738
779
971
43
866
938
493
639
637
478
581
47
649
85
588
146
95
926
958
414
421
296
498
925
524
885
434
785
839
961
853
165
682
422
513
335
762
281
311
1
403
783
592
565
358
377
299
623
297
212
130
504
255
475
807
62
257
799
4
326
435
454
949
554
206
174
386
465
973
685
771
385
212
617
616
395
258
308
823
648
365
957
292
411
134
91
712
525
403
61
478
185
269
430
333
337
157
867
199
545
28
179
880
932
998
662
167
74
158
821
282
690
704
268
142
433
477
86
764
696
352
272
279
656
530
285
245
377
653
89
885
750
42
835
993
398
475
949
885
951
173
511
808
218
232
410
437
138
851
354
751
131
496
953
854
2
193
736
486
183
179
856
506
913
245
719
116
844
213
412
493
607
2
607
68
623
763
23
305
921
699
959
383
163
402
915
234
763
943
568
435
876
607
932
799
815
635
713
1000
944
126
537
19
876
558
377
53
21
704
340
623
949
411
279
283
859
999
301
862
28
478
448
731
171
716
494
482
535
354
992
466
946
981
147
971
853
811
262
315
947
306
732
406
827
769
581
309
876
876
28
972
29
120
472
863
148
965
536
79
501
706
202
476
800
352
775
655
489
772
602
49
576
824
931
79
243
955
75
472
859
275
68
910
253
688
369
68
830
600
239
390
799
444
174
270
357
3
642
105
798
626
128
981
640
598
814
288
408
839
556
811
160
305
296
847
684
965
422
458
707
138
874
480
462
787
603
891
772
978
359
168
120
256
822
82
306
760
24
472
481
618
835
178
169
951
967
919
545
250
19
677
948
453
828
616
483
487
601
611
399
295
527
372
959
826
782
256
395
66
101
132
920
73
110
400
27
611
735
809
435
704
838
841
227
361
784
416
339
603
45
317
89
370
124
373
187
76
832
72
374
851
990
528
942
740
861
494
723
567
658
123
377
80
861
22
489
589
963
841
825
429
27
770
753
800
483
520
269
700
477
885
607
30
238
426
921
715
949
991
920
848
380
340
69
504
895
395
43
569
960
286
892
492
975
663
748
660
955
473
229
16
692
709
587
658
569
421
472
526
424
213
570
907
729
896
317
342
649
508
491
71
224
848
80
571
644
108
186
691
143
101
222
618
390
240
110
195
962
628
248
317
806
389
691
941
968
598
71
861
116
530
916
711
768
813
692
709
169
552
47
140
600
47
243
686
755
382
359
797
772
865
708
551
943
272
765
693
207
761
400
454
846
495
857
635
251
237
540
838
769
914
175
775
269
71
197
420
192
949
798
491
490
179
300
343
872
54
778
731
815
428
914
757
682
999
159
765
115
871
647
636
703
28
715
16
560
487
146
527
516
146
794
725
246
278
72
861
662
912
993
779
808
583
653
224
884
429
802
21
914
594
310
58
268
44
610
705
175
906
667
665
666
814
252
454
990
432
526
803
920
764
718
919
183
749
979
974
470
827
909
621
477
531
917
558
698
711
649
994
505
435
629
987
640
915
416
254
503
189
229
436
83
871
439
815
810
495
340
433
195
494
946
495
215
386
980
890
839
433
530
58
118
74
128
131
35
88
239
538
974
204
339
526
208
934
461
822
799
818
911
269
109
285
522
717
524
758
705
34
441
116
682
746
937
867
249
922
874
818
860
769
27
108
541
868
528
443
861
786
309
285
388
975
577
961
847
170
966
899
886
74
202
723
22
98
735
913
131
829
554
520
425
317
677
859
155
579
781
85
895
170
917
126
608
876
749
574
985
654
643
692
515
363
14
446
554
111
507
645
976
697
634
6
152
277
607
399
671
568
756
664
935
767
430
688
319
916
900
160
636
842
612
406
997
651
224
396
116
475
788
287
664
293
112
627
352
210
23
898
576
35
613
210
802
839
705
367
554
635
39
882
155
182
231
898
772
314
908
520
554
237
717
931
48
406
957
778
487
549
38
80
775
166
622
881
479
594
167
896
422
257
692
198
32
849
363
825
997
851
11
719
685
37
623
581
951
96
135
95
729
683
287
290
795
382
477
730
23
107
72
225
869
31
424
930
348
392
141
60
843
248
768
228
74
348
338
84
679
193
936
902
319
95
430
786
36
498
248
513
868
829
121
618
523
425
822
45
921
242
284
337
765
528
273
632
473
281
627
793
73
150
913
231
995
293
134
167
854
35
555
84
509
58
955
149
147
883
976
705
178
245
629
89
888
552
136
180
659
832
149
227
870
876
629
648
495
964
817
893
789
3
515
692
613
992
455
924
836
877
511
125
769
118
717
381
98
612
966
116
639
39
660
730
625
526
184
60
230
872
315
160
718
796
924
717
329
694
942
873
644
584
823
402
97
64
603
63
498
719
772
239
998
193
405
891
12
58
102
962
3
288
214
357
878
582
199
939
585
945
480
599
833
594
145
483
720
528
296
704
786
463
111
927
891
985
24
442
344
987
3
966
213
483
541
4
403
771
150
670
105
817
636
856
749
353
626
573
352
623
188
913
807
322
80
579
430
836
876
287
124
133
583
520
836
601
976
902
854
34
196
321
35
655
278
512
768
392
672
915
238
811
219
988
309
722
662
659
744
714
428
175
156
418
703
179
808
385
156
179
295
684
240
151
138
366
407
775
812
778
660
178
926
817
295
536
423
525
801
461
88
824
201
559
371
692
194
743
60
843
353
306
705
964
889
451
530
44
551
530
189
116
400
879
880
200
268
712
717
419
409
841
601
507
605
460
983
854
100
169
881
416
257
275
434
381
161
258
5
504
584
285
178
717
571
712
26
153
150
562
510
660
392
308
148
656
765
824
835
865
82
271
193
844
406
464
653
344
800
87
163
265
692
877
810
778
411
256
981
494
980
258
895
192
527
691
544
586
757
583
229
292
48
570
52
337
330
110
689
529
168
643
700
343
670
252
82
638
586
340
215
924
837
347
539
734
717
130
910
437
374
153
587
772
544
45
351
11
272
253
612
672
764
714
740
140
325
621
549
845
677
942
439
532
816
85
465
176
113
92
875
718
498
657
963
753
215
19
65
570
939
481
584
457
598
908
454
761
152
369
937
43
845
589
807
821
103
163
765
494
602
834
258
515
631
941
764
647
850
414
658
32
73
451
91
145
223
758
353
405
96
532
130
951
549
379
945
266
982
984
521
710
626
588
718
590
690
153
286
827
373
24
766
628
131
433
842
344
90
45
42
898
182
26
882
454
704
185
450
241
667
330
57
6
371
923
172
433
367
967
548
525
987
654
905
385
864
414
746
67
229
16
294
658
814
152
942
738
620
166
465
715
729
111
886
438
180
231
65
449
251
533
755
454
786
715
842
554
65
151
662
475
944
99
944
195
969
118
502
952
400
193
888
130
347
896
504
118
712
190
501
831
988
662
918
574
278
560
959
38
510
765
737
852
499
812
482
468
431
913
485
55
984
151
780
232
498
535
959
834
371
666
577
264
191
903
427
524
856
828
946
688
927
936
386
125
159
50
33
357
306
602
602
849
94
618
134
215
348
632
482
48
856
110
34
795
134
497
344
16
805
362
524
322
308
752
50
859
712
838
164
215
448
764
336
774
494
133
669
29
347
348
232
586
134
75
205
726
700
464
384
462
44
378
703
273
747
749
118
286
219
990
193
997
920
490
562
463
894
817
632
863
874
348
200
531
260
423
637
857
769
611
431
474
347
498
837
780
431
437
773
660
227
525
220
319
349
96
604
432
564
879
100
404
717
904
583
28
550
926
740
913
414
56
208
477
422
878
235
82
745
441
786
357
434
661
367
753
250
234
450
880
764
354
1000
401
716
612
987
679
816
811
706
596
497
110
126
682
861
949
421
177
115
804
974
565
555
329
289
125
693
640
512
857
534
19
185
75
3
36
49
147
858
152
60
348
18
431
388
920
522
746
328
465
712
287
107
433
407
64
30
568
510
385
924
863
166
588
530
725
937
213
555
881
854
899
357
380
322
263
982
274
421
525
369
341
508
373
966
599
217
917
124
337
692
707
618
60
775
752
520
913
961
210
382
859
355
364
817
10
779
364
567
606
303
545
540
587
7
825
441
174
935
282
560
43
685
657
72
409
78
904
614
331
928
642
451
183
224
98
619
704
185
642
886
615
147
717
448
295
406
486
532
50
436
146
515
364
191
789
76
68
201
514
580
567
666
874
531
117
134
644
366
517
816
501
598
319
222
137
271
961
678
973
916
565
545
386
565
443
185
235
715
465
283
713
91
366
321
364
787
381
43
483
104
287
299
552
286
699
44
18
427
151
931
281
259
92
468
875
697
54
482
722
48
136
422
11
518
989
208
180
344
654
51
18
132
873
19
503
657
482
746
560
97
543
690
769
900
777
199
131
497
251
927
257
845
998
157
547
780
654
452
157
558
591
768
889
913
111
943
24
349
37
256
962
685
312
154
886
591
796
358
334
549
66
475
825
147
780
962
869
999
138
313
937
432
285
971
646
670
180
768
632
290
912
432
78
4
468
746
543
641
293
420
108
988
536
159
877
526
328
517
605
398
852
868
955
270
958
750
970
818
916
754
228
740
431
354
18
275
702
224
848
250
547
71
405
332
738
118
182
192
421
551
84
300
944
746
782
252
529
420
104
421
369
454
728
33
269
867
839
384
570
392
940
564
104
524
409
179
105
800
80
952
382
220
221
344
634
292
849
36
748
913
527
10
893
831
908
489
309
11
858
900
72
883
210
854
378
850
648
734
556
14
787
186
756
589
186
331
356
149
220
403
717
196
665
88
184
483
879
186
892
151
226
898
881
569
38
194
891
201
658
787
922
162
544
195
775
117
6
560
533
685
803
525
963
729
814
485
189
539
668
532
637
588
526
225
407
278
614
437
145
576
608
366
232
328
510
17
700
711
379
100
327
377
9
470
785
718
606
602
641
508
443
718
888
676
346
87
477
702
636
757
202
7
804
435
541
740
821
19
858
421
436
60
382
33
808
210
293
896
432
968
8
787
767
528
618
825
459
970
364
808
270
460
279
162
604
82
180
777
186
402
950
522
751
42
838
489
522
661
644
662
993
992
817
637
985
58
522
959
760
871
479
526
887
844
453
66
361
953
176
737
85
367
484
523
232
238
130
894
928
920
96
148
193
620
601
101
460
102
92
180
415
499
358
938
845
49
698
362
797
689
301
140
127
849
778
627
444
728
114
9
860
815
189
108
726
746
237
501
600
689
729
74
377
803
776
191
831
288
305
135
23
737
357
988
666
872
766
871
18
437
954
964
783
600
694
204
668
438
486
700
446
53
540
944
402
341
40
273
102
783
844
704
816
617
917
988
357
666
718
829
671
502
293
405
649
47
84
41
978
13
382
875
724
599
932
255
126
476
722
462
265
149
813
727
44
965
414
720
62
654
330
321
886
853
398
471
897
496
844
320
663
186
408
570
891
620
171
852
20
565
588
143
104
885
481
149
417
378
615
444
38
812
523
600
203
861
966
499
797
418
403
62
396
33
6
622
430
242
372
184
458
393
727
836
833
71
130
631
476
509
592
717
585
158
375
117
772
130
686
580
178
506
24
347
99
333
409
120
344
615
262
234
234
996
117
588
609
215
347
138
160
826
803
502
963
687
986
646
978
706
147
416
962
890
42
23
433
701
533
759
312
836
281
232
112
768
853
968
44
910
528
143
998
717
724
257
158
447
38
558
941
805
127
790
64
970
714
735
853
965
697
480
470
990
821
17
79
130
387
37
204
68
111
703
688
910
352
893
335
29
8
966
823
427
977
480
598
829
838
208
298
197
26
256
1
816
15
316
409
83
274
228
818
556
437
551
925
763
345
498
652
850
896
440
837
985
364
692
376
813
457
274
43
528
326
665
670
846
576
396
522
149
8
651
748
499
728
198
107
540
553
370
127
447
974
441
694
792
676
498
139
747
564
584
193
860
445
536
594
470
561
880
49
122
683
632
781
828
353
760
341
646
660
166
32
720
802
393
150
841
475
330
784
208
525
201
102
953
719
93
88
634
401
907
595
439
255
953
522
644
663
491
77
436
371
815
484
269
462
900
535
580
910
873
472
764
293
465
320
67
377
581
781
74
736
632
686
190
208
582
517
113
302
773
132
955
893
859
861
859
521
898
402
881
613
705
330
268
576
775
617
766
177
177
652
678
814
562
932
1000
285
254
691
195
934
508
993
730
377
112
76
324
703
387
668
534
612
428
176
592
157
569
27
238
22
77
238
341
561
401
528
995
876
486
232
694
386
463
373
755
342
256
799
538
78
909
318
590
447
965
15
283
983
874
74
9
705
269
17
665
267
287
604
506
921
208
848
47
655
27
63
933
324
152
783
832
921
622
959
126
987
707
515
925
107
809
778
401
625
518
458
819
263
299
362
783
706
679
901
866
457
119
396
516
491
325
561
456
933
513
198
539
919
470
883
892
999
275
467
191
345
555
85
383
334
276
519
961
865
705
627
234
524
457
74
294
742
876
534
687
902
203
638
860
479
230
354
115
779
218
164
69
136
570
55
788
894
433
190
567
33
157
228
243
464
107
568
347
207
420
383
671
144
324
796
380
795
843
845
262
647
886
114
348
808
799
255
83
409
442
492
698
367
855
827
318
16
155
921
68
57
506
639
106
188
620
864
909
982
198
392
675
473
319
134
640
542
968
604
578
335
861
779
286
49
479
171
942
849
260
280
826
534
638
62
439
143
43
859
787
212
516
568
611
2
812
783
520
487
145
416
767
849
487
464
133
430
413
679
651
746
528
10
644
822
780
688
257
747
38
518
247
509
170
282
112
553
54
279
914
963
453
886
825
186
446
19
852
313
485
642
215
137
987
22
532
423
612
312
330
228
973
191
356
4
418
413
990
903
215
755
373
249
57
999
561
906
866
680
688
977
396
552
361
274
754
949
270
358
740
706
538
980
517
938
443
449
7
229
547
629
769
322
307
870
289
970
125
295
455
683
745
796
867
285
997
2
418
834
383
179
236
153
848
899
642
889
525
186
107
934
319
250
559
1
918
501
489
247
836
425
607
307
792
794
878
572
604
106
536
983
509
444
40
793
977
360
6
610
49
297
658
504
93
764
697
948
157
952
314
159
564
180
48
616
413
221
280
18
619
35
797
49
329
234
773
116
463
816
266
801
788
732
697
952
875
824
852
488
520
152
744
274
448
57
628
14
866
795
500
310
177
684
970
125
405
532
496
718
74
371
462
423
526
439
789
800
452
459
597
975
694
802
729
722
557
732
192
803
814
373
392
591
74
350
393
897
774
591
12
864
914
960
483
792
42
300
702
695
78
641
95
847
36
710
362
282
407
660
396
528
649
201
183
403
726
92
232
74
446
601
726
567
764
202
389
468
83
388
154
698
503
589
679
349
387
529
489
204
679
940
50
437
701
704
400
822
582
727
251
674
650
461
759
764
233
729
250
141
957
91
769
334
664
149
823
141
515
286
327
690
263
191
623
31
182
275
633
541
945
943
272
488
519
470
255
532
840
894
218
585
634
724
783
978
353
981
726
661
171
909
660
103
873
793
775
824
41
608
43
962
1000
692
745
562
969
309
607
104
763
680
544
857
82
752
955
656
89
51
735
936
538
501
656
133
839
574
62
541
747
323
209
751
852
285
133
887
806
281
814
244
435
29
892
183
940
838
794
87
43
184
946
839
868
534
871
286
827
276
43
676
27
531
382
788
815
924
769
517
511
512
546
622
695
80
627
777
935
164
345
477
24
316
172
815
579
368
947
950
600
919
676
917
621
489
945
86
115
366
140
469
485
642
788
57
674
572
575
6
956
399
208
764
668
456
726
911
128
190
861
175
375
61
755
433
927
471
84
697
273
304
51
571
776
741
107
339
623
732
10
217
892
681
96
608
442
590
707
217
515
183
358
137
199
259
961
576
93
241
440
977
358
663
766
51
189
290
824
73
543
281
992
566
806
248
463
356
638
218
578
96
475
594
948
698
405
527
423
184
119
536
99
603
922
279
339
88
927
851
833
906
662
705
502
844
885
119
456
82
46
589
259
597
995
527
345
650
318
527
761
45
746
314
182
476
713
377
489
989
724
647
230
49
8
26
557
682
352
708
519
32
1
83
244
162
807
606
421
620
528
870
452
403
176
317
613
941
686
946
836
682
85
891
347
719
419
693
654
332
207
946
403
162
390
666
191
587
540
87
477
576
82
567
654
107
321
615
92
169
965
846
770
373
862
633
255
845
119
173
10
592
913
107
433
683
640
100
777
657
44
584
665
825
126
964
517
678
164
54
741
58
40
134
752
868
601
855
291
143
564
389
984
925
965
51
786
989
486
956
233
106
818
1000
851
450
28
762
452
330
539
338
456
972
926
996
121
999
90
739
200
426
629
354
838
33
606
716
608
867
359
739
614
623
104
560
734
115
503
910
743
267
609
385
9
176
187
159
388
952
904
673
888
287
430
904
940
369
600
683
390
96
45
864
193
89
300
856
638
994
671
684
798
693
301
296
419
317
385
603
354
245
844
270
102
77
787
477
246
836
366
714
765
530
799
524
428
120
123
116
860
17
730
289
995
680
813
957
775
568
165
356
778
329
838
545
247
895
607
85
804
130
837
748
31
61
97
72
276
104
731
120
124
934
241
190
556
289
757
910
196
633
306
626
681
664
959
723
85
749
417
706
811
956
457
265
684
259
777
334
95
551
944
703
976
899
188
400
76
763
274
399
351
325
975
766
152
515
58
564
870
367
108
627
87
596
789
873
432
62
953
886
973
710
357
985
612
989
785
539
215
604
643
258
493
964
931
746
915
687
995
929
48
421
200
851
477
955
387
554
453
569
492
838
103
853
911
213
571
49
180
735
270
954
109
536
728
742
21
504
218
999
240
909
957
144
743
746
30
692
153
658
660
860
527
988
736
816
931
687
806
863
601
400
558
638
617
915
983
85
73
948
746
203
542
821
518
162
823
247
831
648
845
655
762
634
411
598
385
876
984
880
864
70
108
975
136
690
647
866
649
690
337
720
452
960
191
215
56
223
68
272
497
278
58
417
115
982
233
295
685
869
205
638
855
730
35
38
327
675
99
212
3
624
723
842
322
724
816
888
764
323
545
188
573
989
44
526
311
449
778
975
803
555
270
34
237
474
336
945
427
250
236
323
216
365
372
25
253
49
991
841
17
746
371
629
250
375
137
508
38
612
52
979
459
928
142
189
352
339
573
799
763
481
724
694
601
371
179
457
903
482
144
536
212
894
2
20
685
586
402
787
91
734
651
66
754
944
99
173
279
936
249
668
341
544
942
650
837
803
703
714
679
773
90
143
40
617
714
793
447
836
778
340
207
366
627
12
970
12
939
911
504
350
525
785
798
16
179
803
17
477
524
858
599
946
888
238
912
30
2
193
746
575
309
794
531
378
764
620
939
170
533
502
254
619
648
24
420
362
284
64
845
522
846
675
611
732
986
835
58
601
638
906
62
418
140
448
884
89
556
358
619
517
111
142
673
488
608
240
124
267
962
914
471
909
648
300
664
343
317
27
434
261
938
435
311
964
122
183
166
332
491
441
288
240
928
962
842
218
286
437
344
444
266
133
751
515
321
219
445
973
861
467
398
381
498
27
892
114
399
108
456
669
784
796
70
470
581
884
913
410
377
293
395
122
285
902
123
156
705
956
831
819
993
962
771
883
343
597
754
875
939
586
80
853
228
527
757
128
974
588
32
135
198
698
204
727
716
373
996
735
129
685
9
192
81
977
956
963
780
503
983
251
19
968
486
596
943
480
717
313
649
852
86
330
3
908
528
629
586
763
618
194
924
712
705
45
984
680
142
86
909
521
709
292
859
922
320
649
172
891
844
594
367
629
338
533
774
777
500
476
784
554
879
155
498
809
248
791
295
41
227
696
294
853
323
81
289
915
846
881
24
193
598
801
634
72
416
847
398
42
482
518
210
596
715
358
728
226
406
678
962
736
667
556
632
375
604
134
776
398
4
319
817
86
308
486
312
936
62
379
533
934
692
743
228
627
549
645
24
437
77
920
582
208
904
651
329
398
753
670
76
977
20
340
481
912
439
418
744
479
138
242
1000
359
357
252
894
594
454
883
76
12
533
329
317
527
491
494
912
113
501
123
584
972
381
901
696
258
235
971
910
791
680
298
585
240
976
886
556
650
782
995
757
63
487
122
981
641
318
989
787
297
930
11
823
30
744
655
511
59
262
812
364
645
858
687
558
128
160
400
553
63
626
197
232
916
357
754
367
262
903
68
968
375
442
917
216
878
328
929
724
76
498
339
225
233
708
960
963
810
403
272
646
189
833
948
349
514
356
323
371
581
76
174
155
655
831
519
568
929
60
990
80
293
493
239
662
138
736
264
34
707
112
923
86
184
638
684
63
750
762
466
655
553
386
231
577
410
2
589
251
826
958
450
306
598
888
836
752
405
241
966
85
454
793
499
355
383
416
4
68
701
611
914
829
76
197
740
526
417
801
148
994
956
290
250
817
291
269
980
245
800
695
534
463
323
348
985
348
465
100
957
798
270
992
281
380
157
74
431
324
271
463
258
253
39
505
490
576
485
761
1
943
698
771
941
553
846
555
55
464
917
88
383
850
843
319
233
200
307
617
521
60
713
619
912
879
418
51
553
188
772
770
185
572
214
758
752
408
291
832
303
376
868
189
882
498
61
163
500
722
796
612
888
507
937
551
336
343
464
48
26
443
1000
904
336
975
859
242
937
931
162
500
199
349
403
990
216
59
887
768
986
972
12
586
840
674
280
928
733
999
548
986
880
243
543
400
469
994
455
481
716
500
217
169
70
484
462
756
724
815
144
733
385
872
999
309
621
765
299
55
461
323
845
235
563
713
469
623
649
929
992
467
454
763
310
393
75
236
979
523
851
582
842
93
594
839
474
191
53
195
99
845
781
441
594
873
42
555
565
391
617
753
69
859
256
554
921
888
995
42
379
697
243
746
826
401
100
782
703
24
417
892
972
791
134
773
605
331
122
23
486
732
891
571
214
430
905
775
644
894
237
872
566
732
551
736
585
569
684
784
419
304
333
877
649
707
381
168
614
439
912
171
836
67
474
741
924
174
837
253
160
265
872
361
592
607
936
523
865
602
292
158
36
192
751
869
567
56
802
717
26
675
743
334
740
974
660
979
148
548
55
628
51
518
798
220
391
187
711
554
803
576
712
324
758
724
976
629
56
386
817
329
865
115
433
465
549
312
287
992
890
72
807
32
380
671
440
450
667
475
924
635
16
247
586
688
77
851
813
377
88
732
156
102
84
366
68
540
941
783
93
977
646
352
927
982
444
633
927
269
618
251
664
177
61
550
785
94
637
492
58
23
35
860
178
550
434
216
951
357
642
592
723
968
265
71
839
266
644
342
397
691
690
282
418
394
765
405
179
771
376
85
205
501
536
23
762
93
45
879
199
343
68
769
880
405
402
37
228
198
921
664
412
125
727
856
429
817
916
947
155
431
103
52
218
317
698
516
857
583
86
175
465
283
607
392
126
38
185
167
904
710
918
691
224
344
761
994
245
888
454
919
671
25
21
709
223
716
733
74
680
439
142
719
403
286
984
378
146
29
140
714
482
970
659
299
981
246
197
483
343
639
50
830
301
694
81
54
772
810
618
540
725
426
768
256
692
592
973
391
422
518
280
280
926
256
484
820
539
643
61
506
907
193
28
293
846
840
50
199
399
881
745
651
173
439
26
756
228
698
612
234
76
105
934
114
696
770
283
280
893
887
43
246
694
85
202
759
571
181
108
297
3
471
665
731
963
808
575
111
878
92
711
30
506
421
953
798
535
614
470
990
80
562
82
932
887
498
76
580
441
920
73
735
397
750
315
271
605
13
716
274
611
803
678
268
636
89
102
303
347
383
950
59
283
156
393
625
452
770
839
78
778
477
578
397
597
443
594
899
774
601
207
640
98
176
947
94
348
291
884
896
736
260
798
724
421
395
8
732
171
889
301
741
519
669
75
717
210
687
246
720
765
216
403
990
582
883
480
598
308
105
116
372
72
768
787
596
750
837
775
328
662
998
833
859
781
11
950
878
557
786
650
36
785
580
253
39
532
83
390
414
826
547
622
632
928
680
384
563
403
34
843
662
147
952
90
160
774
635
271
441
634
920
958
233
195
991
168
360
576
796
643
758
644
5
436
837
809
515
108
594
25
758
950
149
91
362
375
981
112
804
508
297
31
518
219
198
340
131
699
259
410
616
640
141
493
431
559
952
749
469
792
423
840
763
868
143
179
928
783
105
41
881
715
985
589
965
38
753
757
114
42
677
970
994
273
946
287
372
883
668
161
317
851
924
831
350
329
939
908
703
756
299
105
373
139
725
646
373
544
47
124
133
596
356
599
850
467
696
299
36
671
130
153
885
782
648
413
826
856
483
891
835
411
137
813
501
608
647
643
882
117
207
464
41
945
68
879
228
552
335
543
82
142
923
4
382
501
176
492
340
15
623
905
316
47
255
891
487
104
204
149
660
805
973
492
544
345
418
64
995
189
826
110
116
105
371
477
248
480
136
525
162
362
418
374
409
224
647
116
653
675
331
290
518
805
832
889
656
369
271
308
617
281
56
656
890
1000
847
137
218
66
291
103
211
429
31
411
984
867
563
95
177
922
254
124
240
91
992
468
373
287
282
50
937
563
852
824
835
919
299
629
683
489
335
594
342
708
58
660
458
628
409
604
296
663
305
263
796
753
301
499
50
809
113
708
936
400
899
231
103
258
460
977
605
574
511
187
614
141
530
276
555
727
523
816
509
949
641
876
173
260
362
61
956
331
737
869
488
101
265
468
596
270
340
192
755
952
328
182
428
580
587
864
747
278
95
101
112
27
680
740
694
223
432
21
329
299
467
214
451
844
606
929
325
84
761
385
744
130
116
531
758
330
361
531
898
111
70
301
933
658
149
221
954
532
609
700
981
114
64
445
874
432
900
379
492
912
625
543
663
561
509
442
427
555
452
807
120
101
396
936
551
826
772
562
430
711
755
749
523
562
83
941
95
707
332
496
48
829
916
315
507
750
984
389
663
173
140
934
356
130
525
134
157
942
709
458
405
982
958
147
571
125
87
568
870
980
780
421
752
323
307
887
514
237
684
503
381
658
480
414
850
72
419
195
237
330
610
837
460
948
222
542
172
2
884
115
314
990
626
376
486
604
357
786
760
953
336
623
569
315
988
246
855
732
610
587
485
802
665
102
45
808
84
249
596
763
712
47
920
653
11
349
14
893
629
306
656
806
106
399
798
652
303
962
441
875
522
963
418
888
682
286
4
455
800
242
670
628
920
817
206
460
226
15
869
506
764
574
865
654
980
682
970
872
909
732
687
182
900
514
662
480
591
864
297
477
577
477
447
623
96
727
145
199
599
908
832
547
657
571
736
488
471
763
326
844
867
425
132
338
662
955
338
828
457
997
421
688
170
455
680
416
552
611
550
927
117
750
43
701
966
980
142
193
253
54
133
387
311
587
26
127
962
962
994
642
596
484
856
341
823
874
164
154
922
937
55
785
93
191
547
499
577
831
489
641
899
787
841
20
853
566
836
263
751
62
220
451
321
725
614
495
456
8
942
244
94
12
369
816
327
839
74
621
6
487
540
154
933
683
329
660
599
63
777
257
124
859
825
396
191
992
120
86
628
66
507
491
743
480
698
788
442
215
826
229
389
950
907
146
805
51
65
642
115
651
776
313
368
977
255
588
503
884
118
773
70
951
543
181
648
416
827
428
140
826
162
220
996
684
387
43
836
635
295
858
543
48
119
35
832
110
857
352
53
999
757
201
635
201
716
553
103
248
858
589
16
703
552
796
883
175
393
293
373
933
993
760
566
76
200
693
290
899
23
566
228
844
43
884
975
917
373
481
751
242
567
992
871
665
129
577
762
423
449
395
532
948
117
231
29
344
442
628
854
98
142
383
138
372
233
26
378
284
737
363
244
326
528
848
481
118
673
458
312
523
655
178
742
423
867
505
399
634
349
677
314
607
942
678
984
177
216
2
976
703
624
26
151
909
541
814
734
607
81
850
349
595
633
195
370
604
605
783
63
683
848
893
402
687
956
261
884
124
525
267
996
968
96
138
866
765
75
824
579
94
607
74
854
312
356
504
338
227
952
256
658
30
664
510
84
91
224
788
261
574
423
612
816
727
967
296
882
162
29
453
121
528
415
576
267
791
854
472
474
732
193
315
108
185
957
229
18
487
284
829
140
61
497
87
404
637
947
621
155
810
343
585
419
792
696
426
603
822
62
429
257
869
538
85
474
710
73
255
97
612
118
579
786
56
355
409
392
391
302
281
614
411
501
106
643
877
483
756
750
714
777
364
949
115
585
809
662
298
564
772
247
864
78
566
925
717
201
900
133
568
249
683
283
42
960
350
718
164
538
412
518
152
309
628
7
213
697
574
731
431
802
885
593
571
210
611
768
168
496
968
626
914
530
77
423
15
878
175
127
850
723
331
913
732
98
20
327
839
47
549
773
187
265
858
302
323
508
609
766
295
718
301
665
258
990
181
751
355
698
250
318
902
242
366
400
451
576
935
422
13
927
470
772
780
463
339
332
665
540
814
2
259
776
537
87
224
162
147
379
436
958
186
466
238
746
992
58
984
480
440
866
24
51
121
79
143
530
457
223
629
11
478
843
341
675
529
853
40
476
138
192
169
297
766
490
921
40
1
858
788
41
771
636
841
337
375
753
974
701
63
885
324
583
449
717
439
710
545
626
591
718
447
555
55
352
183
121
899
837
202
471
434
526
618
306
745
546
615
907
705
741
857
789
103
653
383
738
604
468
209
624
13
238
21
76
829
502
517
980
424
842
744
814
872
353
341
875
310
226
504
242
3
773
550
925
593
560
874
230
355
908
396
399
902
838
3
919
501
711
503
87
796
316
127
684
253
548
932
145
977
49
794
440
875
181
81
183
968
399
591
634
219
448
927
871
502
776
744
258
920
603
391
358
758
912
599
37
282
665
699
658
746
305
159
866
994
390
619
562
677
649
663
849
213
475
418
358
801
862
201
606
721
94
806
338
720
241
445
83
500
858
90
743
940
202
502
650
444
228
707
852
690
279
750
664
260
909
253
650
733
501
40
564
828
420
921
700
762
291
441
782
849
118
101
632
970
333
851
475
670
595
828
963
460
917
466
346
433
824
415
987
714
146
699
328
347
111
350
170
20
953
362
921
407
799
461
805
159
523
642
396
464
795
91
721
774
504
388
839
485
264
67
502
837
980
756
770
127
782
286
977
204
259
747
12
565
196
973
121
334
280
662
309
988
595
830
176
106
44
544
975
520
655
289
526
260
458
896
705
880
369
882
64
669
319
952
93
551
937
832
422
612
550
532
529
765
235
901
723
567
917
312
893
445
196
464
527
838
870
408
834
426
296
505
48
292
903
1000
746
968
360
696
933
851
832
317
785
444
665
602
95
176
955
932
899
112
922
752
130
869
72
316
405
768
850
715
262
492
35
150
839
384
47
145
322
845
425
577
456
762
751
87
26
487
149
684
808
561
51
313
807
290
597
27
568
518
609
392
339
509
313
781
395
843
642
178
603
932
542
243
750
392
247
807
707
714
845
657
816
588
495
682
978
50
10
138
688
186
133
421
51
839
330
654
547
496
289
600
935
552
822
241
639
334
213
841
960
397
981
79
330
622
870
81
14
121
633
577
182
270
22
883
460
64
506
671
510
326
695
627
747
976
607
124
27
889
49
554
224
991
153
139
926
732
116
468
44
720
233
759
964
403
755
862
740
667
749
563
645
740
550
569
672
940
705
754
401
316
31
134
877
729
286
578
716
575
736
202
968
376
451
397
583
523
535
7
753
115
732
274
735
856
634
523
191
533
810
557
548
912
719
594
218
547
409
20
348
204
370
108
4
117
384
683
848
337
547
928
342
852
162
660
166
191
696
465
433
57
343
488
483
816
165
563
938
554
288
937
785
464
969
335
489
351
446
50
359
404
810
174
374
925
794
492
707
139
713
801
625
815
285
244
630
856
459
518
261
277
976
218
613
306
216
427
464
468
450
802
764
980
469
683
772
81
704
151
160
248
437
489
185
425
212
711
141
698
573
741
621
978
531
523
771
947
813
269
317
24
107
240
765
634
558
442
232
418
70
637
35
26
209
600
933
608
134
321
632
102
614
247
709
645
751
501
200
456
848
931
751
378
119
124
110
415
666
395
464
534
701
237
344
858
885
493
254
291
517
425
673
131
64
162
36
340
127
45
569
302
817
463
402
669
810
410
157
920
820
650
227
561
678
629
491
851
141
269
969
54
561
813
863
901
928
288
817
441
233
365
294
922
774
232
982
990
470
429
685
845
960
657
557
468
164
750
288
251
392
976
139
962
515
581
731
67
907
506
963
311
109
455
391
471
841
951
48
294
214
744
668
482
728
528
826
689
901
991
621
751
350
528
987
293
231
266
169
364
241
746
187
135
666
151
781
673
39
867
413
28
946
965
148
154
332
168
258
202
147
897
539
698
388
54
571
380
25
554
857
946
964
146
589
467
149
908
177
976
778
140
429
40
646
856
654
655
858
248
647
14
423
778
185
583
836
472
966
590
995
699
515
441
785
332
530
821
726
20
73
184
934
894
258
988
848
309
47
882
163
623
292
616
902
604
182
305
975
860
862
798
395
223
803
462
238
790
346
817
306
235
369
390
887
395
512
534
752
180
342
189
108
531
414
673
771
679
205
659
12
370
369
880
268
510
238
567
731
515
800
82
621
947
706
160
365
115
696
761
372
83
923
553
216
84
223
355
808
772
143
908
25
114
106
1000
142
45
953
686
111
326
928
925
8
308
368
297
163
64
306
52
230
669
189
489
577
725
469
814
943
430
893
457
739
285
194
113
736
36
5
542
210
293
612
85
584
102
39
103
965
963
837
146
282
853
51
833
108
925
287
473
763
968
680
976
212
76
33
772
119
553
177
405
333
792
822
175
519
433
33
785
982
493
953
230
132
59
910
626
57
815
937
943
350
188
499
188
512
454
411
870
377
922
613
805
837
915
337
982
441
184
21
234
645
601
671
558
837
882
317
60
598
141
392
334
299
103
549
108
798
792
128
258
38
468
571
344
710
662
490
812
772
904
392
308
669
709
458
597
193
485
299
671
658
707
50
493
931
39
929
323
693
491
910
129
217
531
839
831
378
456
411
566
466
951
175
965
911
468
899
110
159
318
489
377
778
939
453
177
753
28
426
432
434
389
140
877
869
339
720
666
307
684
298
503
913
91
367
628
461
309
855
768
722
357
672
356
50
578
578
409
19
339
648
959
900
411
164
160
213
978
678
389
243
151
872
172
86
359
247
256
576
620
17
699
190
590
561
157
297
134
663
663
993
772
990
848
966
634
538
428
944
499
804
139
141
691
612
804
233
942
504
113
442
634
359
897
9
651
468
492
952
22
155
915
745
721
879
886
869
217
304
778
320
309
529
830
146
492
65
443
30
445
737
740
341
82
401
602
297
503
648
178
147
49
409
269
638
329
385
951
835
810
857
518
260
342
588
362
553
574
994
783
321
669
939
999
293
676
836
318
601
633
188
674
481
641
331
255
843
75
112
973
741
301
856
955
258
555
313
293
22
310
55
555
96
803
66
573
667
419
941
144
234
100
201
267
906
467
188
35
365
451
795
909
552
133
454
15
422
509
537
220
54
881
579
937
81
361
691
615
246
602
330
381
488
747
670
109
352
816
838
696
303
966
494
793
812
96
251
580
278
759
622
796
846
978
594
927
737
617
506
534
671
902
58
967
923
339
588
105
878
286
408
888
138
376
381
992
61
390
646
831
851
907
842
224
862
162
145
342
49
568
405
598
539
382
369
578
237
147
396
624
838
126
857
710
863
896
769
889
997
622
384
678
821
765
971
457
940
887
60
310
816
445
529
594
248
578
635
496
343
653
121
861
527
745
95
965
353
390
557
188
178
25
189
620
238
435
298
286
97
804
466
154
321
133
810
255
908
347
436
960
511
17
236
442
557
187
798
364
451
666
110
713
327
589
668
573
528
703
620
940
939
500
927
368
389
854
865
532
650
961
421
230
986
483
238
444
186
165
509
294
16
121
870
90
256
946
979
913
538
538
858
148
313
275
210
831
268
429
714
351
23
173
310
208
424
212
139
128
190
87
25
919
90
994
265
322
204
505
514
683
602
162
614
440
400
266
817
832
524
875
106
331
605
768
575
215
660
570
852
365
573
239
423
884
62
600
265
984
150
3
585
161
414
92
621
697
402
506
56
654
287
785
331
242
69
754
985
948
611
653
821
334
886
396
144
367
439
111
605
259
595
132
779
453
258
918
318
180
384
378
806
204
856
855
277
742
101
657
290
146
185
348
251
671
554
185
900
898
286
363
898
495
437
432
350
749
226
161
676
609
301
253
998
688
519
295
13
82
528
163
762
321
15
49
201
49
984
75
374
784
592
917
906
865
695
718
194
731
623
690
737
52
686
764
955
296
146
689
899
505
897
56
254
724
600
294
139
800
716
482
692
616
626
145
211
615
954
134
763
329
645
617
494
665
931
511
928
449
911
359
856
486
732
921
628
393
574
206
252
754
250
679
916
633
840
515
712
844
827
154
560
52
760
237
663
550
657
766
563
232
868
803
249
468
800
358
700
249
865
895
458
455
768
796
984
60
935
142
404
745
218
968
974
292
884
787
975
186
749
428
36
354
524
746
504
927
222
501
406
769
712
295
18
769
764
606
251
817
212
674
196
643
143
866
378
183
519
900
222
651
682
531
692
318
283
766
430
34
725
163
66
646
876
996
674
916
340
617
680
214
362
905
115
154
683
986
686
60
12
747
487
425
945
679
812
929
209
378
678
330
768
542
407
974
401
707
20
609
606
34
503
182
996
937
224
945
764
375
434
596
829
149
322
928
360
401
762
256
351
368
236
534
900
301
901
874
673
321
123
674
513
355
718
271
24
21
341
721
254
533
650
895
750
895
304
694
863
878
165
489
963
659
309
288
977
7
461
806
737
4
648
675
455
361
378
762
170
175
775
912
144
100
555
442
419
904
544
645
537
981
270
269
376
536
185
9
439
406
109
279
78
95
888
555
387
494
945
805
491
280
214
537
214
827
596
548
429
726
413
47
997
833
790
415
75
726
679
850
376
135
921
78
352
294
6
73
935
313
799
91
483
36
618
487
272
763
295
567
153
262
259
944
997
300
340
605
87
748
60
387
553
532
285
930
635
836
333
63
620
513
127
591
1
85
148
454
982
909
211
227
65
763
786
250
980
272
872
885
935
629
218
395
940
676
614
208
418
372
594
921
571
208
90
288
355
851
477
341
508
965
309
619
364
196
435
346
847
236
16
676
147
592
443
991
169
434
364
233
186
949
932
611
10
425
108
347
31
731
12
861
157
957
248
74
460
92
464
921
476
339
841
33
828
848
592
232
703
428
880
642
712
546
978
802
859
25
396
352
161
858
205
522
46
902
779
836
809
308
335
95
825
461
970
423
63
736
213
445
330
453
636
424
87
642
452
462
854
237
263
307
659
557
933
79
138
986
889
194
915
265
203
379
699
281
140
728
890
289
623
836
613
882
684
64
386
930
311
719
309
504
956
837
250
533
245
107
947
147
450
822
325
237
487
940
808
772
897
503
877
11
556
430
717
862
941
788
719
716
466
716
197
603
504
952
262
851
437
416
225
157
710
140
248
820
973
826
790
171
701
444
108
907
577
939
73
100
381
998
184
292
941
327
717
511
460
695
520
720
432
738
139
516
479
11
731
464
535
739
400
870
784
875
338
20
705
340
305
560
438
445
982
296
7
7
204
30
278
776
72
333
490
198
494
751
195
4
53
747
15
202
694
890
167
508
184
360
779
891
416
902
744
552
534
515
38
343
432
549
252
854
322
336
26
499
376
864
925
387
901
666
911
433
211
838
830
460
805
935
675
441
951
728
182
36
100
4
204
808
609
431
95
139
3
340
633
335
778
740
672
259
955
515
825
834
532
785
147
850
777
528
80
308
42
33
563
470
126
821
318
340
140
513
282
679
167
893
943
113
590
967
231
491
527
677
270
93
947
490
599
108
672
440
34
815
351
354
660
719
530
161
509
233
239
743
846
810
587
201
907
773
920
676
230
270
986
668
340
795
59
109
771
690
866
146
419
985
685
84
318
357
662
769
234
231
818
675
11
237
650
150
835
20
195
366
571
245
115
277
304
656
525
292
569
678
563
15
491
201
133
340
801
357
209
401
514
655
863
984
532
515
373
198
925
288
770
123
176
907
2
410
375
219
333
734
297
823
990
248
469
2
562
704
973
370
429
312
270
32
137
804
353
44
973
788
859
95
404
464
301
430
977
770
985
914
159
617
325
387
629
528
635
110
803
650
830
896
572
658
766
599
772
879
73
546
567
963
77
176
767
536
16
546
576
138
758
877
227
230
664
998
234
733
616
34
555
850
357
298
962
851
46
332
387
805
351
643
55
635
393
218
608
711
707
28
237
673
864
673
640
481
846
628
896
535
230
979
861
452
588
910
566
270
85
513
909
288
157
540
118
364
574
232
450
821
584
346
117
101
788
210
886
750
535
731
116
343
426
448
643
364
180
529
513
304
865
927
537
813
753
823
389
309
796
705
260
722
357
976
707
591
557
697
595
252
22
646
257
454
756
911
76
641
153
999
767
780
87
63
555
677
879
782
334
581
204
416
675
178
684
138
164
92
235
943
181
155
114
429
110
974
946
827
346
869
670
485
264
207
890
395
907
430
486
321
784
497
975
54
132
310
714
595
615
673
892
821
6
765
457
953
260
389
209
40
753
744
442
837
10
345
332
692
502
204
739
236
28
547
807
600
225
203
434
52
983
911
847
223
247
612
704
949
325
135
462
393
411
821
607
854
212
14
164
78
211
803
787
55
143
821
864
599
604
706
561
264
240
100
23
58
633
436
529
118
151
951
840
488
642
410
185
119
175
949
713
371
308
740
74
238
357
879
512
498
313
164
106
528
607
778
139
151
642
620
982
362
90
148
296
647
705
673
513
95
970
448
49
394
5
236
545
389
344
295
924
271
859
225
834
770
224
135
378
874
920
436
282
535
354
299
91
293
999
585
828
960
734
181
683
507
549
47
906
549
237
887
417
11
536
348
730
880
494
984
572
320
430
525
965
868
122
261
346
134
121
11
317
550
596
644
41
967
61
322
467
562
959
294
25
399
982
83
419
996
564
813
489
215
592
766
787
559
731
65
484
230
82
688
623
848
253
835
294
748
430
169
772
175
339
406
625
168
884
21
273
725
911
255
88
242
721
650
587
120
797
403
235
585
969
659
208
132
791
15
676
701
622
222
419
476
710
886
895
933
148
215
28
195
250
560
544
414
773
233
244
399
530
910
656
557
144
197
561
836
48
826
226
546
951
400
475
59
812
919
522
125
788
349
861
210
320
162
172
845
969
866
178
111
299
768
836
323
874
681
451
454
234
160
212
585
625
571
821
663
731
362
821
729
160
997
451
375
57
710
481
118
521
296
979
615
376
864
321
570
527
384
654
834
944
559
64
475
278
412
345
252
761
605
334
178
882
9
633
269
223
261
414
74
445
901
382
644
148
642
616
162
569
337
54
643
57
992
757
177
85
701
723
642
795
591
870
954
738
209
694
84
27
965
777
318
636
453
244
158
975
759
24
406
715
723
559
892
380
531
757
69
150
324
654
748
320
340
743
495
63
371
69
188
885
56
464
75
624
759
711
147
994
623
59
403
843
920
290
98
123
978
104
99
583
637
571
262
847
686
54
865
433
194
377
60
814
300
615
429
728
280
95
146
338
429
352
388
620
462
632
731
381
826
562
32
602
372
480
468
145
962
835
941
841
698
478
142
922
427
234
85
683
538
38
208
605
952
426
699
936
655
13
998
882
181
706
299
55
485
110
893
993
249
754
338
168
4
698
815
981
833
757
714
228
815
824
797
153
334
596
188
194
325
301
885
310
97
604
78
376
653
87
78
212
30
905
262
94
554
266
921
169
885
406
677
324
523
594
531
268
244
313
399
637
340
684
129
246
564
592
401
566
403
692
162
72
675
818
236
411
606
264
358
46
76
551
749
77
751
479
459
307
421
872
530
284
910
926
986
115
136
550
570
60
654
264
824
163
640
107
805
730
692
729
907
893
998
803
865
888
390
921
834
339
239
785
959
361
427
224
325
49
960
550
918
105
392
885
133
761
279
821
934
756
598
796
308
725
329
793
869
990
157
277
736
975
18
658
591
868
488
786
889
465
403
771
480
646
276
606
815
257
706
209
859
484
356
782
606
398
359
789
159
102
664
280
895
560
523
464
630
140
407
435
780
482
9
858
651
244
686
363
650
189
280
728
922
316
619
328
370
6
663
111
278
662
16
181
295
223
962
273
849
217
669
320
359
555
74
306
832
81
923
261
9
36
896
658
316
427
132
445
969
916
446
770
80
803
970
619
252
991
936
711
717
928
423
298
425
381
246
104
222
397
70
649
778
544
576
527
525
91
781
971
337
305
426
302
984
40
741
254
79
793
181
662
441
485
704
685
342
751
556
321
652
849
250
606
147
760
510
810
976
692
636
497
338
521
603
433
937
922
476
257
433
159
599
671
995
46
11
465
477
247
823
982
582
660
581
978
8
593
133
246
460
788
47
993
213
198
57
898
911
182
357
144
83
832
176
388
623
670
478
107
49
827
486
845
853
434
646
793
340
938
550
335
115
70
457
651
340
977
99
434
381
380
639
708
71
108
679
511
320
371
478
458
34
52
29
552
765
409
55
116
548
504
940
422
894
861
233
810
228
684
636
274
877
79
363
463
834
11
194
593
892
585
381
144
862
798
676
568
149
164
842
346
91
357
1
688
206
691
653
161
18
461
914
940
895
477
394
280
566
409
192
188
955
542
667
958
605
739
637
289
950
886
548
413
222
827
897
190
31
131
595
801
480
640
355
298
407
803
4
334
595
29
593
812
932
277
255
437
928
105
340
721
7
829
133
469
471
173
806
461
225
729
364
696
946
708
507
273
543
468
426
904
637
603
890
801
846
851
71
433
96
695
194
605
654
664
848
790
299
441
195
611
931
199
996
565
61
318
813
239
573
580
356
171
907
352
877
923
581
856
205
905
40
150
43
365
895
564
422
246
228
246
322
292
448
445
112
116
648
359
432
717
666
759
666
93
378
452
598
533
250
535
409
96
636
461
270
195
447
351
974
272
346
692
349
991
211
734
682
858
420
357
831
593
546
811
687
397
988
209
602
760
41
812
997
672
378
68
471
852
509
300
47
556
753
371
203
984
483
872
987
970
207
989
688
354
860
156
703
310
839
506
70
717
782
79
283
107
174
951
495
369
619
737
783
389
709
750
919
814
359
374
977
497
85
237
982
47
73
255
663
95
986
524
951
688
879
805
53
527
135
837
30
655
75
501
726
247
48
896
692
119
62
407
865
293
881
926
41
309
584
1
511
630
929
794
687
628
471
501
647
726
332
618
943
282
175
72
450
840
834
4
747
549
833
1000
597
121
8
345
761
967
617
555
986
622
30
845
868
287
44
36
318
204
179
230
11
59
376
932
757
189
572
926
601
32
383
772
195
345
25
114
27
587
655
870
431
846
989
362
585
228
883
996
320
286
666
434
562
4
768
217
454
868
71
729
46
149
186
971
539
384
217
269
610
654
872
351
934
183
977
22
313
503
187
937
663
306
683
29
370
958
522
123
21
396
556
506
603
773
871
626
870
526
371
719
58
661
579
70
85
456
457
885
83
342
429
794
841
575
795
730
76
524
55
356
479
338
906
46
82
82
65
776
758
491
950
325
557
401
379
281
885
93
979
24
95
637
766
313
145
814
466
862
816
452
119
210
555
37
657
679
868
797
732
94
235
305
535
864
292
93
283
552
286
111
262
506
852
806
156
287
594
809
910
323
812
56
608
407
940
554
200
482
234
491
299
649
375
201
3
205
351
990
550
630
452
67
551
845
7
194
839
827
466
994
657
320
687
755
318
747
253
583
979
290
608
19
466
477
456
968
88
591
923
928
752
910
345
498
158
275
616
51
842
284
766
155
943
991
597
37
230
567
65
270
641
578
576
719
392
821
962
113
120
591
14
629
75
671
627
303
942
41
165
287
566
556
997
676
132
442
177
856
441
556
79
779
393
436
873
110
708
717
562
980
26
876
810
596
816
651
845
905
794
919
191
983
208
836
833
560
182
846
236
335
432
95
318
830
114
625
346
634
527
224
310
977
646
639
430
395
157
685
368
623
14
389
756
588
673
97
292
538
44
893
690
439
506
702
788
256
353
391
331
83
492
220
268
955
910
928
458
683
110
897
503
955
335
156
839
380
873
636
377
992
946
364
233
184
807
277
82
812
651
136
243
146
786
673
171
256
835
123
479
257
489
632
838
728
784
442
709
765
241
624
894
631
98
885
575
605
952
753
933
484
591
576
453
990
775
743
924
187
92
814
927
270
458
561
823
333
363
8
704
399
829
897
900
549
273
744
658
666
482
262
951
749
826
609
631
251
778
43
514
191
891
487
961
11
573
351
658
318
248
445
749
873
447
993
634
574
851
886
604
707
629
737
188
818
531
801
150
360
353
306
437
462
21
403
526
848
582
319
493
511
869
854
414
400
514
259
527
106
146
715
526
882
152
558
203
630
774
91
854
920
939
212
643
279
968
994
847
852
604
201
248
860
712
348
918
476
533
786
618
506
690
388
172
49
378
649
727
75
155
293
699
87
116
714
678
114
410
462
10
105
253
248
975
776
821
912
522
7
613
249
54
957
419
282
269
565
939
206
938
72
822
812
349
777
391
840
649
797
871
148
517
950
143
653
285
663
281
372
334
170
903
911
13
608
277
933
853
977
468
872
242
977
379
363
281
757
144
884
340
924
991
222
246
191
939
678
95
191
305
890
392
492
989
102
774
469
14
814
231
146
427
192
122
967
254
813
852
379
96
12
253
581
535
564
833
733
252
857
43
78
306
792
475
434
124
99
745
508
135
601
319
121
53
908
539
646
391
105
472
404
81
307
764
40
713
363
178
919
260
731
995
728
471
326
583
434
754
775
776
331
14
551
264
583
87
931
296
386
152
640
797
719
995
190
525
909
703
198
49
150
895
874
579
918
299
451
62
583
178
690
513
79
831
978
600
450
523
457
582
150
179
903
543
743
13
875
195
334
481
483
50
593
308
100
81
419
566
307
57
82
980
318
263
729
199
587
507
546
761
701
11
350
539
562
833
975
292
703
252
768
47
277
868
333
178
266
783
874
799
190
876
577
605
714
515
367
57
577
284
752
987
927
137
685
989
679
525
911
777
368
622
777
507
587
406
40
390
886
336
541
405
807
131
601
416
434
395
656
841
868
285
733
669
154
840
669
496
840
991
770
914
734
583
689
583
985
730
890
129
37
13
538
744
967
696
801
799
264
114
889
412
72
9
987
251
202
250
81
153
374
166
727
411
36
295
675
950
630
713
593
496
108
822
279
344
979
438
302
743
555
285
117
335
370
249
110
114
281
504
907
102
171
711
220
45
648
171
909
439
871
724
348
373
612
342
887
837
634
291
54
56
550
563
358
207
395
138
131
395
478
679
937
680
609
466
319
529
974
193
174
447
475
491
984
65
531
791
785
605
525
743
436
552
199
175
28
322
95
854
372
756
426
65
990
86
936
415
284
953
108
460
805
986
841
346
377
286
932
847
438
873
83
403
117
962
188
945
865
675
871
729
512
779
894
241
780
558
442
845
574
800
668
985
634
698
36
82
536
315
414
492
350
702
827
736
699
464
157
327
872
639
446
382
143
638
865
256
125
210
592
420
397
609
638
31
820
364
100
938
886
124
921
761
321
524
673
443
14
493
986
59
573
265
650
107
858
304
451
510
552
194
24
90
630
572
821
96
634
606
706
75
650
337
774
286
556
328
500
166
497
730
435
94
916
175
505
325
115
64
192
340
205
781
676
346
677
890
51
991
257
455
289
259
301
784
189
242
967
915
571
36
154
728
8
22
856
409
410
793
674
500
900
705
311
926
872
260
653
846
398
373
900
695
386
781
45
49
792
840
76
873
810
330
800
29
667
147
188
693
401
305
869
358
689
978
506
752
106
734
869
678
981
75
138
661
345
68
147
42
284
119
996
855
276
70
725
258
72
946
514
479
752
854
272
303
349
557
820
904
162
556
579
797
284
359
396
279
370
451
225
863
5
277
937
329
242
659
519
842
279
519
228
5
966
106
847
3
861
556
198
47
553
872
937
499
355
24
626
148
576
997
219
587
332
466
71
434
146
461
932
449
941
710
334
77
156
178
112
77
382
555
302
533
326
862
904
225
697
752
516
627
271
785
574
250
439
425
8
304
669
173
38
357
187
516
866
5
523
683
777
868
42
770
570
252
795
170
160
960
629
506
541
20
769
278
12
721
175
253
667
159
829
120
358
722
307
517
803
891
599
83
667
695
638
223
743
479
555
777
364
621
377
220
474
173
381
81
633
260
590
423
241
448
87
423
46
534
85
944
445
214
139
689
681
118
698
224
308
650
750
844
329
200
105
187
682
892
434
742
871
519
999
808
712
343
235
505
961
910
892
429
2
866
135
775
359
696
410
712
520
142
958
829
173
193
131
253
351
467
391
484
817
300
305
448
282
247
955
427
971
214
552
879
76
89
476
991
870
109
539
912
821
589
132
8
249
922
94
982
570
879
663
313
443
863
413
348
15
940
421
442
190
113
438
386
5
190
195
203
853
336
480
924
294
398
409
40
742
715
631
524
328
566
819
457
776
550
194
506
383
33
141
429
149
927
191
664
249
767
311
327
842
846
20
202
228
101
585
449
998
398
130
494
506
595
745
924
995
338
541
297
297
262
178
136
211
92
410
547
734
272
952
811
439
520
285
865
514
418
477
183
29
375
206
768
681
540
278
766
277
650
722
308
838
990
678
331
101
96
832
733
462
122
369
223
818
737
198
263
314
789
794
479
328
336
995
289
372
810
39
331
644
681
615
564
652
529
998
810
711
183
627
519
786
27
332
4
761
237
420
612
107
17
830
917
899
751
566
599
836
519
867
984
187
949
603
457
761
82
272
243
913
455
339
209
734
468
644
335
318
562
617
795
466
826
784
475
34
627
724
377
840
227
870
441
423
642
810
629
117
694
575
98
75
255
106
735
615
695
473
558
192
786
770
637
66
635
15
50
296
68
854
297
934
311
669
566
580
235
414
422
352
387
978
8
945
495
656
381
6
736
11
249
532
737
34
163
266
758
617
592
248
766
908
106
261
218
644
45
5
716
37
714
572
915
351
394
665
527
49
419
685
785
98
645
134
868
329
294
601
817
895
826
310
714
957
888
74
495
555
82
453
90
770
471
181
709
724
646
928
267
479
75
29
239
10
819
160
278
992
396
760
385
336
466
366
850
719
296
178
25
891
353
807
902
64
725
115
900
206
507
788
646
649
724
709
972
305
236
984
337
475
792
25
913
822
411
652
511
805
909
613
154
771
707
321
936
994
987
492
667
273
364
646
376
979
517
177
638
710
798
242
617
806
416
447
33
680
182
959
311
837
7
676
373
802
372
272
408
791
391
104
489
866
516
989
987
265
248
879
352
501
734
642
627
666
427
491
489
809
547
176
873
84
642
958
709
22
499
126
699
848
641
199
706
440
734
707
826
351
481
154
188
719
177
697
849
746
110
862
234
648
380
280
714
874
778
320
79
425
1000
556
255
256
774
697
98
914
527
827
409
131
635
436
162
160
690
981
7
476
136
235
636
3
165
498
760
879
556
601
230
471
36
993
303
798
643
884
296
225
241
751
966
518
267
672
520
980
955
581
730
103
548
21
676
870
963
266
955
535
245
522
538
77
148
693
378
305
40
906
38
227
962
42
563
439
89
520
136
408
445
142
304
635
588
554
345
312
936
74
83
124
227
92
495
101
943
975
58
393
32
109
875
747
55
31
670
608
723
161
996
808
365
51
872
886
933
810
816
532
496
987
286
587
230
786
589
971
446
681
195
619
71
628
374
972
424
740
697
429
714
436
770
98
897
906
201
297
234
539
353
507
423
861
438
321
776
783
332
581
846
658
180
516
57
55
81
848
949
54
823
492
503
645
931
914
619
649
64
128
197
695
321
833
822
772
411
428
997
29
826
689
709
44
114
792
61
674
560
306
570
578
556
10
829
343
434
554
240
357
927
939
594
982
436
769
946
785
987
533
448
657
280
663
979
816
592
901
496
943
354
951
654
380
106
667
200
357
335
61
295
417
841
768
341
24
996
555
890
988
256
833
755
476
475
52
511
164
509
177
508
36
805
761
361
984
537
664
940
227
302
645
410
16
599
700
576
154
109
113
131
14
371
584
118
330
297
305
888
852
851
249
793
155
607
795
586
699
954
663
834
315
315
229
254
542
353
285
100
550
943
896
802
426
333
553
943
729
872
262
769
962
830
195
511
82
624
379
187
258
241
308
234
389
674
422
462
928
118
721
886
479
655
280
293
688
964
50
951
825
331
571
912
563
868
925
862
288
404
348
858
786
901
575
728
335
602
991
575
395
262
81
262
95
675
990
561
647
591
431
46
293
972
425
746
837
719
335
76
7
202
230
576
673
139
139
827
863
713
179
602
506
829
283
121
41
936
860
70
491
274
538
420
529
336
352
625
674
171
770
827
628
110
772
488
835
608
929
42
402
954
293
413
548
752
819
412
786
599
794
994
732
67
836
770
631
118
185
734
980
587
87
539
984
156
346
544
516
539
21
734
325
549
422
448
350
693
799
421
547
846
769
70
797
243
678
785
170
907
913
84
369
138
244
27
36
500
170
411
563
829
111
369
919
966
841
421
948
410
252
722
934
626
474
361
475
997
662
682
922
251
17
241
501
63
668
685
269
728
883
726
214
425
12
728
971
670
413
24
374
278
392
842
809
550
530
106
7
315
838
87
241
494
637
389
873
967
703
289
706
696
650
976
236
441
884
974
221
471
582
337
788
535
499
34
688
857
655
504
427
402
954
634
623
766
647
338
813
941
623
682
747
203
621
521
340
926
966
873
409
568
431
811
158
135
876
894
23
645
672
273
323
46
569
325
388
349
350
858
189
902
473
258
141
671
213
918
249
26
444
689
626
471
672
578
756
361
34
472
379
542
305
798
980
432
486
547
451
571
22
134
602
31
165
953
358
451
179
496
243
475
365
812
312
646
165
232
636
137
24
867
889
966
302
793
289
592
363
936
797
229
348
693
474
298
300
244
438
651
811
32
654
236
523
837
270
122
104
868
810
469
278
192
363
226
997
83
606
354
597
505
461
32
247
1
10
870
961
912
75
230
285
460
738
486
256
737
800
733
412
188
27
885
518
883
287
84
555
203
465
971
864
829
882
237
219
637
711
481
572
823
408
408
154
731
578
495
274
989
538
212
159
366
631
487
787
48
922
939
612
399
731
865
389
866
300
27
46
661
929
902
589
470
872
58
483
660
999
237
380
192
193
134
699
201
909
135
148
895
576
365
618
867
738
790
40
960
42
157
591
222
326
707
595
257
889
83
321
864
975
534
92
47
65
651
464
600
310
165
196
596
191
48
211
133
504
906
877
877
683
447
153
684
977
148
96
714
412
995
270
466
331
899
943
775
422
621
749
504
321
202
452
696
407
73
95
253
432
889
331
899
972
163
386
215
784
880
715
722
604
788
166
105
671
474
462
788
405
868
301
992
269
831
829
361
279
255
51
46
40
805
662
491
82
767
805
333
221
256
804
188
897
618
452
940
976
699
765
729
587
381
495
733
408
324
643
407
260
363
508
481
92
539
2
60
415
612
536
644
934
551
259
684
878
972
175
457
498
415
16
928
488
511
148
866
644
810
514
589
74
911
660
987
387
948
444
313
153
931
213
752
739
616
955
927
209
899
235
379
543
203
184
112
805
546
226
663
832
492
484
156
171
963
146
885
579
783
118
26
185
603
184
370
456
994
396
119
205
323
326
446
959
406
239
588
341
863
137
782
761
807
607
341
864
870
555
2
44
238
512
160
636
45
392
714
343
702
481
14
172
491
196
273
993
855
335
771
908
591
540
78
668
45
188
979
621
678
725
457
786
113
516
304
633
271
726
506
249
154
962
455
852
191
506
657
733
730
297
803
453
74
764
827
987
357
350
859
307
388
830
337
858
45
581
540
690
636
223
906
588
36
964
763
737
113
406
377
999
224
571
140
755
820
793
324
883
955
624
301
455
716
746
804
788
647
590
438
964
433
331
28
11
440
645
374
381
883
204
586
675
241
826
986
259
938
798
608
567
554
398
499
20
173
935
182
865
406
962
177
418
503
177
513
600
329
168
105
402
786
494
854
23
709
358
655
509
516
504
644
320
897
236
883
258
29
664
116
964
790
486
978
197
321
625
373
835
500
562
310
530
387
177
92
512
953
500
809
74
777
471
299
604
297
697
640
929
821
609
476
826
426
145
953
867
610
917
376
940
161
291
994
306
116
970
942
612
663
234
722
658
174
74
3
240
5
288
875
420
922
518
789
110
786
422
903
434
772
458
225
515
727
186
764
918
801
826
671
705
651
102
76
675
70
772
735
853
767
402
240
906
40
55
503
138
28
985
898
240
297
266
261
991
11
969
172
380
46
146
260
692
1
470
103
995
311
208
38
781
17
737
628
824
377
175
508
651
594
371
932
493
379
248
738
924
533
316
159
705
130
254
671
800
342
835
251
892
631
940
163
954
545
353
151
784
914
550
987
264
379
916
995
502
149
954
983
897
77
861
862
153
944
238
334
765
250
325
144
297
611
713
236
24
450
776
547
184
258
694
960
267
582
421
83
739
247
747
374
834
34
720
17
804
159
37
967
877
97
197
455
341
780
230
290
27
431
558
50
402
91
583
577
518
889
346
433
898
697
270
841
175
756
55
188
901
956
975
767
792
153
729
99
448
145
349
925
40
184
176
481
992
363
263
503
586
656
263
497
398
21
267
692
968
980
518
337
997
437
910
460
549
308
235
691
974
491
460
220
180
637
715
536
702
383
780
425
72
314
397
362
748
316
504
485
410
675
814
278
888
753
540
714
125
435
581
278
621
273
599
753
324
726
734
292
40
512
69
90
225
430
422
192
926
609
522
199
879
222
592
949
798
21
28
389
547
975
804
156
323
491
811
395
761
599
243
324
6
838
904
709
731
170
106
306
106
337
194
893
35
574
471
560
607
485
288
750
630
772
911
62
280
890
190
692
545
800
977
652
861
906
331
353
529
592
920
491
246
572
739
94
529
454
99
574
750
112
32
340
566
124
592
79
373
985
914
82
75
213
943
430
421
464
30
276
584
895
529
939
441
384
841
677
996
786
30
906
842
743
775
932
573
691
104
560
503
523
895
110
721
119
483
360
853
380
428
270
787
137
884
492
27
411
184
376
850
741
383
406
226
276
488
608
241
931
81
728
209
772
973
352
638
636
123
351
759
724
917
153
162
734
658
540
779
730
59
78
136
822
598
590
10
721
764
703
269
81
212
777
374
498
442
908
475
962
97
493
778
149
39
487
453
101
31
698
631
96
870
948
806
387
19
929
851
491
865
505
65
4
943
710
309
888
635
59
985
487
370
789
884
884
137
66
332
806
63
330
599
369
356
42
925
835
409
301
172
505
641
459
987
523
121
770
464
507
438
259
487
400
70
699
548
108
499
319
506
377
957
900
310
331
289
193
501
321
506
910
352
362
56
964
546
926
284
183
151
193
929
181
828
225
410
424
604
554
156
226
340
710
611
101
97
768
384
658
109
856
10
542
795
222
386
339
735
345
316
504
152
948
528
970
236
354
806
573
885
816
235
799
689
39
861
370
690
689
921
209
939
632
790
573
397
460
648
354
360
623
964
792
438
290
245
412
642
833
549
374
748
138
364
855
769
729
442
930
102
467
775
921
976
281
733
770
703
464
435
357
8
546
482
937
425
514
209
589
55
125
381
834
305
374
90
216
160
759
669
528
486
541
681
114
40
856
794
818
199
702
831
564
973
560
73
373
627
641
509
137
864
85
222
130
873
78
322
730
622
309
380
854
651
782
242
991
10
491
399
143
640
555
622
331
140
202
448
349
503
631
111
695
716
268
551
908
760
407
577
926
628
976
296
344
82
787
108
152
195
556
118
47
111
942
432
500
911
889
163
820
352
252
59
350
980
206
565
345
813
199
434
82
280
910
52
496
364
952
381
754
446
513
680
712
950
442
631
928
950
439
149
73
29
276
364
56
451
188
5
957
918
512
976
496
777
654
92
380
106
349
640
681
847
717
233
144
640
588
63
97
543
733
161
354
796
507
769
366
847
545
845
232
924
661
621
114
503
824
902
836
56
13
22
922
853
522
840
776
555
839
36
236
211
629
90
822
225
801
579
745
805
40
602
117
428
292
412
593
80
631
297
481
597
779
205
412
460
818
104
784
791
267
436
415
912
588
821
222
811
453
298
945
587
457
303
117
292
114
19
954
785
270
400
793
956
795
208
451
175
447
199
754
5
11
808
126
782
99
380
828
958
274
423
173
58
931
635
301
175
889
329
755
179
457
268
75
870
207
244
591
317
299
929
179
416
613
10
201
81
711
399
791
150
86
924
712
851
563
774
327
174
514
162
21
541
383
732
533
906
644
225
420
173
463
586
797
708
621
185
644
776
261
869
706
100
540
860
489
648
176
357
725
961
945
213
951
593
985
854
913
243
266
213
458
425
509
762
298
741
865
275
402
481
442
893
478
547
77
223
484
104
614
850
325
907
544
35
626
509
125
370
750
752
385
219
974
756
686
44
744
347
640
364
315
553
244
498
688
489
681
871
197
920
572
110
960
204
760
689
745
707
451
435
203
240
660
79
642
534
278
552
460
43
110
734
821
661
530
136
614
610
224
727
530
899
722
434
709
332
774
642
782
295
635
275
691
115
969
329
771
603
88
249
656
150
249
50
206
752
351
563
527
223
211
601
513
562
918
950
871
806
981
57
477
584
996
759
170
51
346
27
856
206
296
636
57
992
746
883
230
467
744
251
23
53
9
843
341
159
391
773
734
646
879
14
668
286
884
136
649
560
506
815
764
10
650
524
901
153
324
622
867
641
629
43
500
113
448
376
683
381
710
262
601
869
436
390
217
736
576
528
6
61
68
906
707
328
976
741
561
754
48
975
55
345
979
929
615
977
530
894
74
680
821
625
288
634
79
82
793
367
907
488
302
699
242
391
11
933
491
753
78
302
391
239
418
24
250
256
821
597
945
164
974
167
166
732
726
55
523
126
161
948
959
576
571
557
522
634
713
837
57
205
537
40
936
174
122
987
938
818
426
270
517
173
19
199
818
170
733
191
660
53
74
406
868
358
136
447
784
265
593
250
644
154
793
666
914
473
378
927
302
780
23
855
569
370
961
856
119
67
211
613
556
609
574
246
248
503
325
215
835
524
977
701
364
470
803
610
812
25
142
157
577
885
396
676
139
232
184
927
954
136
932
517
579
707
475
247
716
789
515
781
852
929
283
585
505
1
911
964
585
447
391
976
972
366
636
408
578
25
345
803
385
9
611
571
874
835
335
958
563
30
50
249
54
726
653
254
585
34
205
76
713
983
601
11
557
269
359
198
854
945
925
961
935
9
251
521
478
448
281
253
140
640
958
144
565
105
216
879
606
762
659
718
973
544
409
645
582
544
310
715
850
179
167
448
765
986
528
853
458
428
57
893
363
389
333
603
868
644
863
895
804
603
607
594
890
914
699
722
420
575
705
609
766
857
683
315
455
923
711
67
939
65
505
634
860
737
280
736
726
571
480
737
202
555
919
647
602
432
566
599
613
705
116
116
944
380
153
45
292
790
537
74
97
848
246
604
729
318
455
199
590
898
737
14
70
316
682
634
77
186
671
953
765
922
68
148
532
881
922
117
617
827
842
920
90
311
676
478
353
49
853
826
820
644
330
3
414
681
44
596
45
633
24
52
803
293
346
477
305
869
40
337
240
982
733
390
874
678
376
247
871
466
210
835
657
586
849
123
164
838
723
796
478
729
668
740
783
235
52
554
441
508
842
854
654
166
17
238
455
136
848
558
323
141
572
838
922
163
532
25
157
986
989
962
997
847
516
841
545
242
678
683
690
452
738
725
805
539
168
814
517
812
939
284
678
342
436
921
774
277
364
533
853
306
149
1
140
589
508
690
153
803
140
148
91
574
865
469
777
870
625
306
373
986
766
330
284
357
343
208
542
563
224
586
479
788
669
750
263
480
805
162
325
95
706
995
801
136
702
480
608
700
540
437
746
827
539
302
604
536
309
149
28
420
27
11
917
146
619
346
984
60
136
659
111
261
171
375
858
370
731
228
513
446
429
477
462
23
330
170
602
637
287
684
89
788
488
379
700
524
609
489
277
613
285
687
570
737
966
699
273
958
875
364
317
628
389
228
627
866
398
912
912
947
907
890
70
37
86
184
97
353
82
11
803
845
60
995
571
250
825
248
343
879
506
350
547
154
740
243
343
745
386
475
998
422
305
47
953
948
170
378
202
156
602
97
917
578
146
936
846
327
920
746
620
508
144
711
987
886
569
138
844
273
873
548
137
291
180
524
239
285
887
592
603
409
257
43
341
800
36
813
313
807
953
440
977
939
759
907
880
799
352
635
530
832
75
64
70
249
33
823
904
80
229
405
39
899
957
813
421
661
517
58
645
151
141
301
785
948
654
671
824
744
361
340
381
924
817
117
396
860
908
36
668
476
995
715
390
946
973
795
522
364
307
983
30
760
218
320
458
405
358
151
429
662
743
256
79
542
778
860
309
36
957
747
730
3
813
531
49
465
525
727
645
703
153
256
534
622
781
593
999
554
778
209
255
36
518
875
166
764
543
346
657
468
897
433
190
430
712
643
805
669
20
847
804
738
519
650
361
899
200
553
313
478
266
128
228
348
542
794
47
138
798
462
866
860
332
445
952
43
619
594
20
537
641
3
185
83
58
527
178
434
394
920
415
899
978
158
475
950
629
391
28
94
922
110
860
756
762
329
377
799
419
270
499
16
995
376
126
118
645
747
342
537
197
864
633
45
865
312
212
97
513
99
638
958
52
603
881
608
690
832
950
62
496
646
283
239
997
955
986
665
370
506
563
802
643
505
741
108
94
786
29
232
18
147
229
680
294
369
483
614
872
832
544
549
114
818
169
336
568
232
125
579
744
568
333
344
759
548
741
565
523
741
613
858
846
328
170
756
244
678
37
770
772
909
294
223
787
824
851
624
742
551
922
758
214
188
960
834
453
201
643
178
414
794
833
684
981
848
405
427
279
21
302
347
857
106
633
48
481
595
666
304
525
340
911
239
350
244
149
525
932
898
372
979
468
210
692
450
334
44
416
488
446
843
846
486
750
890
789
54
21
655
146
110
297
50
694
305
749
867
577
76
124
440
472
522
222
519
750
565
395
520
734
61
994
835
727
515
133
236
797
316
371
270
653
39
431
87
156
768
603
146
252
620
877
834
936
650
827
34
443
647
534
352
855
810
585
642
995
947
886
412
837
364
913
351
786
720
456
305
507
228
716
93
106
367
500
107
484
318
338
954
210
617
983
841
740
769
677
142
145
132
902
469
435
410
281
245
451
816
391
388
275
426
144
531
398
24
38
690
226
642
138
728
319
47
103
177
751
55
666
112
362
737
170
885
539
441
569
429
276
946
597
424
253
505
91
897
812
500
622
331
198
596
570
100
49
343
181
68
560
204
224
736
561
649
304
551
91
767
392
420
237
906
64
783
628
950
220
187
73
797
988
928
644
488
396
945
103
599
694
957
367
33
843
187
201
572
73
66
365
154
707
135
952
934
648
109
520
160
473
644
209
346
241
802
672
12
471
16
527
299
252
792
444
696
791
661
959
649
718
349
75
444
317
301
992
454
410
740
938
408
345
116
5
439
171
594
128
176
330
807
255
81
155
802
583
651
920
25
257
524
313
278
822
863
446
631
405
487
730
6
804
790
325
88
527
741
401
504
636
852
490
564
67
712
879
34
380
538
541
583
585
667
185
783
809
267
364
974
162
223
55
755
249
359
176
807
646
557
481
716
171
610
708
706
805
898
254
866
917
586
36
765
940
665
442
870
402
51
340
713
455
69
766
976
727
634
138
567
745
114
638
464
718
299
247
648
492
594
857
520
29
741
163
370
793
615
535
212
284
140
662
43
355
854
5
898
471
649
397
3
338
411
867
695
47
600
99
778
773
817
636
889
543
48
868
789
486
330
406
37
912
152
25
636
674
664
444
33
822
708
438
662
721
129
17
359
903
869
642
805
343
767
220
448
365
387
343
497
759
924
849
930
245
384
380
528
757
684
848
887
362
395
456
203
256
234
165
934
925
883
998
716
790
847
928
426
839
194
793
789
841
784
191
817
156
486
970
403
209
414
844
529
940
775
270
948
245
192
261
772
82
299
899
404
911
490
925
518
483
571
783
178
92
198
140
138
883
683
574
167
332
30
384
596
551
785
159
483
103
190
79
400
942
620
237
438
179
870
357
63
274
133
765
280
750
969
578
657
193
124
883
370
851
679
957
505
164
239
577
793
400
539
920
484
646
807
674
14
211
288
259
663
592
265
920
803
985
244
444
259
244
989
609
674
955
135
13
5
164
923
172
299
839
4
383
59
243
828
641
549
747
172
250
449
526
353
371
55
869
197
987
818
705
519
340
613
817
116
170
345
207
106
520
437
617
879
823
365
14
441
423
241
585
476
420
641
179
643
357
802
38
412
618
13
88
618
778
399
196
317
90
24
467
446
89
113
568
449
588
404
740
539
560
502
299
609
289
57
254
12
497
880
9
449
10
18
76
149
758
387
581
480
75
914
97
980
103
867
868
686
613
817
73
132
19
489
639
262
166
437
914
607
323
516
425
396
195
962
491
146
599
413
487
657
278
741
407
215
603
28
463
249
778
315
654
354
828
823
425
186
14
958
872
37
240
410
120
440
790
819
384
551
858
311
597
818
693
424
326
923
206
151
389
987
157
553
884
264
422
234
238
395
993
926
75
910
297
537
958
848
665
285
507
105
724
814
346
822
463
581
705
732
951
149
944
950
665
449
511
704
881
81
249
341
667
896
411
501
192
661
300
825
923
515
403
824
342
465
790
153
67
486
309
962
46
48
419
228
756
964
300
446
355
847
26
834
527
995
158
873
86
40
188
313
544
995
794
90
949
726
323
541
629
129
129
416
994
99
876
813
373
438
87
512
744
670
615
858
359
673
115
136
847
270
1000
870
295
777
491
896
265
912
785
12
965
909
461
968
200
76
991
873
264
165
270
800
25
390
451
408
238
60
773
959
652
45
914
591
693
67
700
854
741
969
692
268
431
306
220
675
373
436
218
799
503
535
581
701
79
398
340
38
889
123
492
716
936
933
571
293
416
83
822
222
724
534
625
725
903
979
170
730
424
884
677
553
214
265
397
982
653
228
349
63
686
10
274
418
308
368
214
62
234
276
849
841
736
134
500
553
996
165
246
545
864
162
856
226
458
583
70
353
265
757
483
711
492
389
637
249
78
918
456
329
532
999
106
372
196
595
768
460
702
778
653
994
580
367
65
594
685
506
578
385
590
25
471
317
315
984
170
521
99
603
151
951
36
344
33
106
534
616
410
103
475
375
877
909
652
556
789
157
240
847
840
327
362
901
305
946
81
399
913
97
257
382
480
601
895
991
274
380
64
151
364
727
812
865
287
346
721
708
332
410
717
918
609
300
913
109
756
576
37
186
878
708
53
604
686
815
791
130
12
36
922
874
533
558
733
264
9
931
720
304
44
526
576
86
552
633
913
260
980
56
237
460
288
575
484
285
830
983
508
392
957
718
830
491
626
135
875
657
66
681
318
145
84
352
936
738
743
329
737
121
881
255
862
65
532
977
80
288
407
851
587
766
783
582
177
776
540
707
296
675
64
454
696
327
657
585
825
345
584
347
439
343
893
507
101
276
712
999
771
569
513
267
446
226
843
432
965
537
287
299
518
368
245
391
188
586
923
403
219
942
863
229
971
77
871
906
137
909
436
412
634
171
825
911
286
707
910
615
271
869
466
185
696
184
319
104
988
896
891
668
109
576
58
532
700
115
759
44
922
509
810
661
559
890
495
98
825
324
37
961
201
403
524
104
189
552
560
283
226
217
651
893
175
971
955
571
402
738
565
158
857
869
348
187
318
457
797
530
669
99
785
190
975
914
860
996
300
279
474
359
257
768
825
217
180
518
543
418
932
293
564
398
892
955
598
271
879
408
578
852
268
732
14
809
239
706
688
683
772
458
999
272
752
11
761
633
568
420
427
181
39
476
540
760
435
647
59
779
89
215
887
346
539
417
572
540
380
852
703
261
904
304
960
685
761
933
109
628
376
716
999
801
597
7
579
590
93
314
302
853
80
541
351
67
81
289
937
85
935
248
354
378
152
838
58
18
343
500
10
937
793
319
571
715
174
545
199
13
38
227
992
682
963
532
5
7
746
95
785
331
337
467
872
433
840
977
204
846
887
752
560
707
558
105
576
427
130
25
145
751
781
369
923
940
401
61
490
512
535
517
254
999
548
750
519
270
35
315
882
330
652
927
79
315
967
427
792
724
897
501
939
904
318
98
170
824
799
189
807
888
618
848
655
391
936
291
662
421
264
828
891
268
833
338
624
783
522
473
187
267
994
574
103
883
228
917
257
441
15
168
966
375
359
404
317
139
395
877
950
153
647
230
159
213
843
215
618
158
755
340
500
40
40
440
107
163
968
709
156
958
509
687
745
119
17
734
512
477
441
354
149
65
739
114
273
466
18
259
783
845
255
965
265
928
467
371
851
351
894
872
365
430
215
860
71
4
857
725
91
188
814
734
368
530
228
255
794
852
140
647
399
892
879
647
542
661
491
664
677
324
512
358
390
998
801
965
811
824
288
69
89
258
881
906
272
312
749
386
68
813
782
291
501
452
521
716
331
828
981
317
605
742
936
382
243
831
382
677
717
971
19
384
320
759
458
213
280
765
695
749
135
513
290
46
352
513
777
50
16
723
335
97
220
291
584
800
558
43
908
670
484
869
51
989
458
982
59
119
744
405
411
521
523
525
309
117
502
613
557
179
478
58
291
127
498
231
184
288
489
155
54
384
413
675
324
614
718
364
369
134
983
623
632
878
31
591
193
83
575
913
395
843
132
137
905
206
743
719
640
940
611
738
12
463
177
448
504
933
747
150
833
986
921
14
301
613
22
426
902
967
769
553
893
218
971
106
497
165
168
497
416
491
842
937
88
723
582
33
918
180
147
832
383
991
421
342
189
181
228
370
983
960
294
320
773
749
882
372
270
904
964
48
326
37
465
462
949
453
127
359
807
884
192
570
488
720
188
238
219
964
243
476
140
631
577
98
30
148
389
604
431
29
365
554
752
784
611
790
382
300
469
941
287
657
561
640
987
317
741
187
357
470
573
94
891
902
566
249
525
479
332
751
621
720
988
758
856
924
953
383
121
298
215
843
672
578
620
651
973
623
442
976
630
569
720
294
480
957
212
401
438
174
563
275
155
521
844
556
565
929
46
484
782
320
60
201
724
81
350
909
151
914
707
998
87
640
913
111
95
977
812
869
947
331
95
577
945
525
13
35
14
331
252
470
905
655
952
845
953
179
953
349
374
758
625
761
889
717
979
961
270
275
842
13
879
963
356
366
482
175
410
533
311
221
605
775
230
442
30
927
664
348
766
837
586
587
957
206
604
453
687
126
228
584
947
69
332
380
209
308
376
562
752
517
233
11
613
207
44
870
422
218
194
378
698
400
420
401
959
763
993
470
656
359
45
338
756
830
737
480
870
248
842
595
575
227
621
368
470
228
827
238
317
43
227
715
553
997
90
873
87
982
296
671
815
587
514
647
723
957
798
96
107
520
739
115
697
347
325
441
73
550
816
230
765
518
989
513
608
331
741
946
630
628
261
779
400
576
19
158
559
193
232
385
692
864
560
453
173
37
79
325
677
11
843
995
566
709
885
755
602
921
730
76
431
209
98
889
346
842
120
602
50
254
349
938
160
33
306
817
304
777
894
293
651
628
431
663
706
469
609
460
698
197
125
809
125
365
771
799
960
436
104
48
658
83
265
425
266
339
95
143
557
215
241
739
348
126
728
306
654
326
858
906
973
544
727
382
716
183
235
728
560
352
202
608
310
650
599
887
463
916
76
115
837
484
89
96
42
329
864
190
198
750
5
746
259
587
567
150
633
239
632
473
676
787
886
907
258
160
548
957
152
400
86
91
874
570
569
955
443
859
281
185
52
409
985
330
226
107
506
250
365
536
450
593
662
975
931
306
414
947
310
799
654
341
879
886
66
158
909
6
97
905
170
349
754
653
992
92
52
310
198
240
994
696
101
404
778
842
297
514
114
933
506
36
74
438
545
807
951
853
559
470
728
118
831
11
964
566
992
674
844
273
892
303
41
434
780
170
857
882
713
863
484
78
701
990
171
13
86
728
517
21
419
73
563
890
832
880
551
82
142
859
158
149
180
558
829
911
553
227
766
337
340
582
29
913
984
185
791
787
726
193
574
992
778
390
468
396
554
929
628
919
775
482
192
288
924
991
554
836
873
12
365
427
819
963
609
270
661
176
839
826
427
656
504
678
956
73
951
411
633
865
937
581
26
507
815
751
265
165
746
992
759
57
645
572
370
604
423
509
933
197
644
249
814
62
972
35
418
670
600
825
841
202
78
296
196
442
694
780
693
400
4
5
842
194
26
118
477
994
304
642
928
315
369
349
971
877
911
337
60
574
546
135
56
739
963
268
621
601
172
987
663
481
346
980
414
816
822
976
696
655
897
967
659
201
922
216
162
349
714
48
214
144
116
989
411
577
235
276
830
148
203
919
26
905
541
124
789
142
740
518
494
918
175
584
271
892
435
359
455
230
558
280
115
211
567
250
219
51
887
611
366
678
235
123
73
818
430
429
885
187
796
577
943
772
758
204
588
348
651
698
408
467
759
988
458
828
833
922
47
767
572
25
968
753
797
870
434
904
501
539
631
395
595
691
503
660
519
919
870
984
161
738
438
754
562
237
808
720
546
592
292
487
897
76
262
142
552
87
110
600
211
974
753
708
744
261
799
910
49
608
252
221
318
113
367
871
834
577
577
402
831
707
68
165
383
255
318
334
399
431
966
411
478
486
128
167
776
685
142
964
708
177
32
156
395
764
913
667
762
83
564
321
727
362
804
361
495
69
808
698
783
626
994
944
207
213
24
307
277
407
849
726
756
126
761
371
917
997
349
406
697
712
884
999
679
501
59
898
300
123
285
407
173
396
66
347
550
938
626
597
683
627
368
79
82
567
478
688
875
183
163
165
803
526
807
761
802
170
576
328
36
503
111
413
738
727
792
166
810
607
579
892
345
185
825
825
954
180
893
412
178
79
870
134
822
566
11
536
440
602
446
806
211
613
557
490
756
377
966
54
57
509
297
114
233
997
421
301
529
178
135
144
832
745
79
292
463
452
385
201
441
53
592
584
445
989
489
219
696
516
732
186
221
513
327
371
913
143
177
296
261
258
203
971
263
159
326
470
504
865
333
614
269
316
74
809
5
429
6
412
286
330
969
647
42
268
148
833
56
166
781
223
67
541
232
116
347
772
843
73
716
79
58
343
715
427
615
645
89
86
261
840
250
251
837
272
894
458
727
636
882
659
557
730
578
577
746
67
232
211
553
213
39
434
392
909
947
45
297
374
487
504
128
852
183
303
687
202
556
498
286
843
122
927
286
525
396
59
717
989
973
857
571
46
531
765
780
742
207
309
687
758
694
964
482
469
75
23
26
154
683
565
885
565
589
86
21
773
406
771
342
272
416
955
89
300
325
319
274
950
246
729
576
918
65
847
260
321
494
871
55
814
130
593
373
270
200
781
840
157
472
83
491
893
70
880
257
59
697
892
396
684
838
80
296
443
540
384
37
180
930
360
965
227
447
702
642
215
288
510
348
339
365
995
440
390
268
932
680
56
490
63
369
764
91
557
15
30
892
51
489
272
294
674
877
472
392
776
44
634
725
299
274
657
132
874
40
388
417
127
180
396
163
505
72
837
605
987
676
185
367
148
264
506
430
70
967
451
133
490
246
884
715
290
338
716
668
27
417
595
759
36
662
415
962
580
8
16
263
878
862
871
334
141
195
650
940
350
613
779
422
36
453
772
156
815
63
413
439
839
795
982
356
839
116
241
292
359
11
66
995
611
271
604
950
925
574
128
76
22
229
715
754
651
506
553
612
597
573
845
596
410
404
665
557
940
99
918
959
739
556
814
959
425
656
919
208
746
167
687
735
375
350
841
276
687
676
578
836
417
253
741
123
464
852
288
566
755
563
740
159
729
468
775
817
826
172
687
166
798
61
31
867
618
380
337
277
520
548
803
542
345
661
560
236
991
570
230
967
172
849
71
572
352
943
468
809
617
398
420
683
852
471
483
399
114
265
467
403
33
496
463
771
280
850
293
50
413
555
807
220
948
865
852
599
738
935
444
642
278
83
526
294
448
58
155
428
343
930
271
618
546
531
266
254
527
692
174
285
145
20
841
328
260
662
694
614
247
144
438
737
177
868
190
34
904
623
443
567
297
41
722
7
770
576
652
866
986
583
560
888
40
883
615
432
354
305
303
900
589
863
486
15
787
806
179
521
264
798
489
959
280
240
645
958
387
194
206
391
795
813
756
940
406
340
782
975
125
518
550
182
227
971
238
983
497
295
334
215
228
129
763
914
269
213
584
243
841
369
626
247
870
536
565
482
953
83
782
40
854
841
770
575
678
277
869
337
866
511
341
597
897
790
617
445
792
813
149
917
884
842
770
290
334
283
319
84
50
108
365
255
607
157
378
999
503
44
970
135
769
642
450
559
705
464
941
75
546
343
138
555
292
675
56
140
175
721
289
48
739
302
736
144
884
368
976
838
332
495
108
142
192
596
971
916
26
527
228
173
995
582
777
734
960
760
267
83
434
853
499
905
867
191
416
989
427
120
176
581
308
404
968
405
630
303
36
345
655
538
450
171
788
278
281
169
906
194
646
574
456
386
330
695
761
348
854
997
688
676
664
517
170
977
267
518
168
167
823
25
729
795
620
269
759
559
563
860
74
696
221
971
126
19
798
761
243
430
630
250
273
726
805
728
117
434
19
527
839
6
905
630
996
714
471
976
978
795
941
358
79
241
644
654
335
698
775
865
611
416
816
348
5
217
535
901
11
976
977
479
33
218
422
480
307
83
768
653
411
877
305
366
199
853
212
290
87
924
43
986
204
424
797
539
457
395
536
203
307
218
142
566
89
814
425
390
647
997
333
336
377
332
538
584
629
409
359
950
156
679
940
903
434
216
286
195
730
41
341
661
919
863
602
270
42
645
851
89
371
313
857
714
898
689
476
363
940
603
357
148
381
558
601
29
695
367
48
445
115
73
324
460
459
542
362
491
879
375
313
953
871
590
105
490
698
338
8
338
646
579
451
213
977
151
702
748
760
353
781
339
197
667
196
244
593
973
406
940
509
654
316
953
554
79
259
769
434
518
683
577
348
119
686
120
412
275
137
399
49
253
767
382
700
901
359
899
554
124
171
185
273
739
642
384
477
166
86
717
993
176
759
586
265
133
685
211
327
141
489
364
374
87
840
635
461
46
613
445
981
167
536
171
757
1
915
907
19
296
757
783
130
696
618
105
545
306
112
721
975
257
408
988
367
858
316
543
9
533
899
684
324
643
156
317
521
897
246
703
996
281
672
710
805
611
925
323
556
288
844
571
778
663
165
990
714
349
674
439
723
392
842
247
493
565
883
345
364
804
943
760
49
226
162
796
960
308
772
829
650
771
972
558
645
221
682
162
14
585
637
674
545
745
548
970
711
993
291
824
124
618
716
140
936
751
448
981
924
826
884
724
528
163
527
262
79
172
682
141
346
811
809
451
191
409
366
64
791
165
37
344
733
304
71
893
547
906
12
209
577
527
89
391
153
585
238
607
576
89
653
806
527
644
623
248
973
539
430
554
310
619
415
801
683
873
72
119
778
242
811
851
707
124
909
417
890
311
908
177
579
263
922
199
751
259
290
355
15
770
814
118
828
815
740
71
120
32
322
307
442
289
353
564
85
302
21
237
474
736
815
794
126
60
877
255
973
718
698
603
258
752
627
799
243
554
502
591
198
642
483
530
509
200
868
211
896
185
213
577
898
99
778
582
11
26
236
594
721
845
207
487
392
927
982
893
187
493
741
942
613
476
206
86
238
600
977
346
71
74
528
3
62
927
393
401
669
753
429
477
834
160
707
964
507
842
171
757
8
519
927
253
700
594
834
97
143
622
844
636
459
471
705
789
533
314
52
792
146
587
261
392
822
812
348
262
654
408
920
383
155
316
514
672
995
671
423
408
389
500
804
2
395
581
81
362
819
890
388
908
562
94
728
877
7
419
986
732
162
601
112
414
955
705
114
556
249
981
182
317
94
724
755
506
330
380
234
906
381
437
15
557
592
677
183
270
616
919
352
406
571
815
371
318
540
530
420
535
253
193
861
430
523
515
438
732
90
188
8
698
996
759
365
395
191
261
89
175
766
567
282
221
55
29
590
29
853
702
848
830
375
604
426
137
658
748
395
603
436
244
782
714
641
781
706
538
329
137
222
904
895
980
412
697
951
113
553
646
614
356
496
288
401
626
472
548
589
723
918
296
61
933
972
623
674
296
470
145
178
382
173
620
878
808
562
969
293
761
976
575
791
622
511
810
493
591
28
404
15
404
494
102
855
835
767
530
555
810
738
67
462
645
948
241
907
11
434
275
415
697
293
520
739
509
180
936
2
240
445
524
26
891
359
401
309
169
155
978
530
30
890
382
107
132
235
342
22
165
911
877
844
951
783
315
30
357
725
731
95
79
86
70
543
470
73
284
348
647
9
250
636
137
900
674
129
112
53
906
172
592
618
563
954
978
515
922
828
214
921
102
977
273
310
612
461
859
947
665
179
617
610
181
92
508
972
230
336
323
873
86
343
198
765
609
746
324
884
272
606
452
966
676
77
69
847
320
642
856
379
84
206
752
116
120
133
714
758
563
174
382
550
517
608
773
502
918
581
78
805
268
752
412
180
807
723
599
76
510
864
412
795
436
456
99
742
364
474
18
17
94
732
471
889
378
431
957
819
150
469
698
7
800
360
602
265
760
752
147
408
735
271
684
77
405
453
951
836
856
542
838
783
185
398
837
272
327
518
78
666
784
631
856
190
221
345
255
731
250
333
607
990
889
372
502
402
866
255
587
168
492
523
857
871
873
571
632
51
611
433
37
913
851
514
636
82
731
46
612
982
655
118
303
888
663
189
398
903
136
714
821
190
655
984
989
43
295
997
144
8
228
798
835
427
738
254
887
650
686
630
670
563
852
680
653
802
826
827
915
860
232
624
120
521
720
110
688
444
710
999
717
587
828
899
192
992
983
79
811
376
507
867
100
523
242
631
564
813
885
36
552
550
648
449
818
794
240
563
733
47
831
878
23
736
891
178
452
966
975
888
999
131
608
904
187
781
800
901
363
477
40
76
304
63
277
767
475
206
338
503
614
139
472
323
778
62
74
503
368
289
661
816
811
806
681
809
278
564
858
108
403
624
77
352
825
97
991
527
147
782
592
160
206
391
972
108
714
472
104
753
982
994
121
212
319
858
295
396
80
806
584
862
175
89
102
421
219
363
260
362
143
357
902
698
82
41
817
139
159
591
571
49
376
382
395
736
103
155
786
507
894
752
111
589
891
695
526
389
33
991
526
212
175
184
432
744
801
621
86
351
416
818
208
163
88
958
818
848
60
344
725
396
870
718
430
319
865
63
431
469
724
830
536
557
160
222
325
379
827
792
350
745
117
875
822
12
524
441
651
126
743
713
476
937
10
790
325
303
133
475
680
719
342
78
361
48
841
904
79
448
88
609
725
117
581
696
664
811
166
558
606
32
501
673
587
366
104
724
19
942
872
606
735
227
531
279
884
993
129
17
26
349
887
189
4
194
80
760
39
1000
317
650
245
878
770
589
397
140
940
376
420
636
505
409
316
104
13
723
518
256
403
657
159
347
167
212
701
361
426
740
894
833
243
577
236
604
913
473
467
574
719
303
181
642
125
429
23
952
943
368
360
133
356
34
421
717
891
475
913
961
65
703
679
888
403
423
690
431
366
851
686
805
173
569
84
310
660
466
759
747
715
83
704
65
229
611
552
59
769
85
801
190
139
476
963
928
960
103
296
250
266
69
926
516
738
573
726
434
212
70
989
848
748
231
40
275
897
306
161
293
707
961
591
442
816
845
794
881
705
80
726
961
177
642
471
982
405
776
743
645
12
355
714
659
534
237
552
328
572
642
865
310
980
985
547
441
369
186
483
980
550
690
682
150
270
764
276
155
403
997
649
94
163
426
59
909
807
442
740
845
561
643
62
1
585
520
861
704
16
450
571
145
696
431
505
543
169
737
397
363
226
597
758
423
490
571
705
305
604
456
12
284
102
436
99
230
779
679
156
189
415
375
995
915
329
911
476
711
464
596
466
671
449
756
322
125
498
668
587
15
61
699
119
163
257
954
668
954
269
75
872
945
970
518
672
221
200
884
675
397
944
912
764
676
150
450
611
235
901
530
245
374
751
975
998
939
85
971
342
124
10
132
146
130
775
853
943
104
657
219
113
284
943
127
41
770
580
251
154
236
95
296
136
897
78
314
582
218
456
58
879
604
172
531
714
23
512
220
802
504
180
562
692
477
816
652
271
510
682
680
153
58
661
482
25
813
467
374
577
638
171
965
567
639
574
549
406
765
800
91
124
455
1000
601
90
70
195
757
393
275
410
906
964
248
669
703
975
680
880
350
244
131
939
851
743
871
258
854
435
219
858
550
965
721
5
533
273
988
479
180
345
497
54
653
799
747
917
251
403
647
948
564
292
586
691
755
756
411
225
154
215
235
362
282
229
460
671
840
162
484
973
27
323
128
730
367
872
556
657
202
756
719
90
930
296
110
271
886
991
48
509
318
364
793
132
817
71
988
71
370
698
980
158
752
478
939
461
719
791
529
458
730
14
105
336
970
339
302
489
435
829
819
174
662
978
896
861
590
475
47
357
176
426
580
378
536
220
659
776
266
419
964
895
5
704
652
757
667
458
589
47
705
644
969
530
235
885
686
991
676
151
830
26
253
970
40
191
292
833
44
550
327
75
569
230
786
203
296
832
649
901
745
936
704
372
225
885
866
820
30
48
822
442
305
169
573
808
453
645
848
439
500
8
179
444
87
616
720
763
580
550
369
397
235
216
529
350
824
540
970
146
607
560
459
231
667
935
482
942
905
561
859
545
908
406
530
302
274
212
574
813
638
339
981
473
119
473
331
1000
878
395
114
660
446
171
666
258
362
47
755
168
884
887
837
390
707
504
556
448
491
469
695
570
812
973
945
937
112
68
906
898
82
140
955
882
30
343
601
231
942
137
87
291
413
893
735
153
711
616
682
429
255
89
217
78
148
476
175
993
953
314
693
524
890
815
503
725
174
551
859
168
635
707
162
404
761
983
524
308
959
466
563
597
638
357
692
75
297
719
605
367
815
932
570
301
5
409
32
124
56
467
244
961
306
197
768
420
637
335
57
597
564
842
1000
868
400
872
947
804
64
840
611
433
434
718
304
373
844
389
418
890
984
67
250
972
39
907
786
534
373
344
797
810
364
687
626
11
260
881
602
371
750
671
66
386
957
576
303
48
293
802
223
370
571
494
102
141
301
317
529
758
924
16
848
682
648
735
421
527
814
502
165
731
198
843
869
307
352
30
414
87
943
400
466
733
899
665
664
435
988
991
193
172
495
926
140
479
623
757
901
269
429
516
2
354
902
95
261
830
213
826
235
511
604
271
24
583
577
432
687
307
826
211
476
204
17
86
51
52
183
548
193
593
14
388
368
675
670
591
891
565
925
450
595
665
661
929
230
306
451
450
378
29
97
37
679
537
198
443
548
889
229
912
383
189
5
333
993
151
716
952
751
602
692
711
309
939
783
306
507
461
315
461
647
321
880
625
88
649
49
223
359
496
85
921
740
817
199
816
197
747
215
451
520
309
951
403
624
657
254
782
511
2
125
534
771
915
121
843
62
737
340
216
213
192
987
194
304
122
749
779
393
232
852
665
158
590
907
117
655
420
213
882
970
599
306
86
611
611
849
438
425
15
656
392
797
31
193
431
760
780
659
357
494
467
450
149
100
580
216
788
934
609
89
799
376
22
601
540
923
193
624
156
491
659
84
691
71
580
551
152
333
280
630
849
918
430
346
268
198
393
651
598
524
29
28
694
907
445
34
444
874
727
414
625
509
73
46
911
196
745
16
150
424
583
848
191
843
227
40
829
874
462
986
211
970
139
461
376
481
816
852
643
803
69
485
744
736
257
764
462
909
697
857
876
247
116
686
395
136
47
250
244
391
632
347
144
182
944
295
156
30
616
93
76
130
469
918
804
362
521
879
19
658
380
618
816
465
183
166
897
240
449
42
403
528
302
673
783
924
914
272
474
656
939
428
501
852
766
186
710
217
699
361
740
308
238
984
900
95
662
665
934
146
777
435
750
526
187
535
361
727
2
53
658
718
346
350
910
863
134
998
712
369
241
678
246
901
905
630
776
891
119
548
676
536
664
791
305
18
518
856
913
824
720
162
742
174
902
903
747
864
427
934
567
295
139
556
656
757
91
573
769
518
231
268
942
868
930
223
175
513
414
310
735
361
293
327
559
298
857
987
699
660
478
494
365
475
92
202
737
744
750
313
876
36
76
144
276
518
109
390
316
116
189
787
565
931
77
308
53
945
511
92
477
561
812
543
411
680
218
154
36
69
926
86
658
120
106
936
978
469
425
496
332
946
630
361
849
719
842
26
847
370
215
770
857
784
106
218
784
629
868
152
742
767
703
118
548
241
555
377
810
894
240
55
653
353
462
429
76
554
851
101
75
360
444
385
799
153
489
920
94
477
245
498
322
428
733
843
662
871
278
919
145
970
316
985
791
171
18
741
381
563
3
35
284
392
248
882
893
261
819
89
440
559
125
920
201
633
26
553
83
776
554
575
435
812
387
661
318
84
736
122
779
635
917
760
896
55
716
801
50
144
795
956
128
704
878
386
70
432
819
161
571
933
938
103
455
319
956
756
463
622
761
197
695
891
482
557
83
660
743
81
722
835
169
719
340
847
331
823
825
290
81
760
315
512
807
497
13
146
437
575
710
870
399
436
831
103
256
207
51
207
479
20
646
40
912
47
708
460
803
648
763
460
594
61
654
206
507
509
705
257
248
225
449
367
480
470
480
671
793
767
912
732
683
41
914
770
203
65
269
534
230
166
464
240
736
893
512
577
335
345
479
934
931
346
35
205
252
698
807
377
1
56
468
844
956
908
221
44
887
812
330
319
1000
311
771
664
204
55
351
575
375
598
757
907
307
604
634
974
441
561
31
299
329
885
531
869
44
486
9
50
141
39
312
888
311
520
154
401
223
62
215
627
314
668
697
267
360
727
638
189
743
944
229
175
734
321
279
588
573
576
578
929
14
400
634
579
343
888
725
860
888
528
986
786
509
290
78
734
299
996
863
131
655
224
642
662
906
570
583
596
942
799
703
618
657
112
23
46
924
218
143
475
759
440
451
309
612
696
475
572
656
823
439
851
793
412
290
907
870
353
863
603
741
40
951
13
943
537
488
222
70
286
567
388
192
657
266
105
851
621
763
613
72
811
824
112
432
965
436
138
1000
790
908
69
510
867
916
448
833
415
287
498
906
455
197
440
604
872
687
288
995
22
544
105
934
992
942
754
114
229
320
514
4
193
53
733
962
38
205
267
944
451
22
707
154
748
386
292
33
211
23
911
309
495
690
647
800
471
328
546
385
851
824
279
648
745
425
235
862
832
113
473
155
958
633
442
532
255
937
198
464
95
136
981
649
121
954
626
32
404
361
878
516
989
481
92
818
990
932
162
843
567
799
118
61
31
420
143
839
281
966
496
626
296
727
452
975
367
149
860
808
201
65
412
257
323
570
193
289
50
643
64
780
530
193
511
873
47
396
647
15
524
545
150
214
792
147
345
608
238
344
411
434
387
612
202
15
582
83
72
596
261
233
338
87
76
473
536
704
631
574
71
314
850
796
147
913
597
944
829
293
390
378
498
475
781
650
312
586
860
107
39
28
789
47
200
173
340
65
602
907
25
533
510
833
612
790
641
112
839
654
990
764
576
353
434
583
583
938
167
429
395
404
358
109
305
747
780
998
610
175
160
270
239
145
11
776
719
813
759
808
190
877
111
284
542
233
13
344
334
985
5
166
106
392
344
674
155
597
633
745
710
24
431
364
102
869
350
742
957
497
541
833
852
10
490
210
204
131
347
43
160
753
904
853
663
624
894
629
195
751
403
957
895
774
648
252
639
326
415
587
960
480
559
878
691
562
578
865
593
575
787
638
687
488
346
882
384
405
751
523
604
207
305
554
608
830
1000
784
699
699
303
961
606
410
825
105
678
891
494
68
395
124
469
440
744
184
279
293
213
158
240
263
862
819
191
293
309
463
379
994
154
261
442
38
954
442
763
987
946
998
714
166
85
701
272
318
192
569
427
92
214
298
213
910
2
854
286
840
359
333
634
265
96
82
56
42
990
641
595
751
915
87
165
688
454
612
251
720
366
66
575
868
35
383
632
374
377
139
842
716
298
921
379
163
500
848
523
256
269
540
769
66
377
470
16
973
413
291
456
404
729
874
309
605
711
845
175
501
213
118
52
175
851
821
715
544
112
181
448
590
739
85
22
369
766
300
324
340
442
713
271
519
716
556
388
20
846
896
679
842
794
495
626
740
962
604
110
520
741
319
648
528
629
999
758
462
844
141
911
229
499
812
446
985
474
302
568
164
395
620
386
249
977
404
290
531
878
873
654
344
177
543
375
290
449
344
585
193
377
175
12
999
591
377
706
124
839
155
802
833
843
628
494
859
566
529
623
98
586
852
297
439
514
244
808
190
609
527
926
76
392
564
744
616
343
231
553
763
940
113
20
311
361
214
822
221
219
85
586
924
204
518
376
571
531
183
346
625
419
884
575
941
936
714
714
86
445
933
783
643
801
392
976
304
397
105
547
880
327
71
160
726
141
671
102
820
543
384
688
109
653
726
7
398
719
840
524
261
994
465
103
884
957
661
218
313
281
890
1000
927
889
333
886
779
853
892
982
824
338
825
933
951
731
577
39
184
775
691
103
372
289
214
970
55
652
730
995
499
508
14
377
464
228
419
656
120
193
628
147
199
790
134
850
323
756
785
555
183
779
229
908
181
883
836
46
810
102
932
884
691
968
387
280
52
799
393
552
415
621
887
502
429
497
268
557
600
129
47
823
472
702
931
947
776
199
394
973
890
984
844
895
615
859
42
914
687
593
232
131
854
774
584
422
236
663
676
497
797
418
484
544
788
245
799
643
33
919
486
90
786
888
149
932
689
117
619
824
960
880
855
945
864
244
646
61
141
191
295
736
726
806
666
957
338
933
761
161
80
517
232
311
16
587
785
212
445
56
709
336
342
475
752
317
481
498
37
850
279
916
281
66
772
304
263
440
983
86
518
280
382
262
435
66
364
738
939
505
340
503
70
990
427
476
899
534
656
522
759
706
665
121
302
67
741
202
803
33
956
955
647
708
184
118
412
650
597
900
691
329
643
735
331
711
752
381
778
790
459
459
200
599
836
850
556
285
660
557
879
683
459
244
122
879
457
539
491
787
838
685
554
767
984
793
990
455
97
635
312
73
421
319
475
520
264
850
425
793
600
399
421
661
49
184
399
590
426
716
736
898
221
962
451
279
269
372
353
110
800
699
415
505
783
937
183
853
135
432
491
175
697
521
756
378
85
908
465
215
527
779
279
306
565
168
174
533
736
283
738
175
643
298
743
97
782
236
917
580
232
807
257
476
972
850
392
615
10
543
455
631
838
646
746
654
40
774
103
162
717
22
344
538
542
768
717
239
230
137
887
990
45
368
901
54
313
541
141
403
960
825
310
121
811
585
569
855
554
440
608
600
599
481
577
659
677
225
141
739
825
434
25
712
170
254
852
815
750
744
80
987
28
323
553
304
606
713
644
635
278
481
254
901
109
653
413
352
322
835
629
795
502
777
273
676
951
661
475
752
218
329
57
101
837
29
949
804
184
312
873
759
620
528
339
33
884
182
400
682
352
203
971
586
104
176
696
446
254
16
548
504
755
283
420
100
143
642
366
458
300
90
216
346
51
404
3
124
782
915
430
6
213
532
363
871
278
128
174
232
642
464
357
810
884
392
732
778
103
462
34
137
635
779
236
385
305
728
369
440
333
650
763
868
269
616
977
903
618
93
772
43
232
39
468
931
269
768
46
164
1
565
700
224
818
961
328
769
367
625
531
836
324
432
143
63
638
980
47
645
990
319
628
1000
485
218
667
927
759
855
793
134
786
403
404
925
793
143
752
467
477
987
257
877
808
398
159
722
559
707
773
538
585
275
947
962
447
967
890
849
931
610
476
945
660
700
831
988
524
204
582
603
955
2
855
496
618
30
275
334
307
711
79
441
168
98
15
411
948
241
111
308
444
747
103
29
783
819
819
590
360
955
642
533
271
666
41
892
20
774
211
85
379
940
96
483
816
595
961
988
817
69
865
154
913
774
888
895
460
696
413
475
645
896
303
989
941
27
615
925
804
586
863
850
555
387
262
914
597
884
522
879
850
319
593
594
476
574
943
542
227
762
732
307
559
472
753
46
45
191
278
222
999
468
866
682
297
462
697
351
739
707
524
74
864
726
989
730
619
647
259
131
871
665
728
194
815
265
112
935
797
281
767
999
204
767
741
101
683
490
632
108
895
411
866
355
692
190
534
85
967
144
311
206
662
503
876
607
276
415
710
206
524
409
256
127
702
717
228
17
254
601
135
894
346
757
592
736
902
431
717
272
173
409
192
362
22
531
74
221
338
57
271
248
522
20
485
646
112
566
581
542
677
638
891
566
786
234
110
467
295
345
825
125
139
571
497
496
891
259
856
6
851
708
78
128
367
785
893
717
283
739
214
701
23
382
730
971
443
748
320
42
730
426
479
14
981
887
689
446
606
524
765
802
800
928
396
984
812
757
261
261
501
71
891
529
264
731
479
561
256
524
190
321
845
719
647
256
477
772
25
109
339
579
631
484
241
462
927
921
936
271
199
350
660
315
186
673
751
645
273
737
933
398
689
480
867
468
868
582
318
44
782
415
695
188
187
518
751
12
288
573
313
724
42
20
489
416
126
57
440
149
602
944
248
851
79
306
344
452
244
742
329
255
736
307
980
396
467
162
326
71
116
211
999
133
947
3
181
656
479
623
56
998
333
987
925
749
569
594
408
515
237
228
202
680
337
930
136
485
435
514
593
896
774
835
117
449
407
575
912
939
764
687
742
736
565
506
243
984
237
937
246
844
899
581
485
497
541
37
701
856
542
682
958
939
60
656
433
586
946
222
496
225
205
523
292
983
658
29
543
136
238
589
174
773
959
946
446
263
588
954
867
367
280
945
396
512
146
931
155
179
255
242
953
405
746
615
792
913
393
661
303
226
574
882
377
278
268
417
18
272
770
981
61
554
395
891
523
809
498
676
263
871
596
379
894
138
727
944
972
648
276
657
758
815
739
414
431
740
368
848
176
477
276
786
560
543
910
609
649
317
483
665
741
947
98
100
83
16
775
878
832
897
222
423
194
983
19
115
295
283
62
220
756
280
306
606
655
259
308
6
498
234
617
421
768
727
949
207
212
887
993
61
413
615
322
594
167
628
339
14
318
500
214
336
954
645
186
38
108
540
826
509
1000
294
344
305
696
569
533
611
596
743
395
644
714
263
991
651
313
230
406
390
261
463
539
568
391
317
171
641
202
529
1000
325
975
546
30
9
283
284
70
129
92
873
101
138
88
735
314
677
507
758
676
482
34
92
661
599
981
259
506
202
91
124
169
380
278
281
970
95
793
791
567
777
910
458
434
236
724
377
512
505
178
126
209
590
63
678
477
370
187
916
865
3
541
522
623
801
557
25
57
792
147
781
401
131
54
6
486
46
280
327
457
229
79
582
895
172
797
778
957
434
753
823
464
980
555
783
121
706
159
620
977
335
408
891
826
539
657
656
968
24
968
999
88
684
156
687
738
642
547
270
102
103
760
156
954
433
793
389
59
933
892
431
148
225
798
837
443
120
162
110
489
757
61
925
874
566
893
3
583
123
39
295
23
229
285
267
827
299
892
563
129
509
538
434
470
950
68
619
396
376
172
48
519
980
115
545
881
597
501
122
476
547
717
239
951
572
277
445
989
26
34
66
966
569
938
28
68
137
953
140
946
256
351
462
241
817
265
500
495
641
180
516
171
683
679
997
496
467
97
178
328
429
305
621
404
593
250
927
364
157
371
766
701
353
652
193
651
854
14
113
346
274
376
571
470
590
426
804
210
619
537
37
691
779
182
814
612
7
689
692
678
95
930
938
901
773
767
990
601
46
778
910
521
846
695
974
175
512
49
458
780
371
981
598
157
89
530
132
230
18
861
15
276
101
560
351
825
232
806
613
150
674
190
112
800
676
726
155
43
927
348
233
193
593
959
219
656
909
288
504
812
263
453
402
693
350
272
726
223
997
311
737
398
538
633
741
613
581
522
859
590
874
102
276
977
322
500
74
365
578
750
47
503
911
989
436
851
449
27
200
21
446
531
436
980
708
684
459
286
530
546
296
969
411
180
98
500
374
509
22
219
753
473
384
107
725
149
187
3
212
960
54
83
330
410
686
351
818
277
650
810
101
522
791
701
557
265
180
682
527
39
397
741
78
149
776
681
298
174
388
375
214
709
302
190
976
650
252
986
712
499
474
598
98
900
58
692
685
42
922
277
645
312
911
427
659
141
954
296
773
391
472
938
118
660
115
833
296
523
406
680
171
832
289
406
989
423
122
258
716
266
700
568
639
726
979
690
782
344
5
320
936
842
418
756
141
925
448
429
210
508
789
72
832
983
606
655
642
986
11
918
468
808
385
259
198
199
203
722
398
30
372
392
129
903
10
21
186
283
697
611
165
593
893
543
581
444
751
982
705
157
123
633
315
659
577
658
193
891
847
405
86
130
327
116
677
72
382
49
251
298
578
137
541
176
992
503
597
520
417
367
384
772
33
558
665
985
964
358
88
837
400
83
299
504
888
528
842
160
167
370
345
444
50
436
123
196
282
823
672
589
377
505
464
145
175
219
941
220
468
870
992
537
217
141
106
551
76
579
219
921
476
333
713
501
594
35
20
742
195
215
95
240
712
36
925
200
251
798
646
831
744
566
302
372
976
932
401
272
216
370
436
578
734
607
902
710
469
69
551
385
561
313
156
531
565
340
150
819
673
92
139
331
667
368
376
887
284
872
312
882
178
707
929
562
882
447
501
373
967
954
102
781
626
449
532
709
528
560
992
453
599
997
443
495
854
84
620
796
237
791
128
94
178
694
285
827
667
823
166
118
287
796
468
763
663
695
354
396
509
110
816
667
280
137
725
692
922
298
237
96
616
237
930
676
233
837
75
355
142
56
849
735
516
285
450
961
404
843
460
336
305
759
452
294
636
600
969
189
1000
591
47
927
71
604
922
240
207
355
473
548
629
341
629
278
812
1
572
396
534
379
531
664
330
164
221
603
327
782
322
53
79
626
124
837
565
727
783
170
612
992
646
320
488
434
608
955
224
388
629
342
866
763
742
136
599
156
762
567
837
727
292
357
264
560
229
282
359
762
799
987
610
570
544
803
223
895
201
210
713
476
761
17
698
596
807
850
923
732
612
314
550
669
697
147
958
887
675
384
519
878
424
38
604
194
167
259
978
982
865
482
348
231
232
133
259
602
758
164
356
247
762
794
865
240
991
613
41
964
283
407
4
681
563
46
632
796
960
259
151
155
653
264
241
993
869
203
761
527
329
844
345
722
413
79
109
46
543
624
650
219
981
82
694
669
256
673
378
814
721
122
173
368
786
818
780
733
657
928
976
387
20
571
4
540
741
520
416
922
574
401
145
50
9
362
355
101
761
929
604
394
430
532
922
544
728
33
920
692
681
271
361
277
657
100
637
309
332
820
997
722
259
464
87
952
41
457
392
533
282
466
649
562
419
728
386
724
29
30
596
740
730
576
40
567
564
496
291
588
912
730
945
215
663
488
899
505
613
970
107
849
807
525
282
981
357
577
273
834
952
327
434
442
859
847
560
41
50
421
890
953
873
565
537
168
64
485
137
687
345
607
337
370
527
695
783
996
466
437
508
495
296
697
870
398
868
330
887
664
587
687
769
98
587
432
794
512
592
83
922
645
817
247
380
685
550
335
591
267
840
387
90
665
404
675
218
579
520
274
187
845
796
33
436
967
626
430
726
656
617
418
46
227
361
450
181
491
301
209
93
442
161
467
934
641
623
414
314
728
618
782
157
731
605
735
242
652
472
437
485
895
382
874
580
481
917
743
550
272
209
388
908
702
962
875
514
861
139
749
469
493
994
348
751
752
121
767
365
539
254
87
101
889
73
500
228
777
997
236
594
616
280
557
778
87
928
121
90
951
755
863
580
668
507
556
962
164
254
165
195
897
50
919
595
588
172
122
500
547
432
766
87
44
62
983
808
805
457
68
216
884
455
271
136
436
722
354
436
823
926
7
851
977
461
737
238
658
377
497
43
152
262
383
721
746
664
146
477
714
354
231
98
423
897
132
43
165
620
568
974
77
203
309
884
173
161
705
283
160
791
683
864
243
755
331
398
62
768
234
849
760
966
724
881
668
68
132
910
258
588
165
777
314
233
38
896
325
525
521
782
127
24
983
740
563
277
915
469
149
288
959
546
884
836
45
380
424
139
516
844
935
886
511
808
949
582
662
678
658
891
912
593
773
806
921
326
956
635
511
995
136
276
575
454
605
123
130
464
902
350
480
60
925
375
641
317
707
423
117
106
737
917
680
975
897
86
164
739
579
568
614
650
864
379
67
824
424
984
659
804
365
972
532
807
18
375
998
690
183
197
242
954
495
293
769
71
911
846
422
299
62
533
42
593
513
148
611
909
28
296
403
40
290
520
92
796
768
780
487
431
668
937
326
912
174
895
278
651
773
29
690
512
703
442
311
653
845
880
236
490
414
560
767
277
566
600
323
606
8
88
594
741
477
571
464
782
983
380
30
261
704
290
66
607
670
244
427
522
414
919
147
864
273
557
367
176
803
532
472
337
555
421
570
652
729
982
116
69
693
767
242
114
709
672
95
174
323
928
874
772
24
960
22
192
211
5
109
279
506
323
88
237
296
129
319
278
73
349
264
661
679
877
703
681
986
384
142
306
932
65
777
406
824
763
300
760
545
786
909
939
647
751
97
493
739
640
641
165
490
530
27
699
345
288
827
185
789
651
894
910
912
665
446
684
621
606
269
251
165
747
539
865
603
939
307
219
220
955
6
872
301
563
862
611
206
700
874
553
696
135
120
892
267
891
639
228
984
774
483
669
361
988
415
157
151
736
270
756
902
433
764
430
32
619
388
851
934
571
75
379
87
692
924
445
764
796
166
256
873
236
191
116
414
765
531
513
320
39
603
167
4
719
166
819
944
548
521
327
442
853
790
436
732
918
436
609
689
535
666
707
747
207
481
618
979
866
116
847
11
558
740
465
135
842
945
646
67
39
132
721
841
707
700
589
626
225
7
304
84
37
595
454
940
545
708
11
85
869
801
891
64
242
868
636
741
475
997
661
359
80
586
796
75
329
842
613
233
113
334
162
373
81
663
690
509
448
252
319
207
422
154
121
789
5
530
98
675
905
779
185
90
449
532
840
910
286
442
681
544
321
538
173
713
872
696
421
710
769
640
793
59
628
85
734
973
579
90
699
829
476
658
778
465
379
918
789
434
297
157
663
389
596
103
970
912
417
300
409
90
84
701
729
742
285
160
712
802
390
289
652
267
337
936
719
349
824
465
218
431
740
32
893
102
270
404
56
122
327
857
754
187
542
207
585
655
169
26
600
598
37
652
946
711
860
949
259
159
276
427
27
563
911
868
545
796
54
375
401
318
341
968
616
296
828
755
875
935
920
828
280
165
729
143
511
355
407
184
377
587
202
858
583
823
45
595
631
959
72
639
765
445
197
625
168
89
864
925
316
678
713
309
785
792
880
626
545
2
859
522
90
34
79
808
717
419
711
225
264
246
24
531
532
421
845
131
913
403
472
692
913
501
443
46
138
825
52
931
321
809
277
756
94
452
889
416
638
373
708
40
412
41
674
600
914
751
38
988
687
938
900
74
893
990
250
109
959
932
542
501
860
725
363
639
511
905
742
161
171
875
229
77
870
27
243
829
202
182
574
536
663
754
885
375
539
538
116
383
42
495
923
825
919
47
650
673
336
877
740
902
199
575
735
118
309
361
472
260
250
991
677
945
572
143
238
854
702
82
315
16
884
704
598
392
296
438
470
692
406
925
723
585
276
330
636
606
950
999
474
143
650
751
785
336
385
958
278
973
772
702
574
968
273
120
81
122
857
636
168
55
581
351
65
412
16
455
167
546
597
264
853
170
799
140
643
759
593
285
888
379
439
404
410
625
86
178
184
1
334
576
501
334
65
608
622
628
533
971
177
567
357
913
969
14
834
256
30
305
820
616
392
347
402
260
136
30
105
420
802
191
252
955
867
391
814
354
615
552
844
1
764
771
775
505
731
458
432
802
154
646
555
516
891
643
509
262
960
245
195
574
578
222
180
805
313
486
293
167
623
836
984
550
40
35
40
220
612
316
275
750
842
813
557
420
311
27
360
335
57
789
833
27
864
101
909
56
616
318
379
661
994
507
557
887
945
774
516
433
116
7
470
852
865
33
520
357
771
757
730
42
579
355
419
963
962
385
798
552
414
903
898
653
867
523
433
555
391
796
266
973
132
179
955
438
141
31
550
676
11
285
553
383
151
51
197
449
994
163
256
494
554
509
851
837
802
550
413
462
424
534
983
30
598
161
755
647
124
566
94
660
968
237
880
958
965
883
115
434
66
832
187
970
721
364
361
309
587
802
386
612
257
102
803
196
450
924
755
573
406
917
674
828
642
163
180
972
941
788
296
157
693
168
632
154
586
616
627
787
402
591
451
977
339
818
99
114
262
811
450
171
758
952
10
982
760
661
612
852
930
519
221
450
853
700
268
621
211
740
109
217
734
710
683
28
230
180
568
882
707
721
94
110
892
587
502
688
883
533
479
114
464
42
76
858
257
162
459
876
222
232
472
182
686
192
663
683
333
658
640
642
790
336
804
321
383
81
674
675
462
592
808
236
369
288
841
611
160
784
183
128
574
61
266
841
968
134
268
915
610
994
327
167
742
183
551
517
811
596
18
298
796
801
906
719
624
233
316
520
223
793
751
556
493
959
82
700
121
453
672
232
820
227
343
102
447
734
53
857
554
521
613
153
951
597
389
565
203
899
313
150
606
194
189
620
409
618
400
365
926
387
100
400
40
696
776
498
850
298
642
439
795
479
486
621
536
671
562
176
34
792
913
355
500
36
468
677
451
873
478
297
191
864
173
843
544
105
692
709
908
8
690
729
916
92
442
95
358
439
670
303
310
338
928
827
208
739
577
272
827
260
494
90
306
441
251
48
507
580
577
905
753
864
906
880
551
38
999
825
23
917
422
806
709
735
761
821
126
559
65
747
78
816
964
822
672
242
751
698
126
850
950
169
492
940
959
963
501
44
606
297
256
138
476
86
110
159
528
761
772
1000
57
423
504
908
129
728
201
294
792
978
573
142
433
132
39
174
302
312
442
226
657
527
453
918
891
13
524
29
501
50
153
230
976
831
824
150
368
913
258
824
922
348
873
748
788
875
957
473
446
366
459
137
13
229
14
605
501
817
989
917
954
507
696
327
58
619
935
364
824
48
998
536
775
841
581
900
350
190
52
753
489
153
458
850
162
589
243
861
829
538
841
887
826
882
661
874
970
417
884
180
669
330
539
692
992
382
101
880
596
563
20
21
568
777
238
15
570
700
292
332
864
408
122
707
59
751
517
318
155
713
966
449
253
709
379
593
877
143
354
763
667
278
891
744
206
896
499
456
314
101
59
122
892
291
895
270
640
697
215
779
170
50
34
840
291
415
774
291
529
917
222
554
62
620
78
55
544
165
260
624
959
956
871
596
247
439
283
667
114
59
87
132
544
428
899
150
346
821
397
598
64
436
418
277
1
714
445
628
390
827
220
281
681
957
45
548
461
608
179
103
315
186
873
684
120
216
428
437
512
341
402
357
352
952
814
2
239
702
962
656
464
267
407
488
107
907
294
953
384
28
519
544
40
209
196
727
249
387
805
329
699
682
399
802
865
376
420
53
240
211
952
927
9
227
256
352
362
791
57
672
5
113
37
179
901
708
719
626
309
960
394
438
560
181
932
488
502
129
674
662
555
303
326
813
134
530
466
691
803
287
485
278
108
181
874
295
184
171
382
242
548
677
274
392
535
220
685
260
765
918
360
223
870
942
299
399
135
998
534
84
889
601
154
197
822
93
138
90
440
989
219
836
799
115
960
291
708
356
378
816
518
189
80
593
16
948
430
199
6
812
505
380
809
485
690
816
524
135
881
234
181
646
241
700
766
939
221
605
180
825
515
828
906
446
492
683
575
123
319
857
107
594
778
704
269
778
71
328
100
216
20
885
783
165
953
327
391
371
95
10
845
490
817
820
823
21
42
621
917
636
504
791
414
62
470
376
789
722
581
733
924
611
385
864
99
519
457
615
460
649
436
952
654
262
733
240
399
387
52
893
227
489
244
488
551
697
143
747
123
548
261
988
873
963
221
373
931
777
637
727
210
10
464
598
275
208
608
410
188
31
539
219
908
555
582
18
349
392
377
207
289
277
479
459
990
888
263
949
349
268
900
861
682
941
102
904
476
179
676
378
98
386
576
569
153
721
723
514
263
998
417
519
107
171
192
376
787
860
797
213
328
304
778
169
104
17
940
49
672
54
940
781
545
160
842
662
448
515
871
820
354
671
895
577
370
592
188
738
118
966
684
678
606
629
306
52
284
262
510
464
859
133
899
566
811
899
656
252
879
433
128
102
653
577
419
350
979
548
209
210
308
400
517
996
589
714
715
673
857
912
87
641
733
118
853
12
460
155
58
545
203
239
157
744
84
849
174
865
139
699
242
944
51
129
358
930
513
532
438
448
722
777
27
300
954
923
439
478
637
412
789
869
586
140
309
803
552
661
388
951
48
184
893
187
585
606
634
202
656
806
894
666
832
111
321
462
435
823
644
115
781
274
84
199
812
330
243
82
558
723
856
381
857
654
209
362
466
538
606
972
883
426
906
950
120
252
431
618
376
481
224
776
51
865
770
472
420
29
928
492
456
880
765
436
432
46
174
698
687
532
775
193
402
642
426
600
207
926
431
629
207
161
740
685
528
93
465
821
22
985
893
114
860
496
286
51
687
685
253
68
129
727
801
601
711
313
795
770
882
529
935
249
636
736
312
115
882
303
633
645
449
458
629
720
742
935
334
518
300
636
102
678
499
952
949
634
79
731
506
996
145
39
98
35
839
340
900
6
650
188
297
114
690
716
92
604
662
667
97
293
968
30
520
969
420
789
704
822
778
697
548
823
325
6
107
487
275
892
334
245
234
786
824
992
964
579
497
926
858
371
48
930
759
225
664
274
557
99
390
92
716
607
109
842
845
31
345
832
192
431
207
800
767
607
203
994
463
143
471
505
371
807
309
508
662
392
282
47
520
812
699
107
410
702
654
661
261
928
675
376
158
653
824
227
277
638
72
65
79
703
737
27
53
580
939
545
941
254
420
495
647
812
600
641
652
385
916
643
507
393
865
844
124
894
230
908
369
911
242
140
578
213
726
614
185
638
722
949
115
616
235
481
851
265
93
971
423
910
486
175
651
280
308
624
13
169
737
588
403
517
524
618
888
42
128
710
366
426
975
268
738
273
288
559
51
390
112
564
771
884
770
729
17
816
397
8
131
600
399
969
785
403
37
803
719
706
939
641
500
335
279
579
297
844
944
676
935
841
195
476
101
158
241
744
310
28
837
996
498
388
548
510
666
886
189
777
708
953
433
167
101
867
957
400
998
979
437
969
843
735
33
388
861
760
702
152
458
947
741
870
758
332
689
634
896
914
53
285
398
813
481
770
672
197
721
867
830
597
582
760
443
308
730
887
306
985
403
346
488
264
245
165
891
729
693
341
49
700
379
510
719
588
608
76
455
370
799
664
108
660
915
138
504
8
251
81
950
179
844
717
514
163
7
687
693
782
960
720
27
711
166
361
890
172
866
65
424
297
297
433
881
404
466
564
130
78
70
671
231
779
279
874
433
494
755
608
526
140
632
185
146
453
23
529
850
34
927
265
848
51
948
781
317
953
912
475
384
399
905
242
534
549
717
890
197
531
290
955
706
762
667
873
581
237
556
233
178
786
653
782
445
911
228
611
603
337
899
390
424
772
473
380
477
912
352
790
347
878
741
153
69
469
739
455
543
312
857
182
274
673
494
342
843
520
978
235
605
248
339
243
875
995
483
265
482
239
382
534
291
10
417
413
327
961
486
369
306
881
927
28
859
42
673
251
643
588
140
26
804
956
885
237
861
270
297
583
861
446
205
250
482
827
971
121
992
505
280
465
850
607
236
730
867
809
352
63
531
692
336
877
863
517
681
328
246
683
197
882
985
289
765
663
450
136
663
529
186
851
798
772
148
823
768
575
735
433
391
367
795
580
665
803
935
776
405
690
112
221
803
940
83
787
473
848
963
56
914
149
223
177
358
403
288
957
599
939
264
42
729
685
857
346
588
782
176
697
535
471
43
8
707
31
638
84
999
830
151
238
53
877
144
535
745
580
826
162
552
160
15
424
768
58
68
382
308
716
901
401
889
995
481
260
265
288
279
889
403
468
398
703
349
607
795
872
486
854
51
721
714
698
292
324
430
706
520
880
571
445
751
707
362
700
55
525
71
288
382
189
578
192
836
153
158
121
354
969
848
697
153
807
460
130
885
889
567
944
361
321
542
742
913
957
524
941
514
893
998
176
910
266
30
219
145
245
487
609
229
958
418
76
725
878
708
647
981
527
91
177
1000
781
461
371
362
235
273
759
246
778
25
18
918
440
798
701
499
208
498
223
541
899
809
381
104
283
452
330
381
898
345
850
434
685
996
362
109
352
447
760
880
593
648
583
924
729
963
127
22
702
508
731
650
921
287
833
299
773
171
542
919
275
579
755
312
994
26
989
444
351
708
557
581
754
479
336
208
329
890
913
546
523
680
105
435
394
629
158
582
424
175
786
90
811
229
469
515
76
288
726
659
694
851
538
31
817
995
215
598
332
519
597
786
946
235
903
881
225
18
176
639
444
214
873
593
133
773
804
802
168
501
56
71
971
432
562
511
127
744
308
455
65
910
554
143
491
164
678
566
606
923
147
456
915
5
313
307
87
443
259
114
22
275
615
442
367
503
323
121
683
176
566
656
949
845
777
956
863
123
25
297
194
365
685
562
831
674
437
747
966
959
719
648
268
459
174
272
895
908
694
310
924
117
464
433
152
842
534
748
397
543
504
800
105
110
313
599
734
235
934
271
213
78
412
490
813
462
769
905
827
874
8
556
502
268
395
937
695
532
938
95
71
907
738
395
627
196
272
330
446
502
156
950
656
583
759
619
317
754
18
45
839
470
669
78
191
181
382
172
926
300
612
448
868
580
369
573
941
474
83
576
116
352
3
557
448
510
762
615
804
708
256
954
79
935
744
278
402
250
723
709
990
216
231
304
1
856
661
684
247
406
447
727
637
999
576
332
97
261
696
119
161
745
619
100
348
374
218
773
801
727
872
345
851
577
244
830
611
265
881
328
258
202
630
46
449
442
807
640
888
878
972
925
918
602
607
8
946
547
756
673
624
970
571
686
613
242
60
706
85
829
452
102
26
356
920
936
752
396
894
447
364
996
266
339
713
874
549
837
30
762
790
711
162
567
430
144
721
769
626
174
410
484
711
173
20
496
88
229
830
508
985
333
418
346
948
445
997
666
267
742
955
742
207
1
185
931
299
617
770
465
931
149
764
279
122
718
636
567
212
626
943
447
394
950
255
930
532
936
641
269
361
440
499
304
661
883
272
892
913
988
885
327
996
799
470
203
128
47
434
1000
525
803
390
917
710
491
744
322
210
67
299
761
939
13
113
940
978
92
435
506
955
258
191
65
312
569
383
143
668
307
422
167
40
98
232
977
185
177
6
296
67
360
635
181
125
895
989
408
753
675
38
802
639
859
48
371
20
289
747
575
445
544
202
737
127
48
448
43
678
489
373
951
86
24
3
140
299
321
600
826
635
265
52
781
578
902
923
167
284
163
761
123
864
552
329
515
477
750
229
280
766
269
559
305
78
31
375
858
826
679
625
692
480
39
271
79
572
846
440
370
743
280
324
70
61
577
659
371
91
10
955
717
955
77
103
902
240
275
563
767
463
720
982
842
658
379
376
4
177
780
386
663
654
568
995
308
988
122
403
45
994
897
10
954
170
95
227
893
536
87
706
897
737
731
22
691
392
16
445
916
27
861
576
166
382
184
326
658
891
836
767
431
482
18
148
995
129
457
168
919
930
27
203
317
105
970
373
887
507
990
981
666
482
17
762
190
969
397
338
733
754
233
792
947
224
41
643
101
349
576
823
389
54
415
355
761
316
714
657
643
765
71
323
292
249
646
156
216
917
804
375
184
176
537
581
855
607
987
751
665
363
862
737
559
919
410
111
477
406
36
965
371
69
903
85
471
716
760
365
172
92
398
497
325
16
94
319
122
468
206
328
845
495
775
588
610
893
944
344
683
561
342
128
966
142
140
369
581
783
785
346
950
787
63
961
597
524
651
218
155
163
612
832
237
658
713
790
948
413
919
184
421
724
334
30
805
49
47
180
266
342
572
633
466
487
152
784
95
223
676
307
288
737
565
31
331
658
338
973
535
509
924
649
960
623
443
203
745
831
129
460
707
536
435
367
678
948
373
757
874
17
908
655
333
944
170
913
291
281
125
759
831
132
270
202
480
260
822
946
767
183
341
338
276
864
279
488
803
494
198
198
379
954
325
230
502
601
433
920
5
672
873
318
808
913
904
539
878
378
719
630
484
904
697
607
475
418
82
256
914
780
265
199
903
895
429
183
442
475
722
640
683
493
925
234
775
909
37
277
429
470
931
107
333
813
523
353
229
262
292
932
151
122
48
579
91
920
808
834
633
36
612
508
337
442
89
380
653
283
130
951
486
867
820
424
894
87
701
399
503
448
413
36
978
352
128
635
476
342
341
983
629
611
263
98
545
837
896
586
490
625
662
246
287
341
229
909
6
485
618
627
685
683
845
957
744
486
750
792
971
144
574
848
983
874
623
867
436
96
928
54
961
321
745
162
455
107
832
279
240
715
78
31
355
123
673
470
917
198
394
733
550
463
966
677
319
305
569
327
274
549
781
250
374
992
393
488
816
634
810
810
872
348
918
806
634
720
142
437
394
910
579
214
755
501
100
4
742
208
285
129
904
810
615
346
67
826
845
51
406
742
559
773
499
966
295
818
79
847
890
11
978
181
983
346
457
850
231
451
347
294
491
554
759
652
705
227
87
690
658
775
717
8
483
674
171
585
244
70
48
831
658
238
805
304
869
35
605
383
169
677
599
439
239
690
36
298
370
664
381
125
831
961
80
69
944
246
163
283
940
76
454
572
215
782
337
211
246
660
298
856
659
984
192
907
523
908
768
315
701
392
216
713
696
746
97
673
613
149
838
356
167
412
694
889
697
140
848
744
700
60
323
863
462
748
431
6
718
349
3
393
74
537
733
707
734
322
109
590
132
24
592
305
315
644
93
222
75
642
24
619
140
217
183
691
818
675
783
398
980
478
913
414
979
964
651
746
578
727
168
281
374
887
893
611
495
452
80
898
699
604
428
593
66
764
964
595
515
823
30
287
880
655
828
779
535
352
568
737
665
268
846
279
690
323
319
48
75
315
738
774
245
878
816
913
732
104
424
127
967
711
971
248
368
188
123
647
77
348
574
850
954
970
94
407
847
240
409
320
348
506
872
808
281
275
665
19
539
414
101
744
459
992
614
925
426
1
67
900
499
511
719
81
618
517
609
259
152
994
987
742
837
160
478
998
169
63
792
554
589
128
314
93
463
908
262
794
144
631
699
684
450
485
848
480
647
103
687
620
5
793
167
978
91
864
144
370
960
233
230
891
158
255
415
697
827
181
657
895
107
951
694
886
155
927
351
224
819
110
232
205
695
818
700
262
898
19
855
587
526
696
832
554
553
124
518
901
444
74
542
664
305
85
943
895
298
890
773
29
391
339
862
155
201
177
409
751
693
966
990
347
110
805
315
950
857
757
614
28
128
339
500
27
240
623
282
848
459
343
273
253
756
71
850
548
145
963
144
326
718
494
454
645
689
112
918
691
118
517
948
148
537
92
194
917
671
187
463
845
207
341
330
186
175
936
301
827
857
301
913
79
752
465
433
426
166
13
824
950
407
848
45
414
998
79
181
375
642
31
214
62
311
528
267
271
997
850
676
27
864
982
29
462
100
383
405
957
484
2
68
249
625
626
177
555
729
76
373
623
297
92
163
120
941
81
209
816
940
941
1000
313
63
444
852
124
432
537
254
18
832
611
377
275
658
105
298
54
70
485
24
565
643
596
277
80
276
167
563
400
619
755
334
804
72
745
742
322
433
953
786
178
79
754
604
946
660
407
983
758
998
762
578
74
495
991
464
252
400
93
640
390
538
635
653
220
139
491
504
429
191
569
118
954
405
317
418
956
336
328
765
806
406
340
713
158
163
693
52
257
172
761
950
172
503
757
39
457
20
665
19
301
280
191
727
503
110
116
361
836
36
396
384
146
786
429
640
956
626
538
22
717
332
439
486
370
351
350
69
509
459
739
182
15
140
460
595
266
124
922
275
226
611
661
566
323
48
534
686
679
166
954
987
835
734
444
397
420
248
762
192
439
752
415
360
397
471
749
999
985
24
724
239
311
308
738
928
380
730
890
84
856
407
964
157
819
693
961
859
239
594
212
715
161
679
261
608
580
268
567
325
846
191
758
550
136
768
792
217
319
161
604
243
786
828
748
466
510
878
278
558
493
558
127
681
219
174
226
111
897
395
861
914
238
649
153
83
786
162
589
499
79
270
931
877
170
841
396
572
862
274
922
323
967
593
887
877
785
93
54
225
832
266
756
900
364
506
995
636
271
489
331
804
162
457
967
874
737
624
978
485
622
392
95
154
195
895
709
899
515
490
282
503
131
882
778
8
837
987
184
338
868
517
33
201
90
774
148
964
607
432
48
277
164
967
689
267
239
765
610
35
184
720
228
356
952
218
449
240
292
475
337
940
981
669
552
427
857
911
377
940
961
479
936
713
398
114
311
142
812
514
720
830
452
781
637
231
209
601
748
522
728
341
535
427
681
544
480
284
456
638
222
152
738
581
858
276
862
765
3
39
288
420
304
638
691
754
828
355
939
81
534
335
810
204
906
425
921
881
500
117
71
84
82
465
133
767
641
878
533
310
909
483
656
372
545
430
974
729
277
525
997
540
824
281
144
772
106
882
958
236
920
650
830
754
201
195
758
346
93
589
911
923
867
112
255
561
119
686
262
815
327
324
219
338
454
890
347
4
18
395
546
298
293
157
873
240
352
753
916
497
530
798
892
950
492
889
779
901
775
82
247
493
190
203
762
519
310
273
870
288
338
108
328
862
723
909
511
861
332
27
838
30
27
617
134
67
704
256
759
480
134
108
510
20
356
932
478
75
393
609
208
603
515
604
755
472
525
910
845
192
319
157
164
175
567
522
368
267
126
784
26
473
602
719
951
360
152
133
918
291
814
235
835
819
883
453
590
790
109
52
558
938
394
806
918
649
707
995
872
460
27
806
915
130
974
770
592
544
22
897
914
866
404
563
982
93
247
659
63
208
55
180
175
899
178
671
437
311
289
338
436
206
200
942
830
241
14
598
451
745
973
69
219
906
721
997
822
16
903
843
677
397
274
446
72
774
652
212
111
103
702
691
658
687
925
434
106
394
366
115
248
648
946
369
289
373
244
519
558
78
533
740
305
470
507
902
365
44
888
808
121
826
824
605
78
457
176
121
641
859
409
815
13
504
289
308
880
820
314
767
301
800
295
335
196
732
324
141
979
481
212
99
842
331
115
492
916
206
959
728
960
870
745
453
400
587
941
657
978
601
453
229
894
390
567
770
497
451
485
845
935
970
815
105
578
629
411
409
866
814
967
563
306
702
676
560
551
326
378
416
307
125
958
319
990
99
140
74
226
707
991
846
584
344
485
200
788
931
843
227
318
627
799
207
336
604
480
9
896
844
3
190
270
384
609
634
397
27
850
33
890
97
423
813
656
491
91
179
673
603
424
387
412
852
83
376
43
949
97
725
459
365
28
956
640
730
702
671
699
632
642
933
384
903
67
860
205
555
878
78
307
393
303
189
199
249
330
796
248
117
518
105
754
383
304
207
222
748
782
432
407
815
578
540
257
343
181
658
317
826
936
453
548
1
888
485
932
177
456
33
282
715
603
182
284
574
124
530
256
17
859
447
363
518
88
196
434
567
170
415
488
867
506
988
296
429
735
887
180
626
597
665
654
573
206
954
653
709
709
886
711
723
742
860
187
705
239
389
529
197
590
578
794
277
242
28
758
426
154
681
847
217
734
783
843
651
939
4
588
917
856
305
502
689
590
443
397
967
711
603
950
410
991
982
51
230
94
792
252
836
451
179
311
489
434
745
406
965
668
449
337
301
587
451
777
21
226
763
555
320
931
639
614
665
137
87
68
600
960
208
78
125
326
168
894
681
782
750
741
507
903
81
151
148
656
953
31
137
360
776
197
550
824
346
269
622
75
856
451
317
494
577
322
263
416
454
997
144
98
807
14
791
82
517
407
983
245
570
891
790
981
201
146
169
501
305
58
94
115
381
644
965
291
59
333
25
263
70
881
441
507
200
975
292
141
1
555
472
166
470
418
754
599
972
659
815
795
309
933
565
114
896
214
650
613
385
815
242
553
527
578
63
733
220
43
626
690
6
544
327
30
330
315
928
590
641
203
387
970
197
326
782
216
88
628
757
834
238
416
804
865
987
428
29
332
221
263
891
76
470
443
810
70
968
211
474
775
574
575
953
577
238
86
475
474
477
737
522
518
477
19
375
173
194
531
829
712
57
908
785
180
485
307
468
305
226
775
314
868
960
760
504
895
473
491
774
868
78
146
315
103
797
589
204
727
3
739
572
516
532
595
156
416
696
284
240
586
903
410
985
162
820
71
363
364
588
805
573
633
688
637
767
584
653
365
836
850
469
921
710
442
558
25
566
93
692
821
183
333
447
860
511
646
899
928
911
597
350
315
422
222
329
285
150
936
675
467
864
974
719
915
88
447
378
278
537
369
15
390
175
444
365
267
992
584
632
279
581
980
706
456
673
138
801
96
395
534
399
453
67
473
374
336
649
421
176
791
528
475
255
928
134
96
766
405
211
562
857
66
453
577
363
559
252
506
425
576
196
701
251
609
607
755
506
80
290
293
331
61
412
147
793
429
604
539
441
528
866
946
659
550
132
290
646
99
913
206
26
405
188
64
723
147
510
43
962
950
989
955
949
906
139
863
622
17
907
244
261
917
340
877
12
371
420
587
185
537
358
801
511
44
815
964
190
411
305
333
602
76
199
10
439
741
484
312
570
101
684
257
849
526
908
559
522
55
888
667
935
339
477
746
74
295
674
322
881
490
892
88
732
124
190
142
775
842
27
975
19
998
335
854
191
784
869
449
223
623
285
239
849
108
809
623
757
781
689
611
341
378
212
836
417
198
643
442
771
523
342
532
418
88
249
455
678
266
193
308
419
637
729
766
861
700
353
155
750
795
762
382
683
413
513
919
355
345
773
643
399
833
515
509
190
722
488
145
926
881
826
170
149
46
603
781
748
38
926
555
704
463
702
415
891
708
621
331
624
815
981
400
984
124
34
634
983
584
268
589
677
230
87
193
689
846
986
408
380
409
542
604
442
804
131
831
946
541
428
117
274
176
281
952
203
897
609
648
219
282
682
310
502
429
56
20
387
592
349
314
255
448
917
590
99
245
555
695
527
650
452
458
965
30
588
561
922
420
462
901
966
432
376
353
187
458
954
280
775
831
57
770
23
293
321
509
530
853
608
47
343
786
181
47
902
658
926
433
473
471
942
73
369
993
431
992
164
283
469
148
196
586
891
648
71
73
51
757
791
357
915
847
52
653
228
779
671
911
368
85
292
67
196
164
866
404
937
157
711
353
892
181
829
736
461
4
86
324
65
905
747
960
887
980
686
446
438
111
946
951
293
340
962
685
918
465
277
677
652
72
436
8
994
841
622
130
781
160
371
975
845
756
613
534
47
79
670
808
321
935
653
388
185
377
982
816
745
253
389
616
82
706
303
207
437
128
274
654
653
230
578
319
966
92
153
757
441
945
217
134
746
835
93
944
43
467
990
462
763
606
327
909
620
524
126
600
881
34
951
887
937
977
439
822
874
747
732
794
565
277
515
926
827
572
739
984
728
745
216
47
439
564
34
58
395
178
341
906
576
116
865
294
797
266
624
433
91
631
831
222
992
88
832
774
233
390
320
689
389
877
194
260
705
760
426
322
250
445
827
542
107
307
476
641
424
922
528
668
743
107
844
103
368
298
155
707
361
876
515
577
414
63
970
374
512
6
814
774
400
680
729
145
766
664
987
339
821
345
851
139
852
374
531
40
289
222
518
971
578
35
154
165
908
101
364
495
401
129
11
152
33
298
441
112
984
934
996
538
153
386
735
3
944
846
209
484
755
102
57
837
542
173
576
189
638
510
236
148
531
645
980
171
97
202
832
259
496
396
607
988
682
716
846
261
837
321
597
63
72
642
163
61
748
719
816
140
205
960
633
241
130
171
876
818
552
629
970
891
576
770
777
445
443
401
85
819
962
687
562
909
968
61
936
749
423
118
814
330
163
8
12
611
411
839
875
943
148
290
819
204
828
377
897
302
701
641
930
106
462
896
923
523
294
809
657
326
637
720
576
852
591
141
548
475
796
311
138
232
5
567
318
463
134
7
622
987
576
984
981
362
915
606
621
345
627
79
452
185
425
277
709
92
6
467
800
843
262
861
423
783
876
637
225
467
797
24
199
229
158
278
55
99
445
948
149
375
969
590
553
246
298
648
693
262
741
498
113
457
183
180
998
781
424
549
99
574
128
267
63
358
689
331
428
501
747
437
800
186
80
574
211
510
437
377
444
540
357
945
225
238
134
780
640
989
170
253
284
834
654
568
401
672
486
896
957
244
1
139
966
93
247
346
320
622
15
626
98
139
194
661
258
991
246
124
726
622
820
648
413
661
942
374
852
995
184
139
12
830
716
60
452
899
191
210
892
210
996
177
922
539
565
804
557
81
347
43
545
585
901
364
219
415
529
446
222
406
410
347
893
660
343
715
662
75
168
368
281
901
775
89
617
270
117
423
774
244
796
729
537
783
723
82
804
990
882
276
708
170
291
50
199
493
879
417
668
762
905
637
954
958
98
796
613
351
178
232
924
878
705
703
654
78
437
949
270
902
714
583
101
621
894
313
256
775
936
855
283
469
199
788
416
739
459
977
901
578
168
462
931
908
879
517
636
140
780
551
414
636
483
851
703
753
621
226
984
31
247
436
335
801
58
937
90
137
444
251
358
991
682
535
303
230
332
828
675
153
379
908
25
52
517
706
3
262
182
629
816
216
682
961
445
809
189
687
170
437
514
823
571
134
357
174
822
656
746
98
780
14
593
370
412
444
28
603
339
306
934
136
347
399
304
45
564
234
292
783
722
486
760
723
444
206
564
536
70
15
893
243
802
297
642
951
36
823
290
815
980
35
63
269
989
880
113
531
762
909
499
598
787
701
701
427
715
238
115
637
408
815
845
92
503
27
481
447
359
567
475
330
41
531
614
742
407
701
959
350
604
546
744
143
80
176
873
75
59
366
461
632
157
581
944
653
562
61
984
944
413
293
854
404
448
249
418
435
604
578
310
651
245
894
111
604
180
501
139
143
714
494
77
441
587
505
232
441
382
297
869
625
298
406
999
875
439
178
405
143
862
751
323
876
966
785
664
655
613
516
292
716
174
805
795
522
598
766
722
168
796
187
568
894
84
452
985
394
303
752
215
188
387
184
910
305
627
328
269
278
112
375
651
902
163
305
151
421
78
585
135
9
990
667
799
444
405
973
396
143
237
6
163
966
615
592
779
607
763
825
356
496
905
540
148
685
198
194
645
931
263
40
696
619
413
634
107
802
605
780
592
301
157
647
667
105
549
338
294
297
675
902
347
899
435
319
954
413
19
97
41
784
181
695
133
286
786
624
781
62
706
325
563
911
486
516
689
533
851
644
120
912
903
659
907
18
492
367
618
130
78
343
200
649
360
277
99
754
144
973
828
202
382
153
286
90
116
37
6
683
998
570
95
330
648
809
620
815
744
483
452
232
816
558
507
85
649
256
186
723
835
814
929
149
330
832
821
69
220
798
761
852
989
813
156
53
401
34
407
503
591
671
685
120
280
485
949
505
894
865
730
553
138
42
210
363
271
191
548
93
403
825
152
937
633
228
915
605
931
957
198
94
923
703
598
672
968
560
280
299
258
747
831
399
693
199
16
239
997
260
249
187
461
409
916
504
272
212
974
926
976
559
743
930
813
371
376
496
46
982
286
666
659
735
121
729
834
176
472
686
502
868
474
523
251
694
315
491
3
80
498
108
78
445
889
292
486
845
529
698
709
512
787
763
805
770
668
175
871
510
350
688
953
19
20
360
377
905
29
510
984
276
279
496
134
73
159
902
762
183
364
885
83
388
428
670
908
296
587
260
645
957
297
159
63
30
481
650
693
201
567
86
321
93
709
517
686
104
114
264
645
290
338
977
147
64
467
474
481
506
845
156
255
265
893
960
29
990
433
115
971
686
548
866
954
719
394
17
922
304
698
668
683
208
35
412
642
16
368
678
299
763
473
470
821
493
897
136
64
13
97
175
317
21
856
859
79
516
79
653
575
994
875
189
770
112
482
871
354
444
507
262
904
946
506
888
409
682
706
431
258
148
797
243
114
144
627
260
174
34
628
519
960
416
787
591
950
901
245
453
379
500
429
39
454
616
173
985
733
686
935
514
460
504
614
602
433
617
645
971
867
717
881
300
998
619
343
444
339
118
936
727
99
930
237
81
468
13
814
282
394
257
361
39
194
593
812
666
296
467
166
187
197
890
725
780
948
123
525
860
910
721
765
76
99
138
328
52
256
491
361
124
871
191
362
68
321
513
797
526
450
383
983
226
906
824
428
754
313
164
123
28
764
245
55
344
388
754
754
236
784
529
314
230
60
704
88
777
566
783
976
974
132
167
640
418
707
153
786
740
607
516
83
332
661
705
256
459
671
34
764
888
983
682
22
901
213
303
496
930
831
392
43
139
982
900
882
51
29
473
125
468
950
259
755
333
231
997
632
866
440
925
137
576
965
55
34
952
582
688
940
660
78
266
659
811
113
201
906
997
188
258
988
784
457
557
139
361
337
994
246
700
639
227
189
480
770
729
367
62
589
628
806
644
806
946
731
964
238
737
732
371
229
730
409
109
613
471
512
860
670
36
177
526
369
951
514
639
864
345
167
226
244
232
925
691
560
808
708
549
894
132
663
99
179
885
587
22
327
632
59
303
837
881
396
396
281
935
21
14
945
851
83
722
744
322
681
569
415
947
478
260
892
748
360
296
176
728
860
134
988
176
209
486
512
266
189
753
217
954
890
146
466
946
262
781
592
351
299
155
317
524
661
163
203
47
720
88
229
160
1
846
394
162
343
423
973
429
228
809
969
131
248
436
255
756
355
657
524
540
897
870
72
785
327
24
243
308
406
100
423
319
979
94
761
400
266
673
349
393
498
212
884
505
326
183
975
272
923
661
209
247
304
880
401
666
109
628
83
508
726
495
174
476
751
655
661
231
301
848
228
715
182
806
207
6
76
124
151
977
254
251
357
797
675
655
433
571
467
726
347
588
218
831
542
900
419
883
857
794
858
104
735
528
564
634
696
609
1000
964
527
696
785
759
437
632
534
123
870
250
839
78
242
659
91
973
992
925
106
800
999
126
659
415
464
519
892
547
376
473
802
457
330
625
149
474
517
201
108
407
321
994
571
77
731
901
991
370
61
2
843
535
152
34
208
894
505
423
469
579
319
996
818
35
721
170
724
879
593
167
909
305
181
804
410
275
285
962
858
732
602
814
549
301
708
702
25
745
143
748
203
870
531
973
969
51
561
130
95
95
851
706
985
381
528
38
801
331
800
478
9
230
680
740
226
8
61
867
366
710
449
741
59
878
836
981
990
987
556
950
431
612
895
731
984
715
619
646
25
878
163
127
662
519
4
550
862
51
990
211
81
153
391
762
781
986
685
752
606
423
923
821
392
164
485
685
895
781
665
307
62
628
538
341
661
864
342
641
126
63
530
733
615
302
196
996
786
334
75
309
367
815
620
118
46
463
370
656
388
41
473
596
794
879
513
495
215
567
377
599
751
194
999
111
643
288
232
447
193
223
290
985
999
138
151
509
742
727
978
80
707
501
682
251
915
802
629
324
329
157
708
57
717
443
907
76
831
456
198
291
672
945
503
676
579
660
900
695
288
946
470
623
325
898
491
109
622
7
207
297
512
136
488
119
47
349
33
71
150
72
53
771
687
680
574
471
936
283
922
858
638
394
744
213
493
351
11
160
334
884
674
306
36
102
257
892
414
417
496
695
952
783
406
937
427
862
891
1
985
510
930
805
37
695
898
620
957
863
611
924
562
907
928
936
627
970
162
962
987
923
764
338
225
949
464
973
807
32
507
799
47
879
988
666
506
559
813
327
359
489
88
111
570
892
49
972
491
122
364
126
81
641
418
731
870
191
136
107
986
256
66
402
752
284
443
786
877
343
790
538
821
327
792
237
949
145
872
611
985
230
481
706
991
852
581
441
180
837
378
51
992
777
341
40
674
67
747
603
128
651
823
753
542
249
8
52
5
118
217
245
312
448
871
773
168
414
702
443
853
133
793
859
665
959
994
204
105
532
639
736
963
863
929
422
247
531
355
774
723
294
815
591
90
240
287
949
296
389
382
863
102
615
209
652
838
821
801
65
418
957
667
247
699
832
785
499
515
838
127
602
726
684
132
988
201
588
545
920
785
222
321
832
881
204
294
330
128
835
751
971
261
241
134
726
542
904
879
979
752
453
495
235
734
630
657
346
856
797
341
950
693
330
896
30
528
25
88
136
961
67
201
205
104
917
401
587
690
845
232
91
717
651
947
875
15
212
695
418
310
466
652
716
854
720
456
225
327
327
256
976
403
644
690
309
40
886
433
806
783
52
581
924
380
226
743
905
308
531
748
760
430
293
348
195
445
24
173
280
79
415
133
168
467
725
154
189
49
375
971
594
663
142
551
919
558
206
943
845
44
807
162
232
13
250
650
660
596
985
734
883
313
472
31
296
799
443
324
533
338
894
59
924
261
280
643
267
549
785
568
799
157
199
872
470
164
203
507
816
118
257
578
748
7
933
720
992
577
124
233
256
114
643
934
948
9
638
310
476
154
683
541
482
955
350
858
345
946
769
867
270
682
576
314
954
877
577
136
453
713
845
324
154
66
915
546
462
531
712
740
349
692
818
965
453
499
763
863
542
469
571
861
872
889
399
1000
284
835
240
712
17
876
539
876
54
210
664
682
247
7
943
414
486
992
659
624
765
105
66
699
998
147
105
274
162
870
731
882
871
773
289
168
139
655
816
788
997
622
758
823
358
513
937
884
496
144
117
663
340
624
734
112
728
869
785
902
962
49
928
446
718
925
524
993
281
491
265
79
525
216
419
352
942
546
707
815
6
984
254
562
295
297
971
945
685
497
370
195
494
349
296
897
947
429
779
763
113
1
599
937
972
816
813
191
559
480
806
402
814
618
70
31
74
587
209
582
991
221
631
673
881
84
802
260
935
1
248
843
748
82
209
441
672
232
453
607
27
202
61
767
166
854
556
2
83
967
755
124
865
331
662
416
352
911
872
842
588
983
275
340
709
815
56
203
280
6
401
39
187
340
689
325
181
894
620
958
908
715
346
289
781
190
851
102
89
715
543
232
785
507
373
38
420
719
590
860
692
235
126
891
82
267
481
251
961
90
841
467
898
633
866
701
422
71
662
78
634
883
860
537
135
708
765
960
603
374
53
722
545
508
790
995
790
347
15
365
533
133
285
123
457
597
434
142
856
211
623
616
540
656
854
506
701
544
979
591
357
459
987
450
575
429
796
941
453
571
468
894
699
145
915
121
182
810
489
340
750
203
574
233
364
564
829
454
913
435
618
382
219
482
784
549
129
437
718
645
577
107
865
70
257
210
537
305
745
901
963
499
9
582
78
245
644
137
287
217
917
52
185
691
990
668
176
529
620
174
668
359
327
873
121
923
861
507
217
719
598
709
674
805
464
261
235
183
72
938
588
942
927
856
566
949
392
547
193
834
96
573
636
549
850
922
816
219
649
839
360
150
773
900
224
180
446
701
830
710
990
779
861
246
283
988
523
527
39
765
92
313
535
560
567
52
729
538
669
305
278
292
629
133
407
341
287
246
636
495
295
390
961
136
6
982
777
865
507
686
971
716
660
493
381
891
593
577
747
881
336
481
284
651
400
122
771
12
38
970
947
861
537
345
119
836
518
12
247
270
945
44
647
997
109
448
49
388
715
826
409
483
964
864
978
54
944
451
214
84
34
65
888
768
145
968
298
75
542
737
221
674
936
402
124
12
637
644
411
670
134
3
659
742
234
68
804
682
455
576
944
452
301
512
86
522
433
747
260
556
32
771
61
798
336
517
26
782
934
265
476
762
481
136
911
1000
255
354
937
807
243
481
605
328
288
241
772
546
575
569
343
790
407
692
181
304
711
630
521
737
761
118
321
204
18
437
698
655
332
890
632
34
672
673
696
647
706
472
681
987
248
896
92
726
82
482
686
752
19
24
348
366
289
433
65
144
392
915
211
258
740
106
748
427
614
213
724
174
120
145
649
513
463
964
695
763
39
990
397
559
263
283
942
359
983
452
612
350
944
793
133
636
787
578
483
814
423
820
457
927
832
53
851
561
144
480
966
701
797
296
653
949
791
941
384
906
459
576
910
745
979
329
816
533
274
385
648
649
685
866
161
732
651
826
23
276
836
699
988
140
552
735
193
944
743
490
753
402
229
899
777
353
763
114
114
994
483
38
561
758
536
965
788
235
439
278
646
282
62
629
979
565
457
931
42
694
436
276
431
998
510
250
565
963
427
471
927
857
372
502
957
653
383
772
834
521
857
464
606
54
135
612
703
128
693
294
169
764
888
571
769
860
479
77
105
82
27
494
242
349
831
502
66
777
692
990
58
547
351
324
663
290
376
104
504
107
874
905
262
855
836
717
459
341
881
352
795
248
523
508
742
990
575
452
923
317
433
830
9
128
580
671
244
966
970
305
854
366
972
223
662
169
395
421
960
122
61
617
489
219
822
817
227
349
132
417
682
483
392
33
537
449
862
351
395
594
359
921
509
444
616
533
971
543
708
342
611
184
718
694
853
275
837
525
246
259
988
770
67
135
713
396
448
142
981
691
965
713
850
422
660
405
246
704
459
74
425
330
956
901
616
822
969
803
576
35
209
684
47
235
473
292
371
410
380
137
685
79
755
886
470
230
865
337
792
864
960
202
853
109
590
713
813
95
244
937
612
889
248
250
135
959
545
199
878
619
536
978
648
180
952
725
444
90
941
806
897
216
374
808
561
721
971
176
484
577
209
429
153
68
487
511
449
158
272
93
740
700
642
214
760
423
297
578
314
5
948
243
831
757
131
716
91
933
719
805
873
994
979
857
688
303
297
557
530
56
683
788
595
50
853
437
951
875
128
449
547
916
812
864
685
47
788
67
469
852
440
603
547
403
161
595
824
609
121
245
619
828
947
82
149
36
33
303
301
289
62
523
44
633
689
350
60
881
335
540
493
618
888
685
958
489
901
811
74
77
872
280
244
611
613
452
529
906
695
364
675
648
511
215
122
652
225
762
615
918
915
851
874
634
844
104
243
112
658
28
276
897
491
490
171
727
929
350
757
790
526
601
631
558
985
288
437
832
711
144
867
132
276
143
1000
147
928
943
493
917
224
895
901
430
723
1000
884
179
165
667
9
166
929
326
247
862
286
912
707
895
295
136
334
500
763
386
751
598
662
245
93
445
11
690
756
690
733
377
150
655
276
233
25
118
277
135
69
626
317
60
136
725
20
722
226
115
337
230
268
757
453
645
371
97
871
834
150
925
39
466
894
856
232
758
574
394
262
744
891
323
546
814
584
367
775
49
156
263
320
308
198
931
106
27
817
137
357
182
712
94
207
558
790
818
58
338
46
383
953
411
891
89
774
718
647
525
56
558
327
3
403
236
380
612
417
484
545
324
34
114
153
741
727
148
442
779
183
516
654
864
202
642
311
228
284
508
237
922
397
431
76
784
898
262
30
785
687
803
106
927
832
833
168
246
880
587
245
123
974
648
632
345
423
226
64
318
432
610
987
252
546
821
883
822
591
566
815
718
783
198
63
141
210
372
76
730
392
513
103
914
207
977
334
431
492
991
894
564
637
608
25
981
805
461
893
456
867
990
187
284
171
3
663
681
169
624
995
316
834
646
61
571
175
152
824
316
414
746
118
191
90
987
303
995
653
643
875
90
659
125
78
326
834
947
174
218
707
842
437
595
225
836
481
333
29
514
234
692
795
323
782
189
665
650
723
554
942
843
134
570
627
705
773
743
56
529
164
90
977
696
814
725
181
283
172
920
581
858
634
460
429
776
561
798
713
974
819
682
666
646
813
862
498
942
156
149
149
66
573
280
40
492
726
570
296
383
712
172
640
824
301
204
166
672
870
500
232
262
509
855
610
84
45
339
498
242
900
403
170
250
252
496
792
906
290
720
868
5
480
441
672
180
174
424
47
719
48
133
714
748
781
599
349
174
593
244
933
336
910
229
668
278
433
203
363
262
653
953
509
774
288
194
419
373
615
271
513
178
323
610
672
551
538
812
562
638
284
733
763
968
869
859
446
557
983
334
794
542
652
633
270
391
789
113
785
780
652
191
388
748
464
501
14
416
801
35
306
481
766
782
618
142
362
420
359
156
567
291
381
351
291
72
314
629
346
74
678
623
495
153
533
832
448
260
353
690
106
958
101
729
110
519
83
252
171
387
422
795
66
635
487
248
958
430
257
815
83
871
900
281
177
702
32
573
992
937
123
956
170
526
298
24
941
639
600
217
398
634
674
129
570
483
227
373
325
481
52
548
157
363
269
430
368
747
447
589
739
880
986
645
283
448
263
716
680
669
789
591
328
83
713
507
222
132
973
969
13
238
453
587
644
105
903
794
537
393
174
814
738
130
664
466
703
905
894
389
812
786
467
204
450
319
24
490
588
702
532
45
822
558
523
466
79
971
401
451
452
895
220
106
554
390
249
954
901
443
531
533
863
4
261
281
920
999
827
920
916
993
392
374
239
614
84
786
742
342
147
28
125
959
244
133
967
174
777
203
52
697
153
49
242
29
974
374
531
911
50
958
114
553
927
152
557
994
946
331
26
496
968
375
823
13
492
199
203
35
666
823
456
95
140
618
351
612
973
767
129
676
152
526
85
42
801
570
71
874
379
185
546
958
924
740
572
912
740
353
189
922
332
939
978
1
752
337
878
504
502
178
905
139
191
442
744
109
783
895
845
871
143
485
859
340
588
435
652
701
752
996
798
397
333
416
202
190
326
67
416
482
521
345
160
917
746
206
89
87
349
501
58
685
624
510
889
501
323
590
188
805
261
407
628
929
705
241
990
528
158
956
270
358
959
561
100
839
971
849
872
900
248
78
47
921
639
734
494
423
254
316
117
488
475
419
421
841
77
607
301
886
466
525
380
623
933
26
292
454
633
69
693
458
934
585
972
464
945
998
745
884
638
93
923
422
333
896
641
247
525
393
575
397
993
667
342
499
993
312
654
527
72
320
15
206
633
899
239
805
423
488
705
979
488
829
577
946
814
905
383
269
591
571
319
75
827
218
314
68
671
478
652
276
575
886
921
812
329
637
946
898
240
76
982
82
404
280
377
799
852
23
836
778
387
116
419
120
331
310
907
414
456
126
681
135
54
394
300
169
639
587
1000
719
735
6
518
564
236
755
970
751
934
807
960
282
193
194
178
505
723
157
52
446
412
417
691
806
368
795
813
324
565
781
423
765
702
629
649
282
773
805
179
858
903
203
438
669
114
597
68
81
319
710
206
376
545
13
705
59
597
453
970
303
442
306
468
751
223
464
221
168
549
944
94
742
202
853
100
375
587
680
607
602
390
432
998
579
253
903
347
316
269
539
588
336
750
282
590
920
340
14
257
256
443
306
306
200
322
385
335
845
771
929
389
885
707
499
201
688
721
35
579
121
514
75
631
322
102
268
297
819
419
448
12
649
411
549
495
243
177
95
694
707
595
267
55
925
81
91
749
844
600
901
689
484
824
182
156
918
580
450
27
785
826
376
583
525
783
391
465
513
643
970
138
478
185
363
499
612
703
1
17
620
499
424
138
745
534
117
391
311
406
903
834
627
41
221
78
398
522
710
248
819
589
741
626
157
206
890
90
180
711
805
675
379
923
339
636
514
75
87
77
476
619
564
852
248
125
217
363
360
571
859
686
734
89
751
777
976
514
593
977
352
472
278
175
434
873
27
803
349
220
897
122
857
62
247
898
116
216
601
230
957
541
728
164
746
910
734
13
598
317
855
465
700
555
75
36
577
786
298
233
309
94
129
373
776
193
906
473
584
972
621
387
866
913
246
781
913
739
178
228
621
185
230
457
988
860
526
996
994
259
572
184
880
459
582
951
104
477
739
237
325
455
201
546
654
510
823
923
95
864
479
636
304
470
800
399
906
678
312
329
244
765
375
809
870
718
811
732
810
237
39
428
943
971
807
853
97
155
668
1000
652
463
838
817
220
746
373
249
655
782
312
288
184
324
562
229
493
158
948
163
981
961
213
998
6
50
32
595
225
252
311
450
814
662
855
881
262
947
374
698
728
95
139
14
337
868
944
996
285
571
143
110
114
137
813
414
220
497
138
508
348
280
762
569
418
62
536
912
543
195
785
607
330
894
397
335
810
991
598
19
358
104
936
410
797
318
232
849
786
263
500
407
579
182
976
92
889
825
201
660
570
453
276
951
199
865
862
979
917
704
622
396
344
931
801
858
971
197
504
536
470
82
819
897
901
126
533
983
939
635
395
188
117
612
104
919
762
715
905
287
6
833
506
676
903
931
775
57
764
78
887
169
591
62
196
2
140
896
567
400
628
64
872
994
9
172
665
185
49
980
382
300
438
561
365
395
437
692
500
256
396
22
269
484
615
484
697
188
624
165
539
783
32
770
327
172
245
829
713
739
109
734
38
189
725
75
458
184
6
126
518
307
448
34
593
32
604
497
997
429
244
791
980
995
85
548
822
269
760
574
723
146
766
176
87
515
718
707
410
462
268
513
801
402
147
193
755
609
547
651
599
321
233
124
250
369
109
245
79
845
677
907
765
690
231
587
314
953
711
185
100
832
160
846
718
845
465
933
776
555
318
466
995
303
399
902
93
741
283
188
838
911
820
436
227
564
896
20
197
384
255
468
522
331
416
118
810
342
99
875
618
90
799
166
323
578
552
1
731
489
796
204
966
186
921
348
932
195
331
535
605
349
241
798
640
837
635
282
182
593
351
644
98
857
907
286
184
706
783
875
723
284
720
137
322
248
126
44
598
914
321
412
783
908
450
825
328
811
131
345
598
483
626
520
76
256
738
222
598
832
96
534
886
643
867
925
418
162
71
265
314
657
989
546
376
330
799
979
752
817
364
809
16
634
635
892
86
907
98
125
517
219
395
133
821
96
782
976
724
445
15
475
798
609
490
534
655
471
986
349
107
13
681
732
390
703
389
563
90
387
789
246
255
5
705
688
262
984
361
23
700
126
374
239
285
321
851
34
841
793
824
622
535
345
665
801
694
441
304
245
32
481
577
809
604
668
794
339
779
722
757
857
691
241
609
691
782
880
437
81
968
284
623
210
9
246
187
365
218
928
874
602
555
424
919
781
932
432
893
737
416
448
558
568
751
692
871
551
898
316
543
400
77
503
418
676
200
222
778
882
969
629
603
358
775
23
815
363
336
402
600
764
774
996
639
421
284
150
597
775
64
391
902
893
761
11
82
267
965
307
491
991
445
843
551
534
132
175
323
692
472
859
913
958
129
450
933
449
513
410
828
995
477
733
312
28
734
229
995
850
481
538
337
849
439
601
992
429
568
917
877
457
15
598
622
863
867
254
394
1000
301
421
260
711
514
244
483
187
798
755
603
80
545
128
315
408
388
411
29
591
332
109
554
173
760
129
686
147
315
818
736
146
718
422
397
937
269
934
497
908
187
474
841
114
820
965
991
164
407
731
555
809
829
606
182
477
239
652
580
812
218
201
276
926
360
173
910
344
158
716
857
927
492
306
43
233
438
750
430
252
285
636
899
871
92
906
845
560
421
123
212
386
141
824
750
557
529
145
495
281
194
246
760
255
264
758
275
434
382
658
456
521
502
993
628
46
583
77
191
354
252
943
575
583
672
642
972
634
234
798
468
453
417
287
410
728
810
5
314
192
135
972
324
951
849
306
762
497
200
662
477
33
696
141
179
547
341
5
749
746
994
243
777
486
530
959
657
413
157
395
38
968
434
440
186
822
8
185
462
270
627
564
293
159
725
283
923
5
583
202
59
155
998
604
412
741
477
885
266
619
796
229
666
237
770
463
305
967
738
286
181
826
611
220
707
83
477
721
951
9
299
919
453
565
153
145
576
17
122
304
684
115
440
927
664
355
889
718
188
795
540
450
224
177
234
778
11
800
808
865
745
104
640
823
346
390
300
33
615
816
627
292
29
854
476
686
522
146
468
743
3
610
154
191
764
384
194
404
564
680
654
565
710
31
494
68
374
473
842
683
148
242
94
770
124
533
552
715
695
820
785
714
113
330
643
669
661
965
121
463
281
144
186
552
259
294
926
654
986
782
240
611
440
272
51
411
613
391
102
545
646
103
77
64
377
924
839
32
175
537
58
865
837
449
995
461
860
791
819
785
310
431
302
700
538
702
733
718
145
634
946
732
148
797
452
835
250
256
839
156
108
197
646
317
671
809
74
450
557
74
336
494
340
554
848
415
481
953
920
230
222
479
611
949
152
818
198
906
376
409
564
664
310
258
285
178
755
890
498
223
448
343
367
684
203
294
452
833
673
69
388
866
911
352
680
794
26
262
209
619
963
46
480
31
862
891
33
658
41
820
823
326
734
252
367
744
800
778
815
799
111
388
689
629
508
838
767
508
533
179
14
940
210
618
585
263
232
627
83
58
7
834
112
819
962
948
975
898
859
809
942
507
194
127
729
636
875
159
888
349
153
758
527
595
532
269
465
474
981
496
822
796
555
195
233
907
857
78
364
155
411
58
654
526
285
279
821
630
426
938
486
445
709
721
176
19
760
335
3
462
755
709
697
232
904
373
344
205
380
952
298
261
784
327
437
946
941
377
742
840
585
737
819
389
529
782
353
356
203
101
896
736
153
427
892
106
861
806
288
766
167
277
389
651
716
922
990
594
618
863
97
872
393
372
984
625
234
398
532
325
234
633
393
655
490
75
464
490
451
265
224
180
767
782
364
986
346
534
387
283
449
630
783
730
763
403
973
210
99
853
988
917
867
622
197
274
783
460
845
227
232
33
251
615
271
392
61
909
584
905
740
479
487
59
277
934
460
476
712
96
384
175
177
763
424
928
174
494
356
934
193
965
109
163
742
516
756
33
358
577
619
488
848
854
324
509
204
165
664
18
966
494
799
313
99
730
118
930
779
30
859
797
971
605
725
829
521
7
737
518
333
220
671
66
403
545
877
875
154
321
637
878
161
123
311
881
474
251
887
160
625
902
94
186
657
139
989
629
875
572
4
996
790
186
137
999
650
162
193
270
725
988
118
781
417
404
987
852
275
788
978
999
302
321
458
150
746
114
730
568
104
919
334
268
208
760
996
794
990
667
585
680
401
182
323
777
834
731
766
786
230
219
492
801
971
783
289
447
817
580
352
704
47
780
207
304
915
896
823
602
12
153
297
120
325
439
954
420
163
556
513
411
480
527
580
571
378
687
874
117
958
663
337
849
601
744
462
617
193
762
612
426
164
937
815
836
467
877
11
847
874
693
179
434
926
830
390
637
372
671
931
538
128
138
79
360
692
41
353
90
175
828
181
52
293
324
597
706
222
177
944
674
215
795
161
449
400
358
956
469
337
152
351
879
800
591
916
595
144
133
67
226
458
532
951
924
750
643
63
933
685
308
331
936
641
833
631
664
827
111
568
833
630
259
990
970
78
865
45
817
310
125
843
425
18
783
874
905
753
664
289
1000
163
674
445
726
672
221
557
618
404
355
190
594
844
59
460
542
438
709
199
496
22
700
767
768
618
972
982
917
847
435
262
660
593
758
397
208
508
87
919
132
968
94
643
134
483
121
790
724
825
347
778
933
184
717
186
506
363
963
986
125
481
698
599
249
582
183
833
913
206
784
875
28
41
369
496
829
408
31
234
905
143
915
597
603
387
293
910
799
929
406
411
912
833
545
185
672
953
883
201
844
808
911
232
104
239
414
345
886
938
525
983
208
725
816
241
390
517
834
133
201
191
106
166
580
141
808
388
227
564
505
106
899
286
665
170
536
376
401
412
555
646
498
762
830
650
182
982
409
906
918
973
124
411
15
178
25
959
718
436
311
734
954
709
440
833
709
236
451
292
203
434
950
15
434
299
797
476
765
773
833
468
621
4
244
19
320
133
901
558
266
683
176
347
841
953
348
210
515
838
342
178
738
748
742
325
353
624
865
984
455
382
261
284
378
22
876
223
628
619
49
587
771
556
864
699
821
976
482
22
809
994
776
290
713
84
456
121
293
409
5
9
566
705
583
849
728
355
476
330
453
363
791
213
140
416
268
419
255
44
817
174
159
45
818
230
280
712
700
39
301
110
678
594
156
85
88
279
812
631
218
514
563
350
939
276
746
316
357
326
510
207
420
614
396
820
369
344
805
396
733
375
809
318
873
878
827
344
40
910
598
902
44
592
21
74
406
460
855
942
825
229
597
621
53
578
10
728
644
86
213
728
688
952
149
646
329
678
455
738
916
111
254
722
979
952
642
355
86
467
422
562
526
378
517
125
425
11
892
974
422
580
764
147
576
834
377
173
313
35
824
317
108
204
165
103
922
744
992
208
135
961
650
593
535
28
656
334
553
47
443
572
552
157
306
742
129
585
703
415
398
842
770
26
189
571
826
971
450
275
201
292
565
229
558
926
26
289
891
142
821
209
811
224
754
16
926
307
629
113
438
603
138
832
736
181
205
944
918
336
558
628
256
300
924
603
664
971
522
165
43
252
82
522
890
219
103
480
819
834
136
145
716
702
664
926
635
736
771
877
820
926
172
392
358
903
500
163
538
671
549
313
467
81
923
830
918
825
589
740
546
860
195
120
755
236
566
921
628
589
542
973
403
155
317
572
181
67
272
262
353
921
380
356
749
427
209
538
517
556
582
409
475
130
394
476
572
613
214
468
757
912
619
1000
477
752
118
255
313
604
199
873
282
458
348
664
11
290
647
94
959
359
219
134
131
289
664
51
145
4
532
667
26
216
994
73
383
658
767
853
97
772
272
252
799
648
421
849
202
887
541
345
952
679
516
532
400
96
310
490
727
354
449
143
23
583
764
685
5
21
398
491
488
341
882
507
492
739
333
463
121
637
239
944
416
48
377
469
366
905
396
501
655
486
578
477
941
608
656
97
540
907
392
392
621
292
622
148
939
723
303
10
216
742
569
652
334
72
165
462
705
601
173
562
553
706
773
442
799
812
421
604
946
650
474
383
920
705
633
317
789
287
921
664
209
48
131
793
532
700
987
477
877
487
729
805
933
110
120
271
353
367
410
134
399
356
960
15
272
649
455
401
721
162
163
63
853
143
162
300
428
485
15
170
445
728
327
885
354
177
897
329
379
241
207
366
269
897
149
273
112
279
208
734
888
862
332
876
766
197
232
540
317
661
282
298
349
804
935
992
903
921
776
158
812
174
357
382
62
739
370
3
622
527
266
163
999
800
712
237
841
341
374
952
400
626
710
183
674
837
585
956
502
84
424
141
554
178
610
871
52
936
977
973
22
32
945
608
653
223
563
731
503
218
840
668
718
956
559
261
500
434
591
316
334
384
372
81
646
136
324
172
989
266
455
89
802
844
310
675
777
767
292
448
768
948
849
643
789
884
794
150
850
292
625
605
993
444
782
159
727
450
597
604
929
285
119
138
497
216
588
106
498
639
945
178
612
463
561
95
232
24
356
207
517
655
373
353
336
483
468
727
734
594
458
359
938
356
473
123
886
887
143
859
508
991
325
962
677
118
332
170
514
748
355
663
496
553
426
577
844
379
123
374
841
937
341
152
645
935
944
324
739
279
794
885
652
808
333
408
196
776
323
705
164
217
689
14
952
96
261
685
890
828
240
355
613
605
895
744
927
78
673
429
19
458
98
62
246
293
148
391
567
736
796
454
247
141
372
148
172
650
839
933
348
75
40
332
551
127
269
527
692
899
675
321
233
566
270
589
437
859
140
880
1000
638
796
22
531
965
170
873
117
249
126
636
432
400
166
255
955
649
414
931
336
776
384
277
176
489
279
998
70
280
795
104
451
287
979
153
645
551
525
307
455
467
337
994
891
11
651
152
519
379
848
317
572
321
548
542
427
693
28
987
419
781
675
194
820
887
11
587
178
736
440
564
686
440
958
337
362
25
960
693
958
478
483
995
612
182
128
252
740
315
982
872
164
61
625
563
432
167
631
877
394
443
876
747
956
548
880
307
446
784
425
937
768
22
194
553
462
179
784
569
455
277
922
264
222
760
393
515
296
532
652
403
929
128
373
236
749
485
799
64
255
361
250
165
42
714
806
33
42
753
48
508
846
385
347
389
395
207
532
952
392
554
781
159
218
191
763
906
349
746
442
14
932
547
401
846
566
892
682
254
118
128
197
230
660
222
854
339
321
606
337
90
82
578
852
528
377
979
325
24
162
271
110
18
757
42
687
601
18
309
682
478
375
989
543
318
950
743
690
411
767
52
512
181
445
486
60
867
816
833
622
41
331
709
24
811
394
938
530
651
876
173
604
507
829
391
235
955
38
607
695
92
249
547
792
260
337
222
781
198
843
824
769
831
626
624
720
288
798
297
146
58
221
397
934
526
620
994
892
581
95
23
99
702
359
915
582
518
180
895
590
8
594
115
537
123
378
166
855
406
802
829
124
228
228
952
253
896
815
808
716
527
608
16
233
238
509
373
968
982
945
460
443
771
755
499
391
226
262
102
926
594
507
924
169
839
390
167
1
616
495
629
781
407
999
320
642
22
257
445
888
740
472
492
846
611
595
571
339
294
12
14
526
886
769
871
820
643
584
990
979
582
458
394
575
653
673
176
530
434
517
264
303
992
252
383
615
579
42
49
771
183
938
612
556
166
881
484
548
840
672
29
273
282
296
311
157
960
815
394
609
844
607
577
397
473
34
80
742
771
15
646
946
246
796
965
12
229
928
930
392
985
188
283
94
870
194
828
238
323
262
125
122
4
423
304
915
564
685
231
835
227
67
22
235
502
481
543
989
863
840
168
126
456
730
594
808
873
412
107
88
600
588
426
671
160
65
949
95
791
707
639
540
841
694
341
530
767
821
22
252
233
498
236
417
475
858
819
642
378
532
160
299
495
280
316
452
734
497
693
275
415
272
732
783
628
308
401
97
145
909
96
228
881
985
455
870
134
652
481
71
634
551
332
681
494
185
478
373
455
377
417
481
285
564
985
253
458
849
551
952
958
289
82
717
738
641
391
953
666
753
118
757
964
330
257
909
11
802
70
65
919
552
210
224
964
924
863
928
620
641
89
476
345
180
42
214
953
278
729
825
443
993
459
202
813
886
999
652
673
223
469
524
214
991
87
141
796
463
753
362
286
608
632
997
37
322
767
690
755
451
203
211
71
424
349
21
216
170
601
147
126
306
724
265
76
26
844
168
891
137
347
831
576
711
59
288
134
165
455
980
541
829
935
533
226
475
650
505
300
473
147
400
143
402
411
392
205
159
274
136
856
313
373
606
16
395
932
886
493
510
197
746
543
345
874
955
902
588
688
804
864
482
252
251
615
6
677
312
209
974
80
679
320
355
620
225
623
324
529
912
729
580
366
230
981
705
546
416
453
248
913
358
587
639
767
185
454
19
604
166
380
746
786
685
373
509
407
653
720
792
21
90
314
388
321
117
625
493
668
952
411
419
225
493
113
569
869
237
792
854
79
44
804
856
388
348
853
801
703
228
679
829
326
701
732
986
652
733
410
708
723
116
596
461
431
536
861
192
690
242
53
69
147
951
973
990
106
405
357
693
92
506
443
748
558
524
740
616
124
773
118
624
629
54
274
361
402
572
988
244
329
798
510
861
676
573
10
437
100
486
203
657
568
578
746
163
669
702
686
909
144
366
772
174
853
478
567
127
964
728
394
658
638
709
645
26
9
358
801
533
197
706
397
436
521
722
532
653
991
786
357
799
354
943
99
731
20
986
526
614
453
275
324
100
107
21
833
988
248
122
691
33
247
812
942
278
69
400
781
713
516
982
123
611
889
390
701
754
428
311
961
205
535
929
678
9
355
675
557
114
334
41
299
262
124
995
144
122
457
936
133
784
122
402
528
130
298
542
664
309
10
150
659
964
153
880
1000
976
896
509
722
661
154
940
692
739
926
521
745
426
780
310
947
120
997
558
235
195
584
590
545
268
227
929
537
89
208
273
178
298
358
458
953
868
944
349
556
650
687
528
958
35
125
484
402
753
526
85
271
941
197
513
332
560
701
271
340
200
227
266
22
722
240
71
990
641
932
262
419
926
842
499
779
208
305
189
492
558
880
586
257
573
663
575
565
304
20
764
778
958
673
267
20
152
645
258
253
234
162
233
14
732
382
453
37
115
106
166
2
394
887
624
350
996
31
167
695
561
560
760
381
337
96
250
470
417
701
41
621
47
946
350
943
487
754
514
33
510
498
644
162
395
196
398
834
903
201
954
756
26
883
10
815
74
537
944
256
927
920
837
87
382
844
121
923
915
606
366
218
236
402
839
527
452
33
548
923
359
592
414
722
698
630
487
717
681
231
15
303
197
700
156
548
126
864
480
325
326
225
337
668
536
280
960
581
391
431
41
897
268
148
221
28
111
499
342
477
555
176
707
40
588
486
212
474
849
869
301
157
354
425
744
308
981
253
127
798
345
994
503
71
802
738
636
481
976
776
68
419
265
218
254
425
831
447
16
324
124
494
449
912
824
228
225
408
661
967
360
577
20
107
554
354
860
921
750
856
723
441
396
155
106
485
388
662
138
500
531
734
776
502
589
675
160
633
291
639
617
248
658
639
957
444
807
972
408
366
797
84
41
895
62
694
140
197
539
713
966
459
208
809
919
789
419
95
251
657
88
352
887
139
207
79
893
907
119
243
110
166
848
851
787
602
231
187
667
523
833
735
178
503
51
131
527
557
572
264
109
913
698
965
132
340
829
634
279
901
209
235
154
458
106
103
893
477
528
185
165
22
553
965
540
11
646
277
160
307
423
96
497
548
696
909
572
392
183
375
896
8
409
742
592
287
894
705
819
856
625
448
713
182
630
643
727
529
739
600
553
544
419
403
178
310
954
536
906
375
210
927
271
279
540
46
704
521
497
870
51
424
195
239
637
423
864
112
16
23
937
410
123
61
246
714
296
439
962
399
807
571
232
532
806
365
378
625
109
414
459
981
327
445
753
381
793
893
965
463
359
75
96
844
607
61
408
930
763
707
395
126
602
103
135
936
560
767
5
577
899
404
775
235
913
615
138
982
400
893
18
691
35
700
96
644
168
528
920
55
307
82
362
28
676
505
533
743
392
470
795
555
381
518
745
906
460
694
720
261
764
66
871
481
174
717
490
57
797
355
977
429
356
422
450
414
651
648
598
873
724
854
630
102
95
221
77
840
360
426
564
802
462
185
478
612
676
219
641
10
869
200
638
726
552
402
509
419
385
398
110
391
931
970
7
980
944
899
444
227
673
671
561
971
405
964
299
714
808
189
418
125
121
4
399
304
652
718
99
221
825
220
333
316
965
348
805
550
290
989
195
415
222
401
155
796
861
681
132
565
280
189
296
651
281
659
871
28
279
506
647
466
132
603
295
860
872
177
754
386
971
538
893
890
276
156
494
533
169
827
899
832
943
762
93
863
987
886
799
221
753
146
498
619
596
591
326
741
635
367
231
639
226
551
927
840
355
516
371
334
972
259
744
339
146
537
646
909
161
480
606
39
737
374
766
677
183
586
500
557
292
196
596
859
846
253
289
425
964
631
841
552
291
140
311
739
103
683
330
18
886
732
349
150
901
249
824
223
756
9
303
561
72
905
641
331
167
452
631
455
524
435
545
278
874
33
198
117
336
577
712
109
428
284
219
844
94
625
781
397
649
443
288
618
614
944
516
393
936
922
106
130
996
932
903
511
893
201
956
488
805
588
985
726
693
163
919
286
255
487
427
845
973
313
443
476
172
610
378
471
308
280
907
137
951
726
316
203
82
750
986
419
3
953
402
482
746
315
9
854
290
987
688
249
548
715
755
221
851
788
254
574
906
132
618
218
94
353
228
257
413
859
296
179
819
590
2
230
154
839
420
925
59
300
977
130
123
98
312
716
742
219
673
312
759
386
131
729
699
1000
846
569
947
377
158
917
32
432
520
212
312
634
756
698
320
155
120
138
917
158
73
210
298
930
269
815
230
737
996
960
199
403
193
38
1
270
857
132
364
968
566
268
87
808
785
305
838
97
404
702
666
342
12
299
444
347
356
413
834
434
839
955
372
522
791
843
428
702
355
231
391
655
907
261
199
783
857
383
636
214
44
69
559
185
439
464
538
428
525
530
801
191
832
268
291
21
154
65
45
574
277
466
362
99
181
492
449
621
953
662
116
689
397
717
201
62
524
883
367
570
260
268
751
543
973
704
300
948
361
671
930
198
40
72
301
219
999
454
574
801
342
647
257
300
354
435
436
385
940
923
826
784
487
484
441
413
303
683
45
201
577
718
679
17
545
551
556
147
932
515
311
276
676
326
288
129
338
338
130
803
26
989
385
85
454
6
573
581
888
237
172
292
801
211
524
846
606
786
166
149
281
687
65
228
295
468
544
293
860
451
340
590
846
34
611
76
457
280
599
826
113
821
251
50
324
913
199
694
154
276
945
666
136
432
580
978
951
902
8
105
546
503
737
465
941
44
687
93
118
513
491
773
651
898
685
130
281
63
75
594
264
50
791
40
912
689
64
24
667
45
691
819
434
594
912
118
638
593
440
764
350
411
615
101
64
414
61
372
264
891
382
601
833
714
187
226
250
398
950
697
150
801
994
659
80
444
218
740
275
999
723
436
980
179
642
140
859
316
144
733
762
685
423
325
45
890
531
718
311
210
321
688
31
126
755
898
214
657
770
302
978
389
333
100
650
7
485
859
301
674
12
510
6
761
254
235
762
335
396
61
506
31
279
264
582
50
845
721
553
511
975
836
443
773
485
966
587
823
823
540
307
22
52
75
928
495
264
260
828
272
79
992
701
875
806
776
49
799
823
510
245
858
449
931
550
862
883
231
878
662
182
965
977
316
258
919
915
210
670
151
55
89
807
75
200
47
1000
921
192
353
584
707
21
367
877
896
295
998
636
273
645
312
20
68
871
868
387
289
135
489
941
814
879
378
853
268
182
934
983
132
212
954
891
443
528
204
995
226
82
321
798
489
653
904
176
290
170
655
428
756
52
292
991
309
748
381
270
134
34
987
126
697
328
931
952
435
214
625
798
163
882
435
38
973
661
720
639
718
94
621
258
848
466
8
176
50
263
793
996
939
682
103
888
649
239
10
839
216
892
823
712
389
616
582
382
838
514
426
638
677
757
292
802
956
451
27
970
794
438
26
709
17
263
936
21
377
965
94
558
474
455
146
502
114
87
299
487
922
96
474
599
160
537
398
121
850
57
513
179
889
45
728
138
118
53
775
960
438
394
488
44
802
296
932
969
992
590
926
33
7
579
791
117
67
111
471
870
986
106
165
63
651
445
292
350
313
69
642
250
233
655
95
276
968
449
63
729
926
101
462
912
561
124
932
659
272
635
13
68
284
507
277
845
446
598
350
639
396
37
738
692
95
352
155
58
862
330
704
936
267
791
85
337
92
712
322
282
379
664
562
364
658
562
466
84
224
735
122
676
48
776
557
377
318
840
984
111
234
749
270
401
349
360
315
821
769
628
797
190
935
958
227
621
257
272
218
655
491
546
794
327
549
537
985
229
198
864
242
566
611
836
670
514
558
186
867
119
966
485
425
513
961
684
867
781
115
187
652
406
534
587
195
5
215
858
868
772
533
105
470
616
374
728
982
912
126
778
430
684
295
5
742
694
434
814
691
469
975
605
371
719
974
836
204
504
368
450
101
258
27
987
525
768
989
454
64
383
716
451
272
897
240
981
258
736
446
9
671
859
313
927
9
340
963
186
863
460
293
139
438
640
852
522
77
266
537
196
828
320
266
441
437
471
261
807
456
895
830
887
234
417
536
324
998
558
399
560
459
413
213
174
149
161
372
892
821
519
746
502
570
28
940
171
297
358
815
445
754
596
94
779
654
132
266
874
73
39
943
472
529
283
965
369
383
735
7
485
768
39
993
699
77
191
244
779
443
186
423
897
517
850
698
112
783
166
596
505
688
291
156
628
438
479
839
790
700
764
521
140
594
127
359
460
912
887
713
786
545
700
970
671
595
633
93
320
737
441
888
415
920
765
645
925
472
519
671
879
211
853
882
698
944
13
713
964
109
646
54
264
93
960
558
738
77
945
445
231
45
625
930
992
221
354
795
202
842
691
795
856
884
570
804
175
286
526
532
184
956
461
98
663
288
757
788
774
669
919
26
604
473
502
352
213
259
183
41
930
771
994
177
516
316
798
64
308
871
665
279
371
872
547
737
647
178
353
159
773
95
695
913
600
360
914
108
882
840
982
390
397
319
218
391
690
969
279
110
476
592
934
258
257
527
104
190
810
976
907
47
686
399
897
24
422
508
773
472
934
20
880
659
530
209
58
904
752
773
555
104
955
817
90
759
490
678
314
173
974
936
972
731
500
49
133
555
995
341
739
136
641
55
617
748
643
810
514
541
992
729
747
418
270
114
161
526
174
621
336
283
773
450
1
549
853
811
147
428
720
529
224
682
309
344
798
643
255
740
653
977
754
205
265
361
251
570
575
911
594
769
179
443
234
892
443
929
211
446
293
388
770
560
769
518
661
667
363
790
585
543
921
96
908
968
79
606
864
769
655
837
881
241
102
459
163
695
424
241
81
913
561
535
859
536
369
701
517
442
185
311
370
275
506
316
493
562
775
219
769
235
922
179
724
475
813
25
559
415
743
196
647
498
923
448
401
72
278
229
508
132
939
653
687
791
274
302
408
657
231
449
445
300
976
666
243
342
654
27
242
275
370
420
590
973
350
836
778
446
842
430
218
359
900
759
724
398
485
317
432
674
842
245
614
254
313
859
990
909
713
986
616
965
947
153
511
453
758
62
126
172
675
580
253
566
661
803
233
844
773
681
135
884
732
900
109
756
454
315
742
136
687
630
751
841
611
916
502
196
903
47
230
253
262
936
335
341
670
922
927
902
22
568
784
434
393
266
117
745
959
401
29
922
47
987
198
871
581
394
990
462
225
627
110
809
851
2
91
590
595
836
68
967
75
358
895
697
542
259
836
264
575
774
400
140
562
660
52
292
852
818
215
786
617
81
764
659
674
992
283
877
935
343
47
536
486
974
75
861
35
579
78
907
539
294
10
927
322
350
434
550
458
436
730
114
426
725
403
173
846
626
165
644
90
296
915
534
183
44
988
862
886
793
63
183
655
974
159
849
658
836
304
784
80
288
16
621
911
923
241
69
193
659
354
708
460
733
511
952
622
191
105
937
816
611
441
218
360
432
748
838
961
773
499
867
15
40
122
402
100
123
852
577
322
984
221
808
241
433
44
590
577
654
765
426
993
667
498
571
592
238
627
974
969
347
702
439
307
321
536
618
378
198
804
621
246
259
209
256
791
56
176
143
116
298
68
615
496
308
987
467
645
304
470
434
226
846
804
729
744
215
203
113
374
46
389
47
6
943
2
273
38
54
943
130
13
154
313
285
866
174
624
592
66
779
242
978
869
391
454
809
178
31
654
563
646
65
414
964
720
724
917
482
851
88
591
384
864
645
955
770
784
17
694
679
829
634
673
465
381
37
819
650
85
692
349
478
812
47
621
147
921
782
257
552
698
794
612
207
482
5
299
629
826
125
686
103
976
94
673
815
12
544
282
816
47
559
344
547
8
563
724
594
931
597
186
162
226
196
127
283
161
859
532
12
214
428
91
144
829
848
387
419
181
477
746
139
482
149
148
118
748
285
598
532
421
786
663
592
26
127
803
439
200
752
207
565
736
510
818
705
216
838
193
359
12
841
925
888
749
584
932
342
559
775
700
72
170
755
319
452
957
341
158
522
895
231
458
76
430
886
98
117
893
67
228
549
650
902
955
828
52
752
606
29
353
32
832
477
891
731
264
38
457
670
545
346
885
163
343
71
728
339
918
206
255
151
791
594
374
755
633
288
175
148
742
176
656
582
610
157
767
258
762
32
559
809
935
367
849
498
83
316
584
638
903
448
375
762
344
379
419
562
808
416
136
243
788
114
391
979
155
125
643
851
917
981
91
483
633
597
255
886
1000
700
529
84
831
104
880
976
791
908
841
652
311
530
693
241
347
612
118
213
358
378
238
964
487
891
179
839
683
292
769
944
763
738
184
164
667
279
884
129
763
878
678
661
786
231
716
140
192
460
649
150
638
297
944
910
201
215
74
782
379
734
359
648
25
685
157
398
398
553
787
401
272
180
117
890
545
230
613
387
617
3
897
405
161
104
644
630
353
776
460
635
144
657
938
918
966
67
467
96
805
153
806
202
908
566
48
333
958
40
301
817
249
430
154
12
417
585
525
581
709
589
359
1
338
381
411
926
459
119
60
119
251
525
171
649
282
457
277
299
387
784
766
411
505
376
142
878
941
418
469
492
459
957
67
938
417
832
190
235
940
616
929
892
909
765
292
694
983
7
947
718
503
145
187
801
984
292
229
149
997
307
918
975
151
64
133
642
161
40
500
352
293
910
408
620
321
307
254
724
313
186
959
216
388
760
352
358
553
965
965
161
748
577
836
877
962
396
135
661
770
388
695
208
557
446
137
766
625
712
307
678
724
851
619
907
137
275
435
680
156
995
914
699
893
332
101
716
341
490
505
92
574
144
228
375
684
117
148
365
183
656
115
7
707
718
403
559
142
668
624
797
998
352
546
95
134
877
290
633
557
5
403
246
245
293
594
609
371
156
385
598
947
563
937
359
457
295
375
351
258
808
733
630
650
730
15
328
114
922
769
641
828
123
528
885
74
389
734
150
509
674
27
625
502
542
630
693
170
97
397
625
254
569
539
628
448
923
608
450
849
20
301
507
111
563
343
12
886
176
57
802
237
744
60
970
970
30
786
94
341
892
46
925
632
580
864
565
267
512
124
351
920
477
993
606
103
762
76
740
696
708
963
360
555
770
407
361
875
876
190
775
387
424
746
877
815
359
193
462
932
406
713
209
908
789
853
402
823
462
329
944
888
344
72
662
594
263
508
260
491
387
200
653
213
795
230
878
826
428
488
302
662
792
672
719
762
643
844
226
677
813
563
717
883
455
637
857
207
149
60
382
933
906
243
817
137
288
774
348
837
556
98
403
647
226
859
315
69
259
552
221
605
569
100
368
296
465
594
642
500
975
879
347
553
387
262
548
902
505
25
392
659
975
912
407
639
474
502
738
632
891
560
34
50
200
168
526
548
430
662
102
541
627
692
11
616
197
618
893
478
901
501
862
366
957
565
890
98
853
636
113
450
128
793
112
86
990
928
427
884
144
495
704
759
334
668
407
161
617
603
822
488
604
1
681
33
835
401
97
720
168
959
738
79
709
337
823
152
44
822
892
490
807
551
981
613
553
49
763
866
189
712
61
452
903
316
632
704
538
787
156
491
381
375
893
466
1000
202
151
748
991
410
315
937
980
180
196
672
629
18
761
390
101
138
393
490
230
630
219
489
823
191
961
373
40
347
214
222
324
688
578
702
468
454
156
343
439
536
894
946
672
19
632
735
842
467
60
52
70
91
121
471
165
326
154
875
855
870
958
588
790
188
759
235
391
344
969
988
873
814
986
860
435
707
229
447
236
557
978
469
393
640
130
32
331
641
259
245
175
257
272
252
43
654
336
168
829
764
495
339
640
476
56
562
641
873
502
479
915
105
851
872
950
727
386
996
157
274
154
643
194
883
338
549
128
765
788
159
511
774
723
109
880
327
53
819
656
384
16
103
308
39
500
762
91
959
312
635
629
306
333
563
665
60
377
530
330
523
55
203
103
910
155
31
366
70
616
740
510
90
241
736
69
115
877
824
898
985
810
871
420
699
533
824
632
836
136
169
382
341
218
927
459
287
494
674
518
649
139
876
933
931
10
692
272
365
703
534
409
618
93
930
356
846
754
196
960
437
221
304
353
576
684
626
485
439
459
382
186
102
828
705
545
813
133
359
856
898
891
804
435
238
582
940
477
917
922
575
274
865
365
452
717
135
603
433
77
849
766
93
128
399
918
593
659
671
693
435
443
27
783
491
797
885
183
214
518
372
947
918
818
404
330
641
496
312
866
505
585
417
11
670
281
685
972
27
300
449
460
325
37
290
95
183
738
897
135
362
349
814
843
694
326
658
940
366
912
200
10
419
1
31
961
770
158
158
746
797
582
138
803
293
851
98
833
584
993
56
962
877
204
28
458
203
98
504
135
391
682
933
105
299
730
765
416
340
591
57
544
41
637
538
566
401
132
604
897
721
792
480
470
99
667
814
860
707
813
354
509
999
386
989
33
115
190
98
482
81
37
837
771
191
70
799
751
698
547
227
293
662
377
174
717
129
147
758
187
324
13
545
327
252
877
212
463
309
606
33
24
333
252
746
150
653
85
208
779
643
606
294
293
751
579
985
395
550
415
759
440
553
746
491
588
973
397
256
190
351
324
915
232
256
711
899
788
411
316
231
835
807
732
412
768
876
456
766
614
108
221
91
861
894
299
673
285
177
40
348
535
876
752
125
538
36
211
320
967
628
570
59
966
428
519
950
853
667
912
633
942
545
484
16
335
628
831
853
372
823
74
86
786
96
627
460
482
680
501
902
304
832
739
918
72
361
299
591
109
846
307
282
17
447
905
721
767
750
791
105
219
94
420
955
687
779
418
47
902
873
540
629
657
209
957
303
23
42
411
608
321
803
566
317
527
99
166
905
362
310
733
450
316
154
148
300
378
749
365
585
874
834
647
714
106
540
330
505
152
561
588
973
880
984
278
3
49
212
841
874
81
473
48
183
590
661
523
831
614
688
351
404
745
675
847
854
746
894
306
123
671
994
509
19
812
651
458
59
413
6
766
400
833
558
923
299
815
122
796
65
425
710
593
449
381
611
860
628
468
881
59
616
881
931
893
342
771
973
558
270
752
777
386
760
594
870
941
698
620
786
861
61
710
361
389
689
72
805
710
667
784
714
995
818
607
412
374
364
639
459
465
271
690
182
360
823
326
412
216
909
776
683
710
868
372
378
489
508
831
497
699
478
61
188
927
711
263
648
49
728
111
382
209
513
319
672
404
706
356
888
93
467
764
341
56
839
454
516
862
495
995
222
511
603
205
737
585
561
111
566
404
647
323
116
769
266
822
709
164
811
731
920
890
674
384
165
643
577
601
221
493
758
197
74
941
761
63
871
731
311
317
659
794
521
160
212
75
325
940
530
87
612
205
571
728
695
148
44
363
40
220
813
254
888
551
765
336
145
999
712
211
408
392
382
785
297
644
94
652
597
552
271
97
774
845
887
700
429
162
633
823
156
481
264
561
606
126
499
355
447
668
699
551
425
407
365
740
696
377
923
691
90
20
2
339
79
460
92
967
464
22
771
287
218
205
408
722
197
347
338
977
714
438
960
340
2
227
762
291
713
712
450
377
643
179
519
981
965
207
354
179
530
607
958
462
116
890
719
972
905
370
63
336
778
742
465
926
726
274
223
371
823
187
838
801
989
748
1000
639
382
983
732
498
997
359
147
657
715
369
737
308
727
588
241
992
174
215
212
100
131
869
215
725
53
993
823
403
758
210
585
629
103
615
786
79
189
361
844
651
750
479
776
727
792
752
657
176
385
794
994
749
932
481
348
118
702
771
791
773
497
749
235
594
208
4
186
241
927
672
32
177
510
236
596
247
152
936
419
301
684
467
991
109
277
676
779
666
944
133
831
825
809
929
967
213
312
56
968
493
806
93
236
504
929
409
728
144
785
760
914
471
628
878
437
17
454
199
58
646
158
544
705
126
735
354
197
146
470
548
575
298
455
363
249
267
656
408
709
688
964
599
483
105
376
562
936
810
574
19
270
23
438
663
571
794
289
719
941
480
521
295
693
803
521
749
157
347
270
718
278
315
408
400
947
616
149
398
763
442
234
659
714
442
779
430
103
497
312
88
975
753
175
241
178
232
388
128
864
863
29
891
768
786
377
898
888
434
216
910
745
64
274
825
423
800
216
36
394
62
470
707
73
448
117
233
202
260
991
893
996
831
254
110
459
178
23
984
448
355
979
610
170
535
984
456
73
129
893
645
303
610
952
451
600
825
142
342
874
30
389
456
4
422
887
612
324
826
227
205
794
531
660
831
70
620
823
991
411
561
418
933
555
557
36
756
16
293
34
936
778
911
607
711
512
507
902
443
451
382
794
86
476
227
95
463
970
409
601
311
33
135
923
554
581
941
841
84
22
69
930
433
193
183
533
835
478
110
460
937
85
781
580
470
649
651
400
652
995
199
229
917
366
439
126
224
632
176
438
835
735
634
762
156
313
275
599
575
288
666
45
16
171
309
401
426
377
91
982
804
610
508
527
468
821
454
341
307
373
262
317
426
388
730
783
420
134
829
599
224
433
837
744
945
683
465
988
584
431
710
829
679
257
491
572
670
685
386
520
367
687
434
818
235
12
399
345
396
207
201
784
234
748
325
896
145
903
498
904
47
587
509
778
526
625
904
335
669
77
221
203
974
466
523
555
932
439
663
418
564
177
580
768
232
891
366
336
154
10
362
528
524
308
698
485
582
554
827
899
575
877
681
980
947
189
484
293
607
355
892
467
491
947
427
827
15
703
251
24
473
132
446
567
284
35
549
280
430
359
533
425
403
629
308
931
498
489
907
660
467
249
523
868
422
210
268
723
272
859
111
174
71
786
354
683
30
949
20
741
807
61
812
100
641
600
897
734
141
712
624
609
928
610
355
272
172
355
942
541
933
83
386
553
664
680
725
665
719
521
413
785
655
675
739
397
352
123
822
473
854
667
589
701
228
224
884
983
879
596
15
571
110
444
923
616
724
49
778
697
176
988
559
810
159
245
17
665
609
374
283
420
976
675
681
843
768
588
20
419
70
115
832
507
687
612
591
963
629
496
9
103
374
484
479
134
146
84
299
393
474
843
710
104
531
388
911
290
131
110
464
929
442
831
169
585
181
663
507
603
323
119
431
341
142
94
434
698
149
655
69
294
257
99
229
3
201
480
766
696
895
449
282
512
624
393
948
604
244
113
360
755
272
736
9
293
208
817
371
232
631
443
784
576
678
977
491
607
700
976
529
214
238
665
748
894
596
182
359
688
140
195
128
58
511
350
49
279
611
981
274
257
927
483
397
898
681
458
409
828
526
34
789
722
192
402
431
606
323
494
714
853
540
365
907
446
266
961
286
843
512
126
594
692
844
367
785
9
101
160
627
875
891
573
933
32
27
685
924
432
945
705
355
109
356
775
681
563
849
612
708
639
536
515
804
444
376
623
586
613
236
383
51
313
443
399
410
195
275
403
866
827
128
176
370
484
137
21
886
385
968
728
997
192
293
898
454
583
101
462
690
140
608
786
824
579
596
185
847
111
446
877
139
813
704
665
886
400
220
416
502
927
752
617
744
976
224
793
251
692
907
834
790
14
487
406
719
769
690
862
130
637
937
804
553
962
4
491
421
259
925
484
270
571
277
860
254
260
76
885
669
307
771
661
184
54
816
177
667
433
780
301
197
483
529
534
608
917
514
786
760
786
89
989
504
910
15
458
9
715
889
426
3
924
564
439
69
853
264
327
893
948
366
34
868
134
217
646
310
916
978
71
173
977
898
518
621
952
624
488
599
844
615
660
258
130
551
845
58
740
833
229
699
652
618
719
30
326
135
553
1
625
700
101
535
905
751
670
843
234
796
657
451
496
314
100
509
67
579
94
262
432
530
27
368
464
228
214
491
400
715
489
493
17
9
386
325
296
944
900
208
494
304
813
265
415
718
292
916
521
432
166
78
684
975
751
949
964
934
26
349
217
625
649
614
614
109
80
385
532
309
168
985
608
856
656
708
838
535
892
558
216
1000
805
931
997
194
32
336
181
934
810
192
560
382
982
327
877
641
17
589
143
217
69
819
184
441
337
648
838
590
875
119
647
294
989
707
356
899
146
955
749
667
646
851
471
978
748
773
679
509
98
868
563
855
903
884
742
294
147
278
928
58
443
510
784
956
815
689
978
279
306
469
647
189
109
441
849
64
263
505
87
636
337
615
958
134
591
58
413
170
373
18
307
504
467
819
732
955
858
717
41
149
499
302
587
552
651
844
267
958
632
183
351
346
894
114
334
705
772
254
473
579
674
547
749
594
469
438
768
150
32
647
816
378
348
501
42
971
353
516
623
876
64
679
783
378
606
648
828
128
657
350
919
535
334
333
475
112
957
265
449
2
533
6
520
941
545
738
397
718
419
60
33
198
812
9
517
707
364
626
835
708
435
249
311
86
173
734
884
416
495
863
136
659
973
335
175
558
719
228
566
894
994
323
179
195
122
37
475
647
874
995
280
381
736
7
565
130
192
146
525
93
489
119
327
860
538
505
251
64
149
936
52
346
712
901
295
162
96
905
682
557
645
918
178
463
403
502
966
332
122
219
951
784
304
312
847
523
276
976
173
86
629
772
781
119
495
717
960
145
475
418
404
664
448
650
853
474
975
791
181
960
273
682
56
381
198
648
765
106
839
187
262
61
913
81
307
123
370
504
235
124
484
957
398
757
989
217
75
158
622
419
399
796
958
461
984
522
363
158
969
430
234
384
353
235
269
367
526
959
587
708
919
579
418
925
726
576
941
651
921
116
57
236
455
129
37
850
455
532
705
353
440
174
253
827
14
208
530
754
912
307
628
998
997
563
875
384
741
774
60
488
655
387
621
303
211
650
210
964
992
235
434
721
222
343
154
653
886
240
891
337
366
137
388
518
637
429
806
405
401
196
313
457
368
270
401
346
969
824
822
788
722
228
756
618
157
134
523
282
430
341
502
797
171
828
273
255
515
545
853
607
815
682
16
320
445
736
440
945
352
215
242
324
529
850
2
890
975
836
3
515
633
497
785
393
538
724
963
700
861
283
739
338
605
819
277
481
17
463
276
96
462
256
561
978
861
300
868
672
943
434
942
26
721
516
569
508
617
835
791
874
770
666
949
196
561
832
611
427
704
262
846
674
168
701
850
668
380
622
998
91
192
651
303
564
770
531
630
151
224
942
929
99
596
682
179
597
769
616
638
713
975
356
136
211
948
594
438
20
539
417
265
911
833
435
451
838
209
828
353
576
685
101
44
47
500
976
480
971
834
799
952
344
391
564
838
861
834
742
453
738
359
539
951
94
590
506
895
14
891
479
923
316
306
328
89
471
777
958
282
441
254
535
974
51
952
899
623
97
460
841
481
38
651
111
194
465
294
2
685
344
632
826
672
401
89
87
561
903
907
439
110
665
874
43
944
439
184
983
507
785
581
898
238
113
579
207
632
15
761
370
508
107
471
785
212
376
45
226
881
115
161
729
19
760
297
177
548
530
263
886
489
876
780
652
5
774
522
529
793
786
668
513
90
712
507
935
161
237
914
496
241
6
408
312
977
188
694
231
768
158
237
390
668
196
344
443
906
487
813
893
636
921
146
271
334
373
626
184
896
545
559
443
23
118
203
66
358
844
200
139
374
552
182
143
227
383
152
766
359
579
450
630
414
78
136
475
500
204
363
911
817
787
81
531
122
661
943
673
171
415
751
552
96
917
95
926
732
362
571
5
289
827
56
350
40
750
636
784
391
721
947
936
167
107
587
983
653
476
734
605
527
521
345
124
741
883
709
270
619
766
311
747
73
3
788
225
158
447
767
37
250
28
394
20
953
420
917
799
360
156
266
863
850
735
76
777
332
905
775
879
853
675
308
813
269
333
982
269
751
983
149
572
967
791
720
119
658
519
220
803
445
538
330
387
585
957
605
445
713
909
303
676
555
97
31
976
21
907
35
227
569
554
737
592
122
612
290
803
459
664
772
421
153
396
112
531
757
975
507
685
890
247
141
352
878
784
573
438
198
746
6
141
855
897
812
540
220
587
40
944
86
478
150
790
691
852
841
907
869
230
962
790
840
395
249
669
895
498
847
346
157
426
600
474
528
953
912
654
929
928
586
275
749
263
304
536
83
995
716
490
420
107
545
329
173
824
754
308
954
345
267
702
867
16
435
694
926
527
269
937
557
27
237
573
278
260
389
70
815
672
37
288
132
918
471
785
468
416
702
323
452
737
313
27
260
827
222
558
287
577
374
559
815
602
812
24
115
833
27
730
669
978
624
784
460
166
920
171
464
892
736
41
568
338
941
936
791
479
304
504
298
347
350
563
971
58
654
414
152
976
782
765
546
730
598
504
74
447
523
685
416
473
251
911
712
618
503
674
853
961
862
566
320
800
749
191
93
740
369
295
623
137
211
287
177
682
668
495
734
12
521
896
164
567
740
973
850
542
686
193
514
337
462
366
691
937
738
205
106
264
954
579
832
271
639
338
422
422
618
350
806
105
214
819
687
38
648
282
848
392
815
945
725
560
210
345
718
735
221
936
154
614
521
567
845
661
817
983
814
746
461
640
121
13
210
467
461
604
577
366
879
812
908
239
139
987
696
738
859
798
525
770
577
549
325
206
763
810
774
41
202
776
831
737
556
24
634
755
797
725
520
771
134
430
795
823
426
103
772
90
846
947
458
64
738
892
23
909
702
568
895
197
226
931
403
95
169
382
321
357
285
282
197
449
192
628
803
688
762
345
132
102
707
74
231
978
161
649
57
366
27
760
609
920
628
495
602
861
75
5
770
400
881
467
675
737
640
336
976
291
297
936
901
937
982
690
760
649
178
411
927
986
983
61
533
84
796
670
928
168
976
595
650
883
832
12
768
808
494
747
594
301
574
65
798
942
49
989
135
316
821
2
429
607
377
167
494
73
104
60
610
307
602
712
433
785
72
347
793
919
162
399
846
207
193
517
962
600
893
199
363
195
103
756
248
815
746
799
726
310
242
339
342
307
13
764
392
728
615
482
171
59
994
691
861
219
288
779
854
391
176
101
494
397
391
982
611
848
925
934
174
991
877
716
737
496
615
132
944
73
775
868
211
854
881
856
706
541
821
371
859
643
483
430
58
438
364
987
667
526
483
743
581
725
958
51
828
441
671
1000
487
997
253
278
752
109
90
217
167
833
513
642
844
411
753
377
242
514
48
664
85
196
257
439
337
36
356
459
545
400
734
204
202
926
745
814
477
674
115
227
340
172
651
466
23
650
633
99
225
564
665
495
242
452
834
337
464
378
642
150
647
322
261
804
806
630
339
748
133
638
995
665
485
454
448
204
704
696
535
540
872
815
320
750
89
430
914
648
63
662
340
261
230
797
183
799
662
673
335
886
270
429
34
474
622
928
83
759
446
379
574
101
602
24
227
387
544
283
511
343
248
512
754
196
673
845
777
255
35
919
85
965
779
947
38
771
854
981
98
950
923
803
322
845
865
343
387
774
112
727
273
946
859
616
797
781
912
76
817
83
92
731
652
721
181
695
605
55
951
249
599
32
977
208
505
314
317
854
33
11
964
748
695
696
392
469
222
537
476
574
937
800
656
180
954
792
453
292
810
377
872
831
7
446
94
657
887
858
608
161
63
826
711
470
468
562
415
289
345
287
631
14
323
461
563
557
635
514
434
803
104
558
634
440
133
200
778
833
386
656
806
443
430
479
378
54
17
872
934
997
803
173
140
314
312
49
167
736
66
442
347
770
87
592
338
620
750
706
54
634
686
715
841
665
748
131
779
702
34
343
670
114
538
427
945
809
627
873
87
521
142
786
339
196
465
351
324
938
138
411
364
257
177
867
710
339
30
262
473
999
626
642
615
169
814
430
138
796
848
612
51
624
658
94
521
772
526
269
618
99
532
607
898
31
166
58
676
638
732
918
664
497
58
156
260
44
421
808
202
473
602
99
496
369
807
585
985
166
111
297
465
480
520
362
948
607
650
877
342
327
765
144
561
248
360
562
597
920
917
925
931
401
743
249
158
327
686
179
391
717
845
444
49
195
141
13
979
744
198
313
360
695
302
510
878
897
179
557
722
393
653
342
956
680
590
533
175
523
560
99
56
938
266
20
213
354
677
540
208
194
52
335
819
803
695
81
295
428
349
132
446
729
740
376
338
940
834
188
636
588
544
891
727
166
471
726
708
680
283
106
697
734
151
197
516
56
563
631
63
837
786
737
871
282
831
31
442
719
358
847
43
873
523
275
167
715
644
384
445
793
462
986
54
226
976
687
351
407
600
541
586
309
326
695
322
236
762
188
766
605
721
807
402
429
10
457
344
396
375
446
842
16
781
824
13
502
620
98
966
299
226
869
308
187
815
659
630
281
583
842
199
706
340
928
91
155
407
358
656
32
765
271
550
382
461
925
589
975
820
6
736
436
79
869
289
350
831
235
352
256
671
469
745
880
15
22
764
709
402
489
764
259
295
303
580
868
80
163
697
991
374
686
195
737
101
55
558
85
397
276
275
895
676
719
871
36
612
360
216
452
109
484
100
992
552
42
45
3
847
82
439
4
543
420
118
909
80
915
637
724
880
936
458
440
69
516
13
331
712
303
851
729
191
272
880
577
482
35
310
677
790
875
566
865
922
424
221
590
387
870
121
482
63
390
452
484
515
209
126
987
504
856
199
301
589
676
181
730
676
711
269
490
568
29
395
402
135
662
10
312
420
258
985
651
961
611
641
380
875
117
250
882
773
843
907
664
876
640
277
462
678
959
82
633
2
628
859
45
134
498
162
27
622
605
460
458
380
35
811
436
107
90
173
55
693
507
206
986
747
125
221
240
394
467
642
887
688
208
746
661
295
736
876
979
944
927
330
937
987
497
531
941
743
289
102
607
737
341
140
144
330
896
61
176
494
636
25
992
816
313
334
485
908
769
623
464
826
948
8
337
121
194
576
279
358
583
754
44
204
375
399
211
420
840
613
906
238
788
977
58
578
6
428
194
438
835
69
718
620
886
292
58
412
933
158
5
827
222
379
988
580
56
334
979
4
797
722
227
576
783
631
235
325
493
599
638
194
398
60
670
842
156
207
460
39
829
895
801
55
851
573
185
958
683
276
749
668
221
433
568
656
355
150
187
534
474
328
728
390
922
193
937
958
404
173
110
241
675
620
422
817
973
898
101
707
701
472
763
47
304
360
130
281
32
725
592
735
946
871
367
444
16
641
277
292
590
934
246
232
747
686
680
566
875
668
325
503
360
469
1
902
588
48
812
547
533
334
100
350
415
48
262
795
582
437
643
672
340
551
868
293
472
876
555
949
310
438
301
254
152
86
341
684
338
87
662
957
183
678
394
674
214
562
339
387
79
849
773
795
981
665
635
284
768
717
898
880
483
211
485
781
140
860
280
34
801
1000
963
711
908
715
992
570
435
335
677
489
215
504
362
187
506
920
373
346
480
146
27
85
492
448
294
919
237
387
764
27
33
446
35
750
887
403
224
842
818
728
522
241
697
782
657
82
378
213
888
117
590
852
824
508
347
409
131
238
851
691
191
154
655
143
756
168
231
168
822
632
548
593
878
106
281
573
124
363
488
362
242
363
644
807
531
977
669
552
37
332
935
623
192
339
988
277
473
773
457
997
382
620
112
598
771
852
962
783
56
20
25
710
992
752
688
888
450
177
534
32
916
397
794
158
345
348
609
832
572
752
700
338
835
84
101
91
686
14
588
410
510
355
720
755
59
842
336
945
452
433
852
143
776
495
700
653
321
374
801
942
581
774
550
889
450
109
785
286
452
387
1000
653
247
271
590
95
126
622
720
7
636
787
357
661
940
294
415
929
681
414
854
760
46
267
169
611
929
57
216
882
836
746
887
941
567
937
214
739
321
989
970
217
65
755
395
1
756
838
457
171
887
859
272
98
584
771
634
292
272
604
251
980
682
468
80
597
10
980
663
917
118
180
596
346
647
272
312
176
704
352
384
555
867
26
920
649
816
907
873
140
438
704
470
891
479
788
808
619
355
26
225
317
413
106
269
535
177
963
815
135
414
108
840
242
712
108
594
333
112
63
365
599
973
12
952
618
162
198
968
266
38
938
985
854
623
785
465
937
773
910
2
229
576
899
791
970
546
976
19
934
368
41
653
486
72
492
477
126
11
162
406
266
143
347
715
638
750
557
241
922
668
43
611
642
393
515
368
643
704
956
559
591
441
939
197
741
926
232
648
411
239
637
680
44
231
373
259
245
657
440
91
79
596
966
484
651
517
458
307
611
530
219
687
423
140
641
920
526
2
306
674
916
806
162
75
350
188
96
176
777
509
48
148
268
102
877
800
461
434
372
145
458
560
901
440
917
519
320
543
429
777
444
582
417
267
771
114
948
781
528
569
87
427
185
717
817
124
875
382
363
325
833
77
927
182
136
542
256
186
105
465
310
185
313
31
244
449
806
929
809
566
868
893
832
505
948
706
159
41
356
986
282
973
774
397
460
924
40
634
369
460
563
210
349
995
701
844
553
926
353
55
968
5
793
599
948
472
593
669
13
615
917
886
301
19
810
314
988
303
419
262
369
624
112
183
784
401
892
676
238
93
907
328
123
521
656
963
327
724
409
477
90
449
521
840
127
970
235
198
319
462
704
643
631
428
764
77
686
11
116
850
969
388
294
818
20
721
292
598
962
581
285
941
816
648
185
66
69
305
968
836
706
593
930
477
306
543
679
84
190
10
701
729
199
197
103
472
292
426
213
770
907
98
261
692
849
435
24
817
695
750
427
579
969
93
373
33
904
137
202
18
231
241
951
963
532
368
492
792
60
622
461
11
277
939
302
585
836
25
99
731
799
867
114
882
98
335
941
244
228
323
290
73
39
137
863
855
724
965
96
26
34
36
583
493
775
683
393
582
581
790
514
762
214
207
498
536
710
212
405
463
379
293
284
379
826
894
736
153
5
838
223
182
993
897
771
852
728
88
473
948
412
319
684
757
543
337
983
339
510
70
75
273
867
567
888
973
432
613
236
521
830
673
418
892
127
72
755
948
582
675
294
457
589
45
352
958
123
915
964
569
763
938
821
226
798
936
970
369
494
278
327
423
162
740
664
887
784
732
373
323
514
155
651
993
722
674
885
808
62
905
500
551
805
40
615
29
479
871
424
938
270
236
866
573
422
233
65
362
332
923
263
242
835
384
473
246
804
998
482
5
62
814
887
234
337
525
830
875
861
799
773
625
1
921
784
393
224
559
714
246
693
687
497
666
321
726
794
715
742
558
119
872
178
951
230
740
177
780
404
554
512
892
557
458
920
711
575
230
751
77
993
391
826
940
809
984
867
487
709
385
850
47
129
294
378
978
296
660
998
866
190
425
105
501
887
842
801
716
547
715
507
659
644
31
351
906
31
242
431
444
191
541
311
974
327
117
808
313
473
758
561
366
548
42
891
728
446
36
344
666
964
966
556
913
380
948
817
40
313
944
390
446
454
239
182
218
699
164
811
632
494
181
583
58
937
298
28
438
503
146
138
297
676
263
472
983
10
196
331
474
818
824
426
374
299
554
18
887
957
635
239
567
796
105
179
749
840
386
270
850
961
6
798
172
103
763
63
242
186
766
384
950
741
848
771
678
183
91
508
595
545
705
435
848
372
563
664
104
964
574
1000
466
171
419
395
690
960
497
302
317
90
451
132
106
207
999
738
659
645
940
331
954
166
46
542
227
54
353
235
603
590
133
488
480
87
686
727
351
999
61
284
626
258
939
613
123
603
676
738
966
108
913
183
965
664
916
366
254
562
527
197
518
4
657
242
26
314
593
921
892
227
205
50
499
245
739
926
80
29
47
941
306
719
36
443
500
941
170
702
43
644
903
970
298
998
323
584
549
414
245
873
497
244
662
989
282
950
714
412
245
318
841
469
416
98
613
254
694
43
808
226
323
847
650
286
909
791
395
686
232
287
23
4
321
189
860
644
374
693
487
458
731
791
695
381
878
465
177
420
804
655
956
911
884
249
403
788
758
832
463
606
187
78
334
540
538
129
171
190
691
790
950
887
983
949
819
354
35
222
193
643
741
215
460
768
173
994
237
138
195
211
249
230
94
872
181
948
327
721
346
900
813
472
878
479
827
594
260
990
966
863
400
10
468
328
301
635
254
633
108
62
369
39
952
613
583
217
471
220
38
200
8
92
325
29
728
17
874
371
269
359
746
282
850
493
746
235
98
878
578
523
934
846
391
368
930
635
431
611
136
420
191
361
932
331
268
865
469
988
296
303
216
254
475
497
839
356
376
882
334
930
2
766
227
763
574
708
135
170
790
481
8
889
388
640
886
818
520
140
244
174
230
702
775
486
739
760
356
134
383
608
614
993
906
979
910
878
42
743
244
310
240
167
390
335
369
774
683
254
211
717
139
176
502
41
950
886
112
857
404
263
529
762
224
894
841
59
426
744
81
19
836
210
212
778
364
931
123
597
631
201
325
569
10
424
259
574
512
855
12
865
247
237
820
456
578
485
718
253
130
564
758
360
454
382
354
223
649
457
146
577
889
945
473
51
609
807
406
132
430
592
436
820
722
59
683
778
597
996
620
768
93
231
241
564
87
981
688
174
775
132
411
984
216
3
533
199
628
886
813
241
926
191
572
44
510
58
429
442
268
553
969
756
52
826
424
705
710
776
23
719
433
140
601
715
930
696
374
160
957
157
891
323
155
770
248
4
519
888
332
621
526
263
778
556
643
40
857
652
472
324
386
559
550
846
890
55
674
586
98
880
81
345
754
869
346
735
252
80
382
747
616
400
510
736
794
474
227
263
879
257
2
407
757
887
584
337
561
964
280
707
172
537
38
824
637
563
415
400
429
290
416
150
96
253
544
813
983
355
340
623
63
102
63
271
886
464
219
285
678
752
512
291
332
463
7
345
797
573
533
94
483
472
639
812
246
373
686
522
133
235
547
583
957
704
46
137
32
245
558
910
449
213
290
716
186
431
67
23
305
130
681
213
238
62
561
924
984
416
559
10
406
130
437
46
515
115
260
461
43
633
266
686
992
818
875
721
486
701
883
890
951
419
577
582
99
618
211
685
145
444
373
558
807
96
747
247
780
83
777
688
519
197
415
380
534
443
168
753
22
166
976
69
637
56
762
969
481
567
408
292
843
341
657
185
952
222
440
610
202
670
155
437
364
49
635
547
68
908
867
264
774
96
637
265
439
601
347
415
185
839
275
427
538
241
657
114
61
282
357
2
573
267
979
418
472
658
30
246
76
117
279
915
398
677
722
812
941
648
331
89
355
759
392
89
178
666
215
427
359
414
788
754
522
498
130
312
279
564
538
828
766
632
839
961
280
14
581
261
619
173
281
320
604
742
361
373
113
390
779
431
561
779
393
273
219
735
743
550
530
912
428
314
839
78
346
910
889
511
35
589
974
999
514
401
959
729
576
313
647
69
331
71
974
517
171
948
383
176
893
685
99
625
136
263
91
784
885
430
245
817
419
428
226
510
221
731
469
950
956
920
217
642
164
782
98
59
867
932
289
173
12
826
494
856
318
977
561
826
256
167
906
884
952
175
322
152
378
536
83
735
977
713
453
768
133
217
373
397
336
399
82
205
67
72
139
793
142
970
822
134
146
385
206
785
422
345
176
33
761
780
187
330
373
200
289
513
686
693
37
198
588
104
71
873
460
613
562
875
123
704
626
509
428
337
263
866
25
89
598
470
901
760
293
442
48
680
829
332
341
586
642
780
940
405
917
142
404
870
477
531
250
355
330
914
550
440
589
661
460
80
70
117
438
675
654
464
349
23
617
430
673
717
501
453
962
354
482
409
434
937
164
492
406
728
811
482
904
818
838
725
597
606
249
839
326
264
16
90
527
523
73
265
949
761
359
600
306
437
322
135
308
603
261
923
38
627
53
789
278
465
389
555
54
725
637
132
725
410
953
840
556
928
383
198
837
466
38
14
5
289
292
362
259
838
161
398
572
447
640
916
922
639
191
812
86
262
161
972
589
281
329
339
604
643
782
125
977
67
161
41
166
640
425
268
128
311
759
133
75
406
397
955
648
785
290
708
595
689
938
867
664
228
449
830
367
474
433
172
635
142
426
738
38
842
129
351
410
27
343
45
594
744
959
737
210
883
505
242
292
209
691
453
625
618
343
374
913
525
266
962
268
276
686
76
476
641
629
214
897
93
311
791
418
433
506
444
476
153
838
587
775
365
762
79
955
263
21
731
535
705
432
171
524
976
355
2
395
604
421
107
841
648
924
159
564
650
590
10
50
530
117
218
735
49
900
877
89
531
45
522
945
636
182
840
691
320
419
829
460
432
108
668
201
129
337
134
488
272
905
972
215
244
814
809
991
944
942
791
223
593
708
923
478
614
951
171
743
762
812
98
899
1000
115
26
22
195
488
380
265
430
237
800
707
492
681
282
616
85
216
798
684
125
552
246
245
409
41
176
245
441
492
438
750
643
314
779
52
669
121
646
967
333
814
584
772
488
536
369
800
378
590
855
381
547
787
958
909
785
292
472
490
857
229
184
516
969
596
418
809
566
918
541
811
604
912
530
906
649
816
246
253
468
750
8
691
899
394
240
329
549
837
52
47
494
348
52
341
674
276
417
644
299
159
305
58
606
25
911
692
246
964
117
387
425
60
359
61
734
930
288
176
915
384
314
89
518
781
852
160
990
490
886
642
475
402
47
905
605
911
92
415
676
525
673
292
416
560
826
452
979
9
533
717
434
935
261
491
163
253
556
566
146
967
645
337
385
785
228
121
884
7
653
150
234
767
974
717
316
487
836
497
182
337
283
654
630
151
701
109
194
186
915
190
106
944
77
226
205
746
874
545
746
107
668
297
842
924
655
941
40
210
759
832
141
898
369
284
70
388
930
448
236
424
317
930
679
918
990
717
329
558
724
170
432
751
998
340
15
735
426
518
298
35
312
789
643
232
693
225
476
503
618
741
634
397
526
140
391
695
275
999
611
808
817
391
751
137
994
533
666
241
130
352
189
711
166
41
945
204
514
3
939
820
951
431
284
278
830
661
410
670
226
746
212
75
639
667
206
873
731
959
357
513
802
489
303
967
258
310
570
7
927
762
337
80
826
404
307
849
693
851
366
655
322
796
959
844
254
486
474
111
902
379
850
929
789
207
804
711
331
521
750
980
881
899
564
129
744
541
251
638
241
248
563
858
704
772
358
273
831
817
760
847
623
218
672
671
468
638
472
505
596
141
19
738
773
727
442
769
935
174
525
223
589
838
392
682
400
449
531
8
835
382
643
160
624
463
296
304
895
987
765
191
648
554
131
198
372
493
226
451
507
802
294
589
24
916
906
545
345
194
289
960
38
467
641
296
480
351
405
359
45
221
541
40
775
260
357
594
512
404
280
773
39
522
461
628
91
447
432
735
777
759
928
722
938
799
113
559
778
314
950
953
558
18
449
241
146
131
490
912
787
665
155
598
268
504
37
914
711
147
516
197
138
580
625
790
970
565
157
710
859
345
376
589
980
423
616
835
978
94
174
316
162
322
243
964
5
798
264
946
27
288
426
440
854
500
260
615
419
396
459
980
878
153
182
196
622
773
299
864
222
779
593
635
372
824
410
43
338
137
532
867
239
4
819
540
924
573
84
784
920
826
627
668
850
585
854
204
933
798
916
90
258
629
101
30
961
21
615
512
685
522
733
464
418
984
956
718
513
112
589
57
742
814
447
7
561
781
128
117
110
105
737
287
92
521
807
39
715
370
727
511
277
54
55
455
502
318
680
547
776
587
824
745
102
518
313
666
106
452
131
869
72
352
62
669
375
849
463
285
926
186
970
345
270
569
584
949
852
559
106
367
359
465
449
517
390
691
637
485
490
262
996
162
116
249
691
486
50
760
799
413
270
428
904
305
560
257
392
987
719
939
946
537
139
746
439
748
184
972
403
359
429
716
577
424
458
852
207
606
902
279
220
159
613
456
445
206
932
597
987
876
506
70
358
778
57
168
870
232
909
456
250
585
464
49
986
828
958
293
994
648
783
196
279
287
314
976
680
786
254
116
748
147
33
83
513
670
29
576
309
889
868
765
261
966
192
42
3
216
373
241
343
836
984
263
789
4
59
260
137
41
950
187
357
588
924
551
187
435
318
985
978
937
919
788
691
361
232
923
314
869
375
637
63
769
819
439
199
728
775
756
855
870
255
542
240
531
293
938
624
816
931
328
176
121
187
520
610
782
695
169
208
483
944
964
399
703
959
869
812
153
882
202
703
967
608
290
865
398
358
630
438
960
976
378
958
814
403
524
464
561
180
807
682
143
544
11
55
51
406
206
810
213
659
220
454
992
978
239
876
570
13
777
47
973
20
182
158
595
526
79
827
395
858
917
830
285
43
557
620
610
225
464
167
18
688
382
235
637
831
484
392
448
998
505
327
430
842
924
788
18
252
15
702
621
37
609
413
233
978
702
10
191
612
77
502
959
245
308
546
654
645
719
19
446
993
47
703
272
705
768
682
598
233
127
625
723
642
62
649
252
371
208
856
235
228
463
830
696
291
942
528
483
774
489
94
234
804
75
764
908
886
309
928
529
745
87
758
486
842
370
832
664
148
11
66
649
640
723
61
555
932
522
151
573
181
473
267
24
77
125
864
205
729
15
22
370
196
973
13
316
498
532
950
24
759
151
156
416
185
467
34
552
487
750
473
81
452
383
387
715
866
906
122
113
877
707
546
838
659
665
289
129
573
783
634
27
839
594
118
758
592
171
222
620
20
923
897
421
17
702
212
386
261
521
505
683
853
340
366
653
612
710
127
1
946
708
318
100
546
496
311
652
269
167
494
543
365
729
157
594
175
742
702
179
900
557
856
984
40
332
945
902
223
592
718
561
616
662
363
990
129
142
858
705
676
528
454
261
346
386
647
473
175
523
930
157
370
76
307
520
585
126
995
371
334
687
651
49
117
473
403
497
219
746
81
907
398
485
798
148
651
830
632
705
931
688
676
154
777
189
24
198
95
151
964
575
602
686
760
514
18
75
289
43
225
106
804
47
233
49
134
93
694
274
744
694
879
243
158
92
227
439
842
69
845
120
62
608
721
666
227
473
374
965
836
41
740
80
303
595
168
80
113
77
290
484
455
495
618
117
566
971
344
720
966
932
456
187
990
681
898
802
738
701
459
281
610
914
367
175
175
86
468
393
191
175
578
454
965
616
520
230
951
249
209
916
663
596
639
555
463
82
202
639
743
583
844
921
410
851
716
400
88
372
243
759
823
818
561
975
765
236
429
264
322
766
145
972
690
676
892
993
882
928
177
161
295
548
452
919
757
923
704
958
701
347
360
619
391
129
448
372
926
311
869
769
898
598
597
14
279
448
810
953
513
899
439
655
661
304
453
130
182
476
633
534
120
250
168
497
864
337
240
939
854
624
832
56
803
17
974
60
196
431
559
673
678
759
429
919
684
779
892
440
972
492
121
437
249
834
584
830
471
364
412
689
356
984
273
849
526
561
992
968
287
158
208
22
442
837
340
854
192
588
459
221
846
597
105
524
503
594
58
212
852
838
134
102
752
372
379
721
980
889
313
303
294
969
693
581
663
92
236
434
41
653
117
477
236
696
242
393
153
972
302
957
734
441
515
836
288
228
241
676
446
460
967
954
446
624
548
144
159
608
207
123
346
187
842
259
515
710
657
834
119
142
601
926
183
225
834
270
950
710
671
988
459
314
671
491
157
520
139
949
914
177
278
614
345
74
439
922
224
102
451
809
537
188
862
557
268
320
668
699
912
168
189
761
320
152
313
454
413
658
824
347
216
86
842
952
147
669
575
549
768
426
697
395
146
664
40
796
496
214
543
345
595
624
541
776
234
595
860
643
830
174
137
231
312
185
14
38
183
216
277
701
595
926
595
68
826
844
744
658
785
36
884
189
640
533
308
326
14
103
231
711
525
571
944
325
332
811
42
588
55
722
454
371
853
831
791
365
383
536
686
351
884
580
954
429
519
743
413
736
525
576
81
832
113
809
908
124
535
582
145
584
454
225
895
275
315
124
346
463
744
83
907
60
974
917
939
89
431
853
654
936
445
755
620
210
831
194
31
153
574
247
874
747
562
884
853
226
593
342
767
405
962
571
851
212
509
978
415
428
907
640
331
177
863
785
902
754
879
424
633
897
505
856
880
926
844
807
589
988
354
375
858
952
611
320
484
439
299
768
992
588
646
564
950
800
135
940
905
375
78
290
984
166
305
666
326
940
581
968
570
964
803
199
920
388
211
970
983
130
863
62
962
293
498
743
698
733
682
450
458
708
455
822
759
206
862
114
590
794
204
982
225
399
761
53
481
196
59
772
463
895
68
933
474
586
546
77
183
564
775
574
510
889
731
465
658
805
106
791
447
284
118
809
584
93
94
842
539
225
17
928
234
647
15
399
220
191
793
928
71
311
783
464
570
204
132
726
253
591
338
765
389
783
971
568
520
367
580
522
900
698
384
705
479
660
935
143
437
959
853
755
189
922
664
131
95
253
261
195
853
163
488
341
139
285
930
635
445
920
546
388
981
51
864
460
276
409
25
404
169
435
717
492
905
635
273
700
509
195
400
591
372
901
692
569
442
208
272
863
691
301
620
720
679
893
366
1
980
895
523
625
267
584
69
958
710
703
53
448
314
772
862
796
472
487
407
388
573
612
103
523
627
370
782
547
750
149
59
663
378
675
375
477
267
878
900
183
521
983
221
598
132
432
754
807
945
996
529
318
849
786
56
199
219
193
296
774
569
563
639
840
920
767
209
126
46
580
659
634
745
357
297
126
774
858
143
565
973
620
780
917
991
883
339
889
610
945
954
34
764
507
902
445
646
921
705
895
447
353
423
955
849
118
74
714
927
930
796
148
180
78
317
444
798
259
439
506
451
273
123
318
444
487
123
775
584
841
733
626
666
492
94
930
238
738
600
848
223
114
88
387
510
933
564
372
633
580
877
366
449
628
893
55
177
175
254
398
886
812
943
347
370
473
398
641
100
404
199
764
946
80
692
983
220
742
541
179
467
984
946
10
637
72
66
639
442
816
724
656
24
589
644
544
599
571
777
143
27
609
785
540
683
338
905
191
21
533
775
964
700
117
703
495
825
69
7
607
103
255
716
543
678
716
605
55
398
703
844
379
312
693
381
364
459
60
370
941
359
147
803
710
935
887
453
690
608
890
104
702
844
614
133
233
877
889
859
450
548
754
341
527
654
392
880
73
905
509
346
507
201
902
798
860
265
449
948
217
269
185
722
109
164
7
576
123
291
367
872
575
321
8
439
986
488
256
117
52
334
630
429
781
544
290
838
180
588
565
403
77
222
757
918
256
331
805
374
696
109
287
283
15
192
302
978
856
799
943
875
117
562
549
315
239
144
153
101
775
345
849
754
823
778
585
863
640
695
897
786
986
581
868
809
834
257
430
76
67
651
290
351
831
554
578
33
889
595
165
6
865
746
632
423
613
432
202
859
902
608
618
573
908
44
41
757
43
70
703
202
900
99
700
119
900
499
914
524
326
49
922
171
305
812
117
624
103
424
357
495
849
950
657
812
348
163
924
350
797
546
148
885
42
51
933
216
288
820
838
483
680
576
625
39
851
935
662
749
250
625
414
697
559
530
635
724
723
486
447
669
578
241
316
376
291
524
564
648
309
336
981
999
692
689
342
838
730
444
924
194
228
376
809
540
508
886
13
536
941
49
434
817
855
309
873
293
166
103
744
248
985
737
818
252
912
321
860
866
864
19
417
105
780
384
558
357
449
441
150
999
484
580
311
568
313
756
701
823
283
983
790
98
167
347
947
855
332
589
774
883
450
129
78
408
401
692
314
125
758
815
317
189
320
892
490
602
142
31
429
472
165
483
734
772
861
187
993
348
196
802
629
649
2
556
685
403
191
558
111
53
243
561
971
177
6
235
999
63
397
266
151
193
239
503
404
335
140
572
116
550
919
341
889
205
498
562
644
265
515
215
186
444
119
534
322
481
409
296
792
658
927
752
53
701
804
496
486
812
53
733
453
953
268
227
592
467
738
911
718
483
865
258
996
36
20
694
839
703
184
354
315
211
127
277
644
405
12
336
520
985
814
276
919
308
365
736
93
37
216
924
515
784
669
853
627
180
395
814
931
220
475
78
23
694
249
628
549
622
121
705
365
975
943
373
302
709
874
612
734
980
336
130
960
295
588
554
556
641
931
439
711
965
815
916
222
355
644
89
197
770
895
40
848
199
178
353
177
498
203
257
926
489
684
608
557
487
607
262
218
206
600
59
267
60
381
842
95
513
7
456
336
830
868
424
9
242
875
29
239
90
991
22
480
706
112
286
66
604
316
602
757
786
153
624
821
836
464
584
730
888
231
611
750
768
794
776
177
722
253
656
988
783
193
187
970
15
265
227
925
753
509
304
805
119
590
826
781
523
31
263
923
249
479
37
451
334
506
333
309
450
348
127
466
46
903
754
344
897
467
543
654
135
97
284
152
453
148
897
41
66
76
268
653
703
911
348
337
117
894
928
426
258
951
576
826
321
661
241
58
73
967
871
671
603
400
11
982
219
553
613
946
125
334
332
136
409
849
422
270
245
169
301
775
213
377
796
623
864
674
946
453
918
284
728
99
371
409
404
838
798
73
506
852
959
291
781
579
842
771
986
205
73
595
365
21
556
84
948
777
818
574
565
329
694
549
992
114
728
798
428
400
65
418
770
839
246
184
956
484
243
522
597
565
266
976
308
530
214
567
968
391
396
291
432
730
696
893
393
581
404
768
357
160
291
557
829
749
129
336
502
750
229
674
330
509
81
629
723
139
925
926
655
441
810
199
319
903
351
531
576
349
37
665
568
89
995
292
910
241
858
805
594
350
59
238
758
154
84
177
389
430
305
116
637
461
936
752
200
348
314
606
709
266
974
484
885
846
192
21
62
349
343
935
509
924
97
458
613
463
617
790
372
722
55
444
117
192
723
946
348
69
155
579
918
189
973
225
626
983
868
313
153
215
752
540
751
867
952
688
160
175
229
365
52
15
743
252
171
798
853
939
250
815
816
214
876
200
21
74
500
449
182
674
225
373
550
435
362
445
314
676
311
602
584
288
12
293
501
518
125
66
368
640
90
153
352
270
192
653
461
618
630
367
31
294
376
966
171
631
576
904
788
120
205
27
837
288
442
581
42
234
69
162
241
726
993
938
935
945
568
722
872
19
233
753
553
998
232
870
675
84
222
91
463
27
307
360
392
284
290
576
173
268
820
372
973
603
332
870
387
38
627
440
963
526
727
112
271
958
409
342
469
12
665
648
475
524
981
720
327
330
538
622
875
252
432
630
815
239
663
431
731
457
330
678
955
158
143
619
601
197
369
921
833
174
823
967
545
413
712
471
731
779
590
763
74
342
806
540
102
529
630
460
830
103
986
545
489
653
394
715
208
594
194
452
302
253
241
656
220
648
108
388
955
423
887
731
935
68
141
918
894
834
87
760
665
142
915
107
440
805
349
910
645
684
359
744
761
663
13
365
442
783
9
355
441
531
556
815
15
364
766
353
571
629
898
126
751
523
160
784
606
167
325
932
687
848
991
163
406
935
891
639
442
278
873
303
475
485
110
943
287
270
401
330
202
989
241
733
154
236
396
552
680
723
599
860
505
89
276
600
441
204
281
932
13
874
634
793
747
2
778
575
379
127
22
228
624
660
270
286
156
488
425
753
991
256
740
871
435
483
247
588
192
462
144
284
927
512
193
472
484
477
136
171
538
385
258
741
558
207
481
567
110
878
867
945
508
838
958
859
591
827
412
111
964
671
890
698
214
880
475
524
643
858
144
891
62
569
881
912
645
330
620
104
434
30
490
724
702
737
146
535
632
574
953
1
549
938
840
487
347
470
402
699
10
392
804
325
728
404
40
88
31
66
464
725
761
768
206
195
295
705
353
122
722
166
461
909
294
476
674
555
324
565
153
41
842
73
363
939
260
384
47
836
697
192
967
935
671
967
927
996
538
734
226
900
7
735
846
254
488
975
731
43
110
797
364
496
822
343
334
247
476
52
902
303
127
801
42
642
461
603
79
964
144
982
920
648
212
995
641
247
998
418
802
282
398
882
672
20
172
586
222
292
958
979
474
1000
802
826
949
285
317
646
261
504
705
823
798
549
375
809
528
890
138
7
666
704
557
891
476
686
637
296
596
405
692
823
231
536
747
968
917
259
55
347
622
864
365
651
359
489
727
999
703
78
549
382
671
508
17
797
246
415
590
804
392
280
943
933
659
489
133
488
894
122
926
628
804
123
157
990
508
485
415
709
177
30
742
343
258
25
982
623
288
742
948
48
993
777
528
473
444
171
649
402
1
628
340
589
544
847
660
40
237
712
797
956
907
526
767
127
748
860
956
810
670
508
627
172
372
344
868
210
966
705
462
763
767
609
413
898
19
488
344
398
712
240
619
698
972
117
660
650
837
947
382
716
871
376
723
880
827
410
180
850
234
710
199
531
54
836
957
745
997
908
285
559
723
234
375
955
579
968
419
33
644
748
171
354
501
857
868
650
723
429
473
198
582
29
713
816
162
86
981
525
162
355
211
355
920
843
243
211
729
161
927
82
20
812
374
740
141
471
980
556
557
854
305
79
642
155
61
505
955
807
47
529
880
234
228
711
525
417
513
271
441
865
555
43
701
64
740
111
676
443
675
504
202
138
799
868
870
45
792
630
135
201
76
898
256
887
307
838
39
696
343
199
511
227
471
930
675
5
929
554
183
36
321
1000
917
332
954
601
695
425
559
274
347
11
165
920
466
210
707
390
116
374
911
488
571
896
52
395
203
601
300
936
185
262
607
638
897
935
974
293
901
579
50
377
562
632
604
161
302
31
527
436
994
378
715
872
966
996
27
946
728
545
406
39
103
530
738
352
898
967
51
148
617
113
750
934
167
240
266
839
920
828
344
1000
505
866
720
937
377
552
437
202
370
675
707
825
674
786
280
111
765
680
243
98
723
158
600
928
28
337
921
558
695
256
79
373
757
367
150
792
262
650
984
404
741
938
791
927
856
134
69
583
594
543
396
632
949
858
409
250
245
939
454
932
876
982
509
79
164
799
466
534
100
731
89
986
793
558
940
353
622
495
432
963
110
675
462
446
23
206
305
72
760
281
734
759
511
680
775
716
315
387
732
795
339
915
86
193
170
49
368
220
765
365
239
927
292
186
307
478
568
406
162
566
177
756
223
451
134
661
792
880
242
66
608
495
806
335
600
107
809
846
926
130
838
65
567
520
931
8
983
654
687
389
742
19
339
954
798
117
314
567
368
250
422
871
205
229
23
963
718
883
196
59
108
728
614
11
251
734
529
187
73
648
783
156
101
373
739
741
118
173
384
654
618
129
968
469
73
543
534
819
842
349
245
406
242
701
860
225
240
174
488
408
104
597
404
744
834
481
876
291
566
71
824
497
505
744
254
340
581
952
38
99
854
937
377
265
831
591
623
622
341
30
210
88
974
546
687
656
148
266
384
877
663
475
15
61
297
338
955
835
503
176
171
816
323
676
869
868
822
352
672
503
362
555
467
36
139
887
892
560
421
171
421
711
537
482
494
207
489
351
374
973
716
880
478
617
355
979
291
196
317
738
281
918
554
553
271
136
797
557
355
458
364
498
55
79
400
341
203
515
644
319
629
255
169
733
18
101
517
340
309
458
237
192
867
634
182
468
318
79
233
420
797
419
591
208
806
446
522
997
177
763
66
560
944
735
388
520
401
214
251
203
176
634
629
733
349
177
733
206
620
79
836
107
65
260
376
587
978
994
844
800
453
59
504
838
175
550
486
66
103
889
909
76
370
964
822
677
911
246
805
873
619
559
282
365
592
140
470
247
812
801
758
502
381
21
702
571
48
675
15
794
237
960
334
708
784
979
446
237
64
871
224
634
390
864
537
180
941
144
812
296
443
728
545
552
925
752
281
474
191
478
668
944
976
784
531
216
688
333
333
760
23
40
270
834
431
470
47
429
117
654
43
147
843
153
664
779
294
581
558
669
983
912
727
732
499
302
235
897
235
790
811
609
154
329
377
646
478
605
308
529
560
717
99
902
115
507
258
650
73
825
627
468
748
658
491
173
288
134
641
701
425
765
300
407
854
95
370
949
135
425
871
656
196
704
462
53
392
965
440
900
271
262
78
73
95
528
116
214
271
239
248
896
605
501
521
982
846
742
513
151
332
623
114
363
57
452
737
105
706
488
265
151
960
979
387
486
358
529
670
309
53
197
927
542
840
228
420
421
470
198
963
786
117
451
214
788
579
229
506
54
984
897
351
202
788
134
481
95
659
263
42
556
397
659
370
257
738
73
561
512
934
535
175
413
763
928
838
956
934
599
694
984
492
473
290
942
229
48
562
25
845
5
281
450
441
98
936
859
745
591
962
643
492
991
214
200
363
286
90
936
505
628
995
582
551
866
981
580
718
720
919
837
369
844
421
966
882
262
935
209
682
892
733
429
839
400
726
522
398
21
922
293
182
483
999
947
759
18
344
275
53
514
835
112
991
633
217
569
966
802
377
720
566
55
541
159
360
106
896
206
871
173
929
383
748
805
683
727
11
82
528
577
89
764
888
104
763
528
42
184
871
310
401
362
94
746
201
685
495
333
431
58
851
972
112
939
728
936
839
773
844
213
927
618
560
282
518
943
512
402
897
414
419
973
940
7
554
27
922
940
81
515
275
346
473
697
330
21
588
185
947
761
139
621
149
438
99
419
701
966
492
303
454
421
875
38
341
778
906
759
469
479
989
43
444
303
195
518
688
776
294
309
947
468
407
110
651
856
241
660
416
539
694
541
491
832
304
720
491
4
904
756
413
581
899
716
874
756
689
134
242
387
13
63
588
600
781
659
754
527
98
255
393
643
116
147
129
116
395
357
273
739
870
185
885
840
524
429
491
207
683
618
893
125
417
213
732
557
838
662
794
781
324
225
764
165
891
448
55
39
434
175
914
477
115
675
796
441
217
644
388
652
226
587
528
578
581
626
176
774
913
338
903
313
33
380
126
796
31
952
925
413
569
297
264
551
248
405
942
437
394
66
314
555
208
999
510
496
15
453
616
637
904
51
6
51
157
589
726
660
551
667
907
660
759
444
789
53
751
213
840
138
577
309
934
358
589
580
981
688
821
294
43
920
571
517
865
748
544
495
934
73
808
605
890
255
362
178
238
789
839
525
949
645
461
298
486
75
820
180
298
205
272
546
336
787
721
324
116
493
95
364
957
669
835
168
746
89
876
926
899
323
357
271
968
559
839
780
937
718
379
27
612
267
317
598
322
38
520
370
572
66
774
26
9
388
422
974
499
211
250
74
856
969
339
763
358
955
865
239
558
37
674
444
278
895
582
94
198
282
551
607
976
451
397
132
903
466
649
812
735
21
207
60
505
591
656
882
997
262
350
689
258
532
118
22
710
493
525
462
232
33
149
205
699
920
111
371
912
267
329
83
982
533
151
499
206
588
478
245
35
615
431
600
213
782
934
447
98
552
629
798
155
770
733
336
430
751
629
79
142
24
920
71
873
77
856
725
620
576
465
704
148
130
820
346
878
270
328
431
492
78
102
118
484
42
761
734
773
222
722
623
987
760
805
482
980
543
980
37
959
122
833
586
910
235
708
386
149
339
1000
998
883
753
716
986
885
487
226
742
131
101
393
233
908
683
372
687
192
132
832
763
433
760
605
911
94
128
663
275
264
680
240
459
85
446
983
337
70
444
434
139
800
562
50
826
533
927
666
103
635
630
173
625
389
656
871
395
107
660
463
32
871
724
133
497
80
497
265
989
607
695
621
494
547
271
213
927
645
577
517
574
279
966
242
984
438
686
412
559
249
110
655
160
341
460
784
626
652
623
222
162
484
755
560
454
715
222
1
974
57
357
53
645
383
117
126
906
426
167
850
87
80
356
44
275
345
444
472
54
532
344
669
148
53
155
378
9
354
726
796
390
810
402
588
178
565
675
808
159
838
776
611
349
162
393
684
612
826
117
236
222
7
919
81
840
904
75
300
826
246
837
60
123
817
935
739
719
281
239
974
673
73
450
992
563
839
462
803
915
152
624
549
605
363
555
701
396
369
870
836
620
884
484
780
251
561
803
475
225
563
794
415
984
225
873
272
406
771
357
178
80
832
243
790
160
828
257
366
644
26
559
954
85
476
176
289
762
934
730
409
350
396
424
152
874
120
258
207
880
751
152
199
508
362
539
569
141
622
254
730
264
574
327
761
335
971
629
369
997
866
756
84
84
593
117
732
490
445
951
161
188
581
105
846
621
726
65
893
420
297
242
834
815
100
280
644
676
853
16
977
838
490
587
517
141
135
353
764
512
940
136
692
5
564
100
1000
448
468
656
93
389
306
738
408
688
830
697
896
832
669
206
217
532
660
284
938
894
971
78
905
769
556
524
707
289
843
118
614
408
137
411
347
220
711
384
943
406
434
390
109
201
28
509
859
819
324
838
958
721
465
52
785
517
919
787
737
479
196
38
502
659
320
211
616
369
291
979
96
651
642
828
459
875
611
377
634
381
656
699
881
854
200
899
461
4
309
247
456
194
771
643
762
405
338
739
486
463
481
95
979
371
587
533
468
338
55
953
715
243
14
610
942
541
611
216
516
268
189
560
43
769
477
258
524
734
621
664
986
85
152
596
931
84
211
590
669
111
996
546
517
886
994
712
367
609
12
822
960
935
344
291
751
223
309
240
300
278
638
344
57
861
477
624
764
677
947
975
151
952
441
150
421
398
191
716
385
307
638
543
226
617
121
339
420
268
816
225
455
874
727
220
323
752
938
394
316
306
718
666
761
874
246
5
222
531
352
385
332
391
881
416
438
863
782
918
361
586
841
930
642
315
762
990
992
780
740
832
306
368
171
55
806
81
736
838
655
185
581
218
613
11
768
497
768
874
904
92
99
510
809
201
559
557
556
362
620
265
769
675
796
748
183
661
845
893
494
781
276
921
562
245
640
250
600
260
102
321
495
40
70
31
815
416
490
481
587
486
192
9
353
992
266
309
47
58
671
773
248
330
975
408
665
668
149
126
88
973
914
712
413
397
52
968
713
542
753
234
970
481
94
163
347
16
21
310
757
727
525
542
980
901
415
117
884
615
67
626
519
915
712
456
843
689
257
331
90
731
64
148
196
611
607
202
218
31
331
618
77
524
447
206
384
763
193
995
232
717
383
604
7
418
862
780
446
291
78
199
358
56
558
333
536
217
674
634
251
916
198
819
320
34
702
848
790
211
549
376
307
708
828
601
415
454
99
952
304
836
307
16
222
347
878
533
849
97
860
801
320
799
571
265
904
571
14
572
16
500
626
39
956
463
445
68
647
435
810
680
923
573
617
489
809
486
673
261
735
122
809
712
977
913
532
763
273
360
190
650
135
314
818
83
58
147
723
942
225
617
633
270
178
408
564
722
923
927
7
883
674
742
581
17
971
646
433
592
556
352
90
18
770
277
225
611
342
223
746
308
386
863
876
259
779
341
592
600
600
917
157
972
727
755
567
465
734
929
324
952
737
528
117
839
649
817
629
738
734
903
487
739
912
976
720
86
224
967
978
736
868
665
263
816
734
199
675
290
188
755
140
7
891
167
206
400
300
599
932
864
830
621
305
210
836
250
821
530
85
494
288
718
75
580
128
883
377
725
324
699
716
336
892
282
476
117
623
288
713
635
939
104
563
442
680
375
332
603
267
728
291
903
367
325
368
291
951
907
498
79
125
146
360
844
161
711
244
912
742
678
146
212
464
300
236
7
606
326
780
511
855
210
113
730
931
283
554
703
475
361
648
899
387
956
842
254
744
312
492
373
862
325
184
103
206
15
873
246
662
935
240
715
16
916
224
818
936
467
136
560
490
363
428
612
742
586
892
34
184
994
656
765
448
436
94
143
46
911
409
366
557
846
320
929
508
65
844
584
642
549
706
935
781
365
835
624
628
968
880
941
343
138
386
149
472
800
588
313
413
524
676
87
539
37
50
43
983
973
402
305
18
302
335
242
654
890
739
407
449
749
326
374
469
404
614
876
331
872
494
254
389
156
347
335
618
465
828
840
543
72
326
91
331
626
771
85
676
544
206
828
37
581
462
207
15
811
332
796
478
344
69
207
277
161
387
925
303
802
503
785
591
55
418
492
252
32
781
877
210
230
711
315
353
270
856
636
118
562
810
770
681
213
805
879
323
367
303
509
891
872
86
821
883
184
484
105
419
627
233
704
323
539
82
100
676
231
780
946
351
730
621
959
586
277
682
621
876
352
315
114
210
408
385
26
597
913
901
243
456
565
771
617
242
567
91
784
61
607
803
151
1000
410
901
330
827
439
10
925
567
729
47
738
244
221
115
564
686
431
963
709
383
466
377
417
773
315
438
272
720
277
576
261
825
465
87
860
265
506
371
680
595
137
999
16
904
669
687
519
89
584
767
465
872
642
582
26
108
752
82
985
65
555
282
516
322
956
220
275
226
792
111
827
862
524
868
313
5
334
182
417
575
245
6
125
529
996
532
185
727
187
238
519
231
33
447
256
597
572
870
370
74
666
358
162
981
945
233
971
883
644
302
106
269
275
882
500
941
953
864
511
128
291
676
238
29
359
310
932
542
622
714
516
630
334
151
815
659
709
574
291
841
617
70
735
669
754
550
650
947
159
251
74
180
97
630
546
884
324
421
249
251
240
604
332
358
71
508
172
555
148
843
313
4
865
856
438
524
787
292
210
789
204
797
260
649
205
12
833
744
676
481
1000
897
979
836
69
110
67
738
65
857
142
569
291
395
711
78
365
721
803
209
500
927
584
192
829
682
531
193
124
750
737
75
989
854
605
139
661
483
183
217
815
473
725
454
257
143
255
341
267
555
226
397
408
811
960
177
798
827
144
751
296
929
349
162
843
424
896
307
211
846
256
412
221
226
942
494
990
77
825
316
738
265
820
479
757
593
233
238
877
693
912
780
462
666
748
541
256
984
995
233
282
75
197
178
715
844
773
246
268
508
972
336
665
967
779
902
327
188
628
450
870
282
887
274
146
464
924
5
949
359
998
806
793
191
704
362
69
725
594
795
269
131
48
378
729
347
350
831
103
126
726
877
997
718
823
317
244
908
687
528
515
143
570
750
259
344
681
146
788
615
340
743
275
811
960
784
158
243
62
35
565
842
396
589
975
176
285
172
396
874
342
93
874
455
846
224
832
585
656
610
314
386
406
714
454
330
691
501
755
60
867
292
736
567
400
632
49
886
531
676
952
302
110
662
867
723
331
161
967
747
946
935
260
666
63
33
412
138
89
163
15
182
383
72
474
422
311
682
330
770
669
737
681
161
284
86
259
57
576
576
734
939
503
445
360
473
458
264
426
852
309
781
392
202
775
646
52
858
988
588
66
919
633
422
697
471
675
749
26
928
949
254
824
106
887
523
964
464
775
904
316
609
471
949
912
329
680
928
462
704
313
165
742
504
427
942
479
404
891
169
906
660
197
171
494
199
435
527
932
817
267
838
102
448
238
900
921
50
724
430
375
672
273
685
780
613
891
807
353
382
293
410
668
259
669
786
634
763
668
420
910
292
932
222
800
103
409
138
610
569
160
256
992
81
19
441
87
505
561
252
54
892
12
529
605
951
11
810
649
753
502
228
801
37
866
607
968
790
552
68
684
127
927
494
665
223
335
541
634
961
371
182
576
594
906
849
402
437
446
122
501
953
899
943
733
608
843
772
755
595
397
208
378
43
362
748
353
760
95
634
624
13
970
545
918
99
724
463
793
69
441
278
859
529
593
919
140
909
781
715
651
590
6
606
613
376
697
934
542
872
607
335
322
265
686
151
314
131
951
128
874
404
823
837
858
716
837
201
122
967
329
862
854
76
994
61
122
315
485
908
694
241
142
219
808
934
819
952
127
56
456
736
165
758
262
487
990
352
780
710
746
317
68
738
831
719
575
55
414
267
573
171
773
713
626
635
671
771
16
300
81
553
563
445
968
917
593
800
311
885
512
839
261
883
380
332
147
734
794
85
985
642
32
14
835
113
823
831
279
374
170
495
969
729
823
448
426
793
330
483
43
324
587
272
152
752
959
29
657
986
172
739
436
562
173
834
499
72
331
996
559
580
779
619
7
138
715
291
633
877
99
607
617
873
768
894
547
510
172
205
879
949
580
521
72
340
7
462
173
558
121
865
582
969
236
433
223
769
601
661
80
108
198
49
193
601
922
635
916
821
572
420
904
532
417
801
583
949
533
295
317
727
939
316
928
147
593
967
806
328
975
630
403
467
871
614
783
632
883
549
402
484
88
454
604
346
166
486
298
471
86
69
976
504
686
632
176
293
347
576
255
733
398
788
451
954
623
686
610
955
284
518
959
371
563
384
95
843
275
837
776
355
114
689
832
858
175
644
636
650
890
887
983
717
504
640
145
522
923
847
630
168
719
836
770
830
944
342
920
138
726
923
81
640
181
707
484
863
739
720
489
263
595
335
988
764
747
937
523
288
773
229
187
634
106
731
440
984
124
429
896
831
584
559
583
829
951
310
898
786
521
968
653
510
841
261
895
130
131
662
1000
214
644
287
570
338
562
115
342
9
904
913
657
120
120
428
247
986
710
432
865
454
987
311
899
497
371
886
329
959
916
658
537
230
653
553
305
897
360
205
607
557
883
565
154
892
243
886
140
648
81
378
797
424
467
407
732
639
857
496
941
637
242
222
42
219
770
641
516
902
465
995
794
25
819
966
642
501
427
76
772
806
532
168
484
957
3
980
83
304
526
653
467
284
412
401
752
466
624
910
771
756
154
566
766
175
241
447
524
814
608
949
214
53
886
655
779
270
897
336
443
378
679
535
585
715
513
494
933
288
476
805
543
327
806
774
448
291
843
296
974
492
896
768
429
18
760
391
278
322
829
694
253
845
821
539
216
252
95
638
105
203
848
430
828
731
810
197
281
804
970
817
278
913
660
908
526
925
593
157
186
809
961
900
5
321
74
247
118
931
622
632
984
291
954
307
192
809
941
562
713
474
946
517
141
623
791
401
995
380
163
403
962
404
160
102
668
823
671
696
534
704
215
499
557
563
695
467
992
302
711
616
732
732
770
97
483
477
748
612
911
68
48
772
990
95
759
792
102
219
607
493
60
910
301
113
296
610
494
690
705
819
411
85
575
844
4
869
466
425
429
607
156
843
448
899
137
122
522
597
241
185
998
625
134
304
73
471
607
378
703
330
404
686
508
321
542
16
245
103
582
38
5
577
7
579
316
983
918
298
348
787
88
938
663
19
787
735
809
309
200
4
564
929
741
34
301
416
114
53
608
192
492
648
946
589
431
670
157
428
95
349
98
409
290
918
878
238
29
348
767
441
942
204
791
68
808
12
880
989
350
449
778
982
459
421
88
640
513
890
489
259
411
516
121
17
122
63
302
942
514
530
130
850
74
817
912
603
317
84
204
61
285
901
819
526
75
375
363
364
831
141
566
787
835
341
119
229
255
636
461
691
793
528
106
791
583
454
573
185
560
390
830
498
367
671
919
248
288
75
981
844
48
464
659
221
597
566
723
864
48
224
754
79
318
48
750
846
62
494
509
443
813
229
910
60
761
771
352
286
935
366
76
149
667
94
194
133
38
907
732
700
263
522
794
48
45
258
919
246
638
690
493
467
786
267
9
319
864
386
756
328
248
429
449
505
617
466
666
382
36
679
29
465
521
400
417
566
46
832
884
761
15
455
713
357
477
956
643
760
581
65
347
678
956
607
815
127
686
881
11
971
549
404
789
151
615
263
474
61
889
751
195
634
78
401
49
1000
52
898
62
305
213
338
514
596
163
377
408
770
2
68
950
404
484
76
504
392
345
47
462
500
687
304
253
801
486
495
537
962
662
360
361
411
913
647
750
172
552
607
393
525
983
713
295
621
794
813
443
477
639
238
211
493
52
161
824
129
472
627
149
241
801
847
966
609
764
995
749
944
611
426
170
774
271
26
461
877
647
165
492
23
426
637
622
953
431
412
661
705
581
147
236
613
403
958
396
990
54
755
964
140
87
157
832
805
479
944
968
474
879
634
900
467
163
753
882
629
669
136
707
500
950
420
501
505
934
533
258
640
234
457
803
283
686
339
990
680
86
485
540
237
602
904
121
233
797
954
134
783
866
661
385
930
457
809
505
549
830
192
609
683
855
613
168
537
943
757
324
871
405
925
913
380
431
805
335
850
252
319
747
509
635
5
729
517
71
814
534
327
607
683
78
403
134
820
831
664
7
244
686
657
202
8
465
556
600
906
429
467
752
278
960
501
707
163
52
551
769
110
134
179
143
717
769
196
566
823
501
952
146
780
178
861
98
351
622
60
622
975
151
901
754
13
785
761
504
908
774
423
534
746
768
989
257
104
764
39
558
750
301
364
739
300
112
159
681
67
251
312
311
771
874
170
394
533
111
129
387
238
708
206
896
906
165
478
532
963
516
34
502
854
700
835
37
869
991
901
241
987
243
836
360
527
400
621
124
455
740
702
628
768
710
502
476
784
452
112
98
185
797
449
86
423
518
437
103
861
814
940
240
730
853
945
316
179
673
639
845
439
713
576
803
732
159
544
786
540
798
437
232
576
652
611
391
243
291
198
157
507
447
381
613
743
686
871
508
592
815
630
817
983
977
936
648
129
997
33
120
588
172
991
787
291
43
80
175
557
324
86
147
570
567
717
801
119
916
556
648
361
191
288
311
193
945
428
782
868
721
476
869
143
725
582
753
68
825
598
223
901
892
956
901
811
337
167
773
45
698
810
173
160
471
265
925
634
161
628
644
598
282
178
836
294
109
127
347
652
229
966
900
148
910
933
243
104
454
558
92
795
309
858
403
374
738
974
888
730
451
466
843
201
174
158
62
212
586
510
294
660
253
627
621
467
403
175
585
128
620
382
838
614
791
518
337
110
845
727
522
884
799
22
92
939
786
145
386
674
401
623
998
701
460
161
651
895
489
221
884
63
937
170
312
202
772
372
59
357
479
100
825
681
25
300
599
83
213
699
85
897
761
374
113
149
542
563
313
113
330
331
757
724
495
660
669
465
684
120
515
71
65
746
895
692
647
374
481
500
418
889
410
120
506
819
526
68
830
657
736
971
660
409
93
574
582
989
115
550
839
795
504
721
33
32
144
719
251
310
644
5
432
863
235
592
745
927
403
313
642
236
596
342
334
917
282
694
700
314
96
719
992
53
211
345
78
94
206
303
584
272
906
988
615
317
615
88
882
201
571
869
343
339
931
89
53
601
713
994
654
685
916
551
166
784
486
287
722
551
503
426
432
557
985
419
888
159
571
224
270
151
336
788
239
769
834
210
726
521
785
91
512
125
852
301
124
564
781
778
577
70
782
471
776
887
196
219
649
602
526
316
173
44
143
907
649
858
598
685
463
67
109
230
32
747
921
345
838
396
405
422
303
782
748
843
204
740
844
711
425
869
499
807
270
912
225
812
527
240
939
85
139
923
909
136
483
51
937
490
766
912
897
698
414
80
463
29
978
888
125
292
591
543
929
82
858
600
725
659
485
992
648
235
593
645
976
399
679
118
370
777
86
413
457
198
213
519
274
866
936
921
789
755
33
682
740
231
980
264
929
447
170
695
859
823
924
353
463
542
935
433
47
229
933
402
856
161
537
89
62
131
509
123
594
68
186
957
758
574
901
372
628
215
303
190
725
221
868
796
885
892
383
555
681
363
442
475
642
863
326
956
781
245
377
750
621
147
419
42
483
488
27
65
65
960
113
533
950
21
618
536
828
942
564
954
279
813
786
611
108
743
334
739
444
213
579
33
969
687
458
474
212
896
586
849
851
109
929
509
978
575
368
574
383
605
824
993
559
21
27
832
606
954
248
276
139
149
491
249
576
937
318
135
981
612
309
298
596
360
901
619
43
138
281
908
705
67
185
286
788
719
882
417
397
909
195
456
773
481
872
877
762
967
572
843
417
756
890
554
310
196
824
477
712
429
350
156
263
657
634
118
27
6
636
897
725
990
425
84
461
289
696
895
675
302
407
292
146
928
244
473
608
603
951
650
263
543
564
531
817
762
10
133
778
999
529
91
755
258
418
642
317
828
756
750
577
388
315
505
968
249
944
885
1000
295
254
489
925
679
400
903
453
158
937
547
130
126
167
829
167
622
628
847
751
422
648
608
338
635
763
152
35
841
151
603
460
975
994
176
598
128
699
242
968
311
741
52
515
775
957
756
75
794
586
625
607
723
667
688
733
677
62
507
470
920
979
213
745
960
924
75
596
696
964
924
366
316
222
132
116
514
801
508
674
943
23
446
772
509
785
20
615
585
153
851
150
298
875
204
764
362
599
108
303
653
947
861
224
740
99
513
382
923
208
110
454
204
476
422
373
969
816
984
669
361
479
933
496
532
536
488
505
996
925
567
299
150
347
79
259
707
50
687
523
229
20
255
444
707
657
416
942
212
849
286
914
428
948
274
258
819
958
728
38
365
685
929
22
91
89
571
333
888
612
326
787
879
291
687
681
864
72
505
867
499
607
643
690
197
295
42
243
692
74
316
405
99
855
46
749
944
12
834
125
524
752
749
971
890
754
902
282
317
478
906
90
671
422
134
791
792
902
190
824
335
89
104
261
510
348
78
943
447
290
801
774
633
867
999
648
710
60
112
256
38
229
923
477
793
124
573
689
942
569
738
382
1
918
207
633
962
178
708
773
790
270
633
35
904
596
326
453
972
727
174
534
206
723
788
686
919
219
556
784
46
30
395
827
819
433
49
790
845
991
766
251
494
631
616
479
556
753
443
709
909
96
848
81
981
131
413
638
931
566
606
988
13
379
502
40
22
806
8
100
773
630
126
234
401
824
575
274
845
79
503
605
296
198
646
528
745
832
754
687
185
823
596
419
260
679
849
992
424
405
174
238
605
255
869
67
124
145
787
260
946
55
542
313
689
60
970
634
645
442
4
400
656
882
145
49
610
28
297
775
653
449
745
264
630
747
144
435
81
811
904
999
224
379
202
451
194
649
653
951
235
471
272
584
528
254
902
467
459
623
330
359
54
978
953
593
930
149
509
346
183
667
181
985
861
657
827
775
159
484
230
527
98
981
531
545
541
99
493
190
758
638
933
731
594
873
485
852
183
269
501
419
771
987
66
703
373
66
203
45
281
987
812
410
164
35
757
582
824
355
17
415
999
401
43
614
627
386
655
823
275
549
567
796
186
313
353
959
336
322
633
830
806
369
90
801
801
441
281
621
457
734
424
445
905
574
915
126
93
580
637
970
31
477
184
943
933
22
119
348
513
665
408
99
19
630
86
108
552
934
684
207
337
332
485
355
691
440
794
263
11
544
371
742
991
739
273
613
110
56
552
164
564
4
517
5
774
831
788
28
679
81
611
340
333
443
278
208
895
666
509
734
578
579
137
359
999
813
590
110
663
699
113
140
204
478
829
784
393
274
968
758
664
503
135
886
152
764
895
940
256
940
957
837
360
111
576
291
220
122
585
314
1000
787
871
495
475
668
26
245
559
897
16
203
261
74
671
123
124
40
780
898
829
106
208
597
519
191
539
205
885
419
719
879
84
624
908
534
421
330
586
467
829
939
798
910
999
952
575
667
882
745
260
691
745
762
996
482
350
276
986
300
436
27
322
557
901
649
199
242
569
637
201
313
849
238
110
239
168
812
978
411
864
410
374
3
714
917
904
808
482
718
234
721
119
364
558
465
612
703
257
971
392
759
232
913
983
798
67
817
963
637
26
700
735
576
196
928
529
688
608
146
928
658
779
657
179
870
988
34
401
586
184
143
444
404
768
25
209
718
557
660
716
125
138
13
799
476
455
305
669
509
585
825
863
94
877
53
24
475
14
643
240
496
214
440
869
858
634
315
395
852
755
217
865
689
178
105
548
105
971
653
824
850
298
508
759
249
17
922
672
267
118
397
232
911
608
875
688
368
664
138
837
425
411
164
675
972
238
195
568
213
277
810
361
240
925
817
182
965
165
10
888
797
464
966
576
295
226
411
730
407
376
370
213
949
590
313
923
309
223
341
663
863
432
666
230
909
1000
802
509
323
94
871
988
917
455
314
751
70
348
426
123
342
649
654
655
43
359
480
976
804
214
42
130
970
351
712
169
245
625
872
267
614
338
873
528
352
638
588
927
560
893
239
245
41
453
538
643
461
398
382
241
416
602
160
881
338
830
982
760
781
6
68
540
613
13
96
632
49
160
69
462
64
992
550
717
722
639
295
963
229
770
569
73
435
393
431
19
712
165
522
366
865
912
861
603
488
750
384
78
343
743
850
525
982
131
690
578
176
737
448
61
309
108
698
710
430
951
469
135
49
261
958
373
370
629
866
49
472
529
513
44
104
360
156
884
869
308
120
21
581
297
209
772
735
118
525
802
42
375
589
831
866
388
301
377
851
765
481
906
801
423
503
609
28
754
852
266
480
386
764
473
51
201
438
104
467
441
842
218
335
548
111
814
149
622
169
853
446
81
958
717
389
622
578
989
274
63
775
796
812
292
125
276
558
679
310
446
453
221
169
869
370
867
57
749
814
756
901
665
350
610
894
442
176
624
272
345
627
304
833
425
938
862
831
198
317
311
687
432
928
386
641
722
309
394
732
675
12
1
468
762
561
207
880
796
991
759
774
917
530
551
352
620
922
733
705
288
194
302
390
767
207
470
933
228
945
854
428
868
556
319
538
401
369
341
884
312
723
253
437
300
294
982
838
306
155
97
382
508
537
237
760
445
167
891
111
270
229
729
868
961
601
560
150
3
382
976
694
568
101
228
349
228
12
887
482
96
962
393
716
479
74
597
622
593
186
451
704
475
338
867
779
497
653
179
8
465
580
647
115
827
939
21
618
674
809
726
701
290
189
48
921
55
22
122
107
657
412
202
185
147
258
34
562
816
717
183
210
947
91
467
275
919
223
952
210
582
272
994
465
733
849
482
855
350
86
862
2
161
91
596
982
617
262
552
778
979
751
33
662
950
383
175
83
372
577
420
862
253
882
613
915
738
266
634
545
569
507
140
554
845
769
112
767
425
510
84
430
226
39
219
292
333
684
30
191
881
513
586
299
905
546
142
683
945
691
158
696
916
371
331
358
970
685
611
620
933
480
590
706
925
96
130
176
41
334
150
855
571
195
799
646
316
707
319
91
829
914
585
825
963
890
54
712
487
404
953
846
258
962
620
336
455
246
645
42
252
446
61
613
960
311
832
995
573
559
669
138
324
615
217
701
617
16
480
376
30
798
744
970
960
971
314
408
288
575
812
282
152
903
422
740
881
272
23
944
527
420
533
510
365
218
759
208
738
569
383
902
575
450
344
772
176
756
650
549
204
585
498
503
691
996
674
383
400
647
760
444
981
560
468
481
825
203
128
443
17
247
251
173
574
64
494
88
887
226
133
501
502
311
735
519
281
101
99
925
510
588
820
865
183
327
842
673
978
987
410
700
176
921
915
369
814
959
12
280
557
228
905
987
569
131
505
399
339
424
664
172
689
276
746
598
346
755
427
289
564
332
678
203
972
755
158
67
533
275
753
645
397
30
479
804
337
981
4
36
493
495
524
230
18
985
866
454
70
898
628
446
417
219
910
417
885
857
871
936
474
918
775
722
502
64
613
942
958
614
812
631
964
346
16
242
249
377
18
749
459
635
607
389
284
771
935
754
467
970
446
908
715
555
133
750
985
622
180
789
586
871
596
302
498
317
996
902
702
344
122
688
254
44
276
892
27
142
44
123
797
361
84
222
587
413
440
235
394
54
227
877
57
90
154
418
361
101
25
606
906
142
698
515
2
342
569
77
486
9
242
413
374
286
930
204
191
801
113
375
482
797
714
45
972
31
257
353
155
260
988
4
522
419
494
425
368
574
260
525
502
238
667
246
165
869
448
311
464
45
714
111
586
198
873
299
44
214
562
329
138
223
907
55
188
864
666
488
12
767
947
348
388
877
915
412
188
171
626
451
198
890
953
486
34
377
513
79
340
272
610
758
342
454
698
150
99
331
924
877
808
118
117
679
843
703
234
848
850
355
88
252
986
616
286
556
605
456
642
627
383
241
328
551
78
894
881
957
283
800
891
344
848
49
462
323
723
826
987
841
883
305
777
741
795
182
154
76
1
301
850
50
244
382
134
27
350
549
219
444
145
888
304
263
389
264
996
842
108
368
878
73
788
442
92
490
287
354
295
36
176
861
609
667
451
575
800
220
311
679
561
298
168
695
601
547
65
471
766
509
582
268
328
353
620
276
961
247
165
594
695
660
233
535
830
637
182
720
1000
535
530
266
624
98
624
516
399
854
126
307
936
673
250
946
128
786
4
475
900
894
929
543
676
230
678
111
282
463
888
330
443
595
442
809
103
966
709
606
964
371
258
206
491
73
998
898
166
503
77
930
663
655
370
675
267
915
881
313
615
672
345
188
150
145
733
7
166
766
503
682
389
140
592
876
970
118
883
210
937
629
398
608
184
816
529
113
451
430
699
279
30
944
91
470
481
491
861
302
784
112
211
423
509
417
194
762
122
397
676
212
161
130
661
8
727
635
972
907
486
395
290
226
685
433
735
285
547
205
946
47
659
525
264
214
102
189
921
597
813
715
473
651
349
99
228
182
199
971
347
761
31
572
534
13
939
271
97
109
865
758
856
688
49
560
887
80
946
302
495
931
495
80
81
93
726
529
231
607
893
555
847
261
593
940
640
878
970
450
739
19
884
937
457
193
534
724
984
247
893
164
971
2
207
618
324
944
545
297
900
161
274
416
452
838
572
407
918
116
20
779
89
414
990
177
146
742
590
600
977
213
347
629
632
588
843
757
900
305
602
410
807
433
171
559
819
6
144
346
283
838
286
783
151
195
743
159
810
865
683
169
717
212
964
41
763
235
435
675
947
921
798
21
270
199
808
840
458
375
218
290
965
869
364
288
201
537
770
416
931
142
376
326
634
159
179
505
196
599
474
652
162
372
888
252
362
51
859
849
392
795
331
230
824
461
276
15
742
551
324
542
628
870
514
651
661
684
617
108
438
651
222
18
251
436
88
226
574
46
414
841
946
198
759
520
724
411
80
742
972
53
637
233
364
912
952
374
252
45
101
979
865
45
344
516
900
532
773
518
540
812
677
781
352
431
908
983
915
704
114
321
446
87
256
877
332
844
903
559
294
488
418
485
726
663
147
83
397
178
447
520
173
369
829
957
522
333
835
801
278
238
252
645
659
14
745
903
558
347
416
343
148
808
938
435
838
11
176
360
187
906
823
774
675
436
545
301
313
426
112
599
987
126
754
797
414
265
542
553
557
936
42
868
289
580
422
344
297
972
485
637
31
236
186
27
595
287
789
137
505
862
802
99
405
599
914
102
726
424
326
417
528
670
487
264
438
30
629
73
59
104
844
626
919
595
194
693
263
278
946
622
187
726
541
865
897
999
893
192
536
316
989
948
649
948
8
519
622
626
808
484
210
64
305
839
224
941
526
359
954
191
323
375
821
699
297
656
220
755
593
310
874
985
264
747
812
663
339
320
970
554
451
293
117
91
423
502
653
402
2
392
942
540
640
334
67
496
599
95
657
308
970
145
626
488
158
798
36
56
548
518
931
77
776
764
980
814
287
791
484
475
472
382
439
982
180
29
541
32
174
473
509
917
644
729
755
558
411
725
242
561
923
208
379
237
138
672
674
785
884
12
429
130
161
458
962
496
334
392
660
206
432
463
265
773
238
98
235
853
879
987
668
632
830
852
761
924
633
992
424
299
924
756
488
165
804
720
753
916
253
167
11
609
902
818
472
2
144
623
891
126
377
145
879
910
204
466
250
578
728
760
193
246
782
37
473
905
645
704
582
348
572
26
536
850
263
944
204
234
752
395
760
404
991
926
387
600
414
252
738
310
84
256
862
56
69
686
298
581
568
468
375
406
496
991
969
732
438
670
88
744
815
747
887
960
920
958
830
577
839
406
689
434
588
992
963
903
918
387
904
370
59
831
609
50
441
476
968
534
950
640
122
806
584
254
490
763
942
208
912
802
204
763
721
799
847
162
922
968
561
375
819
942
392
514
375
449
968
820
655
510
994
304
941
691
107
253
121
154
788
486
29
604
101
767
160
614
636
150
204
875
528
391
2
748
368
567
7
575
243
208
5
16
315
566
391
13
22
59
497
590
580
387
432
858
918
891
160
803
245
280
142
362
967
402
905
316
788
345
445
695
699
137
318
123
948
658
741
581
129
192
899
850
982
310
670
788
297
722
473
948
28
179
71
62
204
993
360
374
885
229
838
603
614
207
922
207
444
743
296
412
108
15
651
595
531
977
678
531
586
770
270
497
376
420
241
440
127
396
349
85
217
590
876
519
923
995
702
967
952
111
261
701
767
61
81
377
53
310
378
755
45
392
408
671
174
593
102
734
328
75
959
848
272
903
91
358
770
712
241
482
88
572
863
411
527
97
684
419
458
804
474
494
140
186
295
951
963
88
233
609
472
702
335
111
305
516
62
323
676
400
453
695
746
798
374
59
950
838
593
952
268
761
463
388
145
508
689
553
177
336
495
94
553
719
480
18
424
690
96
948
122
345
306
227
553
825
922
64
339
160
807
829
663
58
697
885
410
469
194
292
560
940
556
622
367
269
271
531
125
96
887
218
641
873
662
373
901
270
68
723
346
45
101
441
595
139
27
522
574
201
282
567
3
553
263
692
997
141
330
682
195
340
94
341
796
579
321
784
308
970
797
335
853
189
786
997
923
238
666
204
728
624
210
113
45
820
33
166
364
28
50
96
652
918
38
757
472
113
56
305
4
322
566
519
958
763
494
23
271
980
272
302
171
815
117
753
943
396
641
741
229
374
859
293
946
916
900
80
841
923
292
911
932
806
728
169
727
389
409
417
180
770
12
645
318
995
287
746
61
501
574
164
287
966
461
212
748
77
494
855
548
25
562
641
241
293
377
838
512
364
136
746
491
270
290
349
79
831
769
150
612
502
205
822
247
439
667
839
739
763
329
874
313
36
913
999
19
811
872
924
526
805
212
37
334
616
476
745
988
380
759
317
387
81
523
96
838
715
254
297
331
627
383
457
708
432
419
517
977
287
498
841
602
153
869
564
632
273
855
745
403
796
599
894
436
11
70
22
742
752
578
226
661
294
256
970
560
14
145
172
347
749
749
131
6
427
449
139
725
351
331
15
52
612
987
383
301
688
478
608
258
911
842
282
33
796
475
163
986
477
680
110
376
176
106
523
795
125
282
87
771
671
259
709
272
19
891
648
138
367
958
982
593
208
190
865
51
174
383
386
698
51
932
34
1
536
347
398
278
54
707
652
82
592
163
281
541
398
192
650
923
169
722
713
76
190
134
149
254
597
625
325
508
193
427
329
23
69
829
519
99
432
867
896
836
499
501
913
145
228
216
477
666
873
140
423
901
505
421
222
776
884
457
822
924
596
191
250
65
664
973
808
746
712
983
656
928
503
170
531
909
940
856
783
412
781
171
157
293
79
239
674
565
616
439
731
256
818
797
487
373
361
722
110
530
222
430
441
328
823
902
140
13
89
556
268
761
659
366
705
561
273
676
909
115
44
405
566
160
584
447
653
644
74
541
514
651
425
837
907
329
978
84
721
582
399
656
964
820
382
453
868
728
107
786
394
6
515
740
394
259
311
173
32
218
950
826
928
488
697
941
651
923
313
245
509
202
459
266
461
723
921
288
74
168
117
688
808
369
362
172
840
596
461
136
992
89
816
328
178
559
92
957
983
610
663
44
954
414
53
990
131
250
701
548
216
254
239
130
695
415
376
782
525
269
109
749
593
387
567
555
827
413
243
223
488
646
996
667
274
947
635
250
407
588
463
976
978
755
135
702
592
925
228
765
705
229
205
856
766
777
744
642
608
958
67
616
177
674
810
647
958
923
64
659
142
608
810
121
53
775
83
676
991
365
950
513
913
65
880
207
780
358
15
377
975
853
57
15
175
51
926
421
674
75
396
621
742
131
753
583
6
789
890
253
673
597
405
199
889
824
38
219
888
310
267
702
776
237
932
441
822
700
983
718
646
600
398
774
900
870
862
252
404
205
609
160
193
418
483
947
834
781
795
229
666
235
985
683
815
8
547
34
602
196
176
608
992
688
735
181
792
459
896
635
408
866
546
619
802
510
645
970
180
692
821
833
566
231
702
626
866
998
504
839
455
37
662
1000
257
375
876
681
230
130
895
961
694
83
131
842
64
537
750
250
794
449
423
390
236
664
370
983
983
960
600
383
652
120
323
420
775
742
361
778
405
63
325
845
431
23
995
932
945
864
407
441
854
33
265
578
852
421
154
2
502
154
667
176
894
63
902
652
4
900
299
124
184
103
928
423
555
950
448
88
775
213
262
988
695
355
752
625
535
195
780
375
197
215
431
839
776
29
76
230
145
615
682
185
18
450
41
286
214
171
83
324
597
910
181
907
68
331
816
395
648
775
963
696
839
557
336
704
185
629
930
244
596
30
562
95
343
883
337
78
911
465
236
923
517
422
374
867
547
185
324
508
490
360
852
304
523
443
715
126
887
608
823
4
567
330
560
3
127
628
592
32
628
668
955
285
265
760
418
913
529
171
755
913
973
497
618
974
524
586
390
86
895
459
476
312
600
238
578
318
591
836
547
404
569
56
722
428
788
880
213
678
706
253
894
575
865
298
877
595
305
526
853
286
328
280
446
183
706
757
349
783
578
872
28
710
466
856
80
252
886
281
945
932
901
713
591
703
5
715
289
473
704
713
744
893
891
765
340
865
553
593
165
845
94
819
713
422
875
459
93
258
732
673
890
359
906
434
748
129
247
944
5
248
909
495
840
456
542
641
502
592
195
417
400
94
7
626
572
269
187
514
935
266
747
121
483
410
602
797
390
68
621
207
360
992
545
885
465
147
84
717
713
547
155
195
727
311
315
302
842
348
677
841
989
28
789
402
661
8
614
831
3
202
247
714
807
730
365
614
179
957
154
4
130
78
933
718
753
183
703
737
332
403
555
435
787
90
395
701
844
851
715
643
27
333
168
357
722
203
893
914
748
942
423
148
236
178
155
619
106
521
714
111
191
98
897
403
629
574
499
812
834
661
147
794
839
728
461
963
968
518
332
918
655
280
768
320
520
7
836
998
586
383
13
327
615
638
241
964
488
126
684
849
233
939
498
134
777
674
427
1000
353
697
283
407
124
565
516
100
696
870
44
809
720
836
437
780
524
446
836
115
458
784
325
695
338
978
81
355
454
716
376
831
1000
541
762
952
108
749
255
463
383
518
118
11
501
892
706
998
201
93
832
654
985
857
823
73
559
568
416
870
213
497
52
773
909
544
142
191
461
926
483
304
488
714
429
689
834
383
666
769
562
879
11
996
354
261
560
101
611
951
33
515
175
376
831
652
327
103
298
513
597
877
208
1
217
827
965
237
217
830
440
828
942
867
567
59
730
67
931
481
300
588
161
508
199
764
924
709
397
219
415
709
536
155
73
937
24
335
193
586
612
402
851
131
111
571
363
791
414
586
303
238
893
334
660
894
218
227
587
635
203
382
167
355
221
442
211
936
418
628
287
201
341
978
674
442
766
806
650
54
540
433
522
618
937
344
907
343
791
723
838
914
867
918
463
890
265
419
917
548
914
312
500
70
540
134
739
273
837
64
483
416
418
438
266
93
713
954
118
393
775
801
622
796
882
596
877
498
360
786
667
998
955
916
237
625
40
65
93
310
721
590
136
575
305
554
306
679
537
873
464
687
703
842
303
473
376
731
540
750
579
251
462
684
184
586
930
822
952
978
798
662
188
288
428
646
905
913
849
413
30
324
223
364
88
550
839
245
790
716
526
721
998
578
318
947
334
642
471
354
667
534
68
805
936
780
6
140
808
113
976
444
908
960
688
644
451
89
785
718
767
103
102
561
245
261
300
729
12
756
925
675
560
900
632
706
153
328
437
966
683
821
747
154
81
852
898
308
712
631
745
985
125
635
571
638
310
276
250
370
735
265
869
668
563
585
73
9
234
229
995
248
347
264
744
871
837
459
659
224
170
770
899
873
428
599
228
888
648
777
964
206
567
447
229
642
40
373
587
992
64
81
834
766
533
520
504
904
566
739
466
232
623
671
330
81
869
885
729
135
285
385
721
802
307
989
132
951
731
550
444
282
646
308
527
117
488
563
895
233
103
316
917
127
919
232
470
797
69
911
540
618
882
232
301
169
208
788
964
793
431
622
20
347
492
801
846
276
611
52
647
514
878
289
948
957
185
561
875
234
341
780
598
674
36
38
637
849
585
431
67
92
584
912
690
832
163
223
292
661
164
208
789
616
173
164
557
77
40
618
700
488
502
61
485
499
214
489
858
491
960
189
684
11
510
836
935
918
205
408
85
189
847
314
524
735
627
745
157
530
647
732
661
50
400
547
804
51
762
152
376
719
793
581
162
132
569
715
995
314
253
746
548
695
641
157
174
358
821
125
171
713
133
161
769
1
840
710
667
442
282
449
697
811
298
994
343
917
780
759
423
77
827
743
304
770
89
868
236
994
40
760
673
240
547
955
928
48
155
897
215
582
983
926
544
718
793
941
896
413
514
38
655
192
505
686
302
583
295
108
352
987
533
220
528
610
248
686
871
49
376
525
117
536
41
295
821
431
545
314
437
793
111
633
992
153
699
950
274
921
403
377
621
212
971
467
235
546
85
302
454
317
78
316
655
727
520
977
807
240
765
592
14
3
862
989
55
744
794
933
256
720
260
890
604
273
523
719
118
698
992
839
22
995
62
369
48
860
812
347
48
302
764
491
354
914
417
146
616
313
621
893
947
293
704
26
316
625
297
272
431
268
716
736
250
463
416
546
536
990
256
658
904
734
123
369
918
480
393
241
274
532
146
583
416
625
207
395
292
934
694
258
41
355
41
618
479
317
577
307
170
565
832
273
463
788
268
387
860
932
369
579
135
398
921
674
684
589
801
145
748
853
690
887
273
79
467
363
228
652
924
581
17
451
398
324
587
534
139
337
204
722
331
522
507
731
825
988
397
397
677
703
767
650
78
947
710
353
292
717
296
373
112
951
504
151
331
95
646
160
609
659
320
251
755
240
38
282
748
638
474
247
894
690
560
400
880
868
325
985
413
759
407
299
172
348
510
924
189
185
725
984
250
875
769
470
89
294
247
899
673
666
1
272
176
407
426
388
310
520
115
842
52
813
97
247
792
198
384
677
401
155
630
524
221
699
996
650
759
290
824
876
853
642
664
618
517
911
468
953
889
685
30
933
178
412
570
197
163
398
892
250
716
603
287
354
648
661
263
621
838
408
766
858
705
335
104
639
792
931
948
282
827
307
261
550
510
844
547
525
139
337
857
391
902
929
166
244
956
168
171
676
96
120
377
505
127
692
5
849
4
195
106
191
499
484
521
63
501
362
426
633
696
326
194
512
350
198
321
822
204
816
629
562
113
827
693
254
982
412
303
156
125
458
533
585
8
243
585
512
347
722
674
490
437
943
784
645
858
803
34
478
844
777
509
32
376
935
90
357
64
506
610
684
447
975
125
641
677
161
267
792
955
956
38
741
887
163
684
611
879
523
771
336
569
768
659
139
890
352
910
343
14
14
815
470
550
818
406
849
634
863
151
913
27
5
80
322
957
306
274
913
264
877
47
104
146
1
292
887
112
533
21
181
173
320
944
241
632
883
475
526
377
433
130
480
483
908
682
673
871
293
631
17
927
972
681
86
256
137
809
498
892
846
404
275
366
716
317
124
229
174
322
58
658
220
504
276
978
106
371
72
84
912
334
207
433
292
668
990
608
195
493
712
166
862
860
34
663
684
970
138
147
328
547
891
646
318
709
793
618
921
668
87
83
150
87
494
603
162
11
741
464
998
888
86
815
703
33
303
504
359
751
738
808
14
20
18
551
700
303
409
590
426
378
561
160
536
338
891
388
890
532
341
899
945
773
679
88
591
950
410
906
547
285
793
600
968
853
480
433
440
342
599
540
885
687
801
939
877
380
88
325
397
688
15
787
641
146
238
540
817
696
560
991
33
763
433
145
343
246
828
572
236
971
813
569
902
657
338
453
551
368
842
739
671
22
107
649
405
157
650
398
510
306
259
903
206
993
255
982
447
823
642
15
294
756
143
201
451
17
722
765
651
459
931
400
275
836
995
975
11
511
738
176
173
839
729
878
360
19
587
162
972
692
484
615
414
240
123
338
551
125
389
378
462
38
946
902
839
333
798
67
170
695
948
435
136
624
274
687
508
659
31
427
932
817
321
748
842
732
180
496
436
422
794
964
308
440
572
487
866
889
365
26
125
644
234
260
798
520
871
439
705
65
721
513
744
79
872
543
208
95
438
61
526
251
464
165
38
48
266
455
492
491
367
374
65
34
136
583
960
503
661
155
662
999
659
165
98
324
366
406
220
830
735
994
41
507
238
848
90
47
681
502
884
655
294
67
728
563
867
518
879
999
928
664
807
838
713
754
821
483
725
934
223
479
639
390
580
966
815
489
853
229
433
66
940
10
964
378
418
231
875
49
585
19
901
338
733
165
114
504
133
413
115
629
773
25
437
657
215
385
931
284
190
609
271
726
644
916
566
898
55
568
400
736
689
555
696
296
982
64
587
740
298
810
303
891
960
243
839
532
809
466
169
957
730
713
835
786
340
28
125
885
463
269
11
151
807
534
416
224
566
839
494
911
49
468
199
421
336
775
189
616
375
719
271
248
419
773
276
442
972
961
287
766
72
887
525
651
89
471
713
461
311
134
539
967
475
418
946
945
940
64
206
389
562
148
75
761
7
92
24
932
640
244
396
763
536
162
486
741
447
320
414
746
344
735
996
717
595
966
526
366
501
800
691
860
748
273
615
102
966
254
946
778
820
833
114
973
249
397
123
938
565
700
495
958
186
306
37
333
630
960
602
989
1
680
390
283
772
71
861
738
740
233
413
512
370
972
705
501
580
545
526
999
940
810
794
329
879
382
825
360
244
568
919
446
367
794
859
615
793
537
228
786
177
1000
637
471
506
59
972
796
448
438
877
842
58
501
924
706
702
930
498
999
345
669
647
209
296
88
175
314
424
315
326
669
650
422
742
45
357
995
315
672
954
850
892
522
991
533
657
55
701
163
548
650
964
800
666
336
434
937
758
762
156
631
756
981
547
911
856
10
111
462
827
987
960
775
966
336
632
54
267
784
937
362
402
358
580
770
953
626
265
844
157
400
526
905
984
300
749
86
519
621
193
829
361
947
551
891
826
790
620
304
313
794
297
29
82
302
934
948
84
368
983
779
425
54
995
677
546
581
966
499
679
557
981
951
692
498
423
178
700
90
635
415
983
54
847
292
414
416
368
637
499
819
301
403
122
680
159
895
880
353
434
842
645
747
527
236
897
856
474
786
758
468
684
378
113
951
935
651
493
340
831
836
128
215
68
887
7
954
509
887
858
342
949
159
313
457
473
214
50
983
676
329
590
145
665
412
214
813
617
593
793
448
278
717
874
400
144
173
666
509
798
283
252
927
911
922
484
750
217
688
987
702
737
519
994
314
689
558
766
863
399
875
953
572
541
501
478
75
614
83
709
398
212
975
752
702
898
700
7
999
87
343
504
499
340
664
511
229
37
278
13
522
933
647
285
786
78
156
63
637
115
114
931
419
63
760
446
154
271
134
275
817
904
257
501
84
307
786
880
777
161
935
684
323
170
391
854
823
9
143
871
549
901
778
403
795
194
1
209
843
755
483
142
457
562
327
317
199
314
379
596
544
338
566
176
52
189
870
574
887
672
8
954
449
762
86
355
556
570
796
614
853
297
172
196
827
432
688
282
698
500
299
428
353
833
996
703
929
941
238
924
688
689
821
399
826
671
641
659
144
896
701
978
254
569
945
360
757
406
123
870
534
26
803
863
651
624
306
843
585
815
741
904
940
165
529
72
550
626
737
620
46
524
237
472
468
304
458
157
540
93
200
128
276
959
129
198
787
916
539
406
904
651
937
908
822
608
960
720
303
409
464
4
164
971
347
169
869
294
67
127
309
646
827
439
396
541
522
32
610
719
8
44
543
118
394
367
886
362
994
654
561
207
666
123
782
938
42
192
171
717
303
461
468
661
983
653
452
242
420
415
986
137
278
917
921
682
288
430
344
6
60
814
547
801
939
572
424
163
350
411
78
83
292
994
548
731
793
497
114
993
750
489
574
658
381
988
956
563
6
468
195
81
517
454
290
496
993
419
475
30
984
220
986
391
16
862
898
763
631
707
168
812
292
262
34
196
681
47
780
222
813
307
992
223
79
99
532
204
686
208
709
456
58
286
760
315
549
489
37
112
394
610
626
316
465
397
439
632
4
574
557
948
278
852
406
218
996
194
447
792
733
95
316
180
443
418
758
465
277
798
635
222
542
818
693
194
38
634
481
161
873
376
295
20
930
729
520
967
656
967
533
239
30
95
873
116
528
455
289
798
300
885
23
726
204
133
607
946
427
742
261
951
398
955
508
245
925
450
784
945
833
350
958
265
628
987
71
106
717
124
442
181
403
886
265
925
84
631
902
406
966
149
982
840
971
235
8
686
188
306
75
658
19
27
299
711
246
874
596
594
353
962
448
168
232
181
589
881
607
191
590
181
265
173
741
718
215
254
141
71
879
44
91
469
719
650
709
30
745
183
776
533
21
709
223
410
192
382
462
410
723
577
419
651
96
355
97
249
825
276
709
537
907
187
247
617
796
640
1000
753
28
821
335
238
779
521
359
513
661
748
807
683
164
596
137
904
568
473
911
419
625
577
678
82
906
171
270
44
31
128
720
27
395
493
465
699
300
158
754
935
651
732
321
841
547
254
55
605
596
455
753
930
723
564
162
114
399
30
479
501
792
865
508
987
972
310
504
294
780
763
426
690
487
635
997
155
955
292
537
923
30
340
711
837
661
762
557
834
449
112
888
994
813
270
781
50
578
254
506
663
782
717
691
230
727
199
956
422
316
634
149
951
542
806
75
312
856
140
917
787
371
758
882
816
56
876
249
505
835
728
797
380
117
980
468
762
725
344
917
794
828
907
205
596
354
877
400
702
784
417
234
258
40
703
706
124
361
785
275
654
226
804
274
299
284
314
482
659
331
992
255
513
204
847
800
955
117
181
671
199
548
929
93
649
450
991
639
502
456
470
757
45
990
721
425
921
88
359
698
861
685
574
521
406
532
642
637
79
171
818
668
235
237
943
500
936
461
986
662
103
253
956
873
688
321
207
7
803
702
849
926
152
966
802
911
400
432
200
710
214
95
186
633
172
844
510
259
977
768
558
374
140
124
530
997
545
379
174
285
735
618
782
433
492
517
98
678
259
713
50
352
443
998
884
639
314
797
175
374
614
125
688
56
662
207
350
759
121
815
665
461
558
354
978
305
52
312
641
803
930
436
999
843
664
185
229
507
120
124
119
201
200
818
552
719
661
737
229
370
31
607
469
566
176
669
765
914
729
294
284
667
805
990
751
930
665
172
596
71
667
235
171
51
755
804
827
284
571
677
345
776
111
878
294
634
312
962
176
826
495
811
749
617
858
432
588
643
441
731
605
717
739
223
436
225
734
659
831
375
759
285
3
460
675
342
812
401
424
840
351
520
103
868
204
885
361
714
994
989
587
680
999
278
443
329
275
471
403
697
652
642
587
66
782
981
448
165
880
256
719
105
974
488
830
127
660
245
780
343
624
252
810
774
618
953
5
216
52
671
959
766
769
741
78
48
27
543
719
470
607
112
567
335
93
335
279
977
222
357
454
641
972
876
827
20
372
102
756
126
228
19
716
326
911
840
404
713
460
129
745
963
860
425
905
227
686
613
690
267
594
602
394
991
189
813
192
195
530
708
994
113
370
553
989
264
831
1000
803
616
842
194
792
71
851
52
473
397
782
847
189
393
102
347
508
481
967
20
575
455
497
385
637
833
495
196
39
325
460
510
325
364
83
742
849
537
992
526
15
104
338
288
400
917
233
372
474
723
445
240
353
995
561
990
633
207
366
752
866
964
708
14
664
903
951
262
8
190
148
599
214
109
494
833
303
413
267
468
567
108
875
117
979
700
569
962
598
200
899
801
858
756
810
446
432
240
843
176
252
148
110
871
561
572
207
916
827
237
984
989
502
656
134
732
897
541
422
283
707
821
48
506
437
177
921
316
715
682
921
2
715
597
472
219
514
436
671
137
550
277
960
123
171
162
448
799
215
157
766
56
673
890
243
786
378
411
58
242
479
856
494
847
206
967
136
999
914
46
443
573
498
231
175
338
736
823
133
423
363
874
215
440
318
102
535
1
390
807
646
464
122
772
178
20
965
611
169
970
646
474
786
613
447
640
20
665
44
662
339
999
582
702
847
165
937
375
337
623
722
241
452
588
311
219
25
457
944
70
512
499
610
989
52
449
695
357
67
518
482
452
300
185
635
168
946
438
455
763
242
615
283
288
853
571
911
624
138
301
668
674
82
435
60
351
146
720
644
339
391
921
874
942
845
226
25
332
675
783
48
975
242
292
918
743
488
291
630
286
969
135
745
798
59
691
881
868
371
199
678
781
361
70
569
934
37
107
565
828
188
605
112
492
993
1
112
497
861
291
430
2
108
558
64
746
232
603
682
238
265
551
931
967
721
50
358
140
239
880
591
253
994
643
187
535
66
444
480
721
811
787
562
716
824
640
313
12
410
791
23
111
235
921
931
721
362
548
678
739
448
510
490
983
119
733
414
264
493
743
383
600
587
141
196
379
850
871
646
71
792
510
152
337
815
867
907
952
946
565
893
156
269
235
485
611
375
152
217
906
916
137
159
477
162
306
789
825
935
217
302
104
971
286
48
928
616
639
229
727
568
845
160
752
545
120
185
668
331
221
946
25
429
942
545
172
201
377
68
737
45
969
962
937
859
569
312
803
542
890
197
366
556
763
475
227
802
123
97
321
331
222
907
288
499
190
84
871
284
122
683
95
753
684
99
149
411
334
819
776
72
784
954
630
602
417
910
738
236
42
104
278
343
497
874
729
407
291
61
544
63
258
70
324
121
696
454
556
885
583
64
796
27
753
164
329
442
76
973
108
973
162
137
139
683
266
392
36
116
633
916
721
606
865
183
504
993
219
12
704
678
221
281
640
465
147
517
772
221
769
102
711
967
940
457
394
356
581
363
241
992
942
881
432
968
717
432
346
101
828
529
209
239
706
885
619
887
734
230
23
427
624
724
329
71
709
912
486
873
136
759
568
453
201
573
186
269
549
879
282
750
839
300
409
389
195
977
968
887
21
280
912
727
427
690
710
525
449
554
596
71
232
782
89
156
613
779
803
846
229
883
96
489
738
812
224
499
226
243
818
852
16
561
15
448
882
729
320
34
168
146
87
468
465
980
723
388
636
927
865
43
744
505
805
808
445
238
401
795
379
119
377
421
541
550
742
408
228
581
989
946
419
10
531
226
541
750
322
929
853
66
909
302
567
504
105
487
497
444
436
881
833
499
85
31
326
283
449
319
820
78
165
360
332
197
783
753
828
284
2
194
746
826
625
860
416
564
178
404
169
526
455
90
598
483
154
765
581
896
636
91
676
948
932
596
404
17
996
356
737
470
586
105
38
771
66
889
547
342
533
561
948
269
109
804
249
364
752
124
528
985
546
36
692
500
419
580
35
804
251
435
185
364
374
354
622
656
856
22
50
696
670
338
500
446
849
663
362
587
285
738
489
996
936
235
740
668
665
956
800
537
436
264
670
497
895
147
236
498
264
402
904
370
951
913
86
189
231
556
82
600
937
776
237
904
296
825
747
821
975
305
644
270
910
320
799
205
131
741
218
942
269
103
82
910
674
410
88
177
553
396
577
348
607
411
675
76
275
807
789
679
763
274
377
367
654
350
491
963
680
803
78
28
161
214
966
966
878
252
698
744
804
743
391
572
211
861
887
4
163
39
411
509
790
69
849
136
559
925
851
194
34
642
27
642
788
539
222
368
79
51
564
552
219
348
567
960
858
681
686
302
516
646
340
943
815
716
487
17
892
904
456
658
535
259
66
907
533
165
215
535
887
183
638
625
600
389
503
290
746
198
426
529
517
999
524
830
190
668
881
728
609
125
434
638
800
497
854
615
278
403
301
568
562
784
761
49
135
851
815
132
257
744
42
8
796
383
357
736
155
659
311
314
279
567
438
345
683
904
93
66
35
464
793
179
362
781
401
552
652
973
22
765
941
596
305
805
740
666
82
594
957
495
375
574
910
675
732
298
5
162
546
472
799
747
410
850
677
573
156
865
690
881
207
20
391
922
129
494
409
701
2
485
641
112
629
951
402
922
967
387
976
388
713
402
197
628
894
473
82
759
594
601
582
479
886
351
998
413
363
901
414
609
724
673
263
883
459
340
921
488
888
443
388
67
142
236
665
137
809
398
595
813
986
967
811
662
759
621
15
571
726
487
26
372
844
207
193
132
694
715
643
419
404
690
79
851
11
275
804
348
458
910
426
181
635
529
611
669
149
809
314
737
14
596
256
743
221
205
717
875
710
325
26
240
336
935
454
636
728
319
436
143
707
481
713
189
685
907
412
812
903
727
750
348
949
805
164
822
28
543
299
685
465
34
819
134
707
777
254
466
423
780
952
267
987
222
279
318
425
33
142
774
427
935
850
411
799
767
403
417
766
981
936
71
50
875
785
177
722
185
621
269
194
224
631
376
311
182
171
819
574
243
787
660
462
65
118
280
727
368
181
511
22
849
367
389
617
307
79
34
321
723
211
942
822
546
773
581
49
780
174
232
920
13
305
561
474
631
200
242
498
526
875
660
364
98
58
229
150
803
798
967
470
783
295
702
327
808
837
738
957
210
213
741
42
847
967
391
971
869
67
899
987
592
1000
227
181
141
871
351
68
791
910
489
510
285
347
292
704
142
792
324
850
884
505
588
495
132
987
758
516
284
532
204
556
378
217
237
286
974
417
49
474
871
891
445
580
585
180
508
968
889
18
417
533
618
240
213
265
154
99
972
108
94
125
856
586
480
870
468
867
751
971
198
687
667
23
491
475
97
639
972
343
999
381
916
58
44
675
221
512
455
394
803
69
729
125
955
989
276
109
924
469
793
807
608
856
76
300
540
52
377
18
739
69
736
932
995
707
470
307
115
294
387
657
472
930
303
744
78
572
366
315
495
225
664
138
615
614
779
17
836
316
663
639
490
547
566
9
135
396
306
856
327
88
881
419
744
155
349
966
97
249
751
850
578
187
49
770
145
295
985
135
888
396
253
990
899
16
656
720
226
128
196
594
239
831
532
401
257
596
171
651
37
818
604
631
107
106
137
147
123
372
988
443
805
171
619
341
856
196
560
105
453
115
449
386
389
225
314
432
553
445
310
967
319
965
201
604
95
672
25
147
945
187
965
891
412
61
951
660
703
494
615
630
365
31
170
112
341
706
464
780
900
369
471
237
691
967
690
928
934
998
200
202
133
440
261
287
736
706
943
771
948
605
829
7
799
521
701
752
962
585
666
429
952
360
525
306
353
167
599
840
146
418
436
862
448
330
682
968
497
566
899
49
666
829
193
360
767
239
182
368
324
987
97
695
679
123
255
239
418
82
211
672
574
597
658
854
498
661
367
209
199
612
33
40
805
611
980
25
242
291
234
741
266
751
829
76
41
58
943
980
115
363
226
401
299
882
202
255
533
902
172
282
90
646
388
487
355
157
469
15
937
892
90
726
838
328
127
851
218
631
999
816
384
657
561
937
988
693
546
541
952
624
593
604
264
340
421
511
950
700
709
375
78
425
963
872
794
759
161
820
591
601
454
6
21
985
661
873
486
548
728
915
30
781
109
493
478
598
540
294
876
950
528
800
346
165
807
624
826
353
663
928
749
897
749
400
399
855
408
816
206
618
843
129
917
855
36
14
182
219
841
182
442
920
100
490
554
923
270
870
55
926
283
371
532
580
573
596
9
316
871
345
984
126
278
248
861
994
696
550
433
118
853
649
753
836
424
347
660
171
872
348
850
950
854
801
665
178
635
620
94
343
32
756
156
937
681
292
832
283
707
130
241
562
951
910
706
353
459
571
495
26
901
214
506
52
881
180
371
905
992
633
232
332
341
368
722
827
162
22
991
777
335
951
578
802
344
675
801
229
75
347
537
171
635
862
278
799
462
898
867
563
853
789
152
88
646
544
817
643
89
76
179
840
656
657
680
876
734
448
802
860
63
340
187
236
131
656
509
324
918
738
492
311
9
79
17
626
644
720
910
905
76
814
745
920
47
984
986
898
628
392
647
633
867
196
218
38
811
791
318
480
3
349
142
60
947
237
292
411
707
504
125
585
249
113
615
102
910
126
648
356
166
515
874
832
673
582
576
939
319
464
451
644
765
39
807
912
92
961
343
900
869
593
837
213
698
405
863
269
637
300
61
989
413
913
476
302
756
855
364
884
844
828
892
639
492
798
169
668
917
295
894
200
296
772
426
742
944
47
696
592
305
719
955
146
521
953
164
762
562
843
271
347
917
453
48
1
884
749
362
257
803
302
735
37
733
831
939
6
780
354
619
400
161
471
415
833
806
595
202
42
819
814
995
326
169
776
616
964
261
761
872
783
729
360
249
104
274
863
993
793
440
244
800
200
44
373
913
394
309
391
794
958
37
643
25
15
358
42
970
392
280
888
587
419
231
400
601
271
285
33
578
489
722
178
461
31
868
608
738
209
105
405
113
365
172
102
741
553
63
397
866
206
637
871
683
56
453
737
696
626
664
49
931
856
642
774
161
828
534
416
967
985
260
251
621
994
606
25
366
3
249
334
366
758
818
180
981
796
853
696
356
614
942
288
165
64
481
356
22
313
674
786
298
351
988
393
520
823
122
286
200
884
121
659
981
480
759
341
44
52
575
860
611
794
859
442
866
853
771
574
435
510
511
551
815
817
84
632
780
694
597
547
154
925
579
441
977
694
916
81
671
716
601
496
891
554
876
14
828
350
525
615
9
66
427
354
877
847
678
423
842
330
340
165
74
362
181
657
615
733
470
187
476
36
765
308
204
475
493
655
307
752
57
163
789
606
515
178
853
122
184
922
579
941
29
629
818
76
639
184
927
118
950
824
67
389
934
233
444
579
204
511
966
308
36
984
874
627
68
614
356
735
60
772
731
504
151
64
393
796
977
427
624
487
410
428
186
253
894
959
922
882
155
31
478
776
551
55
950
253
713
309
260
748
505
740
974
158
15
502
875
607
193
540
862
836
635
915
798
103
207
6
5
315
783
850
755
329
466
226
796
281
309
80
201
244
463
58
552
970
585
259
353
344
784
448
61
465
651
150
515
270
51
585
420
487
368
414
446
142
120
519
594
366
98
881
719
524
352
181
743
870
988
193
910
535
509
202
333
528
202
419
774
693
213
984
805
324
326
730
835
319
551
226
258
810
816
545
42
39
152
527
268
321
390
608
505
100
185
930
311
526
957
704
66
477
21
88
399
608
10
978
412
454
282
659
685
202
1000
394
900
247
150
66
896
194
311
167
353
907
863
715
154
773
24
65
206
889
675
125
794
67
826
784
31
28
833
350
895
830
37
109
674
848
11
261
313
316
840
239
705
146
182
258
865
604
568
21
659
612
443
823
542
529
700
750
617
32
350
19
509
530
662
658
224
760
149
944
853
956
891
930
147
596
316
277
408
193
29
742
503
845
415
760
287
943
475
220
784
718
79
974
458
335
635
516
520
647
649
533
423
66
979
397
520
110
238
612
495
272
231
802
882
940
15
512
923
539
171
402
692
257
572
922
234
775
518
594
999
217
26
84
18
257
281
874
37
896
601
118
465
693
878
246
410
535
891
815
104
527
771
307
78
838
36
52
539
249
567
353
930
227
703
130
464
325
597
876
8
15
384
776
536
604
92
931
910
483
642
656
848
401
105
36
874
820
228
52
194
176
78
845
644
588
35
705
653
956
661
607
107
329
222
731
942
210
539
542
178
843
723
642
333
885
769
962
322
45
632
481
684
170
119
388
41
296
618
215
974
815
496
527
770
985
870
865
733
431
130
152
868
62
168
225
658
729
39
541
56
613
59
307
79
539
358
159
224
484
727
89
229
99
280
630
117
949
845
424
500
368
499
880
461
795
643
146
41
77
269
141
533
197
514
3
573
162
149
216
671
496
322
391
504
871
516
210
371
686
99
500
375
129
349
942
472
770
677
390
674
515
397
422
645
3
932
552
297
28
126
510
274
589
203
581
228
834
106
566
453
385
783
203
190
522
765
364
772
551
186
540
59
568
898
881
744
303
976
584
162
117
817
559
91
240
970
602
670
48
278
274
555
938
185
577
400
539
686
579
741
805
199
791
301
259
331
150
652
868
756
466
510
980
992
339
843
365
737
767
164
801
411
487
481
527
84
484
307
853
798
434
924
62
896
823
323
936
965
253
215
157
910
249
304
561
913
287
953
538
604
126
879
706
613
404
794
570
621
240
20
134
426
539
614
502
544
866
762
381
354
178
462
988
468
469
364
487
762
595
328
590
780
864
804
43
722
982
713
382
341
553
228
78
312
604
866
489
901
609
733
877
163
142
639
352
685
130
453
411
699
588
269
372
636
510
311
669
822
486
141
730
283
41
442
191
357
703
498
749
363
249
326
718
640
564
925
656
274
946
42
789
473
422
690
749
59
659
464
131
501
111
973
301
567
532
325
166
923
926
39
408
621
138
781
493
764
111
498
511
733
404
879
426
131
839
850
704
566
852
84
555
346
407
339
511
186
514
38
690
307
295
340
118
321
270
536
916
384
848
965
547
252
304
354
533
11
823
988
968
947
748
975
595
718
602
292
172
330
998
697
576
6
666
145
477
338
781
945
624
880
332
97
362
937
986
903
171
763
637
884
886
663
452
959
987
300
314
421
776
451
402
200
215
54
509
992
1
168
723
223
584
904
400
983
611
783
764
417
116
804
151
724
490
401
141
138
597
317
929
923
138
228
358
454
135
879
997
928
620
141
380
37
36
634
320
653
417
292
862
38
967
376
735
183
391
195
93
567
340
793
850
97
224
877
978
427
794
10
388
169
629
616
410
568
466
217
263
214
601
407
739
893
903
515
953
292
731
165
440
833
306
211
953
261
187
850
247
770
593
633
226
723
772
174
710
756
586
457
529
695
783
74
386
268
414
920
855
744
474
451
414
657
935
344
197
294
611
979
612
445
931
982
275
90
138
207
545
903
326
22
855
247
978
810
385
152
487
875
532
342
706
545
836
506
362
819
868
251
907
641
814
974
495
830
763
250
468
890
801
290
850
94
823
839
551
170
537
955
728
674
73
541
195
887
110
885
214
97
369
42
832
649
384
918
150
782
466
277
111
321
363
143
327
866
74
487
293
68
761
254
985
776
299
279
153
677
487
912
312
726
371
905
535
503
616
795
558
413
335
184
808
78
334
264
377
756
782
266
354
447
772
975
609
90
643
77
367
884
565
660
775
250
236
460
626
299
948
733
745
409
461
775
196
691
303
343
768
931
643
875
67
385
609
233
726
243
785
539
785
641
374
456
353
977
630
640
951
561
672
796
236
452
595
293
395
305
925
930
719
374
177
978
753
226
109
70
943
233
17
194
726
375
577
523
339
830
495
483
591
536
465
386
338
559
972
37
574
463
708
636
504
519
716
793
877
844
691
757
299
821
970
392
611
986
516
920
145
377
673
624
436
411
897
74
290
941
817
421
263
944
374
80
597
318
208
733
27
163
882
527
484
299
539
897
999
955
402
398
665
90
860
714
676
755
664
82
26
929
831
817
164
723
545
874
765
568
468
412
613
92
719
133
718
307
445
481
618
363
143
773
63
688
747
108
40
849
642
723
583
543
752
207
408
51
794
750
883
34
564
154
797
267
742
283
37
177
963
851
599
963
741
999
493
826
324
328
893
327
205
675
934
204
986
73
818
117
369
626
887
608
394
256
146
243
962
138
300
395
356
520
85
884
282
151
960
271
470
211
668
453
657
52
263
289
822
722
493
391
933
288
897
536
173
376
316
991
450
46
473
447
804
207
762
363
545
617
655
168
429
415
275
951
235
617
997
905
103
552
973
507
659
920
172
368
711
888
662
628
764
143
162
553
180
287
563
164
76
753
334
118
228
389
494
154
615
179
791
229
595
453
407
92
701
745
77
948
197
584
215
645
293
697
527
792
180
622
404
324
622
787
141
719
158
75
536
866
952
895
304
802
953
726
703
624
137
556
905
929
603
1
48
424
811
2
306
805
552
579
803
406
90
846
390
732
17
43
776
605
508
628
517
301
985
460
63
892
4
880
575
19
21
959
814
251
365
650
282
623
357
110
571
310
256
576
982
750
423
981
481
674
576
629
298
879
512
167
295
474
279
510
791
901
711
448
7
92
48
655
831
902
918
505
663
73
300
509
946
856
288
526
929
938
595
830
872
645
618
389
420
510
878
742
240
882
98
645
990
686
155
986
842
281
473
440
710
315
636
180
694
931
275
396
935
142
249
495
992
729
136
923
836
184
313
168
587
308
221
499
862
190
519
591
449
522
222
723
497
400
749
633
164
674
2
53
461
358
579
31
700
9
276
947
700
534
114
436
927
978
808
147
648
989
985
906
405
858
522
364
888
58
113
392
848
187
902
469
208
795
484
734
420
859
583
643
122
319
212
142
797
372
752
465
407
604
949
478
984
99
14
676
466
288
341
988
42
407
838
755
521
912
681
525
145
668
948
810
312
253
723
910
830
607
348
465
822
784
815
89
646
798
703
954
3
926
526
148
912
68
35
534
936
160
751
491
942
807
239
953
1000
354
186
944
168
386
589
337
523
778
528
357
965
488
784
575
233
817
172
450
907
712
162
858
964
295
859
546
697
367
225
855
448
427
569
902
727
776
439
571
95
732
400
604
994
578
687
916
515
23
801
156
79
774
826
789
854
941
725
651
986
21
133
732
865
110
265
551
977
618
460
977
745
189
444
131
475
581
680
844
338
250
377
58
741
866
322
269
116
269
813
974
57
210
570
645
593
434
780
380
732
451
619
902
425
546
730
198
322
112
795
790
101
741
221
487
675
525
559
584
306
925
170
571
233
947
528
971
291
934
84
871
667
295
24
550
915
986
289
170
824
625
34
448
122
314
690
550
963
940
901
518
693
833
108
283
966
150
508
137
364
267
472
383
910
432
132
722
707
429
85
2
235
840
27
492
83
475
904
890
306
282
361
866
56
355
814
299
349
377
86
753
269
966
449
611
681
335
602
615
871
509
512
417
795
210
442
945
844
688
844
37
639
826
803
360
334
86
672
403
281
246
917
422
234
135
470
682
151
761
465
268
125
598
922
301
508
287
187
864
225
817
901
650
993
937
255
580
835
531
188
666
338
950
349
449
75
124
475
532
69
886
913
987
865
421
251
473
236
747
824
489
464
748
607
829
888
403
434
629
861
757
686
520
499
260
571
340
571
610
267
689
516
629
976
747
919
94
856
622
755
72
245
232
422
507
926
551
172
241
865
543
259
592
825
216
97
395
770
341
236
168
250
26
477
391
228
538
521
217
328
780
959
136
290
195
641
937
850
268
782
477
533
384
768
79
425
173
932
357
610
885
126
397
827
508
144
826
405
582
278
339
318
270
579
479
625
898
328
230
819
433
152
712
116
325
76
691
758
698
705
733
22
77
234
857
761
287
267
408
183
782
833
644
214
758
130
882
314
983
257
812
585
24
434
986
572
679
467
544
17
379
977
121
76
665
289
70
554
134
201
856
580
289
334
690
277
865
699
325
290
913
992
823
44
990
715
726
281
655
133
695
183
651
894
696
321
493
664
570
430
90
151
188
718
618
138
120
885
376
719
966
348
695
178
541
942
550
615
335
549
370
286
126
947
281
662
985
742
447
677
274
666
149
52
46
442
203
764
474
252
811
171
900
884
44
214
478
437
978
426
962
49
93
755
183
948
88
525
671
87
686
31
956
959
663
634
569
995
930
941
609
844
616
885
748
811
499
989
654
791
130
809
274
526
232
790
236
52
352
133
171
74
588
84
884
899
574
83
284
879
832
27
818
263
156
179
892
912
465
66
351
79
888
262
464
233
952
442
28
984
858
181
737
375
122
330
244
850
442
937
472
414
170
32
345
736
118
720
37
961
743
154
262
466
303
110
835
679
13
497
915
423
780
620
349
613
443
351
599
637
302
772
382
59
665
424
235
986
348
894
724
876
141
530
636
708
499
27
194
74
865
780
924
105
87
646
855
560
572
505
430
721
767
31
441
324
213
116
422
109
367
380
870
656
187
390
904
767
729
750
409
373
426
582
745
633
710
400
435
759
967
495
115
652
653
793
667
302
684
706
211
748
726
912
511
840
373
200
464
902
547
310
121
261
52
47
760
720
269
15
25
158
883
189
796
237
164
890
47
123
133
880
283
595
195
697
557
965
528
25
393
134
969
683
203
883
145
158
302
698
730
726
531
740
101
231
93
183
720
332
520
727
184
625
135
659
165
674
650
410
867
973
364
485
409
996
972
534
267
809
438
521
9
936
816
617
133
981
90
531
236
193
290
568
70
395
947
342
364
135
258
980
652
990
13
772
54
451
432
315
29
32
890
565
319
528
17
799
263
335
112
553
564
515
69
838
313
545
888
927
659
412
943
880
362
985
970
955
264
702
595
60
556
110
287
832
872
645
338
678
538
417
153
219
900
544
43
759
391
610
443
475
526
794
909
182
952
596
225
93
399
38
757
690
917
614
909
736
797
691
735
712
332
247
480
527
561
944
323
730
682
619
239
596
14
402
678
913
700
154
169
562
924
980
198
422
57
259
458
708
264
791
522
164
547
161
957
884
911
969
769
916
884
22
817
83
952
670
89
484
344
724
371
154
216
315
93
46
640
665
511
352
245
972
500
226
697
383
596
260
812
371
427
577
488
936
423
918
11
994
581
1000
594
208
845
259
463
842
483
70
346
778
437
759
394
370
421
569
845
578
998
14
777
715
402
966
177
253
595
793
939
81
460
968
60
922
29
536
852
803
926
908
26
915
710
83
704
473
539
798
878
327
512
647
689
900
190
636
413
907
404
744
600
583
795
246
114
213
923
532
864
611
948
712
194
325
514
990
435
212
277
949
434
953
181
895
787
719
119
312
363
472
113
406
872
644
645
659
524
916
743
569
984
272
195
617
168
350
208
936
881
580
179
737
23
154
141
620
804
2
151
22
295
752
284
335
549
470
726
593
188
853
663
225
445
149
306
868
603
485
763
546
770
883
69
975
401
870
108
181
484
816
483
683
551
27
336
759
118
896
914
881
289
703
531
216
847
224
622
878
144
466
391
863
214
755
326
416
395
198
934
120
941
776
823
420
483
97
517
382
434
735
680
850
227
757
791
162
946
373
480
438
587
985
672
819
265
693
824
356
10
234
71
552
167
557
904
498
188
306
602
637
690
786
123
838
144
177
585
665
936
622
851
864
31
356
490
754
446
290
61
468
656
711
521
762
66
472
862
148
576
280
135
663
268
326
532
692
645
831
589
429
798
345
501
446
434
91
268
276
288
757
441
895
787
376
541
547
333
961
791
204
536
460
489
64
383
618
345
755
381
332
353
835
179
8
606
277
895
126
709
461
757
898
944
249
741
146
298
397
165
248
915
885
769
857
774
220
248
219
987
855
593
352
327
361
364
805
161
43
741
883
611
994
663
539
190
708
271
185
674
599
101
466
314
31
415
988
34
764
283
658
372
399
448
33
498
421
863
926
136
4
289
212
55
84
553
476
543
932
250
419
787
138
840
773
724
561
631
978
680
158
132
624
611
916
441
443
619
806
576
859
778
684
11
50
676
390
713
720
215
994
790
508
139
50
705
361
733
97
81
240
549
961
161
75
482
298
741
241
476
810
174
604
669
473
72
951
671
323
434
696
74
425
961
354
185
335
315
633
50
476
611
682
750
562
937
470
714
715
2
110
347
414
94
160
736
966
815
862
664
229
832
856
417
324
179
190
505
759
651
336
38
229
295
193
161
277
935
260
482
428
418
609
73
673
9
667
642
758
460
588
608
562
827
422
468
243
15
283
962
644
386
429
311
350
384
612
110
567
650
527
929
8
514
304
803
5
633
88
626
418
932
236
629
248
972
730
699
50
439
789
525
626
666
830
770
85
792
998
802
22
811
744
661
293
67
106
367
991
30
699
643
589
973
719
908
666
532
448
691
941
408
823
573
98
850
974
620
312
571
183
963
761
269
39
558
152
852
998
963
746
351
493
949
506
18
934
659
644
449
559
995
30
745
88
447
549
433
309
746
584
468
763
743
265
660
554
206
198
780
526
10
491
946
997
478
481
417
773
736
764
537
589
712
945
598
495
203
68
407
607
892
309
106
49
757
948
207
287
859
26
570
809
976
854
941
189
120
457
445
945
945
526
781
346
702
53
888
90
65
611
192
268
916
154
814
705
747
609
795
294
908
247
572
397
979
217
306
330
273
735
358
733
89
387
856
935
553
184
255
515
251
79
167
732
833
658
935
654
30
201
717
157
953
391
990
287
139
914
470
346
546
852
521
799
789
407
350
775
484
817
813
493
512
415
632
816
405
959
551
219
574
322
699
401
565
690
650
177
913
852
6
208
25
44
701
570
70
22
968
954
251
476
889
115
273
201
472
548
933
564
362
390
772
718
161
455
498
893
794
814
421
516
163
749
867
590
463
559
134
946
498
247
305
242
501
669
48
947
192
674
719
161
140
108
156
803
181
177
593
530
147
368
943
450
766
160
921
380
442
310
302
547
75
437
503
567
740
467
130
284
299
344
221
933
479
865
605
511
793
167
136
445
299
817
603
222
66
716
390
917
315
776
621
497
588
254
374
684
993
800
15
991
933
165
897
29
78
591
948
589
301
597
474
262
433
459
314
768
339
750
777
533
126
777
993
552
143
185
795
65
974
161
259
402
443
303
176
205
551
211
242
405
442
295
676
284
498
494
334
27
180
454
307
919
445
201
269
505
830
93
876
972
712
573
905
996
513
458
678
1000
699
382
304
235
728
628
215
493
138
411
424
934
457
347
114
918
678
630
614
896
78
216
567
738
186
499
902
291
830
771
740
985
953
924
938
253
321
17
159
335
295
313
668
120
156
273
942
424
122
777
180
737
293
756
980
927
266
389
169
585
294
683
394
316
382
766
482
864
816
685
452
718
150
976
386
8
914
713
893
441
940
658
97
684
65
858
47
328
510
978
416
128
622
718
593
2
594
68
16
655
328
711
811
799
899
502
161
939
107
805
875
61
881
857
8
689
768
902
586
460
683
153
215
565
539
503
295
631
368
723
756
76
108
54
197
622
262
564
783
777
761
232
906
888
675
222
130
771
555
381
515
145
366
218
682
768
877
933
735
411
855
870
565
402
587
890
776
354
924
621
73
98
994
702
997
492
515
158
451
584
33
538
484
653
403
112
383
944
177
803
996
767
628
762
900
220
700
356
578
589
222
275
442
8
210
5
976
377
830
966
896
967
202
591
954
295
837
908
494
145
323
586
707
813
702
62
259
398
153
256
902
399
360
201
868
278
646
989
863
554
42
538
930
933
621
43
80
822
94
208
560
123
194
272
492
989
809
80
522
716
905
294
97
697
601
848
884
358
89
203
668
688
216
665
570
809
138
914
828
693
930
952
233
771
930
210
735
572
118
397
117
821
358
457
453
622
891
722
215
39
461
173
76
301
257
520
486
768
756
312
495
651
179
521
6
424
57
599
501
71
111
600
361
572
211
459
666
713
507
883
105
411
459
329
611
718
693
562
569
54
380
920
838
271
540
621
541
716
930
725
828
703
899
873
800
52
115
705
553
241
110
855
445
142
950
96
849
94
859
719
554
367
559
797
664
236
874
374
17
183
685
276
843
134
538
37
520
986
908
131
595
977
696
359
104
860
197
888
277
626
779
43
205
300
362
393
697
655
74
332
291
447
221
57
902
67
928
772
227
320
891
854
787
148
513
604
714
341
467
950
84
455
986
500
526
748
860
545
679
848
45
407
749
770
816
53
367
509
383
115
734
885
12
44
261
466
604
996
468
669
543
132
918
352
891
94
933
374
562
211
100
939
443
934
463
535
379
47
946
83
12
117
125
793
257
490
101
586
313
534
412
477
911
437
742
949
475
208
859
734
910
345
522
941
772
889
636
922
445
95
930
112
276
709
301
501
548
692
324
444
403
176
852
326
8
691
66
662
317
863
52
2
717
30
492
111
836
974
720
535
404
405
756
371
919
970
27
424
309
542
744
130
623
798
161
862
939
979
804
357
414
438
884
470
251
714
40
824
676
661
573
445
275
167
791
327
320
358
47
309
997
734
320
757
472
166
360
606
606
550
462
735
833
274
318
478
565
762
742
855
684
848
876
180
662
865
231
595
63
450
141
826
435
604
24
547
377
684
165
595
20
708
505
178
535
49
971
339
381
937
198
636
140
295
254
300
621
526
943
314
516
390
381
996
824
804
328
142
89
618
451
482
723
485
854
176
375
594
961
346
807
419
20
921
398
455
323
11
613
58
948
207
957
751
353
759
9
193
277
429
661
904
739
650
370
578
266
303
896
123
518
778
762
262
261
954
648
495
805
596
629
417
620
224
10
339
757
98
158
477
33
949
737
294
757
713
444
992
462
309
716
331
204
103
186
288
565
350
249
363
916
422
769
932
713
369
398
891
779
134
89
901
63
398
626
670
173
662
95
456
467
821
583
592
821
775
235
840
944
353
888
91
994
819
98
495
825
935
378
123
783
565
443
675
66
449
965
56
715
40
705
667
706
788
381
442
16
603
551
751
547
711
9
227
364
712
473
445
888
431
780
805
920
644
756
516
894
895
247
547
148
405
853
583
749
524
161
635
550
709
198
740
28
29
707
492
466
566
975
719
233
169
162
848
770
562
153
380
481
727
722
67
393
605
167
28
289
587
470
55
555
741
705
674
910
874
363
699
194
891
44
650
249
203
933
528
417
967
479
283
659
790
806
211
449
414
243
444
502
243
979
987
590
578
48
671
310
107
98
990
186
782
78
773
228
293
545
457
405
710
771
312
153
943
725
229
359
939
592
282
816
310
987
704
621
221
273
973
427
544
973
497
660
316
585
50
495
432
461
35
276
442
256
625
553
838
977
689
803
38
178
737
551
149
918
234
383
714
570
671
675
666
475
7
918
352
774
398
689
580
910
370
407
37
557
978
787
923
272
132
817
137
74
307
752
43
727
556
965
505
786
329
273
772
143
195
311
341
875
491
518
583
516
563
280
800
323
387
987
563
552
57
222
302
272
912
186
217
880
541
639
129
319
882
498
956
860
233
616
402
422
306
912
294
986
965
454
611
927
968
222
682
4
539
623
143
815
436
754
8
137
654
173
612
196
627
26
235
110
936
803
826
775
226
470
661
637
735
24
44
974
727
987
366
167
976
945
207
760
70
554
771
471
692
253
294
992
731
225
914
692
503
324
234
888
636
511
593
554
417
289
46
401
504
927
400
100
221
116
697
707
446
656
382
876
999
764
884
926
750
928
478
72
394
812
49
450
742
325
713
753
527
322
97
143
965
602
400
447
900
241
55
598
645
192
962
588
106
175
886
645
5
646
80
376
267
565
857
142
425
921
961
821
333
205
115
75
859
273
499
128
628
823
364
729
505
833
691
98
739
899
999
420
772
329
246
843
419
818
994
262
746
606
441
63
639
647
122
721
963
735
454
724
266
33
9
582
140
813
347
640
888
550
999
272
791
577
157
639
206
674
982
561
121
219
865
580
375
950
604
280
552
390
644
280
969
597
911
916
743
538
482
425
690
303
987
233
62
547
486
962
759
327
426
616
772
699
822
443
326
560
126
367
295
713
997
982
852
399
907
551
940
210
677
1000
517
173
233
886
225
971
978
548
68
406
462
451
344
61
313
633
129
824
14
800
313
58
696
773
966
724
225
825
790
918
452
429
312
349
82
12
86
43
343
858
10
533
231
761
475
104
55
230
628
254
815
448
944
341
391
519
242
845
805
282
818
458
740
931
385
608
176
808
896
796
55
119
662
446
617
264
699
710
224
701
499
602
307
948
657
749
188
795
484
526
794
863
231
464
182
17
576
857
686
73
724
898
796
468
105
648
897
398
57
853
551
652
531
355
970
125
191
410
721
8
437
272
603
493
231
369
105
142
594
210
810
739
702
96
186
615
436
338
461
866
116
162
187
558
434
976
893
293
276
930
353
542
746
650
405
4
280
843
622
415
920
130
913
939
273
841
818
362
59
382
623
591
870
916
683
759
294
742
165
797
340
942
640
275
495
364
454
446
879
223
329
177
949
842
263
773
48
825
968
504
501
381
96
839
82
480
93
328
474
70
158
631
875
644
417
255
894
18
886
792
5
782
279
344
2
414
353
821
457
370
219
298
805
857
966
479
475
365
58
879
667
795
209
807
166
173
237
58
751
690
267
852
839
789
111
325
464
227
536
967
856
407
375
411
736
348
505
58
735
243
850
386
472
554
544
66
876
990
158
303
794
432
465
273
511
493
172
352
977
81
612
735
468
284
234
96
257
313
923
485
454
61
817
201
741
836
362
380
694
908
430
103
205
157
571
555
580
63
637
681
300
861
677
520
806
966
799
144
262
912
712
317
171
722
533
307
575
851
137
389
922
195
114
80
208
522
160
25
559
668
418
97
560
812
416
962
31
72
658
982
299
569
637
999
456
556
896
389
611
15
50
539
457
153
548
435
791
696
975
358
455
65
332
687
728
886
875
55
44
619
388
692
369
963
57
321
729
27
599
539
12
560
864
149
62
941
934
499
564
285
503
927
295
406
653
87
167
392
429
592
494
604
989
789
726
63
938
20
190
87
197
80
804
398
450
643
467
821
678
184
811
810
726
466
536
411
635
1
54
228
846
991
801
273
705
607
110
995
56
594
499
147
537
733
773
231
271
71
13
28
593
343
902
406
841
877
91
515
556
498
16
632
691
365
141
750
641
283
430
93
209
284
462
68
884
766
301
259
39
963
916
498
948
640
609
372
367
621
219
19
77
324
980
909
309
662
679
562
652
551
628
727
598
281
461
711
887
306
502
173
478
640
944
801
809
226
887
428
263
359
242
571
337
795
825
180
969
531
892
461
248
522
355
728
596
297
182
717
755
145
26
713
230
487
518
976
294
938
330
283
428
324
827
450
184
799
148
512
346
560
95
464
427
308
440
160
943
21
447
718
453
789
101
631
54
502
58
754
865
413
122
883
604
646
48
198
203
258
128
394
671
196
246
433
844
103
960
821
142
869
776
811
207
828
17
691
281
550
923
649
692
385
922
380
438
80
469
793
972
441
146
560
301
617
956
965
898
740
979
855
371
30
926
444
795
425
385
529
213
191
912
446
837
799
293
42
506
532
99
494
463
775
489
662
818
30
523
416
330
24
903
292
174
263
43
628
356
438
696
240
939
487
465
731
92
701
84
611
630
640
717
764
36
61
532
910
707
786
651
991
37
838
743
957
13
82
62
994
355
406
495
428
132
997
371
279
894
223
627
533
564
171
609
479
151
373
295
126
503
165
409
172
676
322
909
697
138
540
327
731
187
247
751
287
662
259
948
441
761
867
317
278
81
461
785
333
354
154
728
939
10
833
235
55
685
997
535
666
165
83
595
173
142
490
178
912
383
956
81
930
549
981
383
986
706
981
500
662
401
351
179
582
854
692
46
466
104
996
533
890
279
961
55
631
148
562
625
853
885
798
516
839
550
272
576
167
528
585
251
834
619
824
302
593
32
731
255
817
255
212
632
557
262
452
619
422
757
582
929
600
242
26
917
316
85
808
681
111
28
747
65
838
873
350
889
743
485
45
841
888
586
232
978
946
7
302
249
435
715
899
533
417
639
669
222
915
945
884
922
343
32
400
469
324
697
256
397
800
252
36
788
565
616
27
724
416
163
207
415
813
679
403
514
652
993
70
17
976
867
930
174
30
11
1000
877
146
801
638
887
997
846
960
404
595
386
910
782
791
66
399
238
615
85
679
101
564
711
202
829
365
649
341
900
750
321
516
865
536
427
894
992
880
472
979
186
775
21
857
237
780
889
188
368
513
614
756
655
722
244
751
433
769
778
684
660
481
806
931
715
702
757
298
807
213
776
368
853
942
281
738
471
541
301
845
162
873
85
741
182
851
886
674
450
408
765
640
892
489
922
941
150
854
66
210
212
729
139
236
884
667
848
409
862
646
333
519
505
351
216
631
715
238
619
198
275
375
664
975
208
844
737
344
688
108
922
156
175
753
56
712
39
121
42
255
775
940
822
443
61
451
78
68
266
953
361
716
17
844
244
851
567
91
581
456
210
958
97
327
873
806
263
439
121
530
485
137
598
655
698
643
461
992
456
882
4
759
591
506
419
42
369
612
349
235
28
2
831
295
862
69
230
603
909
945
257
457
166
550
83
603
622
516
237
259
785
857
301
695
869
730
837
25
610
219
81
465
892
634
612
498
405
855
932
612
858
774
662
437
273
584
268
316
730
377
457
289
533
889
438
103
943
278
214
783
113
799
97
69
518
552
994
146
113
690
252
777
84
723
437
349
362
726
886
937
551
889
747
180
64
268
522
870
565
583
548
962
861
836
33
462
840
254
678
587
246
372
486
832
604
293
665
238
172
231
598
987
715
446
25
127
8
152
571
333
359
944
704
756
794
943
595
878
577
62
509
974
321
879
980
242
181
785
799
90
943
68
204
684
836
650
260
28
421
489
448
94
39
836
909
576
165
422
695
49
372
791
148
10
872
673
145
938
412
15
259
617
507
287
734
549
371
16
96
450
213
365
233
20
546
784
736
572
956
899
78
721
990
985
390
910
924
165
156
107
668
508
267
270
151
291
192
373
634
753
84
283
408
303
575
616
587
46
893
846
533
500
850
508
858
608
369
855
716
40
951
516
767
876
573
983
96
989
437
645
488
470
9
620
432
933
375
627
643
333
534
326
271
84
16
133
175
99
776
62
900
709
530
580
833
87
581
312
571
176
12
626
619
566
682
272
342
893
369
199
494
609
690
261
120
504
10
503
73
412
287
615
171
983
706
345
346
215
216
128
731
389
266
418
137
644
467
577
392
575
387
178
242
230
540
657
547
723
66
890
249
329
664
654
479
190
104
237
205
114
206
922
799
693
684
82
499
354
525
49
371
14
865
528
584
628
506
274
949
818
61
101
740
550
957
679
939
731
35
592
131
689
764
266
256
460
284
580
744
126
344
308
619
468
171
49
890
287
459
648
799
697
62
65
409
416
731
876
729
564
880
344
47
594
775
693
504
873
596
76
133
39
610
632
130
184
357
788
849
120
152
730
877
476
809
396
898
585
820
104
181
415
109
201
788
648
330
565
732
282
415
178
782
506
62
195
803
176
205
139
360
296
974
534
791
713
364
247
54
304
815
91
342
810
557
206
709
739
860
157
596
190
21
425
166
801
496
779
892
858
294
919
767
190
742
387
270
77
246
897
336
245
114
319
74
638
592
171
747
867
354
124
659
993
712
19
574
183
735
823
155
318
406
238
303
359
433
550
853
478
6
702
646
375
784
253
498
475
942
559
214
179
300
802
656
411
806
619
4
724
386
445
117
687
416
670
983
845
171
487
504
578
450
201
350
217
941
32
98
124
652
183
644
442
452
981
999
751
939
710
623
558
316
590
521
915
726
176
922
981
21
1
782
244
661
818
764
583
502
191
790
884
490
753
966
901
748
611
632
652
178
510
423
878
793
725
503
522
963
678
593
897
511
554
135
448
745
518
4
72
296
717
951
315
504
283
86
988
481
173
192
643
968
602
173
728
56
639
476
779
349
179
32
68
500
999
2
426
258
770
205
125
734
539
214
252
373
838
210
755
55
417
358
83
239
746
668
430
837
623
227
456
286
975
400
609
847
773
111
376
990
649
797
686
745
501
500
650
985
220
662
895
818
311
567
958
749
327
590
701
631
522
542
523
164
320
154
484
173
391
123
283
625
311
297
79
365
78
389
3
328
907
264
195
613
655
264
554
123
80
576
746
116
480
979
227
411
12
333
631
104
193
910
924
310
809
587
523
25
879
885
506
718
848
927
83
301
658
536
687
849
367
705
479
670
75
689
701
660
631
412
104
117
569
418
625
346
607
471
917
157
596
849
791
426
368
242
316
990
657
772
109
925
215
749
801
792
981
124
424
287
540
234
558
376
57
883
592
354
354
474
849
986
986
126
558
100
224
496
17
431
130
931
850
44
146
225
758
636
410
360
972
523
507
45
165
46
36
787
225
469
337
8
281
753
450
235
714
647
864
145
611
578
309
840
345
821
886
833
241
997
714
205
908
953
480
751
968
965
488
69
553
755
137
897
241
852
526
955
857
472
365
931
5
311
219
954
940
645
425
739
498
466
227
200
595
262
98
905
859
916
590
421
747
690
258
766
862
293
131
784
453
200
112
199
946
362
512
770
724
248
679
499
646
777
885
641
982
760
31
410
361
422
628
509
404
954
863
87
28
360
359
831
898
596
197
932
104
165
266
590
172
67
7
795
879
779
283
363
483
484
885
903
376
725
107
750
827
693
585
894
419
692
225
458
403
238
989
71
427
250
79
678
871
581
138
453
238
164
6
988
438
866
754
129
62
405
109
372
706
110
197
36
966
122
223
477
641
400
491
475
925
842
890
17
956
881
340
462
967
108
907
14
53
650
792
229
293
230
284
339
974
128
966
849
754
454
689
978
294
59
134
203
79
543
424
127
799
350
752
428
997
251
498
961
401
347
608
162
167
695
934
74
137
339
812
513
672
715
27
392
744
89
365
272
268
91
236
41
363
376
709
517
981
538
817
119
972
195
272
112
583
594
65
172
347
587
676
188
512
546
587
868
626
938
945
728
877
319
203
215
30
341
15
115
254
438
150
443
571
318
986
815
148
258
738
138
446
581
409
767
192
174
350
346
175
814
737
304
71
258
761
915
698
190
201
629
412
387
581
153
734
807
950
736
389
594
201
579
919
781
38
1
645
43
958
177
102
560
596
769
712
611
452
970
419
663
264
350
539
1
712
520
441
797
831
403
240
152
931
986
944
481
497
613
62
886
481
182
963
721
813
887
327
104
963
489
778
562
608
9
522
758
247
839
93
456
95
163
517
491
78
883
918
91
101
978
748
591
692
105
429
441
308
41
149
190
530
880
236
124
75
412
445
255
570
502
844
817
761
259
130
579
838
296
638
701
699
137
656
450
258
824
675
856
10
676
583
585
220
960
440
180
768
177
88
178
434
661
287
559
384
540
373
44
405
31
297
236
994
239
793
660
236
283
623
999
64
957
484
789
122
216
860
440
894
510
590
82
827
328
316
858
338
483
659
557
727
950
409
57
225
813
447
168
511
686
381
554
384
514
65
249
507
910
663
731
475
227
510
116
708
833
376
828
309
141
70
622
721
920
946
606
909
233
41
467
940
538
82
480
833
136
617
125
514
736
253
392
629
713
191
375
948
276
573
815
703
392
912
277
792
279
316
292
514
591
406
128
531
104
519
378
251
793
432
124
89
629
730
116
277
247
69
43
889
472
504
851
589
446
589
215
831
464
329
306
591
384
356
519
58
832
402
284
305
249
523
583
768
943
218
665
456
350
169
283
745
29
675
520
22
708
724
632
52
582
886
679
499
600
949
315
276
60
22
917
831
73
483
920
419
118
907
422
829
651
96
419
848
454
450
50
786
118
884
440
420
7
482
912
888
275
9
230
162
939
459
185
250
868
314
223
647
181
612
598
840
497
866
798
668
790
597
483
857
716
777
953
177
263
878
544
314
577
160
995
271
320
704
387
525
594
307
294
140
972
974
469
47
377
215
632
798
75
810
159
337
43
302
672
237
371
552
712
45
599
641
226
444
809
260
495
957
801
586
208
607
132
441
970
945
133
211
365
46
56
874
368
668
996
743
865
306
953
11
778
876
746
953
487
705
854
238
455
15
413
77
435
453
329
812
290
405
431
341
729
661
66
29
354
612
282
254
331
225
680
622
244
618
793
599
125
945
999
426
914
147
971
504
967
456
353
274
392
184
280
964
794
741
431
88
410
950
507
795
964
503
740
458
148
770
490
62
548
244
746
998
895
462
71
246
571
61
779
979
577
435
516
207
328
579
743
713
127
775
353
520
537
77
824
133
893
80
888
651
146
29
134
670
948
805
250
779
151
831
24
920
513
668
969
879
399
712
275
240
48
709
874
209
979
150
796
556
263
522
610
121
81
981
576
667
90
228
968
287
755
555
761
385
314
284
162
412
963
331
746
920
839
72
414
484
919
726
772
601
629
938
994
441
80
367
894
863
226
37
316
220
671
427
856
330
254
978
975
359
857
581
467
314
900
423
639
803
156
669
388
35
721
849
825
499
20
90
534
533
648
957
196
367
860
363
30
678
516
592
917
236
624
250
642
743
42
441
928
784
908
527
757
241
614
929
338
356
946
364
671
251
575
262
343
706
841
54
343
903
776
870
972
983
889
957
954
911
286
468
679
249
176
773
31
775
194
562
629
510
81
778
609
37
901
802
695
481
869
427
430
291
508
818
448
390
301
773
240
940
10
830
786
172
217
316
71
464
685
367
136
164
444
656
538
841
958
436
650
422
62
359
636
689
908
142
290
315
122
730
623
729
79
861
541
690
359
240
307
161
75
467
19
696
197
503
786
175
216
416
282
891
90
944
162
692
891
233
910
843
641
942
319
109
119
215
888
41
224
422
716
980
79
747
706
672
686
137
492
620
698
43
697
663
438
872
132
339
292
629
164
136
34
180
285
518
914
541
449
968
421
985
191
916
171
669
142
894
763
164
746
220
292
275
246
77
541
22
390
316
315
279
365
858
399
501
458
509
625
155
372
9
616
873
31
381
559
913
841
963
172
447
693
787
502
22
23
626
911
137
550
173
564
913
68
884
707
829
683
48
811
305
668
379
339
51
495
924
263
270
491
19
278
21
13
921
732
302
712
124
80
802
269
96
470
132
156
510
833
846
840
889
251
651
623
285
866
464
678
640
89
490
792
155
100
603
582
335
330
825
375
955
367
511
976
232
433
629
141
618
286
974
253
906
887
858
741
593
754
766
589
822
543
21
981
780
996
32
503
650
732
66
315
38
261
414
590
82
868
785
31
47
144
964
834
847
535
48
214
886
73
394
255
111
223
938
580
845
908
707
877
418
103
966
636
510
985
706
431
574
384
310
375
547
911
577
295
789
783
538
485
721
307
915
278
498
339
802
920
387
15
627
802
894
944
419
715
800
449
559
503
917
437
436
314
401
554
784
690
859
863
813
86
225
129
311
511
228
970
463
244
854
559
128
550
541
932
543
239
241
820
447
145
663
996
220
141
816
889
560
862
399
480
383
693
237
507
977
155
129
12
468
973
171
965
585
716
657
663
328
920
279
832
495
19
498
734
400
563
127
3
85
333
769
332
658
799
198
297
524
601
536
454
18
64
146
433
799
466
428
437
916
249
671
133
805
233
295
802
392
151
356
516
980
714
746
231
401
452
523
624
45
61
208
176
709
622
799
794
902
221
474
668
479
441
88
172
435
534
558
177
837
938
154
662
857
880
407
510
655
841
1
160
538
34
455
191
716
104
473
503
350
45
297
436
361
229
585
367
643
942
146
955
726
86
235
778
748
764
758
287
9
631
747
654
769
669
601
6
12
184
538
907
419
961
522
78
64
661
189
752
990
523
292
812
758
167
204
34
77
687
174
327
511
606
386
648
686
728
986
237
542
492
965
679
448
757
460
392
331
342
809
516
480
427
274
62
275
534
575
583
337
811
307
376
892
889
195
742
548
568
569
638
307
575
682
558
360
162
343
154
752
85
853
615
376
946
163
388
715
110
692
229
860
999
715
404
518
679
605
642
563
905
387
824
736
158
211
312
412
562
91
844
476
563
652
565
394
886
348
126
956
843
712
930
573
995
590
281
592
311
185
65
452
21
331
649
130
611
971
807
876
966
615
10
380
806
306
804
342
803
914
436
183
766
738
549
809
561
963
465
91
587
35
958
264
230
519
409
246
447
499
115
379
235
309
414
803
678
704
104
66
877
451
818
76
399
686
377
76
769
690
446
567
935
881
181
410
143
638
381
459
570
123
587
660
603
342
292
728
454
856
951
972
433
725
642
442
663
370
279
684
98
998
263
364
998
588
248
648
512
102
301
147
372
976
122
548
414
294
611
269
334
187
376
713
867
49
972
690
931
718
913
11
603
877
938
971
675
338
733
87
958
422
4
256
835
225
149
778
120
461
767
589
811
926
690
578
189
121
249
948
311
951
146
876
747
261
458
457
33
336
698
391
744
771
720
782
497
542
883
266
617
180
871
399
815
832
855
9
115
663
630
533
916
758
362
733
340
624
516
472
232
765
943
104
158
779
228
524
934
814
818
877
900
249
19
328
804
894
815
885
915
211
263
864
260
446
604
132
747
257
465
881
351
786
139
392
790
238
495
781
509
79
32
122
18
407
303
826
445
472
95
123
89
852
684
533
779
429
884
635
139
955
553
868
39
848
288
710
982
477
968
815
167
131
142
412
140
842
351
426
554
637
26
575
180
342
875
286
775
662
819
662
309
767
255
129
143
435
699
983
247
600
916
408
439
551
747
956
774
849
330
51
60
833
55
327
913
715
329
643
578
370
225
623
807
269
469
284
214
60
790
802
237
473
477
546
247
872
439
639
437
977
84
625
855
952
750
207
953
677
584
484
33
340
392
765
966
904
812
886
65
873
103
701
459
488
436
871
673
450
489
468
295
503
162
494
364
584
136
750
930
984
627
985
520
597
393
713
755
75
640
384
98
915
668
489
632
804
860
971
37
367
543
668
942
321
136
253
580
63
364
873
628
286
647
411
918
665
819
923
464
572
492
634
610
708
576
936
407
798
826
668
231
908
782
58
651
733
809
942
477
493
986
774
740
492
887
347
29
984
383
756
825
729
725
721
845
505
994
484
292
624
467
393
417
808
833
237
596
704
46
931
922
651
790
301
474
986
184
248
942
909
20
476
555
917
893
751
721
137
720
486
388
973
312
797
270
567
238
530
202
603
865
982
161
917
31
878
187
829
388
55
210
333
188
653
754
531
786
453
373
877
898
662
883
149
344
829
417
375
691
331
330
337
866
687
868
751
11
766
764
762
740
519
79
428
475
866
803
806
249
384
832
364
594
162
53
980
389
541
329
788
972
190
505
408
218
253
36
598
459
607
501
568
884
525
802
536
226
184
392
632
789
474
184
177
113
762
97
114
61
775
842
913
346
836
852
245
384
301
717
915
291
101
33
289
562
24
508
344
553
669
619
392
496
886
458
372
339
917
386
164
30
593
724
231
19
431
165
804
914
8
548
203
216
710
331
138
840
531
318
452
842
960
861
199
373
873
139
946
936
230
828
850
113
948
610
988
785
861
702
82
786
8
552
27
486
529
109
564
904
662
138
71
489
950
230
72
524
13
328
454
244
210
437
730
273
946
388
54
311
764
245
349
852
892
342
199
888
820
140
545
573
466
798
170
343
793
892
624
245
137
458
273
865
90
347
13
433
57
569
810
717
440
458
815
770
543
557
592
565
545
257
952
417
856
338
81
721
382
426
235
8
244
759
235
624
339
825
654
479
859
719
437
308
134
23
710
879
957
487
240
716
133
193
861
258
929
366
511
872
607
435
136
955
699
824
855
223
549
280
770
727
863
167
72
468
986
96
585
807
152
281
427
581
549
382
675
743
652
217
9
527
525
21
890
910
524
363
696
878
307
301
115
524
216
782
662
211
741
190
998
236
443
55
257
769
544
981
184
997
813
81
326
838
270
24
733
766
575
691
784
11
434
353
186
725
597
256
52
245
672
159
86
58
518
29
360
633
6
492
221
526
975
643
29
926
55
91
598
350
557
286
540
938
510
275
235
345
758
396
688
722
649
639
682
8
54
959
649
662
438
651
772
120
989
410
455
882
267
433
36
807
925
330
116
675
294
729
436
108
134
483
414
724
663
340
591
604
295
567
611
293
707
470
55
817
825
211
530
799
151
971
621
88
699
373
20
220
705
337
305
234
192
155
71
795
935
314
844
299
433
986
457
539
679
328
254
951
246
376
752
788
727
416
87
209
444
259
610
245
617
427
803
328
38
19
172
877
89
71
740
469
466
156
681
734
347
631
992
127
470
54
111
479
477
761
449
228
772
62
538
106
652
138
374
718
862
133
20
593
713
823
994
951
519
252
670
42
977
783
511
500
702
345
685
865
457
741
306
925
530
869
927
961
22
133
999
369
268
376
750
103
130
530
116
448
322
301
907
214
953
206
281
4
599
724
450
432
664
447
403
778
230
175
903
268
168
717
168
103
474
938
404
180
530
259
756
904
41
203
336
869
482
639
6
151
899
476
342
473
785
774
825
8
958
509
472
568
734
342
962
839
795
716
397
675
787
600
153
66
725
732
823
724
772
923
692
810
105
454
265
975
658
434
93
25
331
84
434
663
356
390
381
200
253
196
271
979
198
148
297
263
535
72
52
368
214
27
119
844
304
324
863
594
168
334
199
632
13
517
900
78
562
171
132
848
98
660
439
562
826
815
814
842
963
491
41
36
34
992
165
117
467
357
318
140
38
301
325
620
452
976
560
544
708
127
421
471
756
688
516
155
437
329
737
822
16
150
313
952
464
718
291
191
555
61
884
290
829
845
520
175
263
252
470
342
438
487
161
213
740
161
394
866
417
865
446
693
788
498
432
982
570
607
617
636
432
838
12
790
749
443
322
143
278
419
431
421
50
953
896
36
521
82
91
220
841
635
639
43
610
162
402
615
248
705
231
29
713
392
458
455
664
209
539
155
664
14
400
764
903
839
133
981
572
354
737
656
873
628
947
200
636
256
468
553
166
975
381
668
15
533
170
171
650
486
250
935
669
888
148
698
205
599
739
881
832
931
89
477
859
899
484
680
512
477
602
678
30
989
222
827
67
420
212
542
523
733
56
558
740
193
63
748
183
212
335
682
342
668
346
424
631
74
459
219
390
638
210
133
82
734
826
271
263
319
734
109
267
82
582
759
981
208
974
914
357
338
484
601
77
567
332
943
582
292
958
565
447
318
127
399
119
970
518
280
140
778
935
183
658
664
709
158
999
182
262
536
708
361
324
786
626
636
363
189
885
102
570
726
1000
628
614
326
834
124
138
24
225
447
105
239
239
380
281
105
683
380
588
144
962
172
625
312
227
457
369
705
501
664
924
163
37
990
294
406
725
392
10
888
293
604
618
132
591
355
401
550
304
10
244
719
652
452
969
737
397
560
197
937
802
260
847
600
172
314
314
673
675
575
798
692
55
542
67
628
406
360
720
68
831
904
992
671
87
356
437
273
987
91
149
2
44
100
340
415
221
129
846
754
674
340
321
795
687
354
31
421
993
668
89
853
685
317
770
193
653
134
835
326
529
827
851
804
380
324
651
323
473
294
315
379
386
592
336
483
941
199
295
567
949
672
920
437
623
58
189
393
204
1000
142
44
710
560
8
924
121
394
49
553
187
458
720
228
995
42
709
11
109
225
186
11
33
697
667
425
226
173
240
718
542
134
87
661
883
122
705
431
361
301
478
674
728
151
981
797
910
99
577
30
680
627
387
1000
775
681
806
517
683
341
558
819
473
116
950
437
176
934
465
383
320
368
529
343
421
778
960
995
354
175
710
401
835
230
319
4
144
379
53
147
843
140
743
274
53
774
440
63
370
141
353
956
885
248
484
280
226
379
814
615
544
139
127
244
938
79
408
751
170
559
941
775
673
771
104
693
871
573
155
206
781
173
256
521
808
375
513
708
439
296
646
351
771
83
882
79
777
394
734
874
481
14
307
708
647
910
655
190
714
963
553
284
319
670
110
959
395
207
312
237
622
139
850
72
515
880
447
847
13
915
94
144
219
515
298
705
583
138
696
513
477
718
723
594
670
950
587
18
962
264
36
295
371
910
519
519
576
746
990
449
99
424
799
797
788
668
80
195
611
379
756
619
348
629
727
47
38
262
571
772
808
780
593
595
848
161
802
763
456
950
427
903
471
234
287
504
453
584
832
871
17
261
377
341
944
30
578
768
784
61
743
218
412
526
171
867
709
459
185
131
864
306
223
761
166
297
410
969
811
116
218
27
315
896
381
865
734
577
14
957
751
401
333
258
16
910
741
150
450
861
533
771
932
913
716
547
354
571
545
209
684
427
867
816
129
970
701
423
547
908
636
163
875
730
182
413
398
807
678
562
460
357
234
21
717
622
780
306
125
487
435
819
835
83
480
818
863
422
897
248
760
614
374
112
625
936
280
526
348
212
817
628
349
850
165
881
168
366
95
740
111
224
201
790
133
790
223
104
700
449
149
128
367
810
554
916
888
958
482
234
331
435
478
88
439
745
471
961
569
601
175
487
109
39
872
723
185
10
939
602
97
502
596
464
980
576
805
881
42
229
501
908
564
231
568
400
261
782
431
553
662
850
941
692
355
988
751
911
303
911
826
663
323
736
38
496
515
221
724
656
557
956
528
281
581
614
553
887
933
698
759
218
351
47
51
395
40
654
139
270
549
826
936
140
311
535
425
260
900
742
154
453
600
199
191
877
801
668
376
308
153
570
975
855
265
772
200
598
858
501
243
162
657
852
91
265
747
552
103
665
784
142
48
106
333
250
708
543
47
327
543
172
424
379
373
512
883
104
478
323
925
163
227
871
71
532
738
454
790
878
323
485
394
802
873
294
457
407
517
946
377
125
305
552
477
331
765
967
869
226
437
662
354
110
602
780
690
604
35
875
915
838
375
887
751
505
864
370
914
932
639
32
98
49
805
819
211
621
1000
675
782
275
936
280
268
681
931
606
401
838
60
814
245
819
184
507
191
383
450
700
807
635
690
261
142
390
480
42
726
273
916
555
656
99
56
529
863
925
421
138
846
24
934
714
932
861
227
887
925
558
182
420
986
973
660
969
164
300
866
713
335
395
513
832
263
990
6
208
591
756
317
181
291
674
25
324
369
358
627
401
921
747
384
342
804
696
707
360
874
739
26
801
985
923
948
955
484
287
969
515
397
261
429
359
21
569
511
628
197
9
632
456
394
9
218
491
389
425
147
391
516
437
473
42
104
470
983
703
230
693
442
690
738
918
347
94
526
695
450
330
829
536
68
945
421
121
351
503
136
496
584
863
185
294
270
371
277
417
52
568
349
532
878
883
440
376
622
905
198
856
64
692
220
126
282
361
764
683
537
382
915
661
778
945
784
3
740
148
924
955
217
162
928
567
221
159
970
434
461
92
291
151
878
325
162
390
285
292
39
929
618
792
129
408
412
853
876
297
466
786
120
626
689
650
381
435
208
511
938
856
307
993
969
319
437
855
450
848
818
56
657
563
130
176
971
508
558
346
798
639
32
300
787
712
343
578
8
850
364
967
358
25
437
832
794
123
709
441
239
419
381
394
210
106
723
264
509
191
413
364
475
701
986
298
512
896
776
363
678
452
848
470
669
399
723
565
593
148
918
617
918
723
56
731
573
176
827
134
662
793
581
56
871
597
229
191
176
796
363
896
501
656
815
771
644
768
369
82
238
665
966
871
318
260
851
162
772
392
776
249
857
957
471
908
780
914
173
913
605
125
403
281
740
490
462
944
694
907
588
728
124
702
255
837
482
98
756
743
611
204
795
838
517
165
259
406
457
715
990
573
422
619
55
126
457
785
415
79
656
930
859
976
962
405
550
788
465
323
372
466
156
977
44
917
858
147
353
569
144
332
734
699
120
643
796
475
32
166
473
11
357
267
966
450
322
379
164
341
573
955
774
959
148
34
807
608
325
634
604
407
1000
643
460
379
587
141
764
757
524
307
737
186
999
939
231
185
728
795
485
958
39
321
906
204
794
963
111
87
311
753
714
949
790
689
284
169
197
143
30
318
67
576
808
83
311
579
670
952
604
225
643
852
368
921
406
237
559
7
78
29
77
155
43
877
901
122
542
144
300
85
366
792
244
483
757
943
153
225
227
916
599
279
895
408
909
331
101
871
558
412
523
741
715
906
464
275
297
88
224
985
834
105
997
434
980
843
172
6
429
677
404
292
183
220
261
199
757
567
685
404
775
375
527
156
661
448
683
35
648
196
814
612
233
580
664
188
387
439
745
772
435
967
175
452
228
192
769
618
604
995
997
752
685
499
350
354
665
603
927
307
573
945
258
137
115
802
855
353
563
465
627
458
627
963
433
138
984
105
884
966
692
661
974
879
66
388
706
85
939
648
596
178
131
411
864
623
334
932
378
726
496
124
660
804
578
841
55
267
553
243
540
327
50
653
489
43
139
90
60
521
511
403
911
639
389
349
461
756
211
337
177
876
655
94
301
661
666
458
949
60
276
105
103
786
872
936
402
598
125
693
193
159
838
632
519
438
58
170
376
988
584
354
81
937
266
729
633
382
858
279
118
607
458
764
165
515
194
155
803
967
557
720
648
165
539
640
298
954
233
266
425
200
700
755
720
356
747
856
914
282
517
536
72
181
858
133
649
541
732
135
389
583
299
488
932
852
882
621
359
109
465
199
259
733
908
161
733
97
896
984
840
177
555
272
913
216
682
412
47
358
30
817
279
566
668
411
176
538
891
131
543
343
563
584
123
136
288
640
244
987
153
811
222
749
482
104
16
839
527
218
159
996
274
416
539
472
87
687
357
994
198
980
660
832
567
730
431
770
255
862
302
429
663
904
894
618
390
874
714
142
335
730
484
212
993
743
481
365
848
641
691
290
934
468
303
99
263
482
628
657
843
548
187
420
892
724
145
939
746
558
347
145
868
50
373
410
282
984
778
473
153
67
390
663
468
378
737
699
572
126
84
851
326
300
115
142
423
577
80
812
570
507
88
595
614
680
182
15
567
90
781
534
874
91
234
533
761
894
830
524
416
504
307
832
922
72
959
204
60
68
615
676
638
518
935
991
52
264
651
538
174
489
470
717
636
435
289
988
261
97
49
201
353
726
400
936
2
301
879
739
119
546
419
462
554
282
563
201
268
752
33
66
801
473
224
623
551
675
173
868
467
266
797
887
635
39
74
280
970
923
890
786
168
695
26
269
94
548
985
352
468
372
464
597
211
684
686
601
622
765
581
195
904
587
66
694
604
690
845
130
257
942
785
163
469
409
966
546
646
393
563
477
174
257
527
307
271
968
952
405
990
322
975
111
347
428
369
264
196
119
595
588
635
479
947
684
903
363
948
836
861
727
222
883
808
785
172
77
844
941
292
209
869
430
970
641
969
468
215
174
867
576
522
240
704
522
763
143
20
683
656
744
899
805
650
226
774
844
722
648
850
714
515
12
769
557
214
153
405
558
587
559
570
558
844
751
323
303
978
787
56
561
157
182
900
431
704
46
926
137
639
711
852
381
806
132
397
867
51
783
630
487
96
304
848
262
829
12
934
189
17
521
538
897
303
244
12
361
604
227
900
88
364
615
644
181
652
429
163
956
955
445
626
742
910
548
463
905
431
841
604
566
998
400
631
740
554
389
953
446
17
406
924
851
458
903
904
375
337
812
212
698
751
132
906
111
115
934
581
642
74
686
469
331
274
183
880
165
920
830
27
327
787
360
748
137
255
411
247
300
45
655
625
127
977
106
455
794
202
609
623
253
468
775
470
582
280
169
294
818
567
802
466
429
577
46
841
579
940
267
182
773
199
432
599
112
917
618
481
304
928
615
153
970
470
877
642
734
785
70
166
63
359
151
760
440
486
446
908
36
720
314
868
357
608
617
542
126
387
689
166
426
426
500
998
37
996
262
924
227
618
54
378
864
526
254
663
420
692
607
24
148
709
952
171
606
287
190
466
387
492
887
523
510
90
228
844
752
821
724
709
880
586
166
611
334
427
904
289
369
184
40
711
361
303
525
381
356
270
930
234
626
510
719
192
419
588
31
298
493
463
993
77
354
829
991
217
646
825
306
991
954
372
720
337
714
464
676
278
75
737
97
965
31
831
658
775
601
663
547
600
751
439
304
335
790
183
449
134
133
440
777
287
123
74
782
890
29
544
741
118
896
514
565
791
812
656
515
140
749
303
139
637
250
72
224
677
776
579
490
484
25
281
565
12
514
366
631
738
568
782
434
385
633
228
509
342
119
364
833
513
815
541
796
703
567
543
691
849
143
394
175
628
834
558
106
434
610
544
773
778
207
881
368
934
381
843
324
254
953
400
511
91
725
293
326
295
380
829
478
127
514
309
319
945
617
24
358
246
182
802
840
181
90
824
140
496
790
694
677
516
920
344
930
200
279
743
626
650
79
836
674
657
873
686
539
32
337
669
490
516
8
499
601
301
807
601
244
533
487
918
555
481
756
158
301
739
213
179
246
431
884
457
34
819
958
800
62
155
830
172
451
875
364
561
774
688
213
843
852
52
186
609
62
37
228
593
410
181
147
636
181
706
716
78
910
702
593
971
817
563
203
800
593
417
18
277
546
778
57
467
241
771
856
175
256
162
477
439
391
900
17
928
460
840
973
669
873
809
562
80
302
179
698
201
542
104
136
186
124
166
521
970
258
494
265
555
279
372
513
625
111
879
614
646
697
764
17
131
762
689
412
279
187
868
122
771
680
96
286
10
901
915
351
658
247
119
7
304
300
370
35
907
213
506
807
33
210
20
215
429
260
775
366
32
889
950
75
139
177
790
10
588
113
877
296
882
976
489
692
234
355
94
464
950
467
997
284
80
20
269
678
982
639
854
941
577
442
236
827
966
636
672
441
957
992
680
223
276
925
855
162
11
402
409
466
281
927
257
735
278
168
658
633
624
159
323
534
495
248
284
77
974
510
598
538
503
125
524
323
734
838
455
742
221
583
42
95
715
800
764
150
372
318
291
290
578
231
24
404
975
340
458
614
122
646
350
312
646
843
970
838
210
191
651
975
214
150
313
283
950
953
863
305
823
254
869
741
134
267
76
752
752
746
447
506
351
315
522
56
338
399
377
579
276
143
280
178
174
89
377
521
816
59
67
961
472
523
409
573
62
192
2
881
823
4
251
307
322
646
870
83
946
138
704
124
273
105
973
129
702
786
736
457
313
877
704
377
535
616
281
879
111
690
161
931
370
94
813
700
682
573
408
488
48
378
742
26
866
473
571
254
389
417
776
529
213
577
833
240
903
415
866
293
514
784
662
285
77
810
178
270
196
27
29
416
712
292
960
453
63
755
403
631
137
421
753
124
609
35
355
530
419
314
929
247
153
317
720
831
863
60
323
224
251
122
173
976
546
189
296
244
151
381
57
572
378
430
702
574
254
806
924
710
72
950
957
844
206
357
31
230
829
963
998
776
133
504
323
42
460
608
185
516
194
185
323
164
930
613
110
484
505
38
479
379
869
685
701
481
311
131
935
400
17
494
550
233
730
698
92
253
494
823
255
922
604
813
683
476
833
74
275
625
203
389
337
900
463
160
981
475
949
886
529
694
561
628
889
605
32
634
282
670
504
885
937
448
523
46
751
655
198
273
34
270
966
491
630
995
8
419
67
550
477
330
818
357
261
87
698
794
775
150
945
942
630
436
98
431
904
830
660
876
639
156
380
657
571
715
889
879
508
898
10
712
611
282
903
524
285
24
254
453
48
936
377
481
514
583
788
558
264
105
270
918
318
681
602
740
745
36
127
719
822
745
355
389
375
365
788
543
102
268
958
612
372
950
875
381
23
970
886
699
316
900
936
314
473
774
146
187
251
428
595
80
281
1000
317
868
283
757
847
868
779
833
682
24
121
434
475
626
810
374
739
12
664
902
955
930
869
164
680
61
211
350
295
762
362
695
495
212
349
785
334
560
531
742
629
150
820
228
332
268
326
500
382
875
71
99
946
287
655
699
655
616
73
959
800
588
1
229
747
227
997
974
788
221
401
728
48
458
268
941
323
662
384
734
408
323
443
50
998
692
613
405
561
423
38
791
781
835
379
231
777
618
755
776
107
629
504
55
731
142
594
687
44
928
564
58
189
272
124
980
505
294
848
970
349
601
230
91
7
702
155
908
264
396
676
284
649
820
438
665
17
68
54
6
134
11
618
892
867
740
578
304
907
208
141
321
989
660
880
597
605
804
657
862
499
761
312
696
57
457
822
953
718
336
115
798
217
738
650
691
796
185
205
559
423
117
682
578
470
682
286
372
170
596
204
332
667
452
433
827
101
283
523
293
281
254
974
111
102
623
981
743
794
621
385
507
752
566
882
143
517
754
17
990
716
565
896
103
455
658
964
531
705
500
489
998
211
329
747
374
737
491
18
21
454
6
517
226
151
999
708
84
730
273
767
527
896
760
624
261
312
158
829
96
123
62
641
558
310
163
662
915
846
574
849
28
182
823
206
835
78
839
902
338
894
726
318
18
88
360
642
364
728
418
789
17
582
128
549
668
816
287
445
958
14
958
350
113
832
746
490
243
761
946
569
445
383
860
743
194
898
95
421
443
783
969
11
219
486
180
973
998
290
273
850
334
46
983
326
558
783
166
759
497
498
93
582
521
791
976
579
354
162
819
906
108
994
871
472
441
334
522
81
757
166
84
337
311
608
948
753
774
189
424
700
206
73
475
103
999
947
275
782
278
109
329
86
670
755
489
647
784
310
829
893
959
292
523
417
900
643
364
470
465
462
621
275
315
83
495
798
665
35
623
991
308
476
932
152
255
88
604
56
702
391
1000
661
780
746
349
534
126
350
204
765
808
355
524
860
190
147
448
72
321
623
518
169
496
941
279
653
59
833
991
864
552
8
793
381
165
113
717
757
818
14
355
609
480
1
943
40
28
509
503
445
607
79
315
284
857
846
596
719
180
527
586
524
668
754
976
111
951
746
89
718
919
223
214
643
896
788
401
505
247
612
84
348
588
628
8
533
794
565
188
251
385
699
601
263
234
858
573
26
630
503
757
796
672
974
871
480
307
475
664
732
271
967
797
715
761
725
177
181
526
832
73
525
333
155
522
697
430
522
776
671
158
725
251
339
569
437
679
555
420
380
426
173
371
978
258
972
960
246
834
86
429
235
319
255
396
4
699
658
442
678
202
650
520
603
818
215
498
260
852
814
150
313
308
617
527
294
341
796
491
257
376
985
51
374
133
513
132
319
109
436
956
882
727
552
295
925
666
526
726
313
912
92
596
517
975
52
912
554
377
803
290
906
860
823
990
278
438
474
398
845
585
379
748
924
456
853
132
264
55
743
842
468
549
594
523
9
105
307
897
410
888
445
13
526
991
352
248
241
840
904
366
804
970
307
263
952
466
175
925
412
552
778
649
900
741
412
22
808
705
400
753
985
29
35
651
890
818
189
991
778
593
948
802
518
72
113
691
553
64
159
757
390
859
739
773
444
974
171
350
362
951
857
647
783
468
666
301
882
821
642
544
321
342
706
864
15
940
150
817
117
136
112
132
764
894
206
314
756
871
413
131
35
599
698
268
968
664
3
642
865
862
921
206
957
336
222
583
411
727
745
683
821
814
480
265
220
815
641
881
165
162
190
621
328
381
930
581
924
199
921
879
730
818
455
239
631
273
955
627
65
511
367
166
353
618
276
345
764
895
908
449
470
901
290
324
728
473
611
300
336
505
137
302
935
635
473
12
220
505
710
444
41
543
776
966
796
993
804
395
883
128
391
818
899
208
735
11
973
41
128
38
248
98
652
440
497
668
369
136
574
540
611
85
626
876
702
164
11
845
4
316
116
700
90
421
464
408
328
433
428
943
471
803
985
677
435
960
965
796
192
381
816
489
787
529
946
803
127
972
779
270
407
644
673
845
650
979
367
59
108
773
525
100
450
390
243
116
594
506
123
401
168
591
576
921
752
65
320
321
611
223
816
79
18
561
477
714
649
781
884
751
185
310
757
607
263
442
868
554
800
88
856
632
354
763
234
86
160
950
650
137
419
984
179
510
35
568
578
18
914
74
682
682
26
115
338
66
862
397
186
448
294
376
33
157
89
835
574
617
847
53
84
425
524
440
662
32
805
535
22
826
927
981
599
890
199
201
506
789
932
707
209
390
752
446
790
614
236
743
406
348
223
145
336
368
512
69
781
342
85
275
548
56
70
596
177
631
929
49
52
113
15
412
96
756
660
23
246
841
109
806
738
66
119
126
534
53
583
218
559
90
482
492
4
493
504
387
685
810
93
41
639
324
353
138
740
653
418
420
848
582
643
171
940
931
174
230
785
963
666
352
841
280
483
336
681
60
748
967
325
5
487
463
153
920
363
109
50
66
698
84
734
843
150
231
786
943
465
287
840
911
553
853
938
480
870
514
3
369
847
325
815
81
94
812
412
640
477
282
525
725
452
442
11
201
957
7
79
709
991
714
899
962
536
868
554
930
374
813
251
315
14
123
645
815
926
390
925
58
699
116
820
340
35
120
473
588
191
938
979
158
151
810
321
870
974
55
22
598
388
86
520
392
695
44
219
315
302
693
562
952
289
940
839
175
424
88
924
261
93
390
512
35
341
317
39
276
942
262
351
349
676
905
297
167
149
463
108
196
580
791
525
788
416
116
169
949
403
378
435
521
331
433
396
793
266
240
435
603
154
354
891
146
682
352
440
452
876
675
933
144
115
129
370
649
321
999
804
662
37
27
856
948
854
541
384
897
213
894
41
604
167
904
762
161
457
852
313
533
779
385
422
734
172
271
557
772
814
17
559
455
929
471
742
342
387
532
46
90
500
153
341
862
938
310
229
729
172
6
148
518
623
863
822
602
653
396
931
572
619
960
670
478
319
216
840
474
258
807
363
684
663
989
710
591
540
636
491
190
61
509
161
637
294
386
489
345
824
250
267
999
344
478
312
613
108
933
769
402
674
363
697
897
442
575
67
346
165
852
778
783
457
56
473
44
564
668
728
355
801
1000
441
742
832
769
262
703
578
73
439
33
739
598
892
435
478
2
951
796
656
564
907
172
75
510
536
337
62
160
210
902
69
479
538
159
429
792
986
389
800
499
835
869
115
282
642
727
318
726
75
246
662
198
654
332
926
31
149
821
118
711
470
924
497
92
277
50
131
789
392
495
355
931
779
854
947
871
414
331
467
101
291
524
59
467
953
284
257
741
432
166
799
518
334
599
733
575
619
85
396
396
331
562
400
551
3
922
231
227
190
638
382
134
900
436
339
369
95
534
457
657
848
134
20
520
497
574
834
884
606
46
444
558
452
269
111
160
566
265
930
224
407
505
231
274
822
162
910
968
958
399
648
380
730
721
139
537
990
591
147
469
391
404
700
728
123
283
32
395
58
401
845
545
907
200
211
93
801
594
412
87
271
976
5
116
648
888
676
814
174
612
393
280
536
69
222
549
210
370
35
756
948
695
843
180
640
16
790
452
935
775
906
983
30
481
680
292
735
622
727
277
334
909
283
617
584
869
949
919
583
259
875
756
55
977
328
994
600
789
728
665
950
282
53
441
56
508
223
696
958
923
580
275
256
334
514
357
93
651
930
785
446
650
377
726
981
839
119
855
260
653
376
885
666
701
267
476
735
768
585
402
926
684
312
131
231
905
517
103
223
12
835
659
708
163
397
287
4
137
81
530
472
129
982
356
663
614
9
998
703
587
741
109
827
768
983
454
384
216
414
856
534
522
474
408
89
112
39
16
312
570
935
840
295
250
551
661
256
614
450
534
799
449
611
757
220
689
39
235
640
995
1000
586
92
333
788
495
306
88
410
504
836
301
587
102
634
258
181
739
472
860
355
744
907
536
582
247
115
698
217
521
549
797
94
297
21
426
265
914
294
848
313
313
584
273
748
395
882
1
863
291
255
741
338
94
692
893
473
926
858
240
527
101
545
534
573
1000
773
617
586
377
583
303
358
748
422
30
184
689
509
830
593
996
82
99
768
358
552
16
897
704
410
389
601
350
777
460
386
725
555
57
890
401
163
430
381
908
17
528
744
321
8
68
458
499
535
229
900
331
213
328
102
814
695
416
823
91
529
64
619
778
19
788
396
880
223
612
739
6
442
749
350
862
866
538
966
488
507
810
902
328
983
176
708
1000
327
45
428
991
279
282
283
438
244
273
184
182
358
684
160
82
282
746
907
551
370
718
839
686
620
716
129
914
962
312
640
65
1
394
568
401
544
88
548
198
849
860
296
518
510
638
290
101
15
731
604
71
446
776
756
947
915
634
875
582
636
737
300
97
307
938
928
203
998
607
426
855
500
769
898
627
992
916
572
15
476
347
972
252
33
859
873
963
1000
734
330
869
357
623
101
800
151
602
333
927
990
673
626
894
882
740
839
337
103
499
982
130
545
498
497
380
460
34
360
127
365
717
507
913
724
295
87
235
688
342
230
349
257
187
343
687
471
49
436
177
99
289
528
542
679
342
436
210
767
165
110
661
850
822
784
576
686
26
854
831
255
366
695
291
927
710
956
325
493
536
941
205
653
243
933
773
200
817
446
448
533
562
560
648
76
684
162
722
339
154
131
701
314
188
298
593
856
167
609
151
599
947
106
842
584
828
743
72
649
727
345
152
83
290
553
505
93
171
761
44
406
646
127
33
346
499
667
366
496
427
131
111
954
471
531
139
14
370
548
781
559
248
902
234
892
103
920
955
792
600
966
909
453
666
410
457
122
741
543
999
279
101
948
207
411
101
132
547
760
689
647
597
997
306
460
392
413
310
107
215
94
430
970
713
580
969
250
805
23
536
723
684
564
550
136
426
890
579
382
755
693
2
561
606
636
662
569
945
233
366
847
572
352
341
590
868
889
597
158
660
555
271
822
178
723
968
572
25
229
83
308
448
889
651
214
521
243
536
800
368
612
781
123
490
921
341
535
446
227
726
465
550
163
148
70
231
158
32
721
776
190
14
632
555
422
52
225
714
870
914
388
201
427
986
778
941
642
127
325
478
229
699
453
699
689
657
849
121
816
202
54
590
732
504
513
50
566
510
375
334
583
822
601
526
630
432
24
570
192
622
90
914
653
697
203
577
660
822
432
602
684
624
833
668
902
701
531
748
631
685
943
199
417
887
852
784
214
720
69
777
941
948
497
492
36
479
465
300
68
953
691
871
237
571
349
205
145
669
668
406
474
105
914
627
168
868
555
646
614
135
434
842
12
623
118
102
886
112
435
328
431
94
474
535
230
324
853
541
698
394
881
317
238
202
613
570
253
262
10
278
389
437
197
212
136
28
783
22
175
695
466
259
18
740
285
73
440
13
730
701
595
28
61
734
890
712
128
148
190
252
965
101
830
699
96
926
999
749
737
587
947
953
42
29
751
28
597
260
166
132
697
186
467
116
326
715
319
232
208
482
842
196
906
9
87
942
762
695
31
32
683
370
697
46
725
285
22
655
612
120
456
206
998
350
390
142
230
451
263
438
169
145
767
558
62
48
236
375
894
994
132
780
284
229
735
946
739
536
440
315
572
429
170
588
529
436
720
514
808
624
960
970
546
210
933
16
43
147
561
26
24
260
55
846
635
984
794
399
358
973
486
385
471
635
797
941
922
915
278
31
4
270
697
528
170
642
164
637
756
749
426
650
608
721
995
299
446
391
669
145
815
503
24
752
466
921
666
927
754
304
120
710
651
767
569
238
638
916
61
52
799
249
931
495
529
849
20
196
699
311
654
326
324
773
75
309
916
114
4
512
761
780
503
6
770
552
309
650
931
208
255
513
40
811
845
428
267
122
171
642
557
536
225
746
809
208
811
603
910
808
388
272
112
313
344
50
735
378
932
830
682
885
947
938
317
583
769
278
916
514
638
19
589
734
800
19
251
192
143
157
365
219
902
306
289
327
81
468
377
446
613
145
849
847
994
648
737
842
435
177
854
320
340
130
32
508
264
249
34
55
411
856
921
889
82
681
845
771
964
683
639
65
742
133
255
877
655
890
197
232
623
333
83
11
653
392
56
970
987
885
334
599
883
552
348
876
356
993
72
564
837
432
828
567
703
799
31
540
981
391
829
33
438
165
71
511
516
769
983
32
396
863
43
760
181
144
642
678
445
744
66
271
400
50
179
425
558
832
952
563
659
5
424
100
570
722
39
194
505
710
700
659
260
449
283
325
810
10
890
320
55
917
218
501
475
430
536
194
396
933
51
64
82
130
141
275
291
580
207
94
51
33
446
392
976
391
199
678
68
879
67
286
587
500
151
814
250
912
779
327
789
834
921
429
543
426
603
543
405
413
224
540
660
499
70
543
651
424
162
717
559
894
40
364
626
666
177
29
157
829
2
212
556
730
776
636
675
251
7
301
408
203
980
382
313
125
858
965
454
874
409
757
806
614
982
895
746
284
60
142
664
693
882
98
475
252
785
470
694
579
37
696
337
134
351
8
369
332
250
324
407
63
55
691
197
158
454
404
588
151
203
579
525
179
971
911
900
925
618
70
735
944
866
4
176
618
601
756
423
54
802
381
846
879
132
534
556
1
852
246
148
800
827
397
323
190
546
788
94
865
727
26
820
680
64
64
686
465
680
120
914
549
221
306
109
420
319
354
987
314
543
566
228
816
226
23
1
135
199
243
131
313
164
663
66
259
221
789
127
806
192
296
19
694
106
809
10
515
173
926
28
117
468
805
681
383
731
979
825
468
196
345
905
558
864
345
162
264
757
178
169
606
657
649
518
701
337
509
372
307
738
401
753
666
365
79
456
838
980
405
843
204
354
393
21
993
713
339
573
849
212
486
687
930
200
673
458
183
262
226
781
647
575
406
844
430
281
35
887
566
78
317
577
80
644
430
782
308
747
841
159
679
490
330
603
582
88
224
799
996
3
95
603
404
174
125
962
173
72
664
361
313
858
479
680
174
400
499
836
376
410
97
502
470
980
753
845
329
704
856
834
468
187
689
454
572
806
710
507
664
271
457
947
52
583
846
649
959
237
496
572
36
362
26
77
60
506
131
799
810
282
511
472
76
85
349
870
171
343
820
449
635
346
850
497
671
150
728
995
691
368
162
683
84
942
147
802
88
595
185
704
386
258
756
415
86
749
441
264
984
513
655
601
418
813
244
453
943
93
365
556
221
286
209
992
432
736
790
125
673
150
917
25
469
840
29
527
918
477
441
142
6
700
416
658
306
630
769
75
562
374
348
823
365
783
921
982
452
808
999
995
33
179
698
112
221
620
528
558
720
702
220
874
778
1
627
682
843
10
407
753
989
813
114
633
828
496
826
943
811
89
886
23
48
34
946
636
384
274
82
109
79
775
438
233
479
323
666
490
330
856
138
341
434
983
688
216
476
754
116
601
124
366
699
422
186
517
316
167
234
629
83
91
452
363
472
558
15
722
694
815
930
870
443
936
734
291
518
178
226
66
630
321
311
245
180
843
139
622
338
554
638
924
142
399
244
108
189
835
526
84
278
964
46
764
693
891
91
748
217
209
635
353
592
547
236
249
808
645
798
518
688
762
159
218
959
88
324
885
913
89
578
723
347
216
474
915
595
660
888
489
876
444
733
18
17
760
6
217
906
283
710
662
473
288
736
434
144
233
171
842
178
442
975
796
753
198
677
586
288
451
931
865
515
960
315
146
198
958
313
125
179
759
953
845
766
669
297
843
531
332
451
728
31
84
276
188
573
159
532
151
532
709
698
177
266
3
233
869
910
428
122
547
21
259
606
388
765
89
679
336
124
406
361
197
186
346
551
365
680
914
10
45
207
749
560
196
320
485
526
834
783
261
177
95
373
988
240
875
616
833
122
138
488
598
9
368
212
76
520
361
80
474
247
367
767
324
534
907
186
26
38
55
511
945
927
101
622
95
852
515
263
108
189
127
613
343
107
981
156
604
301
888
47
300
962
666
207
79
58
610
519
734
652
457
25
376
520
636
631
60
551
440
877
545
683
924
394
772
434
701
696
667
353
209
524
381
715
915
375
618
277
800
698
870
116
28
319
357
964
791
107
377
581
12
677
171
824
958
7
260
210
489
213
8
685
872
841
162
941
979
514
334
459
550
883
664
939
504
56
436
776
358
198
681
323
884
174
540
324
103
81
268
739
759
51
207
376
895
304
342
781
69
833
632
493
721
911
683
164
889
702
820
349
322
669
401
674
590
558
673
775
805
933
162
140
162
737
705
652
996
983
672
760
228
699
516
8
322
769
705
135
571
293
528
889
536
707
621
608
501
243
162
170
889
454
988
70
693
900
197
281
468
675
51
874
643
825
128
998
776
320
89
137
79
85
476
821
179
32
735
38
467
274
631
145
80
864
226
981
491
109
877
102
152
313
295
40
357
66
345
682
645
97
220
524
250
176
739
954
552
937
897
903
867
920
190
979
610
676
784
470
963
304
441
94
534
528
556
300
198
819
172
878
23
652
865
593
787
512
175
482
97
944
687
117
527
354
608
37
503
866
269
577
647
13
975
143
44
15
964
619
821
953
537
588
92
275
53
816
550
420
562
769
220
481
547
700
938
515
323
824
274
307
433
867
3
486
848
710
509
738
151
626
794
673
438
882
298
562
459
940
151
584
970
90
39
419
28
997
598
877
924
975
553
765
289
819
609
681
130
681
490
182
485
590
807
895
982
839
400
923
736
242
170
154
991
15
257
824
963
362
497
975
519
35
893
931
330
393
944
245
370
655
426
628
675
700
496
162
70
910
111
210
254
375
319
142
955
661
552
296
114
841
827
957
972
714
422
587
376
335
357
188
362
9
462
855
981
174
919
984
89
383
568
370
292
355
856
786
885
491
979
653
477
939
826
83
818
926
510
263
975
366
456
446
676
497
104
225
505
98
741
704
957
876
820
558
426
92
670
37
537
778
128
875
214
375
537
893
235
99
95
477
985
877
728
946
780
718
51
808
423
38
444
538
61
443
368
811
956
588
690
114
452
367
698
770
984
668
815
1000
715
853
940
6
508
709
334
193
319
141
794
951
960
783
532
555
298
451
3
726
662
607
681
951
757
561
381
241
828
836
885
745
824
534
897
442
227
220
731
587
92
715
545
780
976
426
87
643
356
226
553
721
291
415
393
152
611
797
113
201
942
876
8
125
914
513
187
265
834
482
153
236
254
277
568
522
550
845
536
173
135
885
638
942
346
396
933
181
577
701
235
614
324
932
404
396
51
257
439
786
499
484
550
234
363
57
61
729
808
440
971
582
479
173
786
245
997
363
576
9
653
86
145
612
288
388
173
695
394
472
282
505
47
739
432
282
842
105
522
386
728
560
819
605
996
96
80
320
514
607
534
241
631
109
579
670
562
60
875
673
474
220
271
755
435
790
573
836
733
869
163
452
317
78
778
933
92
500
448
731
589
612
976
342
869
553
65
2
465
816
150
28
244
500
120
766
570
858
382
115
583
65
842
670
204
647
431
398
792
1000
498
909
544
310
73
223
510
650
439
589
6
944
759
851
904
729
243
725
570
329
581
724
586
763
260
237
328
876
893
880
274
338
810
571
342
862
933
673
914
402
90
276
442
67
573
760
578
170
520
735
384
773
473
122
624
855
538
722
337
809
188
543
624
465
407
245
649
731
812
315
320
139
518
728
117
768
322
857
744
433
320
543
389
425
472
91
265
190
30
231
385
711
731
718
802
880
721
113
639
614
289
393
610
83
570
129
36
806
45
951
34
954
763
429
609
972
666
508
782
401
490
158
480
356
766
426
66
284
144
696
204
341
899
98
411
588
629
273
850
292
659
876
101
215
857
488
797
688
490
123
372
761
975
858
585
788
189
1000
346
277
949
557
564
442
792
845
196
698
65
90
543
952
841
663
286
159
948
10
481
118
699
691
778
627
111
808
966
550
35
755
346
84
768
829
258
683
679
570
177
622
443
509
801
161
488
77
118
360
323
198
666
389
56
136
805
715
349
680
725
910
768
392
272
325
258
298
935
326
550
696
992
99
949
352
676
995
510
278
443
574
484
966
62
426
121
739
564
114
387
961
115
601
371
426
381
962
540
284
108
283
510
290
378
423
384
605
178
701
628
37
895
820
767
178
661
6
380
725
24
710
735
489
121
261
475
996
941
708
971
888
709
587
260
75
490
404
633
776
558
680
522
189
688
207
519
550
329
328
460
211
134
94
918
527
803
182
649
8
833
283
785
674
703
232
354
789
393
483
322
780
660
356
282
817
890
429
674
327
259
946
93
473
758
22
933
578
836
52
564
936
569
78
592
340
853
768
77
283
648
937
656
468
833
906
261
443
564
384
419
7
887
238
372
480
936
280
346
391
688
784
818
665
188
91
376
62
647
17
478
957
476
583
476
931
562
410
340
16
298
433
686
953
185
323
345
78
925
728
393
402
249
365
749
945
889
172
635
866
872
38
441
718
465
912
676
110
590
507
363
370
1000
270
112
649
906
258
473
101
384
725
134
66
559
368
93
486
235
233
975
989
211
96
234
138
51
115
499
828
907
927
763
791
594
673
350
801
833
656
547
752
837
898
45
351
449
211
510
682
876
526
552
427
428
818
144
339
390
369
651
486
46
291
515
584
739
735
458
704
124
371
664
715
61
370
89
663
671
973
523
826
540
438
647
741
528
430
614
108
986
501
259
221
910
830
128
564
492
796
184
502
226
246
443
616
710
795
284
818
596
451
976
374
733
427
416
935
213
594
688
769
229
777
939
717
243
750
120
950
791
332
395
498
372
120
444
87
558
930
661
71
155
886
835
240
496
84
629
6
641
135
509
398
670
122
96
162
701
174
713
860
218
597
570
827
68
411
762
147
22
164
376
605
996
775
757
669
810
753
395
650
71
774
180
877
424
334
118
196
161
499
742
779
330
115
551
756
49
640
388
133
22
77
557
713
32
983
99
149
683
171
669
500
560
237
487
321
488
865
120
230
463
453
533
311
856
354
972
290
683
831
867
856
661
7
494
943
163
491
935
205
167
29
611
882
881
353
331
554
586
555
712
740
2
279
527
558
749
849
9
727
705
350
746
549
230
134
614
774
976
741
641
882
211
908
894
688
253
333
601
943
389
425
88
66
890
780
561
150
768
260
761
269
288
581
885
584
426
461
13
881
501
55
224
494
822
843
992
436
825
672
561
880
417
376
284
635
810
359
855
514
680
685
723
421
459
256
778
991
889
398
17
59
858
937
459
725
654
825
143
381
403
70
347
154
586
458
903
715
411
375
279
1000
67
218
917
873
155
88
253
218
773
353
604
869
738
112
512
415
773
623
769
538
200
789
195
228
709
849
779
552
471
893
910
14
931
972
471
456
63
606
463
39
385
301
818
213
166
409
730
948
278
63
968
926
950
855
648
994
650
966
13
182
122
145
387
64
649
937
143
879
772
999
192
258
81
968
887
133
373
80
243
671
947
814
462
16
663
996
731
95
911
41
717
7
901
864
407
658
939
105
142
93
796
11
473
215
693
602
253
673
734
328
385
944
283
855
683
512
400
779
724
729
503
348
251
167
391
780
242
340
223
762
138
759
677
354
206
273
891
923
539
234
978
228
692
512
966
712
367
685
819
718
969
543
382
326
968
225
154
700
389
943
823
514
997
643
650
274
578
106
828
701
895
280
639
340
485
511
783
166
706
696
862
700
391
849
285
343
87
172
612
737
140
107
956
601
545
52
701
426
253
912
609
665
856
329
167
599
704
385
22
519
991
207
301
31
467
130
220
131
37
297
537
50
267
700
506
768
658
824
213
585
915
646
371
932
461
7
877
439
248
923
823
482
408
913
623
616
501
353
76
215
254
785
522
925
34
736
83
387
59
216
749
406
718
694
524
650
919
392
573
583
289
197
877
508
896
296
766
99
143
367
365
994
200
35
897
747
81
436
553
324
99
364
902
590
363
311
155
115
30
218
634
71
39
169
538
41
269
247
9
474
877
309
267
262
778
551
499
853
686
161
964
808
603
25
929
687
387
105
707
713
351
616
521
54
673
336
357
375
416
256
999
710
408
911
311
387
872
465
430
263
164
143
861
166
277
36
830
703
566
109
556
246
35
744
76
18
925
786
423
15
206
668
289
996
842
424
344
160
6
240
541
970
600
951
970
930
870
692
337
664
717
114
155
323
378
159
732
716
486
400
24
528
987
684
780
351
647
989
141
387
293
433
664
419
931
284
673
476
885
118
876
765
242
886
217
341
434
398
627
803
581
470
861
393
518
411
758
267
552
83
378
888
875
72
218
211
862
322
603
705
15
224
657
261
519
45
711
719
392
247
335
984
690
772
87
406
678
381
383
64
810
435
813
661
393
948
208
976
142
283
813
870
601
769
46
618
518
495
806
608
331
20
886
264
663
89
522
837
949
149
179
525
102
122
618
521
369
190
525
844
283
838
798
398
19
293
385
485
11
597
909
262
176
854
601
387
224
930
732
289
534
911
726
429
491
673
300
819
454
243
667
731
923
644
735
6
223
474
846
465
768
706
254
168
863
601
987
48
404
22
471
590
580
182
930
886
495
594
531
423
960
488
664
80
453
97
514
801
37
470
915
654
847
688
184
956
622
805
540
512
292
977
166
380
61
509
814
907
399
657
525
940
198
354
492
177
443
223
535
959
519
648
860
697
379
433
657
107
158
963
902
278
432
941
205
472
800
247
887
787
451
925
722
493
85
257
4
193
569
872
496
73
463
5
973
673
88
512
195
165
916
284
362
590
14
427
367
144
739
615
634
314
270
113
899
212
270
410
589
464
11
159
939
651
14
706
467
828
878
52
77
808
491
66
669
266
528
314
711
756
263
594
639
322
361
745
679
198
405
352
953
960
574
655
587
665
130
137
741
84
82
591
480
897
696
697
262
85
567
106
226
505
295
714
900
297
710
782
975
432
900
684
927
554
54
735
821
454
101
815
307
840
443
886
659
544
516
375
997
602
759
657
6
726
983
522
827
805
243
208
167
206
931
391
901
641
584
383
692
681
20
619
802
127
954
724
371
160
687
735
245
999
656
934
554
137
14
435
670
577
928
988
39
86
814
427
33
822
834
923
89
483
18
863
923
141
985
277
518
382
740
713
715
91
138
804
493
678
348
60
75
172
85
246
584
644
149
656
415
263
752
62
459
64
372
101
790
454
32
431
642
123
41
496
150
73
958
347
797
744
95
853
337
437
804
722
876
102
705
184
162
170
305
78
874
338
862
838
734
366
437
754
654
476
664
674
542
377
736
58
847
892
436
189
20
101
416
114
668
227
196
302
676
42
647
464
402
303
285
60
968
839
83
653
972
600
62
43
716
643
641
76
956
245
107
294
56
169
5
553
980
153
35
355
108
856
837
882
420
43
274
470
482
19
479
885
701
147
94
71
21
185
267
629
621
828
274
46
921
917
125
834
80
550
74
466
187
954
891
989
223
908
880
799
553
883
48
363
685
683
486
371
351
155
54
893
786
748
618
886
121
893
795
1
71
531
31
932
43
118
836
861
48
869
576
469
380
557
684
229
823
464
411
232
255
37
279
923
529
246
912
291
263
888
784
8
418
591
471
71
618
48
964
532
481
316
936
874
128
617
487
612
248
281
637
779
592
198
91
171
411
682
840
562
214
406
76
436
683
452
904
487
226
81
263
657
746
498
322
969
408
399
935
184
64
709
828
183
332
435
49
179
986
512
469
946
526
266
608
56
31
423
225
172
717
487
777
521
775
329
840
907
765
645
969
607
399
84
557
511
479
133
73
841
809
977
331
470
729
103
970
152
492
263
774
402
298
364
484
6
60
598
304
712
629
783
547
516
989
796
238
405
740
848
272
771
835
798
726
568
427
488
738
949
557
539
213
422
568
472
377
559
738
884
723
856
934
781
369
623
294
945
555
833
647
443
299
549
235
247
183
659
166
739
945
183
262
865
245
116
886
672
763
580
751
254
20
42
692
825
965
95
241
526
9
914
71
446
721
812
7
53
677
236
604
375
391
890
307
386
452
979
182
692
216
784
206
406
542
853
441
721
603
956
192
88
30
610
736
79
287
588
281
832
74
303
676
344
842
338
887
27
832
34
53
54
826
469
736
860
684
597
896
722
694
224
714
619
125
293
327
335
891
471
819
919
672
656
403
354
445
790
236
710
351
746
30
269
771
840
167
51
440
504
107
199
246
799
871
360
356
574
153
413
798
460
772
599
336
479
855
759
897
407
223
381
177
758
4
467
426
636
119
689
502
325
998
748
633
258
954
96
296
897
274
178
634
362
738
601
663
710
472
8
672
494
801
882
607
930
76
255
421
422
628
56
388
446
477
933
341
929
348
999
573
583
486
19
522
626
567
789
705
599
373
997
476
104
948
58
968
934
861
956
260
963
512
708
759
80
435
550
975
308
198
604
787
125
724
712
51
214
707
854
850
190
573
236
641
307
346
203
196
663
336
18
423
871
875
160
103
279
974
740
512
796
372
485
408
685
900
993
590
183
556
880
608
75
780
263
797
59
605
168
945
432
176
739
961
70
323
965
790
390
365
230
350
788
339
881
809
471
10
788
859
871
248
74
660
150
371
116
131
928
565
610
228
809
245
667
55
363
317
529
506
849
212
556
864
938
640
338
900
734
285
325
71
313
822
868
868
770
874
468
336
23
263
842
230
686
601
107
849
58
463
565
723
372
102
207
846
528
456
460
261
212
919
272
966
266
974
596
925
332
836
79
479
405
491
502
910
171
284
192
741
295
530
299
672
992
223
835
212
583
249
244
384
147
835
276
734
841
572
52
53
236
226
782
434
608
839
277
829
74
665
196
720
126
253
438
24
579
780
43
552
460
241
5
47
326
826
186
528
643
317
50
163
461
714
837
964
87
438
672
199
914
962
971
990
376
538
336
78
45
599
29
255
1000
844
391
757
193
497
926
507
955
889
529
832
651
841
526
274
365
491
831
36
647
897
560
100
904
134
964
174
841
817
527
135
732
970
121
60
761
384
314
90
906
561
334
487
244
324
369
468
243
288
19
928
495
464
987
831
225
181
749
693
501
585
471
523
727
285
738
405
29
403
91
980
323
681
775
7
141
134
724
983
756
339
665
208
743
540
873
354
712
655
436
881
701
235
599
646
639
617
230
578
317
1
940
494
417
944
217
567
609
211
968
914
89
385
661
386
355
886
956
680
378
848
529
459
909
308
861
809
936
377
304
992
377
652
458
107
757
746
125
49
180
695
705
169
733
63
390
671
14
947
30
477
892
300
58
641
420
284
108
255
674
652
5
802
640
545
447
895
601
168
650
738
72
8
963
79
846
453
331
886
347
762
175
569
595
99
210
195
941
780
95
758
332
83
533
817
915
987
925
999
832
763
463
379
169
914
962
144
674
716
453
24
773
806
511
202
244
342
518
318
323
84
706
522
590
13
802
478
420
852
256
594
953
571
216
477
103
758
417
62
15
345
46
247
955
973
204
929
348
565
51
248
843
658
361
913
7
980
594
608
281
460
874
768
200
613
849
567
944
492
659
48
814
135
11
943
331
858
692
262
182
450
700
1
445
23
799
991
34
652
13
108
650
654
734
515
645
888
16
35
903
857
124
358
160
176
286
794
159
772
141
287
445
385
467
531
700
576
473
564
670
373
189
755
946
122
890
704
313
956
107
3
694
527
803
722
538
631
279
628
980
610
918
885
36
691
293
98
908
68
932
885
806
93
585
368
368
232
83
9
583
117
469
961
639
395
828
14
508
586
267
69
903
530
725
608
419
203
263
135
985
987
428
204
406
570
928
545
304
337
527
272
231
869
992
641
255
819
318
486
622
622
239
642
349
86
662
411
694
474
280
253
798
567
559
940
696
384
44
28
814
708
96
574
802
768
409
514
318
794
645
753
457
911
124
690
665
369
271
646
486
484
970
513
911
844
859
381
538
633
396
774
43
818
746
154
913
643
174
563
164
66
302
271
364
865
922
226
407
187
675
542
414
30
5
504
860
163
415
102
367
15
580
656
563
351
812
625
950
422
118
794
922
43
921
729
62
82
92
715
133
322
89
55
967
13
675
900
884
569
938
907
821
804
928
479
786
989
825
220
404
288
228
64
580
57
500
932
421
764
550
597
451
283
740
311
316
718
476
640
479
694
463
366
606
995
537
896
952
38
185
106
231
28
55
186
965
927
527
559
403
650
826
632
908
321
282
920
556
123
52
523
439
935
719
609
376
945
914
66
889
607
566
489
941
24
930
121
512
659
51
126
249
778
25
38
354
657
517
531
99
263
6
338
398
477
300
651
115
657
555
1000
169
822
299
832
370
35
461
347
920
531
221
663
689
762
15
187
229
1000
108
705
844
892
815
36
341
342
756
647
388
618
210
926
558
830
476
83
906
727
604
580
51
585
619
131
440
70
565
597
837
548
293
135
939
164
605
432
424
999
835
202
229
546
174
191
3
53
809
357
823
105
820
908
718
194
70
605
888
833
152
91
200
781
286
694
509
490
33
188
365
853
938
757
73
550
17
271
721
878
686
157
162
735
52
463
634
658
511
60
345
568
352
658
109
827
869
152
908
205
63
78
475
638
802
338
633
907
43
63
709
963
678
275
471
69
784
866
520
44
147
399
54
11
35
370
812
640
806
415
379
732
200
857
576
728
938
741
727
251
278
684
897
637
961
186
959
793
529
68
805
878
928
858
995
391
486
137
470
818
808
479
918
680
988
521
989
65
298
346
176
514
923
417
281
564
617
489
8
511
877
859
820
30
869
164
857
503
97
92
930
655
683
226
758
366
576
65
836
839
778
513
743
206
381
415
567
936
326
420
697
75
763
983
545
301
62
832
208
398
179
852
432
54
607
736
272
146
509
261
799
262
864
984
722
870
898
381
702
422
765
638
435
133
159
935
963
835
532
35
405
854
63
956
373
285
348
580
264
657
12
17
781
123
139
936
996
249
929
340
37
955
607
688
384
336
122
579
241
938
559
865
151
657
891
744
550
695
298
845
956
614
258
469
251
382
443
138
73
163
259
780
811
640
656
348
437
809
833
305
678
436
130
473
189
118
604
23
520
539
211
334
288
982
592
995
566
708
531
496
211
662
425
724
502
996
975
497
932
306
610
554
776
466
863
330
177
794
5
378
350
290
39
53
596
803
383
284
921
793
997
620
688
291
251
164
113
367
735
421
917
952
643
396
818
222
227
875
440
861
39
623
937
352
389
281
456
835
456
791
91
63
601
15
241
930
997
488
437
8
424
177
102
761
848
647
412
111
305
389
485
996
771
502
436
829
685
346
682
238
527
887
56
784
744
836
568
108
364
538
794
305
540
698
196
183
832
495
65
422
633
239
509
100
941
391
376
224
448
403
175
910
891
393
339
287
431
26
95
500
738
851
125
372
510
620
272
517
451
399
584
59
374
679
534
616
991
670
342
914
160
489
715
421
407
175
177
307
921
249
134
156
251
512
153
849
496
178
532
777
946
805
386
918
454
608
22
474
621
688
66
585
174
725
149
162
333
724
539
539
848
411
763
908
795
842
688
993
249
821
520
28
688
3
688
156
415
491
41
525
271
490
318
813
391
189
190
129
933
949
792
818
61
369
805
793
798
392
603
46
46
362
295
725
923
760
359
570
773
278
370
712
627
694
428
701
401
233
898
380
155
938
282
887
578
522
426
153
69
159
422
512
115
289
871
987
587
178
272
172
710
642
930
707
692
923
796
884
354
36
632
27
511
886
80
314
748
905
744
430
344
988
336
57
381
872
593
478
73
692
375
949
292
929
747
843
651
933
1000
311
129
376
341
468
479
559
290
34
785
998
468
772
606
516
173
574
792
417
813
50
175
55
733
130
907
694
592
881
435
585
660
392
913
663
596
199
36
296
449
32
25
164
435
3
1
594
591
29
396
323
254
675
994
691
709
76
98
293
703
532
790
541
976
840
184
649
437
536
740
445
915
69
751
227
523
436
286
279
273
569
250
655
914
917
417
31
929
652
763
190
173
966
207
10
131
994
646
856
434
224
645
791
792
31
417
623
529
324
358
622
352
91
320
768
727
995
985
202
884
597
954
44
22
7
325
417
34
820
99
360
492
624
964
9
418
570
687
938
668
116
595
869
97
975
429
513
711
89
344
560
196
513
131
370
662
977
975
216
384
26
945
703
556
6
488
492
544
256
411
728
339
491
206
342
129
103
143
281
33
517
567
105
352
191
288
130
149
487
384
45
490
544
404
658
189
375
677
496
21
875
8
762
221
999
671
459
250
216
763
711
927
261
97
691
558
338
250
532
447
275
804
780
777
26
710
848
928
634
503
775
948
60
777
897
698
46
68
231
719
813
902
527
895
287
232
259
804
599
641
466
199
481
814
120
362
129
733
708
461
464
911
218
823
300
739
583
651
477
176
789
673
498
526
213
591
448
537
266
708
32
36
286
333
940
889
667
107
504
88
133
880
390
129
313
216
832
285
26
133
667
55
61
137
694
130
169
881
28
933
372
736
653
451
508
146
649
52
541
907
608
598
218
367
230
933
893
213
973
977
795
769
84
279
663
45
552
890
173
316
830
18
474
919
922
477
439
139
862
493
125
378
681
401
345
876
743
59
761
995
690
856
221
329
511
532
431
175
569
34
829
921
388
738
639
496
607
491
360
974
702
265
225
475
619
265
199
416
209
484
181
743
586
669
695
759
632
458
2
713
879
445
196
105
121
113
472
381
588
897
805
305
61
462
928
640
313
667
851
696
124
837
583
930
459
877
580
237
596
282
284
363
264
888
122
156
94
478
486
225
128
836
204
966
588
412
666
906
769
404
764
781
397
528
664
196
124
609
719
392
385
519
104
357
682
687
385
547
137
745
297
33
658
295
778
675
258
276
845
827
233
818
351
802
110
591
101
339
415
768
599
676
3
104
69
722
903
128
590
5
687
440
492
26
883
685
84
115
449
713
229
13
939
529
817
294
797
306
991
398
935
439
327
210
456
960
36
455
364
446
809
991
314
596
573
940
670
360
866
929
448
337
368
797
160
647
179
9
960
312
268
253
689
176
644
929
480
953
630
799
501
731
624
511
933
319
948
345
130
835
238
703
961
734
869
645
634
267
583
304
724
397
211
864
139
722
681
673
75
709
522
389
555
804
869
133
632
534
487
618
906
774
547
945
326
264
774
425
824
930
724
963
427
298
432
966
888
5
471
648
86
538
1000
421
946
239
425
664
258
255
116
484
772
863
772
70
331
64
580
590
821
83
603
874
151
414
468
385
589
568
145
749
619
251
919
356
945
455
307
535
966
196
57
454
489
485
389
849
593
549
129
562
676
791
733
679
342
733
418
190
952
424
505
654
724
211
482
633
26
7
119
772
671
970
157
805
565
502
50
702
949
938
226
372
588
279
802
396
442
568
352
221
990
505
727
754
145
715
786
527
333
196
494
209
9
418
259
974
296
879
564
25
599
940
80
632
450
698
160
332
426
176
226
27
918
218
97
718
861
765
763
658
475
678
82
301
482
343
38
195
927
217
291
117
845
959
38
501
346
851
291
43
85
340
897
190
361
87
747
521
369
355
663
491
669
439
215
212
408
628
154
673
812
428
869
828
523
934
996
221
586
988
454
784
171
852
73
851
683
863
926
816
153
794
572
368
852
665
451
818
456
109
693
286
380
308
485
938
472
378
411
901
212
183
692
661
531
171
896
290
312
213
128
703
923
662
434
585
111
653
809
77
178
164
826
211
834
14
763
912
24
68
974
683
916
336
308
992
719
227
257
249
201
223
475
705
760
179
145
851
673
341
511
917
922
845
984
622
439
474
713
501
768
98
877
710
661
188
490
122
912
870
673
621
189
310
860
484
963
318
492
604
751
555
125
43
413
958
434
548
958
268
70
547
472
256
15
507
341
381
174
845
156
684
347
491
458
893
774
172
867
402
443
911
966
467
570
684
869
316
218
41
725
7
864
107
768
505
466
414
598
737
723
332
64
686
207
487
472
723
405
34
61
718
655
399
547
830
653
997
135
226
262
759
80
496
949
870
339
932
444
511
602
86
642
637
80
252
791
725
438
958
383
357
113
24
557
970
800
176
268
345
640
940
448
901
813
109
44
57
760
188
699
298
722
934
135
551
760
300
762
430
54
973
921
226
628
281
211
817
614
559
84
805
933
25
556
794
243
291
942
266
66
121
208
923
186
935
784
956
797
298
386
999
649
783
711
304
131
678
284
978
878
427
655
62
149
679
829
548
750
43
975
237
401
331
961
859
71
97
542
828
491
219
472
86
70
496
842
105
693
842
692
466
295
697
917
515
272
429
528
522
952
111
773
891
266
125
355
880
430
799
817
607
41
24
137
59
11
102
870
887
508
296
54
105
733
891
412
5
771
797
884
212
102
315
710
38
652
73
768
71
769
796
663
598
858
505
376
861
294
368
920
352
958
878
779
503
645
309
132
793
109
769
784
182
723
29
785
569
845
962
588
34
745
455
270
415
885
1
705
300
733
132
291
141
888
722
477
749
205
764
645
52
307
736
1000
405
361
384
768
432
369
292
563
58
786
812
411
863
384
690
201
158
339
647
999
346
121
476
648
274
553
108
671
110
774
565
52
410
613
691
745
560
662
504
20
207
779
585
991
279
713
238
747
770
23
653
780
391
728
376
235
348
465
293
580
823
204
443
91
151
475
975
785
897
869
735
457
669
946
730
555
678
143
865
86
269
313
840
447
3
762
772
30
96
484
11
252
843
44
650
799
954
884
546
987
10
271
970
391
791
725
19
64
268
983
966
178
611
8
765
884
16
205
681
881
185
37
11
518
466
349
553
726
181
21
924
962
833
424
874
471
378
622
763
981
445
733
249
231
401
949
107
806
107
206
133
747
643
525
806
617
631
699
16
982
518
909
535
700
944
784
80
523
905
257
889
492
382
359
283
279
77
875
642
111
622
945
5
92
903
771
214
70
849
890
318
609
37
366
468
62
668
556
801
918
265
383
852
82
30
83
824
400
656
154
697
387
486
842
732
847
115
101
617
654
769
60
244
866
167
359
52
461
621
731
445
704
813
646
595
809
948
513
594
951
202
112
361
883
543
307
510
210
414
371
342
991
196
928
194
883
249
904
579
406
764
398
732
999
401
749
330
184
150
106
95
786
991
674
3
745
923
260
82
328
717
457
810
749
78
33
956
505
378
47
905
744
928
698
867
772
957
576
139
793
216
262
968
531
707
242
52
529
846
328
738
863
329
810
306
912
848
912
185
255
336
639
147
373
362
205
244
370
337
558
577
409
144
988
322
313
354
475
217
5
435
445
353
91
574
852
853
295
70
515
277
516
725
458
908
855
490
449
528
723
329
788
684
729
260
587
296
625
142
119
379
554
560
794
110
832
99
805
568
268
212
137
561
488
651
456
974
641
108
906
864
174
599
371
137
333
11
335
910
228
297
577
383
508
381
512
382
177
897
460
852
919
763
231
428
725
116
520
781
535
813
225
159
254
549
813
862
466
451
822
877
227
946
696
912
829
274
606
789
997
617
192
370
310
433
368
768
951
552
774
38
532
300
671
306
20
577
701
192
541
652
396
965
437
967
347
680
335
315
479
116
847
326
778
635
914
691
58
451
582
332
233
860
868
430
533
35
604
285
811
274
831
591
466
346
470
678
420
814
218
609
446
392
241
35
599
905
681
621
233
293
806
976
357
586
127
838
197
304
963
170
872
715
584
200
270
230
929
805
879
601
212
483
656
595
165
887
369
885
538
126
376
600
42
477
283
256
824
418
189
772
177
556
747
438
567
135
423
78
457
939
408
652
296
808
964
914
944
109
664
969
229
116
76
294
872
103
427
532
151
850
757
947
952
207
59
430
59
986
8
495
625
457
775
463
47
339
633
35
843
704
808
477
653
643
876
914
193
728
571
480
820
327
934
81
220
358
367
77
357
852
880
580
591
841
884
211
714
740
322
951
449
151
114
404
872
877
519
456
618
180
385
321
548
839
775
165
505
103
736
284
55
670
442
588
952
879
283
690
828
696
218
727
185
485
842
480
270
35
304
284
975
613
928
236
442
173
54
659
848
640
849
4
904
109
825
808
403
420
781
337
603
847
9
135
426
4
480
191
475
291
669
68
744
864
875
602
581
398
232
540
958
462
527
443
560
16
114
805
517
518
525
787
235
525
979
755
700
132
977
611
893
77
469
217
673
94
81
182
525
559
844
354
955
792
578
742
850
945
626
654
418
38
947
270
358
731
581
272
582
792
387
91
508
191
107
679
105
436
259
675
650
653
428
794
46
817
761
765
366
470
567
199
578
778
644
51
828
601
840
924
661
356
443
760
680
287
162
736
229
197
142
870
961
263
911
96
4
751
930
162
568
451
352
895
359
691
940
833
789
221
97
35
902
434
432
460
75
359
591
749
753
873
914
991
147
704
26
85
438
437
593
279
170
160
749
728
319
613
737
823
438
669
163
701
600
852
131
384
764
194
530
456
57
778
995
58
979
69
221
358
592
66
850
52
215
817
414
779
416
372
541
843
578
640
360
986
955
791
897
255
502
933
787
47
63
413
535
550
154
459
951
826
184
145
905
552
11
431
324
597
830
409
950
343
328
465
675
459
729
345
623
414
428
383
89
267
990
151
385
952
644
470
64
17
939
845
599
331
234
134
437
935
32
342
252
60
401
813
381
627
751
578
242
872
450
879
335
419
661
806
142
873
327
447
726
229
557
505
436
1000
976
823
379
426
422
815
466
176
807
9
821
947
714
579
166
656
336
518
751
292
424
216
355
443
316
154
56
771
763
233
633
495
540
708
785
765
697
598
925
631
679
223
238
197
257
536
884
643
786
238
730
516
317
685
674
802
401
587
922
498
976
731
1
913
746
912
419
2
666
277
525
844
294
764
717
471
768
39
269
698
23
596
126
350
42
351
984
449
388
853
522
739
980
845
671
849
598
370
908
656
31
166
971
579
575
417
571
360
128
988
187
157
486
107
739
30
526
240
306
351
575
839
357
281
908
785
659
904
793
466
56
703
877
740
444
313
585
368
30
393
950
530
76
950
401
360
806
564
214
697
472
63
170
73
966
620
279
691
645
954
532
464
242
568
640
251
916
252
771
197
147
547
686
890
188
654
19
968
843
955
271
224
495
84
384
681
454
639
89
483
664
139
950
80
347
400
879
877
199
281
525
1
177
867
676
577
81
179
301
839
319
580
829
587
858
231
525
872
332
718
256
74
867
309
295
433
429
429
423
65
938
625
511
497
30
313
861
696
39
975
246
240
152
637
145
250
571
856
505
608
24
210
574
193
37
690
223
15
156
638
196
593
104
177
715
477
973
829
350
315
799
387
234
403
162
275
321
951
86
452
8
857
954
828
771
640
539
127
458
411
764
844
274
442
338
293
918
432
492
683
562
793
255
637
134
401
509
92
9
663
455
77
39
181
579
656
340
178
931
166
25
938
958
102
934
360
178
763
390
406
683
461
669
741
730
980
889
821
962
535
774
329
420
95
450
86
660
374
355
991
177
51
22
972
146
964
713
561
615
785
800
885
873
422
399
658
323
375
514
616
151
273
182
874
864
625
102
551
991
901
402
589
419
314
914
530
500
887
898
933
729
206
448
419
306
212
522
703
202
930
344
837
759
314
986
864
483
470
315
612
908
298
106
979
535
667
83
191
664
23
337
714
506
296
833
845
556
304
892
467
305
591
965
244
208
18
159
566
682
497
615
197
773
236
490
444
316
543
912
948
209
368
221
10
434
390
361
412
150
181
193
318
911
6
934
180
46
642
165
851
157
50
148
725
695
675
341
667
749
471
872
472
909
145
1000
925
222
36
73
402
522
188
935
712
430
340
246
309
897
94
885
421
878
848
307
390
498
718
77
301
255
575
86
38
46
772
272
515
797
251
228
228
686
441
211
280
153
304
275
575
147
718
871
11
44
283
233
897
970
227
71
74
644
624
785
155
545
712
435
887
714
47
964
264
199
235
765
625
31
88
197
971
844
554
520
806
361
526
593
617
375
476
300
100
149
953
924
237
775
919
540
462
118
502
62
538
899
150
748
540
262
740
921
256
290
152
858
9
229
803
774
839
635
39
534
455
531
249
148
464
824
3
686
229
284
959
293
211
738
701
702
254
783
720
601
771
484
302
373
305
478
874
185
239
574
47
539
392
734
765
584
655
626
848
544
720
971
621
691
930
17
563
165
32
532
956
394
41
321
616
395
973
767
349
94
32
362
162
353
605
216
387
869
639
289
184
359
115
711
354
999
676
482
819
76
813
367
819
359
47
757
596
824
901
554
368
109
967
214
285
987
153
298
596
759
820
59
687
734
43
887
707
585
202
173
852
388
958
941
465
353
1
537
429
131
767
319
785
213
107
548
654
933
542
634
967
566
489
165
161
519
569
523
450
112
888
529
675
9
124
635
873
30
50
815
966
288
671
864
179
508
809
15
376
263
924
933
501
505
830
936
546
826
773
725
556
457
558
916
106
67
361
771
643
497
972
73
255
601
415
203
622
513
340
433
256
192
348
20
287
485
493
363
77
343
211
156
906
956
70
871
353
488
362
296
448
447
787
659
481
580
667
706
768
60
400
685
324
607
780
187
509
386
559
792
666
563
351
111
7
130
253
280
329
178
132
233
781
244
161
748
992
922
31
404
125
524
455
17
309
740
791
394
584
261
794
543
583
412
603
806
678
377
964
178
535
755
47
465
329
445
703
217
610
223
298
70
378
717
469
790
957
261
808
632
425
50
766
271
594
179
290
453
888
305
639
113
59
858
191
619
630
975
529
481
39
229
726
74
48
186
529
812
791
738
109
667
341
397
747
762
652
596
141
772
649
357
327
308
668
279
509
286
205
890
297
111
672
147
377
751
855
59
124
543
166
597
187
641
579
351
299
474
280
699
564
245
595
947
43
373
224
237
325
340
668
879
957
992
151
721
8
872
466
267
593
790
309
417
169
935
838
794
73
488
229
58
920
479
415
936
847
555
572
331
848
638
972
211
957
595
502
374
53
987
72
483
91
702
721
820
582
266
454
425
88
326
402
2
471
218
8
627
176
510
489
529
106
364
880
346
514
234
222
722
13
158
488
995
215
257
331
842
667
413
960
230
740
964
402
271
677
988
222
249
408
736
739
332
490
914
17
634
853
582
303
57
946
65
489
359
712
68
281
14
674
313
837
944
638
952
265
338
66
342
775
366
616
398
880
329
880
493
513
990
932
434
851
410
117
235
724
386
225
428
126
31
866
901
438
658
877
110
50
469
765
528
880
920
274
771
560
78
862
285
508
94
575
247
763
967
145
842
274
534
478
353
388
227
366
802
27
135
364
506
260
464
943
659
676
819
441
30
365
269
892
858
106
295
82
134
478
533
494
335
333
283
722
577
560
115
765
260
778
310
861
222
994
240
946
867
506
465
981
19
66
444
153
778
622
220
633
652
509
92
882
89
683
508
103
921
492
552
878
19
918
521
853
786
430
930
295
656
177
787
225
908
212
747
896
930
853
333
515
168
224
569
746
878
58
177
47
612
850
100
127
828
71
379
858
296
69
6
234
593
564
771
61
943
521
878
777
440
511
820
248
156
539
96
91
780
592
918
741
225
386
25
208
565
565
672
381
889
366
751
219
848
115
310
650
46
118
908
359
103
461
798
518
51
5
640
610
965
400
752
975
40
697
752
142
717
758
356
962
684
974
89
783
846
141
836
183
682
660
303
707
819
424
704
809
505
295
680
981
494
675
3
655
378
733
117
204
407
623
341
902
484
31
935
723
534
949
605
202
444
890
321
743
303
419
702
247
775
702
609
467
389
83
455
814
707
974
62
892
565
442
164
944
841
169
146
848
117
27
559
665
715
2
354
775
890
186
694
445
282
753
128
809
566
576
354
977
880
855
272
536
267
759
385
530
880
397
758
853
618
765
306
54
851
807
626
682
811
483
262
230
998
622
602
35
714
33
10
578
792
307
663
175
595
430
572
884
496
982
474
1000
693
867
385
784
314
755
574
403
986
129
172
588
916
270
41
716
281
254
225
818
899
341
666
909
177
804
202
464
695
152
526
3
965
260
262
484
449
289
898
586
538
413
993
952
505
434
62
932
158
134
274
977
334
238
393
349
27
606
842
196
295
664
39
111
159
56
3
687
895
48
439
432
131
887
227
625
437
276
696
68
934
729
525
136
293
197
871
640
488
986
816
884
198
994
140
354
156
17
742
14
198
874
616
334
692
946
128
221
220
286
75
798
842
569
941
35
863
803
115
649
189
221
705
907
4
897
967
493
224
566
792
502
928
151
949
743
186
957
148
478
61
488
58
507
856
53
493
759
235
346
34
199
161
9
191
913
992
238
984
354
103
599
318
480
970
450
103
245
987
869
10
892
594
472
243
463
15
381
163
699
890
834
959
178
321
156
130
356
555
106
977
907
257
370
811
130
198
101
803
722
236
66
697
225
198
299
756
963
431
961
873
753
273
451
380
904
287
874
250
188
390
220
747
49
744
337
837
979
828
235
631
775
544
567
102
287
550
578
300
354
785
213
902
930
724
414
846
608
203
531
173
515
303
420
500
984
582
135
433
310
645
526
196
121
994
396
517
144
36
274
472
995
794
625
182
271
225
36
265
356
226
289
118
156
957
342
96
331
722
47
796
808
393
968
641
680
581
203
232
968
536
455
567
404
510
552
535
412
385
67
596
526
793
934
816
301
67
39
821
947
839
790
87
64
892
957
579
68
88
210
444
321
859
86
803
886
565
886
84
493
820
843
860
206
952
727
743
896
97
348
568
100
26
322
282
104
133
535
75
844
851
311
641
103
267
168
603
266
1
993
757
89
771
693
177
733
265
60
833
999
132
173
825
274
439
49
290
506
90
114
763
469
280
272
843
911
368
880
978
148
259
803
899
967
826
515
200
177
285
981
571
802
915
601
94
208
798
670
388
143
160
227
779
251
741
969
759
485
644
976
767
366
286
401
114
979
338
826
563
773
843
806
1000
562
684
573
780
472
991
187
30
602
414
531
67
625
505
27
239
483
12
513
290
228
210
909
16
695
960
326
273
782
812
656
583
32
506
388
263
524
875
633
479
353
954
474
929
785
249
398
80
630
43
214
633
969
147
302
646
322
347
604
9
470
710
329
247
875
594
813
385
119
779
407
127
76
670
580
851
896
141
158
363
126
315
212
405
972
445
895
545
815
683
377
838
426
49
972
496
434
158
978
704
683
832
642
683
338
778
192
661
77
637
901
101
699
466
927
416
749
366
197
599
468
754
101
553
766
993
924
906
173
441
836
103
722
836
86
880
692
970
3
53
369
14
659
715
910
422
164
901
736
815
38
95
29
155
144
384
812
897
82
763
713
705
778
265
77
988
208
720
140
490
416
500
97
226
158
253
216
50
673
597
131
391
210
238
89
727
383
302
558
944
457
797
673
906
547
595
766
336
266
810
177
494
648
368
912
449
591
249
551
175
455
227
977
210
184
92
127
699
716
984
797
309
700
367
281
452
587
141
862
880
669
176
790
246
184
844
828
936
669
399
343
475
478
938
401
317
291
584
578
907
511
786
969
633
530
758
456
931
141
515
835
626
983
580
262
508
461
744
793
64
75
222
968
325
82
145
333
665
901
175
459
855
168
732
391
447
7
176
811
347
125
882
988
374
593
180
124
831
208
790
108
416
798
893
499
418
758
312
686
512
288
227
700
305
953
437
679
836
979
565
761
306
214
475
815
614
234
634
987
347
924
367
254
391
759
475
358
44
308
583
197
596
921
785
211
557
679
324
187
100
78
678
779
536
455
625
323
51
324
181
510
730
196
365
966
519
729
674
798
381
842
888
712
912
77
694
684
74
349
450
419
165
396
511
223
677
279
695
314
677
494
243
114
153
320
275
831
353
204
742
666
447
909
535
431
822
799
897
763
261
194
849
190
917
813
387
937
9
256
342
910
900
890
815
172
274
203
865
835
459
209
822
911
566
729
703
193
34
80
626
29
624
486
692
992
517
817
543
745
232
29
341
104
475
847
29
200
673
223
911
807
839
284
186
777
898
990
864
415
155
61
737
842
649
37
913
529
300
530
485
623
441
982
622
680
259
418
965
536
243
688
3
246
563
254
608
35
247
731
473
88
554
853
225
317
492
762
76
574
564
618
63
288
262
500
460
686
443
559
953
656
640
809
299
365
389
223
238
884
353
470
739
463
695
198
897
713
305
782
964
339
352
703
667
12
866
880
218
636
735
630
563
981
243
125
716
538
801
164
88
720
993
714
102
501
373
163
738
36
693
892
537
788
862
936
613
949
928
779
925
99
992
104
871
993
320
452
739
797
297
84
333
620
972
550
692
906
14
264
403
749
462
586
316
592
497
294
361
231
950
102
345
380
742
753
806
480
409
790
68
880
650
577
913
653
695
309
920
321
399
1000
933
261
883
711
527
564
18
360
387
786
558
531
197
909
360
250
270
827
652
900
903
37
418
948
368
145
905
694
2
538
673
889
249
833
970
855
738
661
518
388
320
849
845
486
502
441
892
659
367
39
319
353
459
330
378
217
954
440
342
492
477
937
330
989
63
237
513
994
664
528
128
346
960
403
381
763
439
180
357
813
644
740
52
154
713
359
462
231
422
956
420
826
162
462
151
88
474
570
758
226
878
178
32
14
209
222
376
497
360
386
340
644
695
251
52
306
942
3
96
99
901
687
312
515
277
955
496
363
366
537
312
134
351
68
256
106
41
609
657
690
272
629
675
385
450
272
169
741
324
982
632
529
252
733
711
276
189
45
851
600
417
911
285
789
316
309
616
175
811
543
559
172
689
38
27
415
135
514
271
20
571
755
869
664
348
193
897
986
123
647
846
981
41
788
576
910
309
371
319
553
950
271
365
97
220
18
261
87
182
992
646
467
690
335
552
857
862
387
370
413
230
545
418
437
209
558
918
838
715
569
233
983
94
366
489
705
44
39
695
287
178
808
954
596
774
562
511
956
346
704
781
864
592
989
278
35
30
420
628
243
806
268
836
379
706
573
359
984
778
363
129
785
988
905
810
749
266
976
462
940
545
344
856
278
892
552
147
957
846
412
763
139
826
363
993
761
130
589
714
510
22
60
788
815
27
88
647
433
229
899
602
572
21
976
988
353
478
502
123
902
194
57
241
923
947
106
774
992
734
346
149
190
647
596
479
836
946
549
79
195
313
246
367
546
620
68
894
14
874
501
747
481
714
10
784
21
562
28
125
494
244
378
472
346
552
431
290
303
557
534
894
917
171
741
677
113
237
24
51
243
517
669
603
675
155
87
401
282
48
105
813
892
896
696
706
152
632
816
203
975
81
921
838
240
463
640
221
487
702
312
222
401
541
575
397
605
839
88
135
818
224
713
333
757
173
302
12
625
274
554
213
928
533
293
273
548
429
242
833
910
739
663
51
312
210
624
670
568
903
881
591
878
156
378
729
537
283
265
307
598
81
431
283
449
95
440
619
900
447
728
491
798
288
492
857
743
399
166
329
749
295
317
297
950
62
381
177
15
343
747
715
402
517
845
476
509
809
310
374
113
49
401
942
39
501
285
485
157
517
56
61
188
814
577
950
718
193
375
600
964
267
16
720
489
95
600
295
429
355
12
240
928
994
102
524
300
896
658
444
588
545
677
591
980
25
759
403
107
449
747
895
310
292
40
183
126
388
697
119
256
562
81
887
488
108
21
624
858
620
65
764
388
131
628
730
116
942
189
753
789
879
385
809
719
412
140
36
571
269
552
788
213
43
290
552
798
507
789
543
570
258
355
50
680
978
896
565
859
476
597
193
345
850
417
173
104
383
237
309
2
680
787
50
535
274
981
795
667
181
855
425
277
220
883
70
701
625
81
914
898
272
659
94
698
805
609
209
943
24
809
143
571
67
785
67
563
172
517
695
548
431
739
211
794
552
648
441
458
436
503
150
336
929
824
348
452
76
463
614
368
38
575
910
623
489
494
915
881
767
868
721
976
119
308
504
865
144
121
931
13
631
968
493
985
903
927
978
873
439
958
367
175
52
780
689
456
822
952
934
180
474
450
246
846
114
719
429
148
866
834
207
225
929
885
447
531
183
271
198
135
267
224
636
493
139
742
642
185
152
166
268
761
69
131
302
749
453
644
517
666
569
479
934
319
563
320
864
276
247
949
282
30
825
583
544
941
119
470
747
152
688
175
101
168
856
879
828
399
330
111
681
394
756
552
820
47
104
455
659
820
586
398
607
605
974
502
584
257
15
682
545
783
103
462
68
935
877
3
290
403
479
854
814
923
746
112
287
906
163
529
877
158
982
735
213
855
349
984
367
970
575
784
585
728
4
178
773
387
618
194
736
980
661
386
756
928
384
538
590
870
911
489
611
66
803
75
722
981
590
933
425
222
710
849
691
550
122
723
129
720
111
350
39
573
689
612
153
296
283
979
641
913
217
130
422
877
174
837
100
333
271
221
848
445
825
216
784
510
427
343
180
258
715
698
789
252
159
716
545
236
506
55
656
491
144
389
788
703
913
74
898
198
131
484
752
977
855
978
612
362
831
453
345
423
561
399
834
763
203
393
722
827
554
455
688
159
378
117
890
166
229
172
483
174
658
432
191
940
541
111
624
903
721
483
760
724
645
22
546
920
481
830
740
452
437
768
657
144
180
222
524
712
273
634
711
722
403
983
796
613
933
858
649
648
558
989
13
94
215
129
246
778
609
234
974
557
678
717
977
317
67
193
705
614
701
272
39
801
175
498
118
448
419
617
531
776
314
571
645
261
28
295
820
249
161
699
45
567
919
452
701
732
966
218
388
587
212
936
415
133
332
198
525
727
249
178
741
190
731
224
811
244
716
723
477
491
900
963
415
65
740
962
24
462
751
799
106
915
890
203
593
692
597
562
261
810
648
775
877
479
964
839
28
189
197
432
816
215
678
341
458
366
953
379
125
8
560
890
855
646
796
978
55
347
427
161
430
96
656
457
623
561
413
681
772
555
765
203
400
512
698
357
307
563
655
400
222
457
383
563
356
85
947
839
810
139
790
237
114
763
256
290
844
754
886
959
943
610
737
331
229
747
6
134
371
522
571
508
847
285
371
208
581
852
755
956
306
626
435
854
261
855
31
867
741
229
995
77
772
410
438
876
108
242
579
208
498
427
420
553
5
857
868
228
741
671
591
814
589
536
907
83
68
455
80
651
778
126
15
561
40
417
572
779
365
558
92
291
498
721
597
37
526
72
147
486
806
472
511
777
522
375
563
522
166
79
544
611
691
246
56
252
328
13
108
873
523
592
318
323
8
39
92
667
379
682
684
407
532
351
969
883
451
832
282
302
686
910
302
751
738
759
710
977
864
776
518
166
233
736
197
678
276
180
849
188
883
171
728
811
987
313
122
914
827
311
881
157
872
95
197
574
134
909
121
115
651
585
982
999
277
558
741
704
297
909
954
311
574
148
125
37
403
535
236
282
387
490
270
109
588
296
835
777
321
729
852
95
228
798
221
835
452
212
94
352
724
651
33
815
93
366
912
505
236
874
175
830
417
120
56
57
768
198
446
992
544
97
510
835
69
929
767
224
276
334
143
392
196
932
501
266
752
634
307
911
108
622
342
248
297
558
630
991
318
261
384
529
302
89
843
829
480
311
380
782
445
940
882
973
116
567
148
907
217
977
483
304
927
466
902
461
134
931
849
267
412
645
330
859
999
283
853
929
873
45
813
925
740
357
58
281
581
203
407
78
15
577
853
69
271
592
285
615
740
242
708
904
953
396
330
465
874
271
192
626
49
14
369
26
692
704
433
563
994
452
586
3
84
393
609
625
510
405
334
659
726
513
380
983
719
773
159
753
940
296
973
940
603
58
139
609
608
61
43
550
668
966
97
806
158
899
225
526
849
424
823
442
326
247
872
992
412
701
241
757
903
417
778
664
45
985
304
984
325
609
952
688
424
466
81
642
94
356
743
469
726
436
647
778
103
12
435
933
226
912
879
802
909
69
854
491
618
216
644
541
873
700
189
658
209
112
876
131
546
635
500
114
677
493
357
494
406
260
382
725
884
654
81
595
33
698
529
841
593
552
314
872
609
526
571
553
165
765
990
614
269
965
189
356
705
729
659
295
33
925
226
717
733
36
911
734
711
581
607
351
824
475
65
121
865
132
699
763
527
644
986
828
472
413
931
488
702
290
175
823
299
36
481
235
149
58
790
692
260
390
83
498
661
802
461
952
142
506
981
259
579
811
762
466
4
44
477
172
550
171
234
671
251
641
439
652
452
113
210
705
965
602
572
784
281
57
629
246
915
367
604
53
392
404
380
23
983
892
129
317
788
166
504
507
441
70
412
107
574
138
332
439
974
796
551
361
274
442
924
642
952
253
558
81
329
772
474
554
991
373
26
450
291
920
774
939
946
3
517
488
22
914
736
618
436
325
249
505
385
934
206
227
889
206
722
608
331
435
981
605
966
736
43
765
689
887
76
304
612
45
377
887
803
884
900
702
694
135
717
562
457
808
475
355
58
381
817
482
489
637
320
824
848
858
659
309
810
543
300
221
969
512
366
520
280
142
238
929
748
727
317
374
373
244
404
185
387
828
289
900
749
832
985
223
430
584
632
838
221
975
922
874
449
490
58
471
947
886
916
748
489
266
1000
364
953
476
420
641
774
24
33
8
85
878
999
503
747
25
934
678
513
844
149
168
489
145
147
392
652
6
170
778
637
22
423
82
406
164
535
973
892
616
676
627
11
195
214
72
158
674
45
663
770
514
845
866
799
36
360
230
15
509
843
505
915
95
858
614
436
298
343
321
89
922
664
337
464
199
56
732
562
650
547
48
110
716
711
22
50
197
206
337
723
553
767
388
349
582
791
262
831
878
186
81
940
618
612
65
266
930
80
302
528
473
536
603
793
438
639
4
392
876
158
344
681
80
16
994
43
886
978
186
947
846
814
617
980
277
575
494
815
780
304
13
55
519
833
81
248
795
4
281
400
798
409
693
571
83
689
214
432
704
737
302
991
932
698
958
495
778
664
349
41
486
867
605
608
891
597
856
936
696
280
868
454
257
940
341
86
316
787
119
436
384
92
878
3
914
725
27
102
833
581
608
1
125
516
412
270
216
387
571
250
988
107
362
368
50
162
284
932
257
529
732
694
273
331
941
479
299
521
175
310
710
422
29
634
896
438
732
55
994
512
721
194
897
700
11
932
568
18
364
852
12
86
352
327
362
72
573
525
458
434
296
943
117
804
370
55
617
650
613
164
790
194
524
388
454
81
831
453
179
554
727
555
600
47
388
11
6
726
187
63
620
838
527
133
618
640
156
674
374
413
990
67
29
957
669
218
44
923
162
862
624
416
125
903
334
116
633
814
460
148
192
743
330
962
335
690
384
607
780
472
15
432
927
140
181
701
65
252
958
142
511
91
668
867
785
222
844
317
685
837
331
399
566
92
816
128
42
692
10
223
712
700
671
904
742
701
262
120
378
438
720
651
331
853
1
486
455
772
383
49
602
232
222
102
726
955
195
450
718
473
814
929
207
767
293
180
6
544
995
474
319
419
920
361
163
901
106
30
851
476
674
345
957
285
965
288
409
24
176
687
818
187
928
692
450
800
146
988
501
926
655
441
247
549
38
664
836
823
354
540
683
541
901
537
358
256
591
387
172
96
601
657
452
406
335
328
553
925
397
173
701
233
162
365
309
466
178
3
69
302
905
329
39
160
109
302
866
864
914
611
94
669
144
327
260
73
380
209
876
166
51
165
851
389
175
136
176
216
796
238
585
240
501
921
982
442
382
129
566
964
274
691
849
839
552
325
238
542
650
351
931
972
492
418
401
646
116
729
549
594
718
628
522
133
942
823
78
650
48
882
682
309
108
552
588
452
832
181
180
921
639
270
541
697
472
721
217
184
355
474
139
260
643
188
5
235
353
138
513
377
931
281
813
302
223
287
853
760
596
138
373
250
373
324
296
561
64
134
744
807
611
718
732
595
264
662
569
521
976
582
353
35
244
309
67
437
107
340
878
588
464
370
51
454
757
809
673
425
87
443
717
925
637
521
449
953
647
417
306
36
185
884
311
776
345
275
524
613
680
955
366
168
587
210
911
121
871
491
436
629
223
83
536
434
600
261
556
411
355
276
182
332
596
693
50
286
599
672
691
507
33
371
801
461
755
539
761
906
700
752
490
772
508
880
239
618
146
623
923
472
198
853
946
339
674
979
321
693
20
914
982
198
843
872
921
220
567
840
828
91
54
520
658
89
836
151
771
308
407
632
423
668
277
225
915
189
986
769
532
487
371
791
387
991
848
943
480
646
643
527
242
738
124
902
601
927
927
636
162
401
10
820
491
957
163
425
130
170
344
456
626
809
219
100
99
449
276
967
33
431
3
977
210
693
967
715
399
258
595
744
126
670
530
461
672
380
825
23
522
599
806
49
908
681
178
282
283
134
278
248
114
664
873
131
678
615
788
811
202
744
817
48
25
999
134
379
374
345
417
426
574
71
35
472
489
541
326
31
681
237
976
955
174
573
201
247
673
321
474
600
810
230
52
477
309
369
359
490
98
101
589
343
195
557
37
95
192
459
555
829
343
916
155
233
507
248
361
182
74
134
231
63
61
259
783
741
874
281
165
516
723
574
277
360
205
849
558
156
120
727
570
561
166
135
512
560
14
378
358
312
104
518
855
472
135
262
800
517
63
794
679
169
642
804
734
886
252
86
279
264
357
492
809
518
743
976
81
412
295
585
871
604
562
314
593
117
688
247
716
677
737
280
658
407
803
376
32
45
711
320
430
715
94
208
66
277
230
96
971
461
690
650
229
17
542
815
51
672
202
29
635
689
151
928
796
95
371
261
538
375
651
399
246
401
860
363
21
173
163
564
687
19
291
213
559
937
349
465
10
185
803
603
507
694
782
67
847
204
154
738
442
555
855
805
184
925
988
158
690
628
256
541
670
604
177
123
320
623
502
649
889
379
562
751
845
538
689
704
495
424
906
739
633
876
612
456
236
721
963
569
102
34
35
806
247
457
54
170
371
761
300
444
673
176
297
999
323
812
473
458
135
117
115
600
279
387
680
680
440
774
808
66
620
964
328
275
679
117
259
915
318
212
111
387
807
857
94
681
375
904
7
237
875
409
359
200
934
709
775
196
262
909
92
791
386
251
256
39
572
475
425
416
125
309
76
632
501
427
707
453
341
210
207
924
972
22
311
973
669
625
786
675
317
467
8
223
229
336
57
771
831
721
514
777
867
180
223
370
676
577
179
534
202
1000
172
115
688
686
547
39
75
38
658
712
895
391
117
348
862
396
157
505
481
358
294
882
536
515
74
701
440
935
333
804
483
250
1
332
29
245
736
732
687
942
443
11
14
255
734
247
623
927
330
416
563
943
388
198
883
123
996
317
33
653
941
544
79
777
830
350
155
960
576
900
969
443
946
758
346
62
463
140
117
731
157
280
661
291
523
50
647
715
674
717
720
968
614
500
754
58
964
354
637
742
676
755
257
738
307
963
423
264
797
512
761
471
291
286
83
800
891
750
56
17
225
659
559
122
699
67
511
223
686
16
868
450
785
556
578
129
955
851
376
921
483
728
125
519
175
627
72
53
932
874
184
308
839
162
369
461
706
619
826
563
444
632
485
177
563
411
491
501
259
398
558
334
932
265
439
782
1
493
571
150
802
933
697
277
387
567
156
754
594
317
735
476
649
228
803
396
658
98
662
571
667
892
901
826
802
293
665
320
915
967
600
353
151
648
788
468
560
673
751
154
750
890
829
804
229
503
536
699
485
882
498
964
22
862
259
697
142
376
287
964
776
683
119
191
922
245
210
718
53
912
503
583
9
695
22
493
38
284
527
346
503
795
600
994
620
208
278
541
450
463
41
146
511
50
905
488
497
26
203
146
458
971
932
563
83
954
180
45
921
826
41
461
231
205
308
576
571
45
149
122
150
739
654
378
489
176
485
963
164
433
728
654
959
949
795
945
112
933
223
253
891
486
263
105
740
630
635
236
784
235
596
859
832
854
137
496
326
973
6
269
111
294
763
218
649
606
839
57
85
90
106
802
357
884
99
788
66
495
843
221
326
245
263
586
768
847
203
637
87
845
199
71
331
734
199
666
366
690
777
676
259
321
28
429
635
335
337
214
234
134
724
519
817
655
952
359
221
609
925
545
82
535
990
78
893
501
71
618
148
799
267
693
388
59
271
103
934
252
867
858
905
579
907
204
164
700
810
135
611
48
521
635
593
569
29
58
636
753
633
765
765
458
919
728
829
620
789
885
7
529
16
721
434
3
490
46
223
488
655
309
530
433
760
853
521
313
154
773
397
531
130
659
420
247
848
360
489
329
189
325
946
540
287
946
774
935
169
340
243
203
652
130
273
356
37
207
432
676
827
643
754
982
608
83
182
111
910
508
13
578
816
678
749
1000
101
418
945
629
567
265
749
215
161
96
110
951
823
287
601
855
90
419
170
207
103
38
974
952
124
120
421
178
413
165
611
812
220
285
587
666
755
572
188
340
969
789
445
821
509
148
973
819
588
759
695
939
585
315
37
132
630
490
337
518
987
410
959
967
21
924
691
698
110
2
650
643
987
257
757
625
585
472
848
147
331
660
326
794
889
743
310
762
496
968
518
135
472
707
999
829
735
902
952
508
181
308
870
902
848
46
15
351
840
140
508
101
963
129
486
494
278
431
169
882
464
954
797
852
86
86
450
853
416
39
443
799
430
227
193
859
151
338
184
623
64
726
572
408
915
786
153
362
402
74
179
285
958
822
428
314
196
926
654
366
432
580
284
444
242
622
900
561
874
772
201
834
761
100
590
39
134
856
996
746
888
677
528
480
635
210
712
87
350
929
288
84
751
814
406
169
809
714
350
202
929
381
435
804
105
722
921
96
76
894
607
996
372
184
805
6
983
490
71
207
731
438
771
359
842
703
81
758
966
309
794
637
72
453
714
933
232
714
670
66
778
242
605
592
673
631
102
475
787
307
123
900
531
712
13
846
852
605
78
559
412
100
749
526
926
906
658
810
731
786
662
985
383
829
999
220
118
413
864
351
319
115
324
236
76
434
606
143
490
862
276
776
594
246
641
305
776
547
225
458
813
714
623
121
298
344
648
801
42
427
712
574
293
320
642
346
882
40
343
23
610
437
164
234
706
682
297
505
367
791
504
303
240
380
481
670
982
149
56
654
959
357
527
948
65
121
489
879
843
927
215
822
317
352
105
259
442
669
45
401
330
701
845
36
934
385
617
569
965
522
170
314
886
582
422
362
79
604
731
386
181
252
661
292
392
208
369
677
554
831
632
408
333
871
362
522
69
247
822
468
387
912
722
191
380
787
233
844
323
179
615
515
182
939
673
123
39
849
154
910
745
174
453
936
194
285
339
546
556
197
587
342
65
393
772
631
542
74
11
873
196
344
129
28
144
27
895
154
893
5
268
495
416
922
708
339
194
261
980
234
267
598
819
201
414
253
920
872
663
561
182
276
864
578
801
84
727
192
21
48
870
443
816
454
426
637
198
819
788
36
833
237
862
850
569
88
472
369
158
457
992
293
214
570
176
699
976
23
778
590
738
688
900
75
523
460
879
925
705
777
886
252
544
320
1000
928
85
538
603
574
230
83
189
876
853
960
688
478
47
657
695
581
501
832
24
207
947
608
416
157
94
927
573
163
111
611
488
178
403
594
520
32
807
937
738
617
359
237
297
549
212
887
14
37
767
653
784
963
334
478
431
158
131
333
117
546
305
550
640
375
906
299
365
549
868
346
723
13
795
804
179
768
55
180
533
973
311
386
955
337
712
325
787
472
951
404
155
496
715
341
799
650
809
877
925
593
208
741
695
327
586
896
537
256
859
925
938
181
168
729
91
834
820
287
940
536
349
772
594
773
196
373
913
154
108
604
859
789
882
821
46
127
25
799
789
651
193
949
723
213
915
184
45
72
692
554
358
151
52
789
158
968
798
648
572
691
227
627
736
51
133
250
897
169
991
397
506
107
751
271
268
740
77
24
186
335
863
897
898
215
603
429
966
943
20
213
818
209
661
783
655
836
588
990
405
145
97
242
155
393
795
929
787
18
797
659
955
467
851
548
563
697
138
39
14
763
67
408
172
248
921
106
918
683
449
538
265
233
742
551
730
687
149
419
713
727
329
146
771
350
608
274
790
908
906
506
748
743
639
301
134
703
247
438
32
95
569
376
421
954
501
204
931
708
839
974
911
525
713
836
819
448
160
728
115
829
671
848
167
281
894
64
302
159
941
304
368
482
473
695
723
923
328
192
877
126
116
316
641
960
662
325
539
546
202
67
21
383
98
949
728
124
199
983
877
464
894
702
867
706
703
237
803
850
339
242
932
448
840
206
91
777
920
485
270
954
377
882
945
464
567
247
477
563
942
204
637
38
235
479
153
382
382
407
151
729
430
655
539
772
11
583
584
635
354
989
583
733
129
320
500
154
452
333
93
653
835
495
363
120
982
914
907
297
74
831
817
198
729
270
218
353
259
55
257
340
666
562
250
964
648
290
545
290
511
809
128
877
898
743
977
988
562
534
161
95
60
386
716
509
406
8
573
482
655
353
381
697
480
162
512
590
496
325
590
905
981
596
614
652
983
980
378
32
127
509
657
109
859
284
886
339
532
733
162
260
610
836
599
220
230
72
485
972
840
850
167
15
210
407
408
558
936
293
186
833
964
755
800
736
358
978
441
647
604
21
268
188
6
770
893
900
547
856
269
131
528
378
773
73
1
295
155
331
822
12
954
141
893
122
745
486
226
746
273
40
128
509
22
804
56
991
500
788
601
948
299
963
363
312
969
68
433
658
700
479
466
102
842
787
426
483
971
411
636
284
822
474
399
562
379
234
602
43
447
995
552
273
564
85
655
637
985
451
942
568
98
504
775
503
298
949
349
797
958
179
418
895
609
949
400
285
655
830
228
836
934
485
162
452
111
921
452
138
559
342
678
17
234
56
449
655
781
416
950
548
437
323
758
436
678
820
91
612
487
818
301
545
943
621
32
739
448
29
781
324
331
802
55
758
378
169
307
264
356
169
601
107
992
220
63
890
185
355
868
401
823
281
445
64
218
985
129
322
359
248
731
552
834
621
23
364
69
432
677
341
298
894
131
975
712
916
702
694
139
202
893
272
657
333
422
175
121
118
185
231
818
900
917
246
215
202
758
450
509
55
948
194
310
15
240
502
507
570
669
100
180
804
987
490
5
285
592
549
554
425
792
805
797
263
360
903
890
115
224
748
416
152
717
413
642
706
858
900
49
328
64
481
558
811
339
389
384
399
550
13
493
251
780
756
644
714
300
171
454
746
79
32
662
178
576
362
18
399
604
466
892
586
572
811
797
447
824
405
598
292
679
308
856
86
759
544
233
752
655
629
8
173
971
849
89
232
433
219
216
155
533
918
42
357
669
174
240
193
858
336
352
921
117
871
223
220
575
744
244
738
245
486
295
341
230
203
137
144
737
982
922
146
302
51
43
704
435
754
925
30
493
615
540
119
379
21
413
446
239
961
384
656
224
423
395
625
182
13
403
421
712
601
864
825
97
770
381
60
195
334
380
120
4
239
22
480
475
891
746
392
186
671
939
971
914
678
4
757
811
490
447
334
763
172
657
742
602
504
994
472
538
822
434
331
472
965
369
59
850
640
513
475
863
420
467
280
242
713
919
387
555
557
98
981
228
47
736
634
964
237
656
56
688
358
497
330
640
603
267
205
490
649
766
876
130
943
621
411
724
420
931
948
490
861
887
997
755
788
890
625
197
648
44
959
471
11
137
357
7
55
890
845
138
835
394
497
900
840
241
41
489
142
361
777
672
192
939
740
397
473
565
89
49
474
388
415
568
924
419
545
756
667
744
542
848
921
813
205
931
496
108
308
461
74
176
196
788
739
576
523
254
589
661
166
224
392
427
566
751
728
1000
44
282
854
397
213
371
229
9
277
56
112
295
970
239
959
858
445
656
779
156
566
586
737
343
657
826
544
952
700
204
988
890
259
105
608
500
466
689
617
696
973
951
671
968
915
681
951
863
518
853
972
107
669
164
291
955
241
794
214
646
522
42
12
1000
28
823
317
768
792
826
295
897
973
782
886
94
670
361
919
2
940
198
725
397
220
333
70
577
48
851
816
255
453
267
703
993
185
204
800
850
101
222
370
268
905
554
486
922
871
116
56
238
317
995
523
391
457
357
757
516
196
857
418
27
245
587
182
430
24
514
470
745
421
395
707
998
297
848
983
107
445
739
616
928
955
238
200
106
35
436
51
494
287
26
232
660
819
444
935
895
710
892
754
288
489
642
318
330
197
178
197
167
720
980
392
845
440
446
874
796
779
607
699
742
488
478
778
331
200
207
951
854
639
417
767
582
850
256
121
216
794
23
483
449
279
598
445
872
919
187
549
176
853
313
751
713
179
889
453
919
645
918
530
282
151
520
845
132
52
182
944
499
882
17
126
494
337
38
758
770
131
901
777
561
178
199
696
572
582
805
503
257
218
877
584
201
461
889
577
274
439
41
212
699
729
902
547
486
848
177
142
10
656
474
436
801
751
822
449
402
753
52
456
288
698
48
505
252
177
488
549
347
898
545
260
785
522
698
708
589
633
483
685
802
370
677
426
894
972
792
951
936
423
868
438
103
25
158
197
61
487
797
851
915
922
341
792
364
75
403
682
213
582
767
969
926
928
76
192
783
364
737
681
76
500
357
561
167
885
871
101
28
677
820
494
390
276
72
675
791
545
644
739
20
501
206
411
307
90
937
210
296
356
316
434
215
941
716
697
934
748
494
227
557
130
817
524
811
292
127
896
701
239
599
198
906
277
467
186
689
444
150
639
32
840
834
25
632
232
834
765
907
179
428
796
130
315
55
333
266
875
674
607
171
432
725
990
214
997
622
614
146
149
788
293
202
137
137
80
634
933
164
366
945
228
70
954
721
191
709
782
594
162
513
931
709
435
815
508
916
437
201
419
127
98
868
858
649
990
808
196
556
638
374
45
518
45
508
356
982
882
794
327
892
704
452
669
659
255
904
661
20
414
619
663
778
668
658
66
946
149
788
181
518
499
565
512
636
216
145
888
840
582
438
516
410
218
233
926
419
615
471
544
707
437
914
7
460
881
920
559
826
553
431
403
709
305
91
405
927
520
134
720
10
26
970
875
178
79
854
785
19
46
75
481
976
121
227
415
865
875
313
47
504
161
990
105
714
499
275
288
764
913
350
454
935
528
446
937
241
203
990
606
226
321
972
676
349
222
372
82
658
53
363
317
372
454
202
399
819
397
90
850
694
227
342
408
385
475
73
646
403
727
909
952
374
860
165
1
209
859
823
213
412
548
510
559
198
650
994
402
347
603
8
927
766
607
965
9
904
344
532
726
183
563
830
230
493
164
116
539
812
610
277
470
525
305
808
370
957
324
126
238
521
924
977
130
408
976
750
825
319
116
26
527
838
673
794
77
157
759
240
318
54
744
872
586
839
286
638
255
936
538
320
558
250
575
394
240
44
896
828
595
357
585
612
215
41
207
350
710
85
356
895
599
977
922
215
730
566
291
619
464
167
506
106
303
366
745
498
672
472
128
166
2
626
460
669
546
114
251
764
395
73
897
19
927
623
401
607
16
958
266
444
396
814
795
424
530
852
289
170
811
569
522
836
409
237
544
969
229
698
284
298
138
466
295
725
414
302
541
427
34
64
654
159
297
781
513
565
341
882
444
166
464
22
68
770
228
856
232
157
29
829
931
446
847
549
954
632
363
484
778
349
674
730
475
554
393
214
20
72
779
65
97
244
82
36
64
977
167
692
405
543
891
163
118
303
372
301
431
419
35
390
872
596
402
747
730
881
575
323
715
286
338
10
338
322
425
877
951
887
447
652
480
88
920
868
578
407
464
589
906
321
271
37
895
530
263
649
932
671
753
184
676
386
319
760
786
106
266
621
231
863
990
964
437
956
528
102
545
677
595
352
818
406
600
139
487
386
993
33
578
58
469
68
746
223
105
252
16
918
343
529
952
969
280
934
289
53
737
395
900
314
279
710
940
604
812
167
457
762
548
600
371
387
532
15
940
31
974
290
983
49
945
467
349
583
239
303
823
617
187
745
999
496
461
863
60
438
531
923
743
1000
219
76
567
558
831
291
205
622
107
846
374
27
712
789
149
41
755
443
222
135
708
563
981
109
747
894
999
944
667
648
372
618
369
253
728
268
135
894
485
225
105
249
278
5
298
903
911
699
547
478
433
407
151
866
555
141
486
698
211
915
515
413
770
908
516
839
866
575
631
360
163
635
486
543
767
940
972
203
777
264
441
203
924
744
784
307
821
599
456
445
506
153
330
745
807
893
22
105
948
240
954
770
280
756
909
960
891
469
421
701
763
888
732
202
904
172
372
378
143
708
769
512
13
435
882
854
134
393
977
480
480
766
12
962
629
856
485
264
14
365
439
531
21
893
996
733
838
240
978
691
859
111
189
456
795
86
84
955
692
31
395
127
744
552
271
492
228
646
288
616
895
205
603
806
504
782
109
198
726
172
572
416
408
699
506
584
637
848
614
599
154
871
701
265
148
192
321
838
912
419
209
890
648
555
314
97
733
206
983
498
336
138
343
719
945
360
353
807
365
274
203
726
666
9
568
797
323
579
26
158
148
919
324
688
785
816
34
355
183
129
29
677
6
27
152
144
43
605
487
345
869
571
207
645
658
653
211
588
853
414
327
224
962
656
377
333
315
301
517
52
99
815
871
944
407
955
623
240
478
822
991
838
895
469
90
277
293
411
79
927
671
907
452
569
49
344
850
333
176
748
484
253
512
110
955
541
57
772
138
446
846
397
685
429
23
898
369
377
567
101
382
29
572
49
964
104
488
959
452
431
199
482
726
397
36
805
7
716
626
121
106
503
649
257
697
684
427
447
232
865
254
80
795
342
522
502
10
768
258
564
118
250
353
268
352
233
186
531
768
684
219
902
53
493
412
184
574
216
241
771
528
477
897
844
373
225
741
957
513
2
561
576
114
519
542
431
637
210
574
172
619
655
135
250
204
178
307
756
837
448
738
533
820
657
889
589
11
790
333
17
618
64
350
154
311
758
34
578
730
429
92
729
175
83
566
520
965
507
642
76
382
774
415
105
499
508
162
22
327
851
60
559
83
62
486
863
14
64
427
497
36
820
666
712
743
966
828
493
524
385
667
280
192
31
493
120
683
214
702
638
19
176
14
100
862
646
940
771
187
207
595
713
694
904
4
542
367
235
266
348
675
772
310
239
189
359
762
233
998
926
15
147
562
261
966
194
859
764
60
350
226
707
980
374
142
318
503
527
657
800
89
226
373
319
663
75
802
428
67
243
936
204
768
875
535
908
112
594
511
44
278
64
599
978
767
545
491
414
263
879
868
268
243
188
48
720
881
857
555
160
859
939
336
232
972
736
518
139
685
975
787
60
744
206
465
737
779
879
151
824
102
426
211
511
76
281
254
439
909
575
563
855
188
809
379
825
828
710
401
517
203
925
934
712
173
299
776
100
669
362
430
685
777
276
301
579
38
450
302
708
124
535
324
25
185
507
748
119
910
111
987
887
527
620
297
243
874
516
902
777
202
353
297
671
168
924
517
617
827
21
150
18
442
115
934
358
78
114
96
710
970
411
702
657
619
760
64
279
974
966
99
390
783
896
306
767
904
428
637
970
708
742
323
207
334
600
750
751
413
804
751
886
274
733
867
262
579
448
141
511
193
113
16
374
57
770
126
384
251
529
983
484
216
901
938
625
602
740
697
238
670
318
386
110
343
239
603
592
753
250
556
446
398
691
184
352
843
431
36
988
975
133
463
463
806
24
15
127
541
218
719
455
714
144
728
266
208
406
829
391
724
144
646
519
754
687
577
941
56
616
111
655
113
699
578
994
779
718
843
220
7
441
117
545
665
223
571
816
842
267
7
285
49
105
645
283
495
402
193
931
686
671
606
334
661
348
242
56
270
113
867
489
169
735
352
137
822
41
507
300
932
313
436
113
529
657
517
237
415
859
590
291
118
460
147
973
314
615
88
555
408
552
347
422
86
827
753
348
875
138
147
665
684
876
99
6
176
630
769
803
48
757
422
713
94
463
186
638
484
340
122
802
996
247
756
662
110
685
638
439
660
548
910
497
551
358
339
400
69
452
726
43
939
319
946
495
6
67
33
324
826
493
499
116
824
541
747
462
273
952
543
526
882
314
788
895
706
668
973
486
878
149
696
404
801
851
413
830
987
945
715
382
616
588
134
824
527
805
992
212
404
524
539
129
224
103
978
597
811
291
188
579
921
537
357
558
254
482
304
926
136
614
711
327
917
457
417
407
71
937
740
962
933
893
544
272
530
569
409
803
902
662
41
623
873
372
171
19
246
320
578
819
371
188
422
67
134
192
420
289
627
246
220
524
973
119
499
21
165
659
841
643
927
76
357
9
750
777
72
485
613
535
647
178
153
5
11
319
827
626
598
610
515
165
5
325
524
881
13
511
194
816
577
427
69
807
542
419
609
147
226
436
330
329
56
113
293
862
162
141
129
130
451
725
905
92
646
434
478
198
289
397
996
822
172
977
879
822
160
321
882
3
935
205
480
474
879
141
133
810
43
704
776
57
264
741
859
546
564
805
569
267
694
88
999
931
613
183
743
582
911
30
136
703
588
123
369
713
169
987
208
342
392
81
310
14
338
261
704
99
123
454
748
920
423
720
709
573
555
36
289
372
773
110
337
646
694
822
595
480
400
30
150
910
195
750
439
835
731
574
263
281
850
197
5
155
264
505
130
331
752
780
75
238
206
12
894
675
47
856
564
344
515
240
206
876
562
790
137
655
42
689
734
863
63
404
305
682
2
806
831
61
646
830
101
748
61
335
855
502
35
992
227
532
798
388
144
663
378
72
658
403
49
17
477
379
453
253
805
457
90
193
794
354
871
335
327
96
740
587
427
240
539
197
574
405
678
979
539
474
614
469
413
913
962
928
55
631
468
745
746
387
49
236
495
248
794
443
657
519
430
369
604
619
834
966
860
111
480
173
895
184
348
447
83
509
211
237
885
792
863
898
805
47
511
690
340
660
589
283
587
668
238
466
81
297
836
940
309
69
660
477
313
833
45
197
565
408
760
849
501
277
319
901
534
884
686
136
840
461
605
291
892
601
65
287
437
140
409
773
7
385
709
664
951
609
869
612
438
388
643
191
676
276
520
984
755
457
502
1
419
41
913
304
981
356
164
348
209
787
493
509
307
530
164
167
766
290
437
118
985
176
658
32
901
932
11
30
497
41
502
949
386
649
281
855
611
251
419
300
348
139
127
853
479
615
868
497
521
876
778
1
690
337
201
161
842
821
661
959
481
734
663
645
606
31
921
838
214
291
123
790
705
286
943
400
44
889
885
705
545
982
929
357
859
635
370
591
659
37
688
384
645
639
240
810
798
908
267
503
171
737
671
820
109
235
91
600
93
210
10
887
25
69
83
97
914
189
115
65
793
666
539
58
724
243
580
935
131
556
476
192
795
878
420
57
931
706
755
636
880
485
417
766
236
730
511
98
132
987
343
881
213
705
294
733
746
541
552
908
187
4
121
432
35
853
133
52
807
376
411
147
119
345
477
386
238
406
993
533
870
141
480
349
826
986
707
813
741
883
252
345
165
148
16
270
399
387
864
294
797
861
755
534
617
253
454
442
947
807
127
916
360
571
600
503
895
896
805
554
273
5
893
154
106
481
930
963
37
867
57
837
181
425
124
357
236
489
982
880
187
205
941
240
869
325
550
558
798
632
427
474
581
819
19
716
288
69
491
116
526
869
914
87
253
117
6
34
416
986
797
33
92
823
669
976
759
94
61
91
158
280
944
769
968
42
565
811
654
173
289
257
388
115
757
584
555
242
813
440
313
135
13
870
348
265
743
566
900
201
435
270
5
976
61
539
830
444
908
889
27
690
998
433
135
942
295
746
679
675
206
890
947
161
184
656
476
666
890
168
371
584
671
875
324
458
451
98
80
725
98
865
648
711
798
337
466
769
813
621
518
730
594
291
458
29
506
696
236
498
481
288
211
880
516
142
913
6
610
333
392
59
59
721
156
793
733
470
79
956
385
653
936
892
460
123
112
922
249
299
636
381
956
113
84
86
89
252
982
829
455
160
976
78
778
686
873
213
122
337
705
624
502
776
511
246
261
116
885
306
924
690
659
812
434
850
663
441
326
762
225
987
751
220
354
628
964
276
767
384
456
221
960
196
753
447
26
352
441
85
384
594
334
98
719
517
169
234
402
63
872
301
375
381
739
737
994
874
958
25
665
92
270
645
178
445
718
776
394
215
160
177
699
851
311
678
337
282
883
74
789
736
243
170
377
173
298
392
381
28
962
477
660
61
804
489
720
720
819
614
290
147
474
834
22
653
442
616
684
83
374
188
50
214
257
429
202
497
892
482
985
982
303
526
550
928
238
115
624
17
543
517
64
242
845
405
392
797
651
667
98
293
383
618
194
123
632
679
619
201
529
131
775
621
981
173
815
840
500
987
393
436
615
593
327
828
347
967
554
117
454
972
646
361
716
525
559
1
644
956
667
74
308
101
642
285
395
833
632
417
814
789
223
172
213
98
309
762
436
333
27
834
729
766
618
418
939
599
808
148
212
184
769
28
152
236
812
674
747
292
587
111
609
374
741
695
718
598
490
208
702
902
236
380
777
21
230
347
884
733
564
954
900
882
810
71
20
708
647
226
818
350
139
532
531
102
185
284
194
224
620
917
338
883
546
837
972
488
500
882
588
295
644
337
911
681
509
168
660
348
613
644
486
705
265
777
339
717
516
818
129
213
294
25
161
898
932
858
843
615
740
622
164
756
201
739
438
676
651
671
653
42
983
620
113
575
807
647
467
747
399
158
554
778
905
659
841
130
486
423
606
988
684
213
69
818
917
987
154
198
590
997
166
275
407
804
955
54
275
13
168
280
338
362
881
563
542
969
979
75
422
223
365
874
252
811
806
358
70
555
791
488
567
995
134
293
60
520
949
432
497
61
538
841
894
410
185
35
99
685
995
930
324
877
256
417
127
983
475
523
334
940
739
170
604
18
251
9
24
248
154
443
305
878
811
112
416
699
707
946
64
855
854
498
802
280
398
769
122
91
452
438
884
89
196
11
247
845
168
760
311
763
800
105
290
774
39
400
105
376
842
419
285
200
234
526
934
271
207
898
850
623
90
586
682
24
791
227
320
275
369
133
68
74
912
428
785
752
52
597
552
887
164
721
754
661
827
395
891
394
64
570
481
724
598
338
683
121
416
793
778
346
669
730
881
959
187
816
840
885
151
390
402
93
586
980
301
598
186
517
736
26
94
905
91
861
377
433
259
12
161
375
803
839
985
647
427
853
227
631
889
257
975
186
580
875
612
596
960
667
233
250
14
751
15
433
121
664
8
148
168
306
692
788
709
793
199
948
262
126
150
292
525
102
670
599
451
190
239
873
956
284
954
198
296
961
778
734
803
585
125
335
653
6
933
123
870
391
563
679
884
234
233
913
512
259
113
915
219
946
314
398
791
837
835
323
778
379
559
490
993
214
693
426
741
409
135
604
939
943
27
947
112
598
367
611
325
294
102
264
239
743
875
479
433
790
624
265
273
806
310
583
637
863
357
442
120
426
720
443
956
125
689
394
934
444
237
315
528
869
575
652
636
361
43
450
909
813
700
592
808
864
33
39
758
530
79
332
848
834
911
991
798
357
961
782
163
555
680
753
505
816
484
784
189
466
733
874
339
833
935
896
402
28
403
330
327
944
396
917
246
345
446
675
535
947
176
25
111
802
118
924
858
32
780
10
108
52
698
684
208
305
280
289
386
596
306
371
237
196
110
345
549
838
391
738
581
747
809
334
711
533
251
935
521
828
927
159
650
871
620
472
479
992
843
859
832
539
306
217
714
697
974
910
400
385
588
872
830
333
241
526
902
499
347
727
761
368
587
14
415
172
724
626
286
225
370
735
552
322
559
456
516
537
987
253
90
593
563
324
57
734
97
868
866
758
26
246
674
1
296
556
706
449
646
436
937
958
181
556
587
53
936
281
638
884
449
212
619
376
344
331
43
418
38
851
879
725
595
341
306
202
937
210
99
598
142
411
225
77
393
285
788
113
756
725
114
587
541
580
79
995
281
275
253
361
48
652
130
753
758
901
9
238
995
806
896
920
700
155
335
208
339
395
18
425
320
441
204
586
676
483
709
833
186
930
367
90
468
659
740
114
818
473
100
233
66
815
768
247
723
1000
810
388
528
328
565
560
267
497
923
732
643
869
665
827
351
510
894
618
545
787
844
150
790
676
472
422
470
352
322
687
797
518
616
934
219
692
288
560
382
508
795
362
623
137
448
661
511
903
657
220
772
738
491
360
317
398
812
80
853
608
468
490
612
688
349
438
948
430
792
802
888
283
109
315
946
206
82
345
986
491
656
685
94
22
766
567
650
800
176
328
154
741
437
693
769
711
107
791
779
435
948
170
487
757
87
485
196
733
787
694
666
251
600
147
561
472
31
719
569
533
261
802
640
476
994
469
623
339
788
933
520
385
418
750
457
514
984
302
566
892
318
366
609
379
185
412
516
711
291
651
353
131
232
132
178
424
281
769
583
909
693
156
679
214
260
351
191
556
96
970
767
675
27
767
11
816
888
624
296
18
296
483
958
651
501
314
77
85
411
373
927
761
417
490
680
614
670
921
766
869
534
187
75
983
27
183
974
389
958
152
938
154
355
754
643
494
716
217
734
775
389
506
60
77
118
659
495
480
380
731
524
697
199
978
123
43
144
112
485
747
194
459
2
562
537
216
928
175
857
861
321
795
688
419
85
990
333
703
281
317
844
25
413
949
744
647
822
463
272
785
892
863
905
107
965
107
362
63
578
195
301
142
908
958
543
607
238
67
50
596
803
927
141
271
521
124
401
106
294
639
264
333
122
471
550
235
765
358
481
118
356
607
107
236
405
765
858
695
270
703
462
172
922
407
519
1000
962
928
467
817
85
393
596
478
484
406
967
237
578
54
771
436
578
28
195
396
316
283
28
58
574
518
254
530
696
169
450
864
256
583
863
311
987
219
744
607
818
928
319
101
219
576
674
550
469
944
440
757
47
172
148
397
576
132
559
953
197
975
220
420
107
880
948
715
806
822
526
125
689
627
532
176
811
199
545
939
154
383
22
567
658
955
738
620
536
363
756
717
324
694
550
877
455
11
630
614
320
331
458
767
38
143
483
549
335
678
646
109
317
662
888
529
635
263
507
627
478
632
575
786
90
692
983
783
825
500
833
133
442
416
391
929
660
713
230
620
331
59
2
901
643
156
656
843
579
38
412
651
770
184
13
228
48
625
313
450
865
623
136
979
761
106
820
499
273
91
664
386
658
224
2
608
92
580
356
185
47
470
484
561
917
485
252
401
315
989
577
947
171
164
574
913
283
777
898
30
304
967
544
245
632
96
581
528
325
300
345
121
438
248
627
381
923
496
774
965
354
628
746
125
463
251
831
244
270
319
111
763
680
599
801
418
208
758
651
655
723
678
241
904
781
155
693
576
132
274
833
159
816
388
402
167
600
635
887
32
358
188
925
553
357
829
709
190
596
50
636
519
206
776
248
822
685
280
954
289
319
475
406
355
554
726
399
735
13
588
232
157
72
459
166
916
723
919
663
447
141
66
604
993
929
55
511
278
849
490
219
26
658
795
640
345
30
103
465
873
581
349
874
958
189
217
570
567
222
337
958
476
620
856
520
920
99
309
106
392
161
609
894
302
489
78
897
168
579
543
576
252
469
240
945
59
211
753
787
988
68
605
304
54
492
33
559
81
983
467
214
47
928
186
209
815
967
724
239
438
493
648
559
93
557
883
885
789
878
718
369
358
28
574
845
668
607
695
355
165
51
178
19
172
32
576
484
24
174
290
198
568
867
349
98
565
535
569
528
863
260
945
930
118
278
848
621
541
766
39
285
143
879
486
354
703
453
564
368
167
49
52
896
986
219
921
47
787
627
252
998
963
1000
457
994
724
299
675
596
528
380
63
662
120
39
239
486
758
98
340
682
924
938
750
579
321
996
368
594
91
114
847
611
531
253
82
268
97
947
11
419
713
373
266
165
848
957
360
560
126
167
151
451
334
526
514
80
139
787
484
887
190
838
102
82
958
407
455
533
496
293
709
454
585
885
898
216
394
213
178
419
29
592
356
592
613
573
364
217
619
596
399
747
152
425
240
221
70
435
330
17
455
562
748
727
26
108
772
60
29
327
414
184
531
388
240
526
893
566
121
124
782
508
776
335
558
377
298
370
679
939
467
122
386
757
866
355
505
561
991
970
279
524
775
918
989
219
830
204
18
525
914
144
347
138
827
143
742
920
251
601
341
37
949
659
829
378
520
394
559
838
788
855
619
106
918
926
520
606
3
88
905
574
943
1000
229
52
573
167
634
704
212
548
920
398
698
192
857
400
399
849
513
659
202
816
772
855
856
451
942
852
242
361
831
234
796
877
227
82
663
243
906
949
949
995
609
687
777
570
371
509
959
747
817
453
675
421
329
518
71
981
222
679
874
645
39
920
615
550
404
139
84
76
696
693
757
768
585
272
828
644
812
958
350
122
915
889
111
723
826
612
27
917
828
977
26
813
162
526
877
763
340
742
637
986
827
57
656
333
809
854
899
854
212
602
411
534
871
543
253
940
575
233
831
22
203
482
265
306
912
505
431
887
629
285
208
505
518
337
490
392
42
25
72
306
159
598
890
787
92
976
458
1
957
534
760
843
312
890
808
343
43
684
802
898
928
251
220
272
275
742
791
278
384
848
383
6
994
565
154
815
656
570
999
600
478
791
221
31
954
388
861
484
571
294
818
616
199
313
667
690
568
745
543
948
788
660
996
343
781
105
805
544
408
695
232
917
479
302
35
240
395
528
941
754
644
929
256
963
512
638
423
804
133
990
478
313
587
331
658
405
262
363
427
442
82
26
57
559
538
484
442
750
708
946
222
662
260
699
730
664
757
14
898
80
447
250
380
283
571
527
244
517
285
926
603
632
775
114
563
553
466
935
548
532
213
9
809
178
859
942
10
373
827
441
746
328
653
651
281
339
301
363
829
587
218
817
747
660
268
907
193
976
130
973
269
872
851
359
595
949
943
15
826
103
422
354
532
498
375
435
983
725
468
155
101
830
760
877
19
279
617
722
417
228
192
73
390
910
351
636
436
630
318
641
712
852
590
816
1
173
647
296
918
594
248
625
302
198
596
675
22
1
486
903
267
659
998
826
604
666
252
888
851
750
997
116
829
426
481
450
36
397
661
644
802
449
608
187
67
168
194
943
466
644
770
820
228
634
236
159
259
34
953
453
261
684
602
994
524
592
105
677
522
686
271
558
974
432
163
3
468
763
743
349
336
298
512
319
622
339
331
41
598
800
676
363
469
445
712
828
381
529
108
259
803
933
221
78
98
513
986
215
154
148
550
574
819
79
596
485
856
451
634
423
481
912
385
718
181
281
80
976
906
586
778
879
697
179
181
209
58
87
880
126
763
448
827
288
409
364
302
619
700
13
728
510
334
25
403
47
228
469
289
23
636
211
738
707
933
528
319
655
248
44
246
743
72
255
609
495
424
292
451
314
157
815
530
884
36
57
405
464
249
367
827
353
69
529
931
890
674
638
473
573
184
360
219
507
7
127
820
742
312
854
406
166
642
680
422
324
920
135
380
886
740
746
981
446
317
935
368
911
542
737
891
354
803
740
375
700
445
847
617
617
707
238
501
777
551
515
477
432
584
435
546
66
101
72
401
519
838
753
852
246
526
657
510
49
762
703
659
404
690
126
540
257
458
888
765
57
494
976
53
5
116
314
267
173
135
739
144
463
124
141
700
663
474
102
768
668
327
958
772
296
218
474
418
521
630
909
961
607
874
914
277
867
698
659
382
369
628
590
489
13
222
169
662
156
380
494
326
608
914
346
511
309
495
355
805
956
539
52
566
369
158
242
53
528
909
274
720
42
709
654
629
711
246
443
772
430
238
291
90
651
612
768
657
853
255
967
47
830
118
398
369
434
978
144
742
419
908
448
970
130
60
765
502
236
210
796
770
918
832
763
473
23
516
125
30
454
950
658
376
264
553
718
573
215
529
864
197
216
56
246
845
176
651
641
470
351
421
306
477
400
699
655
162
921
512
293
548
1
484
853
546
94
416
923
834
1000
992
659
605
447
578
133
275
495
728
537
927
443
938
481
701
827
804
295
11
825
531
852
345
139
931
11
97
111
552
427
944
418
916
264
223
239
334
587
116
173
522
325
12
327
176
335
969
598
243
899
351
991
328
843
456
509
291
896
522
381
410
709
38
386
809
887
158
420
971
548
818
728
539
749
621
279
908
214
192
470
621
997
668
19
988
840
211
356
437
505
9
675
746
164
95
708
193
593
205
270
275
198
548
802
335
665
609
203
917
598
537
311
874
132
965
442
291
748
643
118
943
577
872
446
595
993
227
348
627
961
204
270
522
824
612
527
423
862
141
196
103
868
51
80
517
884
129
420
111
335
820
32
559
506
134
840
515
220
192
91
926
623
884
477
132
307
953
771
242
162
333
276
582
996
738
668
215
295
541
695
967
363
355
79
809
280
682
246
516
159
107
556
496
728
638
212
676
254
209
918
340
219
427
381
743
96
655
756
848
384
858
695
15
202
552
809
119
854
277
75
819
363
551
76
40
886
589
153
360
85
404
587
378
52
997
704
333
419
666
963
140
511
718
564
907
404
472
468
102
900
245
79
281
566
447
396
484
459
457
406
139
598
838
483
356
268
175
567
537
136
855
363
970
528
41
68
148
460
908
299
509
601
899
359
652
686
62
421
785
203
510
205
740
640
840
104
584
674
395
450
29
944
286
336
353
179
819
236
370
686
963
383
941
30
282
609
41
223
448
853
169
991
711
156
247
710
322
461
367
855
838
404
175
601
612
436
896
342
410
330
162
290
149
391
666
37
341
296
4
312
842
412
317
36
402
683
443
41
902
849
927
374
682
349
73
186
826
520
973
775
530
381
87
995
325
221
183
924
426
354
778
737
247
878
830
729
681
698
177
859
855
606
621
198
489
977
784
9
434
201
312
689
19
344
430
269
528
144
178
660
675
93
177
924
845
797
496
720
621
947
418
187
2
355
58
659
108
267
900
710
531
249
114
288
360
248
874
890
326
723
667
315
33
821
710
297
50
110
704
696
748
945
522
758
836
30
435
426
308
6
758
572
406
546
369
687
838
498
304
122
748
467
137
291
22
192
696
453
520
672
914
715
379
973
624
687
645
539
987
426
762
440
710
713
220
114
376
43
171
303
784
742
201
86
452
781
428
674
680
331
644
466
101
418
874
990
768
321
988
68
548
493
365
659
898
113
999
378
716
114
849
621
219
302
31
700
8
943
32
80
364
912
559
584
654
901
563
273
962
190
887
944
342
528
373
665
817
539
143
785
653
927
787
799
811
294
641
388
716
604
435
991
659
803
59
739
591
560
552
511
837
520
685
822
200
729
58
671
327
537
540
916
81
301
867
837
318
121
742
159
20
340
578
264
64
463
218
105
959
195
779
340
541
493
61
123
330
906
825
656
176
525
70
497
209
74
541
605
135
935
192
332
729
666
179
572
122
74
269
572
43
396
353
788
270
992
75
43
52
61
520
89
379
844
87
114
261
145
189
506
851
244
965
354
417
575
702
856
704
799
101
853
908
172
535
122
103
245
694
951
477
999
969
89
150
765
27
685
374
845
518
632
48
203
540
38
915
241
733
232
679
512
608
333
199
909
997
948
774
116
2
648
935
565
198
496
61
670
911
299
942
433
187
53
902
331
107
15
670
748
956
268
572
356
618
962
858
517
76
85
925
591
236
727
901
313
781
92
673
572
186
410
174
173
595
471
856
525
456
202
344
70
742
204
362
887
44
667
150
980
178
647
852
738
476
689
535
796
731
208
148
872
918
459
550
549
344
864
503
948
338
517
452
803
695
61
866
772
581
720
582
451
786
575
700
637
392
986
564
997
248
609
795
507
698
409
780
964
818
210
550
123
63
902
281
890
959
256
93
132
316
989
688
561
408
318
895
114
122
938
788
221
498
8
728
341
319
928
702
296
133
938
734
864
176
576
98
371
40
193
283
195
454
455
848
286
705
6
913
872
549
83
831
49
420
461
512
183
993
300
537
285
753
48
190
297
805
24
263
481
12
936
964
36
275
810
112
517
385
758
228
257
98
741
157
298
822
3
631
573
108
123
427
155
296
806
78
760
837
81
300
991
51
126
100
704
920
865
554
540
178
994
226
879
333
135
91
355
56
197
461
252
58
438
811
808
565
504
457
75
726
803
122
218
22
7
45
830
461
619
70
993
31
214
401
667
150
596
177
709
815
408
658
675
555
819
81
846
437
294
662
234
528
664
278
946
380
320
505
46
373
549
268
993
161
363
636
375
287
208
558
770
73
871
444
266
206
833
969
944
708
778
737
825
793
692
609
799
906
692
457
170
534
885
890
960
60
970
569
5
763
140
866
771
132
121
1000
726
727
201
591
286
688
476
360
610
722
634
694
495
473
104
559
636
788
177
233
914
153
54
598
518
947
215
991
859
204
972
896
977
120
591
438
462
497
533
826
104
665
471
395
172
336
825
423
229
221
930
983
589
570
258
333
661
716
786
332
255
122
62
674
969
377
572
189
658
389
733
750
589
118
782
701
216
746
783
902
330
529
327
80
281
825
753
873
950
902
640
857
708
470
617
109
354
364
512
915
319
710
251
636
858
387
60
212
883
797
289
471
356
690
649
356
267
257
254
452
848
554
304
139
5
585
730
486
364
770
847
793
793
592
828
696
805
850
422
875
244
109
543
492
867
298
239
918
317
424
182
128
532
82
319
996
832
559
390
513
772
632
266
994
607
251
732
48
416
791
917
280
112
371
405
52
147
682
558
661
786
452
663
195
670
112
235
842
938
856
464
564
592
54
30
396
39
30
705
761
221
424
523
965
704
220
523
138
155
946
58
526
833
175
499
754
294
570
324
923
945
103
706
633
251
903
464
932
201
881
719
248
977
787
583
30
96
92
183
706
639
45
53
291
205
55
305
941
404
439
260
741
551
631
886
634
824
63
341
243
899
454
630
915
55
544
293
948
955
289
310
696
175
748
964
278
930
94
406
761
282
687
329
119
523
536
48
822
626
311
638
177
710
99
132
296
86
104
778
376
414
114
783
151
434
494
664
244
337
157
932
852
393
881
313
616
805
690
259
607
836
141
580
349
805
670
912
910
90
461
774
276
678
256
691
597
903
12
475
251
319
630
837
187
116
920
42
101
52
91
664
298
73
233
875
464
746
261
448
237
552
392
611
132
902
41
538
877
818
542
506
798
659
588
381
28
589
533
68
385
214
939
452
343
487
772
290
659
521
666
329
609
891
5
900
883
35
765
224
540
947
7
578
926
745
869
992
779
371
469
861
480
635
197
952
208
129
204
213
650
154
891
309
498
946
149
210
552
138
864
337
713
42
832
245
170
371
240
355
503
478
895
223
47
850
276
830
843
190
17
848
722
771
825
91
527
231
267
793
678
907
273
268
600
94
258
299
825
154
220
288
422
242
499
899
396
330
626
378
385
404
872
537
897
138
586
476
398
877
750
853
237
176
361
663
155
766
1
72
81
853
859
550
109
454
440
685
255
507
507
534
96
111
384
484
738
952
682
950
922
282
824
140
135
372
723
122
633
531
236
558
916
992
191
520
780
732
113
897
285
157
362
181
194
150
244
152
579
136
962
841
727
597
889
880
217
562
650
369
169
655
276
616
927
648
990
467
49
946
932
948
494
548
148
590
663
15
630
986
34
315
359
371
65
306
871
223
319
176
442
891
556
604
297
561
125
488
146
523
598
49
268
231
438
826
480
595
421
603
512
371
571
797
809
893
580
429
333
630
668
975
87
13
677
84
62
120
533
857
414
434
243
36
400
369
411
748
449
585
683
412
955
255
454
399
155
339
401
302
785
512
488
539
534
424
463
93
287
696
297
471
345
656
780
16
578
243
455
291
784
226
401
539
271
19
459
610
917
538
387
679
846
888
192
636
677
239
82
886
249
154
940
116
693
785
729
71
744
56
533
240
708
415
820
60
882
609
447
23
819
101
981
508
129
578
990
89
963
458
155
887
443
436
430
198
606
211
490
51
494
78
530
551
68
71
699
836
601
64
137
776
224
174
281
342
516
90
237
10
150
694
116
526
362
787
567
445
433
365
601
594
96
29
60
961
477
308
954
178
986
199
236
952
332
814
336
999
366
387
263
796
644
750
614
283
566
244
352
191
318
465
939
572
825
820
934
220
910
942
151
926
968
139
191
179
483
181
613
399
461
341
405
664
141
500
238
480
786
626
667
404
625
312
93
696
213
188
880
458
981
343
405
598
768
76
982
33
201
60
155
938
900
821
761
691
808
46
355
557
251
857
429
153
469
964
396
16
996
284
305
643
793
257
884
477
492
416
513
808
147
764
810
900
863
39
471
784
683
250
448
114
1000
850
309
416
372
974
693
53
875
657
805
85
81
95
333
123
363
77
937
106
678
315
543
284
816
266
194
958
793
649
553
142
310
545
675
307
186
931
605
962
720
65
962
953
606
751
240
557
70
450
169
373
169
168
322
760
80
836
555
381
668
18
93
152
776
539
797
488
93
860
127
838
151
509
19
772
369
166
960
99
614
361
198
320
853
992
45
683
626
130
257
285
501
111
693
937
627
399
856
137
771
648
83
829
998
454
940
888
224
739
19
154
53
41
445
942
834
372
77
770
510
489
357
920
707
456
624
574
63
172
686
364
813
554
955
302
298
197
917
601
448
430
136
649
954
117
422
391
236
351
731
191
238
187
626
7
662
984
332
63
119
693
979
378
448
968
476
5
497
356
45
412
151
299
894
758
645
827
930
75
855
303
344
1
2
984
544
112
458
186
841
734
327
744
745
470
711
135
10
753
973
215
846
925
834
867
280
280
957
755
332
892
548
513
763
615
8
760
923
313
387
798
6
918
634
423
923
693
970
624
622
693
849
945
526
79
177
65
448
321
552
171
809
380
453
948
985
405
325
253
496
706
450
357
413
158
272
581
388
288
567
189
504
403
590
134
385
447
890
640
281
602
380
348
45
609
988
248
575
439
152
287
753
314
517
150
562
174
591
615
587
15
93
855
587
289
527
663
134
255
174
165
958
173
763
788
682
697
202
345
339
310
959
744
851
757
980
277
306
39
362
900
718
457
906
156
221
374
506
727
135
838
854
182
626
17
131
646
1000
579
894
280
920
883
179
827
656
293
489
678
420
868
954
550
935
497
28
581
502
414
950
411
578
161
647
71
883
39
473
83
452
984
217
750
120
614
743
517
404
269
103
525
744
992
74
249
482
666
454
176
160
204
56
902
58
330
655
832
982
419
932
686
558
493
395
594
981
43
340
54
18
516
143
162
948
766
607
184
561
207
728
207
193
46
326
888
805
700
42
400
815
594
525
52
933
511
112
853
669
531
370
93
737
762
586
693
442
464
767
495
34
361
344
836
806
974
557
525
948
826
53
93
13
605
655
984
796
263
784
28
494
245
479
940
513
442
382
826
40
725
439
239
98
756
704
238
971
490
823
121
309
734
357
160
3
551
97
37
364
218
391
125
502
135
478
324
243
109
675
820
617
38
272
991
276
642
558
778
719
487
435
38
160
678
8
569
170
71
346
348
916
758
769
892
765
968
902
827
959
662
396
993
588
852
233
766
269
831
337
946
455
209
507
317
687
311
49
43
580
990
23
671
913
829
787
665
788
919
282
761
742
457
964
520
389
395
298
139
55
859
195
263
418
618
977
136
69
740
665
116
726
395
619
794
450
142
849
533
836
579
163
908
571
533
618
166
738
261
856
434
919
49
405
738
357
103
129
163
827
524
714
902
909
493
638
935
386
475
728
595
974
225
566
797
454
867
165
642
714
606
837
305
226
250
184
549
66
519
728
389
288
198
349
335
574
511
536
375
180
643
793
457
856
55
536
845
136
365
745
208
977
981
274
531
423
240
552
355
307
745
757
193
756
410
947
393
450
954
289
844
381
781
182
561
260
34
937
12
517
873
557
790
789
889
588
422
671
296
387
319
526
1
29
768
178
635
554
131
94
828
401
714
717
620
850
233
140
41
164
109
815
42
396
573
34
786
100
602
84
784
95
721
261
858
42
54
468
907
103
555
903
776
79
903
66
646
976
557
526
404
299
444
731
741
833
578
834
33
961
201
825
968
171
534
899
142
712
235
264
720
10
827
255
961
645
344
118
539
660
500
57
306
24
71
585
467
297
847
591
234
313
692
291
791
961
427
29
993
382
371
986
559
470
679
138
338
898
524
34
45
736
513
980
346
747
935
522
208
32
108
435
508
183
918
67
831
916
688
249
106
511
228
422
491
366
849
652
976
800
166
784
215
115
767
473
55
676
4
218
356
290
261
781
356
656
480
434
717
625
423
960
680
363
834
861
328
672
966
235
289
577
688
253
832
451
741
299
900
696
423
964
636
352
424
687
832
993
588
784
177
944
319
441
522
778
436
383
934
793
564
92
822
705
584
741
780
136
306
93
612
362
746
331
675
879
444
888
253
85
683
337
922
457
416
366
653
332
506
70
566
970
756
446
506
135
317
174
744
354
52
222
970
782
564
193
699
419
694
558
564
509
609
882
819
641
904
17
972
14
192
105
506
893
338
898
657
637
934
920
51
704
350
359
151
143
576
393
96
56
630
545
499
904
817
187
311
875
516
777
162
333
702
262
363
752
939
631
647
255
684
603
46
244
26
4
343
982
868
232
788
69
794
553
80
48
63
44
61
734
892
794
770
465
235
570
393
719
571
811
629
264
185
573
778
171
25
281
766
573
57
730
147
280
776
431
80
684
831
287
45
104
475
613
581
275
208
382
713
298
237
39
326
164
771
852
507
3
575
546
619
113
514
201
556
622
864
475
395
389
115
860
341
188
729
869
673
545
932
726
630
490
521
935
680
99
913
622
505
932
332
88
582
62
886
103
71
383
75
364
27
311
344
215
286
9
573
164
133
820
108
310
130
452
300
968
272
207
536
272
477
385
520
928
571
277
350
691
91
321
285
104
554
996
748
986
473
334
571
629
117
812
383
859
327
826
180
257
324
117
141
26
574
785
491
256
525
806
62
39
397
922
490
849
271
350
781
975
729
959
737
310
609
379
233
398
197
784
487
820
742
751
147
256
240
823
338
31
871
259
895
481
64
581
616
991
928
341
170
372
320
254
266
653
38
881
116
916
856
888
232
73
840
139
317
112
10
184
317
30
162
353
628
219
753
344
345
765
648
144
96
97
806
697
390
991
960
820
879
264
499
92
320
166
461
573
977
293
360
14
957
91
578
696
758
448
82
520
21
219
560
568
111
740
714
715
557
92
700
18
46
553
899
620
175
31
436
350
316
517
62
958
311
245
841
664
737
303
98
297
570
488
954
984
25
988
897
15
282
835
464
882
93
587
602
527
317
162
916
607
887
25
634
869
607
586
735
369
154
292
254
5
322
145
406
511
213
467
23
387
967
447
915
927
250
764
42
215
192
42
13
858
762
83
821
109
116
30
619
915
189
374
250
945
677
347
367
477
260
261
206
124
900
483
96
458
806
991
170
346
324
348
39
251
541
384
957
911
442
399
745
106
759
961
483
206
421
454
997
515
772
389
979
988
469
950
44
219
15
767
454
993
26
784
349
339
593
684
140
491
872
846
295
152
529
502
702
962
673
634
958
595
709
377
228
239
895
446
404
65
750
739
28
864
798
260
27
587
252
965
43
304
521
746
21
880
426
364
880
160
493
224
120
905
74
236
380
97
568
985
657
724
444
340
615
819
489
445
227
259
93
889
59
939
61
422
337
764
382
173
262
473
621
354
629
411
883
796
177
20
568
168
654
343
371
108
520
617
102
798
28
670
72
533
21
637
94
960
127
673
298
350
514
722
167
217
5
86
550
345
680
675
682
381
769
825
340
23
794
803
340
424
284
17
799
878
292
561
661
834
225
255
990
576
422
589
644
954
910
607
71
7
639
409
685
107
387
916
473
380
193
689
392
766
9
666
231
602
990
244
672
746
537
194
75
54
696
786
1
728
589
53
381
480
244
187
832
125
206
438
433
723
28
443
589
230
578
538
686
392
937
151
663
102
397
567
784
125
44
350
724
917
818
79
266
662
651
416
161
459
626
452
253
38
746
6
215
464
382
978
499
203
523
39
57
897
931
763
614
313
642
534
18
236
767
56
690
744
109
842
313
395
220
559
32
46
500
793
534
461
149
920
90
275
294
613
561
553
294
628
330
28
517
348
184
789
644
472
80
928
360
528
985
22
846
377
900
173
933
916
261
384
550
862
921
356
320
889
164
489
354
821
872
959
223
649
135
111
729
906
39
741
15
612
367
715
438
923
739
787
465
333
79
21
688
575
854
825
598
92
610
114
581
265
420
879
562
547
604
409
578
710
154
906
183
223
286
262
496
192
695
708
73
125
623
512
457
125
167
242
865
142
313
381
14
497
344
231
882
397
654
423
478
722
620
42
905
578
334
900
717
751
590
690
60
946
958
833
746
783
635
748
844
756
492
295
790
816
416
716
51
640
330
1000
816
4
128
991
713
174
713
977
557
677
176
971
122
599
93
893
642
614
545
293
876
827
556
972
584
290
172
324
520
906
896
535
889
148
81
112
261
780
953
797
132
151
144
597
900
723
523
209
94
223
382
377
636
339
59
79
724
326
12
348
239
80
950
70
93
588
588
873
373
100
686
858
337
601
197
813
744
933
775
219
93
724
722
224
608
815
657
17
443
188
599
352
833
455
645
589
732
498
959
923
969
652
296
972
492
371
966
338
85
235
390
276
930
127
562
425
345
247
111
660
977
468
372
268
326
243
548
456
793
510
593
280
270
982
830
306
818
339
374
777
854
602
995
698
972
264
861
52
625
482
891
325
520
456
949
380
251
695
869
420
368
414
323
284
312
556
88
593
552
45
150
92
550
584
832
214
314
222
408
205
289
269
791
901
830
848
184
183
617
913
41
656
943
327
214
928
136
74
505
461
21
574
35
345
347
703
718
820
256
481
850
362
763
245
174
487
161
345
443
291
663
164
715
235
781
843
960
104
905
165
288
36
380
220
387
312
813
146
202
840
858
931
904
76
139
992
344
918
981
6
219
60
86
629
155
622
396
585
996
116
286
441
839
360
275
135
962
464
292
85
559
99
284
849
992
125
417
823
777
296
812
945
929
216
584
284
306
719
718
602
931
971
4
361
371
910
957
298
39
314
126
202
654
233
890
358
982
251
84
213
945
233
293
693
813
250
341
166
493
196
916
845
407
502
646
8
854
770
153
537
161
803
70
179
804
400
301
926
640
792
588
679
102
293
546
263
670
233
890
407
694
420
212
490
403
296
212
239
212
480
275
681
341
265
503
617
992
534
819
275
355
565
241
671
662
977
126
518
519
226
147
453
201
650
747
480
355
670
208
305
898
266
416
111
618
755
541
659
297
501
900
238
762
285
879
236
911
16
456
722
385
957
911
751
980
41
345
265
21
693
896
603
671
73
306
411
964
738
355
684
800
435
124
839
515
394
526
409
163
50
527
520
658
66
241
7
628
727
492
410
776
106
981
539
316
792
327
624
479
690
537
84
72
255
551
781
342
127
595
298
815
13
390
824
928
501
615
63
490
249
266
463
746
435
125
854
69
210
521
588
331
369
901
865
215
408
878
911
39
124
791
503
677
41
493
83
790
815
402
478
885
60
691
828
24
667
435
851
18
369
113
789
846
79
450
629
829
773
499
1000
513
592
793
575
618
292
839
719
499
135
306
940
759
808
468
418
4
676
599
273
689
674
820
436
336
871
389
398
576
107
38
718
986
559
214
637
681
820
854
52
274
566
522
765
114
220
4
938
911
601
349
15
964
620
916
651
290
136
358
702
82
178
579
336
38
66
496
615
297
917
348
367
973
193
368
761
867
264
621
150
467
549
386
579
785
234
949
138
994
60
435
334
142
390
112
973
676
799
250
12
523
871
599
378
139
256
259
121
723
552
103
549
219
516
142
445
945
273
758
854
752
635
562
279
391
446
77
238
600
128
469
363
598
1
766
882
364
644
537
267
915
4
386
716
261
756
75
524
48
863
498
664
484
794
101
917
617
570
11
620
954
12
84
743
977
609
168
338
878
257
258
484
881
773
638
621
39
53
92
674
304
874
999
767
786
435
615
388
118
586
556
88
470
552
615
214
791
937
49
481
124
613
342
325
179
915
902
570
196
657
887
342
63
724
603
607
584
35
437
718
706
301
278
863
135
659
57
545
375
538
164
11
895
643
678
876
846
239
83
27
545
237
170
610
964
886
500
853
602
947
955
70
187
446
436
305
847
850
568
496
219
972
651
933
155
67
600
179
440
480
54
263
235
705
626
482
807
358
34
962
256
872
767
55
10
816
759
123
996
296
925
478
344
735
116
796
625
73
797
428
729
520
561
679
149
447
447
337
152
347
408
651
956
179
635
103
564
203
340
564
755
416
819
834
311
286
148
383
22
303
398
914
92
140
311
814
58
474
338
233
140
344
911
420
406
774
889
46
576
855
829
590
394
423
799
25
563
364
632
287
174
176
939
804
242
419
913
129
190
164
9
282
93
116
549
646
988
215
219
512
185
674
420
845
915
622
943
60
863
791
205
218
834
973
934
702
592
562
309
625
865
838
124
851
909
918
363
947
849
240
513
364
534
247
368
99
143
719
803
89
209
608
760
271
889
518
898
99
401
473
616
907
230
900
588
949
537
129
709
429
200
35
746
516
261
548
458
768
219
799
959
130
741
145
52
918
360
593
942
215
192
288
259
855
128
438
10
499
935
585
150
489
460
955
47
740
642
720
746
203
171
917
758
103
35
448
476
870
305
199
435
310
272
940
788
192
55
177
57
442
636
521
508
145
151
765
116
410
539
48
558
788
496
343
191
247
101
358
34
117
238
778
525
696
295
139
139
518
553
459
222
978
656
773
86
970
156
733
622
988
724
744
678
175
782
313
206
259
631
385
543
332
639
462
860
6
330
217
299
657
532
905
40
312
547
579
1000
781
857
130
564
121
881
578
734
479
41
38
118
435
745
825
615
32
719
735
64
417
6
233
199
883
363
754
860
138
821
973
480
290
786
345
492
887
561
496
367
977
932
762
477
897
470
435
500
940
429
367
23
91
872
367
233
210
783
930
214
254
137
827
663
167
223
810
597
361
856
227
479
552
488
999
334
727
93
485
769
713
514
308
211
869
671
341
542
169
568
377
967
898
605
79
278
967
773
388
345
590
544
884
814
641
237
151
314
762
380
994
682
195
889
369
462
181
225
694
469
725
357
480
479
47
240
823
975
843
557
756
161
889
864
813
70
88
599
159
463
733
920
169
216
657
568
456
938
622
841
190
762
395
98
251
773
373
296
376
926
336
672
33
893
758
193
983
767
877
20
709
817
315
255
743
444
230
978
367
992
230
959
961
498
410
388
353
861
172
473
911
96
351
641
533
565
393
974
877
794
454
823
869
289
50
821
805
806
426
723
504
171
329
148
662
306
528
24
285
910
404
858
718
354
307
589
661
359
487
497
31
319
622
560
654
904
373
654
986
539
464
207
81
750
449
598
954
837
795
225
997
245
686
581
451
865
613
817
316
424
855
374
265
816
979
331
486
88
787
382
413
79
435
155
657
82
766
417
972
447
338
528
853
290
367
76
294
411
875
132
692
935
714
817
600
812
890
462
631
479
947
113
748
788
956
986
626
444
886
266
726
752
677
430
637
961
201
199
454
185
590
690
83
159
43
323
119
113
464
663
309
471
802
849
318
736
126
104
433
398
486
944
386
266
508
329
862
598
472
980
978
920
976
528
452
247
637
121
736
696
231
901
992
997
665
168
912
488
674
931
397
329
400
478
55
897
37
551
728
462
24
343
947
555
993
127
798
339
668
223
581
184
223
85
21
922
937
219
628
406
346
577
803
104
134
927
808
620
987
182
903
968
905
547
547
269
701
108
276
124
913
159
734
557
272
19
871
523
634
97
74
152
742
861
593
476
86
952
890
684
140
406
113
497
379
603
798
7
313
121
397
370
333
743
624
458
173
752
935
912
547
193
434
189
238
839
632
112
494
554
839
123
610
725
174
186
822
211
558
523
113
87
806
260
423
961
914
369
684
923
81
811
727
957
408
849
481
368
388
902
518
201
121
252
204
845
879
341
308
739
914
70
567
577
284
873
601
691
445
130
455
83
736
3
54
500
765
578
576
466
948
530
254
525
613
866
650
786
277
738
858
796
517
441
877
565
433
640
487
78
84
89
148
98
799
734
130
146
718
365
414
400
173
604
859
196
299
922
658
401
765
58
144
582
211
137
74
548
718
512
390
415
833
836
123
999
25
533
740
338
576
253
455
986
874
363
766
332
841
715
904
844
166
607
764
735
270
491
747
139
668
150
404
273
629
702
150
694
444
889
830
602
383
208
575
721
356
50
992
172
761
950
473
803
988
213
50
464
279
363
301
749
133
585
128
945
762
421
947
723
173
678
484
571
552
936
977
703
588
461
380
199
697
702
873
657
69
689
812
548
632
873
372
205
954
760
740
892
883
481
818
369
780
390
388
169
309
45
642
625
198
880
751
722
748
42
594
297
497
505
517
565
405
321
388
79
194
41
18
423
810
970
521
863
369
1000
459
779
562
316
323
976
20
372
43
60
747
112
882
712
196
226
96
328
332
322
351
448
419
511
120
74
562
521
959
9
108
952
575
629
279
736
28
11
632
727
790
226
691
165
413
202
758
374
605
843
559
81
331
163
31
150
528
936
820
777
555
291
502
443
593
422
232
320
589
660
317
505
730
901
580
668
227
463
90
392
684
174
502
685
505
22
149
839
943
833
793
293
305
78
704
70
262
68
85
495
388
901
815
53
65
761
408
950
420
740
251
664
119
872
880
772
2
143
476
398
435
585
259
377
317
576
672
559
545
558
570
702
537
497
930
878
845
428
17
431
847
266
488
295
743
579
361
890
739
268
802
127
481
706
317
605
2
293
334
111
91
785
70
737
29
658
163
989
635
687
541
786
142
126
101
977
788
658
29
798
120
91
684
465
204
433
900
604
213
654
575
231
767
65
293
813
322
877
515
143
836
440
497
361
913
225
51
624
778
702
71
693
401
42
600
682
555
359
186
677
10
168
88
132
540
580
3
232
756
349
903
315
949
230
159
484
905
309
397
670
898
231
709
188
431
979
317
353
360
524
336
80
90
992
140
310
514
446
473
331
416
102
26
565
316
1
914
991
96
582
148
155
293
461
647
19
792
366
784
359
187
342
224
708
832
444
570
543
264
252
586
106
113
5
944
680
107
436
979
723
485
620
785
77
291
93
479
69
554
470
830
721
998
196
477
857
651
657
410
870
627
668
710
228
646
141
789
720
12
507
913
856
823
12
86
106
350
866
839
91
695
514
55
802
303
814
850
624
320
7
493
112
223
605
379
670
260
392
302
845
541
586
54
792
286
20
883
580
333
422
873
927
550
850
509
912
449
183
596
519
951
519
878
86
28
292
490
632
869
771
101
791
526
676
271
751
183
596
391
672
175
840
941
680
36
955
766
237
423
805
194
684
455
165
965
10
422
45
881
45
826
971
154
108
995
877
867
114
293
808
54
110
235
641
490
862
120
731
879
613
537
640
604
295
908
307
45
204
890
384
479
487
529
917
564
83
462
815
575
167
421
654
199
924
810
358
171
891
433
550
939
295
321
134
449
272
35
312
410
6
58
11
585
36
308
617
318
923
607
10
585
805
296
746
313
882
925
872
814
584
461
833
336
993
681
22
535
49
440
604
963
225
277
192
952
233
365
787
854
655
499
369
57
511
682
970
27
253
613
94
242
170
164
743
706
824
188
360
680
611
899
107
958
775
944
586
93
239
174
734
350
758
665
47
321
859
871
15
932
841
560
195
449
621
780
123
273
870
622
521
277
560
566
183
374
906
872
757
217
455
280
991
795
778
719
640
215
472
860
391
589
67
163
696
514
53
667
854
509
62
983
687
708
75
879
872
495
28
83
22
105
645
448
590
158
843
969
44
834
575
662
991
392
28
659
665
711
801
398
138
435
372
94
145
921
138
122
115
958
881
41
563
768
835
512
345
564
928
223
737
265
677
79
19
3
301
803
785
422
322
806
652
650
709
840
970
707
720
496
887
571
460
459
196
411
188
759
403
810
308
973
74
281
629
321
983
732
306
660
960
828
129
906
137
777
505
327
264
949
500
80
838
890
757
297
357
185
44
343
677
426
978
216
48
542
997
165
631
879
203
171
120
842
139
500
994
507
985
70
298
590
937
925
674
377
720
669
606
718
570
79
592
37
763
82
701
523
534
21
162
297
433
836
103
727
759
411
47
81
918
988
328
882
840
956
910
746
34
312
929
888
257
512
492
132
705
140
8
189
977
991
196
428
227
282
953
635
996
263
326
456
107
915
345
211
792
287
826
122
904
350
836
918
413
520
322
256
31
43
601
895
321
700
998
738
636
690
895
196
698
548
223
739
953
573
501
449
468
97
731
962
944
868
7
34
801
702
372
843
537
759
538
666
306
4
289
961
109
223
579
386
381
622
37
352
756
658
713
741
652
62
394
773
809
979
148
291
601
204
295
476
342
283
159
890
296
175
253
347
725
971
745
717
912
264
252
573
198
373
273
858
106
306
162
900
92
384
855
206
283
418
462
965
426
540
721
661
796
98
358
305
891
479
966
223
703
322
379
511
685
756
765
441
43
354
926
863
373
240
132
404
663
481
824
896
776
547
392
607
687
764
534
181
659
323
295
397
783
772
15
20
861
205
460
235
317
253
570
681
637
816
352
116
67
987
744
58
235
419
220
292
696
657
343
610
187
3
680
237
262
648
514
852
965
609
346
650
984
73
645
855
393
253
319
720
395
332
72
168
709
847
756
971
288
47
39
737
847
717
69
768
339
656
353
842
7
452
591
315
951
341
578
666
455
126
852
596
499
198
244
323
266
440
307
663
190
774
66
900
703
807
381
641
412
975
938
663
557
469
703
383
988
849
266
138
277
998
418
599
468
771
820
211
768
371
21
48
268
581
44
899
611
751
292
284
786
504
864
831
388
181
334
645
590
667
676
507
11
317
990
145
444
794
500
870
164
304
322
56
548
253
16
839
186
585
536
240
289
580
596
135
198
680
454
87
20
53
673
837
926
783
596
185
904
427
336
466
616
831
191
703
158
986
24
417
977
371
19
452
706
689
644
474
489
695
380
646
917
577
851
229
84
538
411
906
618
124
142
667
847
894
481
713
553
337
801
48
265
674
848
918
301
937
271
242
252
136
983
393
608
248
825
913
35
922
746
818
553
732
299
773
174
821
684
509
64
171
598
961
185
30
743
862
935
801
968
167
471
49
320
372
802
732
69
569
862
816
784
915
729
651
470
206
595
878
40
836
936
598
654
346
66
479
779
187
814
424
551
147
167
245
646
257
543
541
925
342
392
697
731
950
41
3
269
908
708
821
877
874
241
637
313
862
262
198
258
614
361
963
509
806
595
541
947
384
241
264
895
9
568
831
578
742
552
257
311
487
29
906
319
602
454
20
797
118
920
458
492
454
23
899
866
973
510
66
296
881
482
494
957
263
47
653
955
537
451
917
172
303
552
746
945
863
107
99
897
33
187
787
812
979
18
41
565
857
928
948
234
883
623
415
922
122
612
698
744
947
974
705
630
262
814
776
825
783
175
431
572
581
112
565
911
428
230
514
37
144
377
649
150
593
45
854
459
849
173
714
356
55
109
83
715
909
200
498
89
799
320
732
283
862
300
679
274
904
770
611
312
599
359
633
703
526
747
476
923
575
999
698
140
492
475
760
244
315
661
514
770
695
824
247
568
492
305
723
9
998
807
741
536
355
445
384
916
913
475
763
598
978
90
790
399
881
652
981
468
710
54
735
681
672
678
381
212
722
58
976
672
76
714
516
494
599
925
841
604
640
642
825
523
624
679
678
646
329
380
437
884
136
560
910
202
562
644
492
427
901
298
961
831
529
505
304
542
351
885
789
658
413
959
208
725
308
509
593
331
612
72
611
701
44
77
246
250
265
646
531
799
352
757
934
378
223
484
260
64
556
153
886
46
80
74
98
94
361
632
725
123
16
784
72
837
359
133
714
684
364
230
81
883
758
497
738
662
667
930
100
932
869
781
745
183
20
460
533
356
661
658
644
819
909
616
166
734
470
36
916
384
279
79
174
580
437
799
145
153
918
557
173
554
883
111
954
447
375
572
804
498
121
71
593
664
648
848
846
587
412
727
633
28
406
617
929
920
858
340
273
728
885
160
429
22
502
53
166
463
387
958
537
109
707
753
438
503
516
3
886
961
91
5
731
846
724
715
807
152
136
596
688
372
686
429
990
314
226
746
798
646
554
118
479
258
932
573
497
38
396
992
845
129
190
194
288
391
330
965
740
247
670
859
167
826
167
927
147
211
810
278
567
833
423
291
307
992
106
257
530
423
842
157
644
68
755
556
987
795
449
350
419
756
471
147
668
149
487
691
416
595
143
38
17
322
561
174
293
258
454
838
202
23
543
539
483
412
616
708
960
724
971
46
132
431
202
505
544
726
997
849
37
89
90
305
933
451
609
424
968
841
283
842
808
548
10
870
573
92
978
625
862
438
564
729
601
888
510
714
859
504
724
706
825
878
535
491
69
424
509
63
160
600
43
492
268
306
829
806
107
768
428
62
953
331
184
297
407
231
210
326
45
400
638
136
364
744
133
717
658
444
301
683
779
533
108
759
118
120
568
280
858
516
351
713
978
107
227
596
789
361
382
591
606
183
742
715
985
580
281
469
272
278
95
175
791
656
136
561
158
553
565
787
923
460
379
926
751
925
859
499
248
109
391
202
361
466
843
491
296
729
903
189
383
447
491
625
540
638
968
238
751
163
27
794
181
701
493
728
998
976
948
447
966
554
130
385
808
959
667
548
218
832
824
914
90
711
742
590
581
237
285
503
123
405
336
241
490
905
524
956
758
572
611
104
298
573
398
385
943
973
773
669
779
893
757
686
754
542
498
288
742
194
884
997
257
495
356
601
849
252
584
431
41
552
665
620
159
95
38
38
748
265
985
174
487
392
560
581
672
5
359
883
189
280
41
974
840
412
181
172
843
802
39
522
86
8
923
664
366
345
534
466
358
307
94
642
269
990
903
29
873
547
209
899
684
229
920
702
6
77
578
285
158
195
936
721
488
776
58
947
100
287
501
674
244
839
162
786
816
660
53
154
476
412
98
256
713
953
576
771
590
792
339
506
389
970
918
202
893
704
59
124
638
296
349
615
169
721
258
822
637
796
23
444
179
282
983
239
213
605
839
538
54
399
628
884
256
799
891
348
445
754
58
941
651
592
913
585
162
335
320
218
313
380
344
230
565
490
932
607
997
83
191
932
254
65
657
864
77
233
652
37
900
830
173
790
742
585
1000
289
549
113
545
516
22
816
330
785
848
791
497
941
544
874
324
919
651
970
589
357
655
876
111
457
824
987
197
669
731
812
381
483
341
306
829
998
516
391
463
842
727
642
498
437
754
762
852
314
963
753
744
41
459
55
830
774
422
552
597
702
378
727
694
340
877
281
192
166
536
827
511
435
56
74
7
438
496
732
270
712
604
582
93
546
446
783
676
861
271
911
473
717
898
497
832
495
773
26
350
784
699
444
104
778
472
533
214
429
451
945
856
232
713
710
39
756
683
158
143
162
654
1
262
114
138
161
698
470
986
818
415
649
789
213
146
702
510
115
131
290
9
700
821
853
820
743
540
986
568
668
787
349
183
515
301
85
863
862
608
365
73
372
978
621
980
696
490
999
324
150
948
991
739
633
57
741
310
920
889
918
37
993
575
477
185
317
864
817
189
633
834
189
498
522
483
843
13
919
488
574
612
579
786
180
252
359
243
718
679
375
647
524
173
391
339
168
594
926
602
892
76
557
514
432
624
287
497
365
404
583
446
591
787
761
272
618
188
301
661
723
778
972
947
200
901
937
584
341
211
444
567
935
398
402
865
176
224
20
879
476
348
927
45
446
866
680
38
650
683
588
89
663
784
311
792
563
351
869
310
66
517
761
622
37
903
607
128
127
868
972
887
876
229
394
431
230
113
393
960
329
334
47
919
278
178
587
539
228
870
82
846
398
808
447
750
165
373
423
822
859
339
908
914
898
958
140
14
18
98
706
26
405
344
191
549
3
995
311
795
155
231
43
919
12
173
251
509
216
569
464
906
260
333
248
571
793
270
332
528
421
738
156
578
769
929
974
755
440
109
381
71
473
701
7
126
715
9
641
20
211
759
788
811
585
604
299
431
561
690
347
385
872
563
929
511
458
986
91
401
109
287
83
338
886
917
306
778
990
582
338
505
779
604
470
29
931
861
896
208
209
559
380
60
783
71
722
123
460
761
215
204
306
154
460
92
21
565
669
105
618
568
324
922
187
295
76
207
482
926
551
298
283
526
5
959
139
791
983
515
382
226
223
133
909
888
317
623
251
823
799
461
755
740
883
616
151
199
4
525
8
617
947
381
27
922
448
524
860
378
209
415
149
560
120
576
30
380
388
107
838
126
405
607
884
521
457
444
4
697
967
729
500
17
875
461
547
493
65
329
754
687
454
663
870
703
467
88
650
209
275
186
285
31
989
504
574
776
835
123
927
342
155
150
339
137
539
18
437
944
604
802
547
318
77
278
580
325
213
628
593
114
514
266
233
908
848
11
883
3
121
709
913
492
592
760
755
539
619
968
815
417
882
919
112
812
802
226
995
293
538
863
564
396
262
328
937
118
90
503
332
790
88
998
118
723
673
293
561
984
431
506
824
576
356
374
757
15
771
942
411
931
354
839
797
94
743
365
885
548
612
159
641
171
420
592
898
83
74
622
450
505
10
568
175
28
941
143
745
890
580
536
919
426
942
688
350
865
132
831
40
736
770
111
772
373
735
847
159
349
122
50
220
710
37
632
569
539
244
244
403
123
305
558
898
942
307
252
570
27
957
970
518
879
274
755
246
762
57
219
842
972
317
127
652
617
654
355
644
384
834
628
66
837
604
339
924
76
516
860
288
421
943
445
112
548
850
164
41
638
222
549
806
97
403
634
174
330
786
497
449
168
105
939
532
176
63
666
715
752
36
80
630
815
702
360
213
2
631
281
294
504
95
42
675
788
931
141
404
905
120
248
25
519
927
134
747
997
529
28
372
615
935
948
421
47
857
439
881
213
247
315
555
710
590
13
702
708
737
130
414
226
134
728
949
956
548
591
90
49
590
296
845
550
993
220
687
767
369
326
466
161
798
279
801
407
895
655
165
600
562
624
439
590
425
836
550
420
893
661
958
656
945
823
346
955
625
424
790
597
137
11
560
74
565
292
267
376
793
393
635
789
972
513
265
758
285
810
147
914
280
209
668
883
448
380
958
844
684
645
322
729
818
693
706
821
17
50
254
901
220
856
66
818
179
783
614
489
849
751
351
396
243
188
851
92
390
612
959
712
321
166
398
303
434
285
216
227
87
787
200
148
939
100
918
199
321
295
642
216
606
511
605
260
557
858
311
722
511
601
506
530
403
690
852
553
997
629
243
257
479
239
112
916
501
510
753
239
497
333
184
915
82
157
647
384
207
270
609
236
776
27
430
879
700
17
601
486
109
45
799
169
813
603
483
894
55
293
239
556
32
271
908
119
402
821
700
43
523
172
761
294
169
499
58
324
590
641
274
555
888
147
931
654
865
636
581
195
973
99
117
809
783
531
510
273
387
688
961
5
688
823
90
75
762
484
672
329
558
138
766
46
213
701
928
297
726
291
662
98
953
732
436
461
624
97
401
67
15
54
828
388
2
323
313
891
327
303
834
771
880
422
178
178
661
754
654
306
635
237
150
868
318
458
20
707
873
43
858
213
327
29
602
959
33
926
22
791
481
773
858
612
292
382
513
171
869
739
345
885
240
851
926
675
633
171
379
249
146
352
235
945
625
88
679
870
917
29
744
898
247
58
741
486
725
520
60
91
794
355
873
315
364
866
929
654
436
477
994
779
971
104
102
113
443
971
108
280
338
248
176
956
758
427
56
383
401
122
438
864
187
114
810
951
576
460
738
536
958
272
818
679
303
211
220
789
905
70
282
210
523
569
133
468
959
861
459
307
19
163
400
193
309
585
495
716
531
73
184
917
138
228
504
32
765
971
908
723
142
596
992
456
622
879
338
722
785
259
548
942
864
178
72
915
641
493
884
157
251
829
325
504
973
373
683
360
624
719
404
391
305
44
963
673
761
678
627
522
701
659
936
887
530
477
641
732
699
687
704
343
125
360
946
388
378
569
48
475
789
580
661
225
502
630
915
976
11
816
275
78
878
138
829
535
359
511
675
463
18
434
501
246
876
695
504
253
199
445
83
702
950
804
272
412
471
64
912
255
474
275
667
564
424
205
154
702
516
127
502
568
459
702
314
213
245
209
713
350
987
394
233
666
603
186
400
21
229
435
318
114
318
236
541
759
990
977
973
829
124
260
949
775
330
784
543
690
721
980
929
355
444
784
924
401
405
116
559
288
454
518
611
295
233
38
520
337
639
6
326
373
658
924
415
784
464
901
497
625
959
399
23
910
828
15
739
271
952
89
837
413
754
233
731
550
294
907
921
715
425
704
231
92
35
897
411
690
395
122
652
340
654
486
683
536
656
267
378
312
636
777
572
913
447
102
121
469
550
785
580
250
279
592
842
490
945
609
848
543
145
502
17
448
788
420
346
318
972
473
626
731
393
455
363
633
549
556
746
594
308
965
678
527
555
46
251
906
413
311
886
204
997
68
994
862
38
347
580
376
367
263
538
212
663
256
237
658
553
124
365
193
441
519
192
660
902
413
545
339
743
8
217
714
353
364
680
916
635
997
599
190
450
793
874
276
699
686
661
715
64
423
852
604
27
378
521
457
879
871
457
500
540
53
907
234
993
710
523
360
390
556
734
321
657
660
236
275
59
21
894
67
212
26
10
166
202
179
451
228
968
85
583
717
399
491
574
949
934
564
799
314
543
229
573
596
220
335
588
412
343
593
343
954
787
16
561
12
639
314
791
930
642
839
819
185
199
722
346
835
350
605
570
544
210
954
325
556
917
855
601
722
719
792
74
986
978
336
818
657
501
287
833
826
820
820
511
416
636
542
878
222
245
639
538
541
2
923
62
338
906
862
271
563
249
822
847
40
144
741
838
42
463
683
875
599
41
651
494
699
783
467
490
870
234
933
280
293
580
790
378
732
357
108
697
82
121
688
462
73
205
442
403
580
249
506
65
414
170
251
567
890
382
373
484
749
501
197
817
209
754
629
487
745
249
880
177
275
601
607
993
728
405
347
51
226
49
731
856
503
164
181
769
36
792
323
348
120
770
417
947
860
752
225
235
927
525
559
496
321
202
117
69
275
696
834
671
461
98
178
347
240
142
315
229
799
419
73
972
968
623
174
993
233
932
817
683
921
75
811
71
280
968
214
381
870
621
948
922
738
317
816
467
994
650
237
871
678
550
103
832
54
465
642
109
469
496
687
906
619
533
964
153
923
838
181
823
683
903
245
862
144
557
29
357
58
568
890
730
718
397
674
21
344
821
103
854
409
984
938
839
390
428
70
813
541
304
204
218
567
717
499
527
161
486
996
562
424
245
849
190
19
386
567
342
968
676
153
617
437
179
491
18
513
681
493
21
19
139
966
161
313
108
886
455
376
231
10
510
479
629
681
102
718
339
41
803
703
622
578
249
641
565
941
767
871
32
557
974
25
394
131
575
407
406
620
648
367
876
972
813
358
308
493
104
958
515
385
146
578
118
425
246
210
244
354
206
192
648
738
767
487
37
907
492
934
898
202
616
46
772
1000
629
149
58
386
155
307
128
127
119
703
868
691
77
436
309
951
170
767
803
568
786
317
240
268
48
917
227
865
119
850
18
86
459
335
437
599
502
816
503
117
416
999
651
855
168
267
134
348
940
453
321
77
700
328
527
260
440
107
940
52
735
646
550
58
124
359
168
719
398
135
282
227
585
257
373
319
721
956
966
320
889
981
872
268
489
939
329
309
184
917
489
307
362
940
171
25
948
359
182
566
381
179
303
348
210
195
863
734
733
777
583
439
369
179
501
730
27
48
609
460
336
632
773
21
210
483
988
355
17
120
411
979
324
438
811
811
416
544
276
447
995
713
189
446
234
162
247
899
427
11
54
549
16
163
743
740
283
298
42
642
551
974
894
140
513
795
695
293
456
105
444
845
830
381
305
538
363
317
17
709
967
21
259
834
210
544
878
470
646
103
222
75
668
71
57
912
449
427
281
68
567
674
904
179
351
625
146
566
626
894
657
854
179
715
837
174
252
670
705
24
284
720
237
983
782
460
338
222
224
328
207
716
811
454
277
217
260
692
973
977
272
734
716
298
886
952
989
121
531
569
120
112
23
4
623
966
747
359
902
304
686
844
495
548
460
469
523
493
642
860
585
133
228
640
792
680
335
644
251
963
790
146
348
913
831
600
913
460
206
163
195
899
943
249
237
265
1000
255
599
868
205
396
806
309
123
897
964
93
503
371
382
799
436
988
469
75
656
670
763
445
978
430
482
589
709
630
152
595
607
157
312
246
634
424
682
911
3
931
104
183
648
210
701
796
424
404
16
806
985
993
766
337
672
329
823
836
209
89
454
556
602
490
409
911
809
323
245
213
974
712
816
873
974
758
518
950
407
256
510
741
771
823
768
680
600
91
67
29
728
320
534
245
548
100
308
232
120
809
958
940
843
206
377
24
97
666
816
656
730
641
380
629
932
169
373
954
531
967
308
513
252
248
83
151
527
983
96
299
223
893
625
381
639
623
620
196
140
305
744
168
457
608
24
182
181
932
99
67
822
137
115
996
359
311
62
527
786
55
382
63
395
995
959
420
774
741
958
247
148
967
600
818
423
823
481
242
770
682
15
621
47
396
996
49
212
876
670
606
753
610
852
930
898
513
364
323
262
850
840
772
928
579
929
442
680
633
673
943
106
428
510
626
329
169
179
317
694
457
180
119
373
701
263
346
741
64
334
584
921
584
495
952
447
912
349
397
824
372
648
399
735
929
637
408
482
102
871
615
194
66
657
909
245
833
447
142
960
373
139
343
388
882
634
66
521
312
108
944
498
769
297
652
678
501
795
247
714
161
392
605
261
559
935
412
918
773
451
635
223
999
427
219
878
673
176
336
470
648
148
770
850
959
83
282
497
92
55
154
843
300
626
199
519
972
431
345
393
802
867
963
601
680
571
17
921
801
477
762
77
349
909
971
28
228
962
190
133
622
173
475
869
903
507
403
136
986
300
919
306
664
396
31
584
993
385
296
291
590
878
428
320
887
320
420
301
474
68
554
714
100
646
966
256
88
490
712
457
143
30
41
122
839
213
689
45
898
352
919
812
107
366
893
968
602
830
745
762
378
733
834
941
688
445
703
977
704
674
184
412
743
236
246
991
508
331
4
183
607
439
711
789
281
972
905
370
806
871
180
580
292
97
957
465
836
13
794
262
751
869
690
112
244
164
793
84
581
29
719
182
247
362
40
505
739
277
620
709
361
214
639
448
148
753
720
891
711
217
783
933
210
936
235
241
530
692
753
545
99
125
741
364
278
393
106
777
735
689
789
720
478
360
260
389
754
213
858
998
117
618
107
250
640
41
394
773
757
44
797
731
348
699
495
307
578
360
589
549
622
644
103
943
415
429
725
181
260
739
1
212
567
248
454
440
81
960
506
447
355
765
80
704
329
991
762
585
651
438
146
212
810
440
412
651
941
359
129
875
252
711
608
452
370
784
222
147
759
640
856
393
888
852
281
215
818
258
901
594
368
833
96
381
857
702
753
803
53
368
864
270
327
692
10
587
40
472
437
971
723
315
256
796
815
748
793
540
129
740
399
23
800
586
961
215
255
308
13
250
910
35
180
503
936
664
255
268
419
514
111
821
809
846
501
742
747
823
589
4
29
811
821
648
914
977
773
129
656
979
319
879
211
560
337
981
464
634
221
521
311
35
395
513
442
506
671
486
526
93
555
977
170
866
527
84
314
467
185
179
652
872
263
708
59
90
971
958
371
368
366
481
9
496
224
892
543
135
244
468
931
245
415
114
470
975
931
547
359
815
760
529
932
161
609
99
872
983
419
602
470
621
857
876
487
510
95
149
12
718
775
815
547
636
955
834
324
359
231
781
460
779
829
95
574
30
349
50
212
38
704
190
108
542
837
720
59
870
329
893
262
343
231
615
496
271
167
132
327
80
961
846
372
284
371
827
811
371
274
431
676
942
848
675
803
1
273
15
274
907
654
515
245
626
779
785
16
706
848
731
584
725
602
513
712
777
680
603
357
568
762
393
574
329
250
927
878
889
62
501
877
549
370
582
772
319
531
173
110
354
59
734
401
477
560
144
398
444
829
407
259
137
969
343
336
134
173
507
141
77
965
427
519
742
493
6
478
243
481
875
692
613
353
817
459
593
190
120
427
503
808
445
127
360
892
818
290
490
206
290
572
236
644
857
364
385
234
738
770
853
352
397
133
984
690
729
500
253
862
497
678
193
785
600
148
451
855
189
772
306
158
912
448
670
902
687
767
251
328
540
141
705
465
810
680
308
693
856
839
663
752
70
72
717
301
332
452
600
835
904
137
326
399
131
728
230
233
780
70
214
807
125
198
563
562
988
820
672
102
816
537
17
264
589
417
766
208
324
21
726
308
403
368
615
924
986
352
390
167
639
491
318
939
132
517
401
942
925
633
714
186
808
152
24
169
429
834
954
496
664
630
794
952
284
634
42
407
874
530
370
223
775
84
787
162
488
86
283
54
218
707
30
992
547
434
878
435
867
111
545
353
91
982
676
485
169
373
252
167
559
666
944
164
456
961
876
202
956
931
257
52
787
989
602
567
342
982
251
364
41
576
85
35
347
740
619
398
399
394
516
368
516
112
772
902
991
625
347
779
245
95
27
889
269
709
974
157
831
447
428
272
466
570
559
738
362
160
457
604
765
890
977
512
379
14
657
117
760
830
667
501
544
663
829
498
629
934
674
794
193
836
885
789
747
472
561
528
13
779
303
703
198
876
548
473
836
197
587
362
126
993
252
170
636
287
70
276
791
121
136
651
203
397
144
706
817
271
730
902
116
325
752
516
213
679
789
623
144
905
25
973
654
945
395
171
876
806
304
352
227
200
102
303
574
313
151
26
932
579
756
801
72
594
131
300
541
543
821
531
636
603
85
314
721
118
730
913
483
722
583
508
775
370
474
442
304
963
414
928
409
83
276
32
781
102
972
135
61
63
62
504
473
300
989
888
767
790
881
283
895
9
374
113
429
442
926
178
537
302
674
936
449
49
467
191
5
223
225
771
282
117
926
894
83
767
384
596
931
380
357
513
186
745
888
189
477
166
461
204
11
879
956
813
958
704
927
574
64
788
15
456
651
209
316
977
462
733
434
806
502
126
13
37
797
687
850
965
894
567
790
667
12
408
159
181
477
459
390
975
953
341
194
922
492
973
647
649
21
11
421
684
29
541
867
380
986
371
960
504
220
31
817
380
875
625
454
940
717
671
715
856
448
291
934
653
859
617
436
822
28
725
39
87
180
900
661
152
462
670
615
460
225
643
1000
21
622
215
727
3
31
177
501
663
776
268
85
661
447
328
547
963
411
975
532
188
346
688
425
98
279
388
303
862
397
541
902
632
30
328
960
796
927
365
377
589
906
442
684
458
645
37
420
107
692
312
313
746
673
938
429
135
859
240
678
478
893
103
106
197
905
992
725
348
964
963
789
762
248
918
207
502
247
167
642
240
782
895
537
90
745
532
188
799
500
65
171
468
151
229
540
828
519
435
36
773
532
412
878
639
236
648
82
513
181
645
933
618
248
675
782
930
914
678
993
605
243
137
236
468
725
735
411
982
687
119
361
821
278
841
652
508
452
640
152
874
889
608
648
952
139
577
75
847
956
740
578
472
132
22
779
661
913
721
231
182
162
110
797
411
909
919
596
882
163
228
362
681
283
905
286
581
799
84
76
691
668
41
196
143
942
942
177
699
872
981
249
300
669
167
475
884
93
571
890
85
577
891
257
359
64
773
359
682
870
180
378
748
396
657
848
93
551
913
424
982
799
412
471
952
901
848
959
317
346
185
328
505
110
988
152
498
606
190
216
644
215
72
64
931
71
548
438
807
154
588
557
930
845
941
742
231
737
37
827
48
356
334
974
786
731
499
301
17
33
206
496
698
778
671
113
282
729
969
980
579
142
164
496
78
214
381
568
678
801
137
438
548
979
118
744
776
254
891
540
703
12
730
879
266
194
981
758
417
659
140
328
675
920
487
495
518
561
380
734
975
982
322
903
910
765
929
100
730
282
401
426
896
165
43
318
667
538
740
54
275
114
781
566
365
731
586
900
837
26
685
333
458
492
281
748
315
696
968
371
85
705
387
137
485
49
505
768
764
688
240
222
530
620
524
694
297
873
905
294
522
497
516
653
874
39
951
119
112
863
430
429
304
465
760
236
312
46
953
656
608
232
926
398
231
947
866
254
992
295
397
570
640
568
298
706
122
830
516
834
32
392
158
253
37
8
153
592
999
949
823
645
546
192
932
413
542
622
595
406
528
363
953
562
653
162
299
57
804
461
626
888
792
715
508
549
727
655
579
861
987
435
893
208
282
62
868
327
477
76
529
605
708
493
802
185
291
869
964
539
386
539
480
928
287
948
946
97
579
149
114
459
705
267
850
813
654
256
150
943
144
699
940
588
581
707
172
433
601
669
573
887
526
246
486
478
910
567
497
652
694
842
260
697
997
526
934
541
603
429
778
505
679
68
881
783
791
217
603
441
327
591
289
420
664
851
403
288
125
750
770
486
565
408
271
543
733
608
820
272
935
314
122
524
804
73
440
70
480
927
265
658
295
284
483
561
612
754
162
339
479
501
633
190
863
564
361
620
469
328
256
679
972
587
962
843
469
208
869
26
600
773
499
301
628
675
172
800
75
761
401
8
320
196
331
538
134
407
737
373
423
57
704
125
117
314
72
385
211
691
941
837
777
553
145
244
815
757
110
915
8
408
341
765
614
190
823
812
700
842
580
979
649
867
671
435
145
2
71
314
368
182
738
265
204
977
358
300
305
342
130
250
503
904
460
122
156
340
161
164
341
793
492
348
191
377
529
443
204
348
870
620
854
199
460
679
223
656
425
530
541
536
392
686
714
66
49
114
283
641
866
671
63
605
383
642
426
78
400
885
536
79
330
189
340
470
115
921
488
768
48
160
681
965
334
622
433
787
769
28
858
221
774
727
72
840
490
604
402
528
567
323
840
419
802
650
488
588
524
368
376
47
306
521
792
107
560
685
84
1000
884
399
882
496
547
586
225
790
382
404
944
560
856
178
357
888
953
454
919
80
525
8
558
733
594
745
805
600
131
509
127
3
486
609
545
656
109
285
383
607
589
458
91
139
605
220
874
992
890
394
629
97
452
95
53
17
314
424
463
883
217
417
551
146
876
574
364
96
591
954
121
984
282
985
611
89
392
482
632
215
276
192
949
703
69
392
259
490
552
800
269
751
23
999
485
78
900
593
868
400
964
648
870
525
627
337
267
476
846
486
21
342
879
710
158
814
943
792
768
23
906
169
624
553
326
973
178
214
949
6
491
170
944
447
750
420
560
182
742
427
690
752
733
826
206
956
699
230
695
288
38
793
648
977
378
850
883
384
998
813
214
477
73
885
206
370
185
445
771
777
774
725
475
965
936
217
318
593
449
733
151
266
606
74
485
688
972
288
715
524
547
834
390
378
602
441
844
644
545
172
378
217
726
36
172
608
69
431
674
810
112
719
447
516
72
220
473
276
811
447
430
162
198
820
124
675
92
659
484
725
178
962
446
923
121
661
371
671
313
344
838
830
469
582
159
690
1
727
637
767
419
960
663
242
208
778
51
308
941
982
573
682
644
168
318
616
101
632
782
1000
194
952
350
204
939
711
145
886
319
343
759
287
743
200
955
983
244
960
448
212
915
57
209
297
470
479
681
482
467
729
938
19
180
523
875
472
846
907
865
403
934
7
210
380
267
477
102
257
454
492
980
393
870
122
613
300
347
712
152
93
908
504
285
380
208
602
410
768
627
426
813
872
863
650
161
481
950
440
141
462
951
602
883
586
885
404
922
388
921
997
76
260
405
349
202
163
509
308
28
651
11
171
985
406
428
808
671
482
801
740
787
860
867
899
870
404
469
598
936
222
780
507
279
482
319
551
145
138
877
986
256
276
435
26
602
331
864
496
390
979
326
614
725
65
525
597
300
38
74
918
935
923
597
182
10
117
453
45
167
176
764
402
250
48
548
500
722
672
618
590
558
618
955
877
32
726
836
503
158
744
932
658
623
696
182
872
299
208
871
656
705
671
244
568
724
175
707
668
123
746
962
899
811
842
215
659
738
2
430
444
867
631
189
925
740
750
702
400
111
706
443
877
978
151
824
360
343
440
936
466
507
840
46
305
694
448
771
995
615
854
812
108
880
420
317
287
432
931
113
276
787
218
547
550
714
26
32
969
63
880
593
568
454
859
571
733
658
723
707
204
414
60
427
578
425
785
668
431
291
607
63
949
475
942
529
422
533
743
407
141
948
278
41
9
651
981
66
241
353
675
336
956
271
992
974
125
921
997
803
351
733
520
941
222
400
510
844
901
635
611
479
502
583
859
842
550
401
115
622
823
225
606
836
804
160
891
745
925
105
603
197
488
587
893
618
899
835
78
379
528
141
400
619
665
660
451
571
247
399
318
967
348
965
874
559
448
741
54
565
339
619
392
655
280
279
667
265
501
911
331
373
427
702
338
541
993
644
665
991
376
894
542
545
711
281
950
825
457
979
31
524
381
389
812
689
743
610
729
317
832
50
351
95
952
135
516
928
546
279
999
698
75
309
256
616
3
271
438
211
421
395
689
607
20
926
165
531
335
476
650
350
55
886
252
332
4
231
374
305
57
779
976
767
94
741
787
405
805
998
323
481
262
963
283
137
271
164
487
485
835
841
935
311
48
294
631
144
745
236
5
384
360
879
830
450
599
509
689
766
592
667
551
111
931
675
92
760
380
747
729
222
614
728
482
791
135
108
804
247
199
765
304
176
160
334
721
184
288
208
312
268
353
488
75
757
58
927
990
912
452
378
965
238
868
841
186
896
318
12
991
505
863
989
335
702
735
224
973
995
106
284
562
856
753
159
86
299
140
192
212
362
12
530
204
107
383
652
105
92
290
356
834
580
946
55
217
732
258
191
610
349
699
42
930
691
811
850
252
635
153
966
649
25
517
329
450
681
629
690
432
958
942
46
411
434
996
871
257
67
96
3
943
314
22
425
68
232
103
503
579
890
846
112
111
740
476
881
877
411
709
416
119
536
348
15
352
176
230
674
643
30
670
605
195
946
154
254
705
601
167
484
953
908
972
325
804
208
537
502
611
713
718
118
239
988
158
286
421
157
690
782
370
759
891
726
379
536
206
187
732
922
652
562
795
163
515
708
796
996
260
7
49
404
273
115
440
593
418
809
18
609
132
776
29
99
528
186
821
399
60
96
889
120
598
670
242
214
306
724
468
239
802
198
414
881
13
826
646
474
52
28
128
911
919
456
272
133
198
436
930
24
587
610
572
729
602
793
137
205
575
37
897
81
431
653
11
906
61
670
383
267
346
423
864
936
257
145
119
359
942
587
87
21
167
194
626
146
248
159
459
180
681
624
455
337
247
837
933
993
146
481
632
211
172
866
621
633
855
578
784
666
251
74
597
832
70
387
307
308
987
618
887
188
676
754
530
761
994
883
377
996
269
582
60
494
446
73
260
971
822
493
322
474
976
96
6
179
804
175
614
591
660
359
985
526
315
797
186
120
710
539
618
194
620
645
600
868
718
378
710
711
667
380
523
177
361
669
523
238
35
158
161
818
427
507
244
972
37
310
600
652
806
972
572
849
511
236
701
87
746
128
100
940
570
887
332
829
42
4
845
318
485
60
101
723
526
386
836
833
921
53
853
91
323
550
943
136
330
294
570
939
6
313
300
644
507
797
983
223
537
867
710
249
131
214
184
111
274
285
294
711
874
360
535
35
687
469
655
51
145
380
238
806
813
105
751
294
529
779
479
49
465
788
835
752
695
859
23
825
181
993
237
830
50
779
314
973
508
356
826
879
297
110
766
317
334
193
439
831
840
121
186
262
220
48
649
251
297
525
652
237
3
359
367
872
909
42
763
200
995
573
482
484
610
344
327
587
370
114
759
695
567
635
318
929
213
212
872
214
437
82
983
935
182
233
365
201
848
742
712
180
949
671
59
819
359
724
891
735
53
98
288
477
40
732
190
384
305
406
353
767
327
398
399
615
972
50
944
377
954
480
756
57
267
942
468
872
528
485
225
459
886
992
637
975
878
343
234
73
874
781
897
792
216
661
41
106
265
196
681
1000
268
809
134
155
787
335
775
790
670
944
217
674
268
252
111
692
831
336
998
371
126
825
1000
553
484
899
957
125
585
282
135
480
360
896
917
406
252
248
907
646
256
385
15
673
271
309
368
273
629
775
180
409
376
774
225
310
567
630
86
962
879
480
796
95
301
921
839
802
603
123
526
956
175
150
130
794
729
630
176
31
782
636
821
17
161
220
585
297
169
122
437
539
739
12
48
882
892
727
230
782
620
487
770
135
88
165
803
530
997
463
140
395
161
622
764
359
673
202
653
930
70
940
17
783
923
530
787
22
137
396
594
530
992
861
431
369
835
697
409
329
625
370
469
337
878
646
265
771
46
706
607
27
776
222
727
345
417
877
927
295
852
388
911
946
914
591
67
773
77
382
717
885
690
753
542
362
412
24
679
252
819
889
578
456
704
182
877
725
713
29
466
912
273
104
491
678
275
146
974
694
478
336
45
355
676
169
842
474
167
961
538
178
724
780
172
408
336
168
282
730
112
656
853
215
949
685
879
835
437
92
447
579
746
685
723
654
102
33
622
695
896
317
853
637
333
584
835
467
963
701
621
195
316
164
471
80
330
4
900
327
727
329
12
556
381
83
257
805
874
208
19
227
724
514
833
123
162
966
311
522
454
183
412
574
316
804
830
822
925
413
76
683
774
354
102
891
412
974
630
649
410
371
561
414
331
531
420
957
62
785
375
804
854
5
190
565
310
130
418
435
84
166
598
154
226
419
581
835
222
352
447
730
524
448
370
730
704
597
630
847
809
523
833
647
593
987
899
40
109
889
49
218
39
268
394
338
313
417
515
366
694
346
140
539
904
108
993
418
369
254
550
147
865
294
17
692
907
269
437
106
797
575
902
275
879
976
273
808
529
512
299
424
200
40
549
525
645
756
350
482
174
783
448
504
817
841
454
443
100
518
507
505
8
600
156
329
382
146
799
114
886
110
176
624
829
612
855
412
251
625
651
357
695
409
111
864
776
354
971
510
360
255
48
284
759
28
243
316
569
154
870
822
826
356
311
700
562
784
414
317
437
270
547
678
410
868
69
226
520
377
559
351
67
106
55
689
81
777
745
39
754
748
90
65
410
34
129
199
857
392
778
210
696
311
328
983
964
988
275
72
110
761
224
184
900
765
563
785
390
907
331
758
46
997
771
206
570
429
268
267
765
704
128
208
972
861
258
985
683
187
221
179
7
804
23
772
908
1000
891
8
297
627
478
812
675
609
899
65
663
729
143
595
226
838
7
10
710
83
348
244
70
109
627
282
920
448
364
54
524
204
34
374
600
667
712
434
993
984
606
9
260
462
375
388
42
269
999
680
854
566
41
294
416
173
395
618
276
554
138
344
456
38
277
733
600
245
364
579
577
90
428
664
331
239
704
779
420
367
411
795
729
144
190
397
595
444
385
29
502
322
608
289
459
904
482
437
91
989
146
229
32
329
769
478
578
698
630
345
544
68
62
919
333
230
454
299
728
231
211
193
691
529
716
365
176
350
25
955
550
683
597
328
988
29
849
855
203
13
540
96
965
634
969
607
808
816
447
639
822
301
599
446
133
807
612
535
850
455
579
299
111
215
224
723
326
444
125
889
497
923
141
891
650
454
415
40
660
785
501
692
746
910
953
579
641
860
720
115
783
164
514
169
410
694
626
107
733
747
963
652
476
992
487
863
985
260
671
344
222
603
86
76
809
699
666
845
663
620
570
77
298
967
738
748
120
817
567
572
416
322
352
268
141
793
122
747
903
889
314
76
819
410
30
953
84
908
214
131
504
512
951
6
525
812
532
869
385
86
989
969
202
509
136
339
126
631
66
353
643
215
988
298
270
557
899
995
919
88
513
211
124
591
371
265
946
15
453
903
455
29
110
68
521
611
731
673
572
207
605
328
290
152
802
837
852
932
803
205
823
644
347
848
958
664
815
551
673
893
293
587
539
970
74
53
774
574
46
298
882
725
850
356
717
635
468
734
630
496
880
33
788
642
34
677
207
360
399
244
301
832
518
389
185
450
710
378
5
670
27
676
327
260
882
216
237
393
484
615
933
750
480
555
314
353
434
203
990
550
934
535
280
100
960
157
924
85
159
394
401
555
839
98
697
88
185
409
355
373
259
432
179
57
126
432
881
120
299
516
976
238
416
812
606
295
578
159
713
120
906
434
41
7
608
634
556
904
76
32
627
243
587
998
981
992
13
718
700
761
646
377
196
151
11
110
423
515
713
351
987
942
424
17
441
123
976
414
159
122
27
894
287
394
581
389
968
338
838
656
357
45
641
798
127
553
390
968
860
20
597
874
944
222
334
635
219
324
218
967
330
811
831
61
789
52
821
391
223
800
93
619
337
741
685
968
778
809
554
272
761
775
693
41
583
459
961
159
910
176
354
614
600
535
416
17
25
844
19
688
331
335
99
268
706
141
876
59
588
267
897
738
201
276
249
990
940
44
840
451
721
103
816
488
943
169
344
483
615
16
319
709
424
147
640
314
276
433
403
296
973
386
306
131
166
693
336
171
519
572
256
935
770
908
875
747
428
482
525
274
836
668
294
738
325
366
398
562
691
328
179
882
134
256
324
504
138
659
32
521
193
20
858
57
12
698
311
229
893
960
795
222
441
594
469
585
747
206
863
225
179
948
831
634
558
961
965
192
887
57
737
272
646
352
174
148
56
391
13
49
935
154
601
216
519
451
541
507
375
593
77
399
835
163
494
831
215
968
144
182
674
743
10
16
759
435
738
192
575
989
786
515
217
452
694
394
924
548
899
139
292
633
188
203
437
44
287
954
118
240
836
529
282
862
392
687
555
67
939
432
62
31
29
126
851
965
929
232
32
506
436
966
500
204
90
898
415
770
250
587
277
869
752
969
263
262
114
732
533
742
565
366
177
46
986
334
258
968
770
853
964
213
423
959
854
344
299
164
493
69
856
127
968
118
579
314
696
548
374
179
830
955
828
837
395
41
516
229
291
466
15
810
53
322
138
101
849
949
278
960
566
256
241
157
922
253
144
911
590
636
845
38
955
18
870
677
709
221
490
402
76
588
806
627
444
820
689
868
322
646
81
394
700
30
270
108
548
13
245
196
357
70
62
960
658
968
537
432
934
600
826
114
114
259
95
814
946
180
988
241
209
342
212
290
245
670
273
780
241
874
702
71
682
254
938
530
228
461
251
856
941
4
80
859
101
672
542
42
713
874
667
465
818
881
638
470
396
37
673
674
364
812
629
948
280
816
460
730
912
860
407
528
921
459
656
764
344
896
394
743
12
617
699
371
853
205
372
946
688
359
739
57
886
338
806
952
561
615
687
425
147
268
937
698
983
738
776
903
484
680
302
674
564
873
439
816
921
121
410
499
150
378
961
20
851
127
194
331
359
208
599
391
79
310
914
767
152
276
777
543
770
205
98
623
297
168
961
800
182
135
146
807
404
977
146
702
193
485
190
293
615
710
774
216
409
310
325
108
957
874
183
530
999
337
391
633
941
650
79
455
206
968
900
962
979
399
330
420
744
984
374
853
152
525
424
501
680
775
776
195
172
766
326
365
419
182
243
992
557
324
959
793
789
89
43
502
326
610
294
371
1
174
99
460
652
25
85
648
944
909
877
872
624
904
282
31
161
325
581
624
502
419
450
790
234
269
870
218
261
481
44
584
79
876
403
111
238
251
220
76
393
135
139
55
453
344
295
774
245
227
76
826
72
159
317
271
537
775
599
383
778
499
362
784
590
367
249
515
811
300
61
177
165
131
93
689
908
524
218
879
29
63
539
175
526
802
994
400
216
708
444
474
770
743
349
870
115
723
324
828
119
626
936
930
629
666
738
572
350
104
588
533
801
142
541
391
601
126
100
500
711
529
516
134
675
205
648
40
757
318
244
339
736
130
486
815
607
210
761
85
863
895
643
533
942
827
715
395
924
192
226
447
891
955
958
496
916
766
785
655
82
65
91
903
384
181
376
87
122
513
25
662
692
188
144
699
20
687
656
180
181
665
497
586
528
405
329
819
325
364
656
142
839
870
744
933
794
979
782
310
375
972
37
403
503
344
40
629
613
180
841
178
201
760
383
183
215
489
735
308
719
144
537
863
841
93
785
344
479
564
266
738
341
89
387
631
388
892
252
38
281
202
937
402
171
508
354
747
175
334
130
648
754
40
131
92
247
582
478
891
448
14
626
704
380
739
671
647
413
982
482
111
515
736
959
264
156
169
132
805
501
514
884
702
400
200
501
289
810
312
614
213
780
836
572
724
194
667
672
613
345
617
274
41
969
59
246
519
80
112
652
867
507
350
630
762
10
424
279
1000
398
598
993
685
598
771
2
340
865
196
781
886
492
216
243
802
611
21
778
833
105
43
696
635
94
448
397
646
134
569
567
11
87
103
912
323
707
73
55
609
707
327
220
311
187
220
792
899
280
673
775
65
54
105
578
637
775
63
278
222
536
180
122
319
128
166
843
515
81
225
693
265
604
583
616
517
315
56
924
151
236
679
762
527
235
298
617
392
954
848
798
699
82
833
701
911
124
562
8
103
445
791
326
352
927
140
460
276
108
108
469
517
979
314
239
951
391
968
176
572
176
866
772
458
519
268
382
258
693
581
576
471
483
475
460
402
979
875
964
659
443
804
315
446
203
302
244
25
583
906
779
790
571
903
103
263
732
1
88
832
879
827
14
452
449
98
392
239
544
979
423
937
698
193
250
373
119
545
219
423
342
560
1000
676
991
776
976
130
405
431
413
932
700
22
366
198
507
443
947
991
115
866
971
496
92
197
459
630
354
71
76
683
174
45
600
618
77
982
655
348
167
945
562
200
360
866
447
895
809
457
972
901
522
21
14
57
936
842
956
640
905
642
166
910
643
868
29
956
719
742
780
152
593
859
622
45
374
786
793
663
168
281
258
161
137
755
52
608
520
419
983
339
784
589
373
801
725
105
215
556
753
820
602
724
738
866
128
259
745
886
206
146
4
420
469
645
285
17
544
198
410
513
457
338
346
630
352
528
955
678
362
999
178
164
481
271
172
751
927
43
53
198
971
138
620
578
117
452
853
106
262
710
659
330
598
313
851
826
89
578
314
13
883
770
135
209
827
389
145
676
812
400
811
1
54
609
871
644
192
649
265
71
362
581
72
93
894
673
63
404
778
32
729
229
501
610
498
989
2
781
189
151
489
893
275
964
484
598
290
233
964
534
581
879
150
394
419
945
407
14
444
945
461
72
577
179
767
595
704
62
276
860
187
570
499
34
266
52
262
651
886
638
236
725
126
284
193
304
831
146
262
509
927
100
738
156
987
23
251
425
652
914
469
111
529
744
577
925
964
403
857
334
945
966
298
798
892
113
225
117
3
898
350
891
755
208
741
856
411
598
780
846
134
48
275
802
508
156
376
436
754
453
542
654
774
169
202
971
969
634
873
527
697
951
694
302
746
763
483
518
670
547
415
132
132
379
797
789
584
127
498
507
36
923
571
98
601
236
867
50
914
545
193
228
980
14
278
759
529
523
441
491
349
242
273
620
330
419
347
860
769
481
227
496
210
808
761
351
84
116
565
132
844
498
198
663
73
902
506
347
177
651
391
499
80
730
370
400
346
207
823
402
549
954
731
122
746
975
799
535
925
250
243
8
723
62
631
272
602
930
999
935
142
734
231
297
182
81
232
289
541
820
337
151
66
122
926
891
400
741
648
740
545
62
115
688
15
727
308
124
763
587
484
39
217
166
868
327
666
610
17
884
920
480
341
336
617
704
838
931
431
758
454
58
435
369
74
72
511
80
754
386
767
765
173
212
620
848
840
805
275
811
453
62
978
488
696
770
506
225
551
580
597
968
515
666
493
869
602
25
140
560
990
380
537
822
638
487
15
863
922
481
264
831
567
153
356
505
324
402
63
752
357
724
870
242
588
237
833
455
961
298
477
889
56
323
411
484
123
568
205
99
438
362
870
132
889
262
428
489
676
575
254
184
455
797
94
465
660
780
557
569
964
769
35
45
217
192
197
118
73
500
16
939
601
491
318
903
520
708
408
652
138
942
250
783
567
406
370
463
625
885
518
93
90
256
589
289
78
27
937
525
580
81
391
716
919
785
468
835
732
803
904
305
332
237
999
888
377
940
27
750
885
113
919
131
770
533
348
953
779
534
559
521
241
384
296
514
807
407
758
221
471
311
419
86
64
412
648
482
939
413
914
293
935
624
951
442
250
839
246
612
473
204
321
200
558
642
160
820
655
1000
662
891
641
733
480
180
747
467
443
440
315
348
836
246
124
891
524
208
678
498
672
70
845
440
113
890
722
7
498
981
411
819
748
497
296
658
76
520
712
645
694
660
123
587
797
242
14
337
626
397
649
183
103
37
946
298
770
647
262
603
993
118
643
504
21
754
967
839
486
325
493
276
745
966
25
156
444
475
714
120
655
25
729
132
931
894
36
907
869
826
364
134
99
813
43
176
828
84
196
623
899
304
258
548
658
857
777
849
923
40
951
928
342
752
935
158
603
998
373
639
673
676
803
378
796
83
592
487
294
410
711
276
30
277
357
578
398
532
784
681
793
899
230
218
631
519
964
988
790
540
583
762
779
706
519
321
796
622
65
106
651
323
619
899
164
756
920
534
686
457
486
649
112
943
244
486
59
227
504
468
655
378
731
395
762
821
339
494
962
790
264
735
944
813
57
528
949
180
266
524
964
683
519
247
871
729
667
696
165
102
420
261
877
448
629
306
244
32
858
29
1000
750
517
284
143
538
525
417
771
796
349
856
837
782
205
239
476
933
153
210
153
142
47
158
705
641
814
894
505
740
778
913
93
829
79
710
965
913
637
312
234
750
892
405
191
536
116
668
330
177
284
369
926
796
580
181
207
420
661
534
10
902
472
356
977
38
93
167
960
557
607
116
962
229
889
670
445
519
367
765
68
185
6
323
143
285
238
539
819
197
636
331
652
721
72
912
930
935
220
794
385
221
331
562
819
450
637
960
11
831
565
865
276
312
851
549
553
488
422
217
427
399
292
201
977
268
481
150
791
14
535
805
697
179
254
542
195
916
952
520
535
101
174
390
945
167
776
623
454
359
759
40
713
71
852
987
589
670
629
463
860
467
283
248
199
136
60
265
129
6
251
262
911
417
36
918
670
183
565
901
753
845
177
443
950
37
179
407
824
10
415
113
321
436
811
839
208
702
431
595
362
9
402
299
907
45
575
430
876
527
956
924
545
689
858
824
876
115
79
337
673
787
10
726
338
887
724
999
337
119
89
964
939
162
805
217
7
502
711
473
424
290
123
554
50
493
639
911
858
850
183
379
181
132
879
916
414
54
649
679
858
549
79
562
260
233
381
747
611
388
744
450
79
513
803
366
293
165
315
838
712
846
775
449
864
196
872
179
443
412
956
491
242
892
195
422
673
818
516
476
201
466
401
195
777
105
766
928
10
496
400
790
488
595
444
979
60
3
234
880
39
697
153
706
414
521
276
257
8
158
905
689
643
625
776
334
235
961
664
969
839
486
554
168
596
641
592
49
155
365
212
399
824
201
247
317
426
708
55
851
436
60
981
961
696
866
487
291
352
341
155
468
371
70
208
456
990
870
790
631
447
807
852
921
222
299
769
163
108
524
279
620
239
590
532
945
717
533
415
71
930
671
336
56
404
921
185
184
805
289
208
30
955
140
851
572
28
500
213
444
759
252
722
475
548
286
370
157
116
113
565
907
157
204
665
235
744
562
360
154
859
408
574
479
333
613
556
205
338
907
419
796
11
440
77
593
82
270
283
734
77
432
434
164
852
682
434
337
804
833
502
878
60
428
621
135
569
826
56
788
584
851
37
982
144
166
124
306
65
972
863
842
455
21
147
476
168
466
308
570
305
844
273
56
887
564
88
725
754
141
977
134
76
735
944
454
152
504
931
487
941
406
494
557
182
687
264
583
994
521
700
604
382
333
376
94
687
906
962
853
14
843
747
744
493
204
681
979
832
776
870
373
89
415
16
400
725
346
949
353
925
44
37
230
196
129
606
220
60
981
285
861
123
479
124
409
390
132
220
555
533
400
453
418
373
943
13
325
85
295
56
575
841
406
67
59
543
547
338
914
178
206
198
730
565
163
175
629
5
763
915
409
602
368
618
858
1000
460
690
405
444
547
884
785
504
575
414
661
737
755
204
477
65
796
459
393
836
318
651
796
618
916
75
651
265
944
412
679
940
684
987
767
771
671
986
555
598
689
833
444
538
438
361
959
235
812
981
388
278
454
3
16
604
991
431
155
343
21
739
982
725
297
562
83
791
720
634
221
744
967
201
477
267
62
321
118
170
158
971
783
971
318
883
261
589
253
737
516
178
816
895
991
526
543
616
449
169
565
852
188
746
981
75
948
633
499
436
557
108
308
245
318
796
390
236
51
285
55
145
605
554
212
755
560
391
830
497
1000
603
613
884
180
421
472
987
943
715
635
479
122
708
24
418
133
127
751
640
811
64
94
56
946
553
285
696
119
898
338
317
485
156
659
811
819
991
958
703
801
819
277
556
310
601
233
976
577
779
494
649
516
253
479
744
255
942
790
600
912
872
541
853
959
493
701
243
734
456
103
82
933
520
625
443
869
343
502
839
897
636
278
196
125
38
466
784
951
845
49
80
331
825
423
796
368
408
682
848
526
378
423
793
256
593
149
927
509
403
343
963
175
671
284
801
278
6
32
775
264
213
890
433
733
898
526
27
870
591
759
326
577
336
674
275
456
315
54
971
822
548
167
600
441
710
759
341
631
923
473
858
336
324
472
793
256
548
240
887
84
593
55
407
774
632
735
612
673
4
930
587
708
919
479
364
999
900
950
459
380
862
679
596
871
818
341
557
914
395
932
278
609
648
425
871
517
83
257
705
685
190
540
55
813
853
343
141
819
505
838
675
881
877
661
680
856
50
834
62
855
917
961
909
369
227
805
712
342
460
728
58
571
15
936
615
433
966
724
491
932
54
874
99
400
480
290
26
888
513
592
981
507
899
20
798
134
147
385
514
200
853
280
670
485
785
108
70
142
776
19
861
185
780
327
220
636
692
520
731
496
128
120
374
667
871
261
616
72
614
273
314
228
47
274
269
872
132
857
862
595
481
139
530
548
317
294
946
379
620
44
490
636
608
756
386
766
128
529
606
64
211
309
332
340
63
684
94
295
449
69
268
172
954
410
934
320
916
664
977
823
625
555
361
350
416
123
384
284
45
905
567
636
6
581
320
764
169
773
179
691
900
713
458
13
817
534
667
471
319
677
180
733
104
121
33
952
391
505
885
88
130
40
162
782
629
374
223
484
279
975
718
57
485
670
801
551
973
891
295
999
48
874
782
338
572
474
3
350
767
460
1000
660
502
426
32
898
759
482
400
242
679
591
170
999
727
354
990
650
492
201
439
612
673
201
650
809
840
840
599
244
296
125
269
599
685
222
454
936
399
253
301
761
617
492
10
815
562
907
26
205
412
145
59
372
692
230
901
158
790
723
690
229
907
470
591
984
157
395
471
709
947
222
357
258
562
962
510
180
161
203
396
526
513
859
725
71
536
502
322
314
332
500
427
832
790
796
941
965
901
58
763
759
406
430
970
648
424
171
479
64
24
639
180
239
149
924
183
999
493
524
724
355
429
603
688
379
192
208
255
774
295
174
574
16
181
993
676
731
823
471
531
603
8
906
396
2
434
563
463
549
883
480
385
952
623
275
763
864
266
191
287
92
4
88
283
763
230
103
430
638
679
753
918
180
97
817
362
938
596
646
850
96
489
829
557
604
830
69
478
925
74
72
382
188
467
625
787
9
262
378
217
147
318
280
845
750
17
979
605
632
843
711
336
17
676
744
861
273
891
118
471
500
210
196
229
878
253
719
620
265
695
737
587
940
136
456
495
715
190
847
63
821
429
966
627
413
404
950
904
886
56
341
307
403
868
462
502
256
173
177
17
110
617
934
64
363
950
971
902
776
436
469
489
431
272
395
502
379
838
355
161
678
526
227
711
586
726
68
591
525
717
328
816
647
762
320
822
658
650
33
266
74
233
482
767
977
237
940
816
384
454
737
986
73
73
161
434
726
942
206
506
423
897
411
628
26
192
638
183
984
373
558
27
381
643
3
390
541
53
679
655
857
311
467
368
348
116
406
41
743
469
76
403
860
552
63
689
843
848
183
382
457
867
845
488
201
587
881
949
32
685
544
800
710
111
257
400
616
735
582
826
521
602
184
472
967
783
338
273
468
591
634
399
417
825
159
59
631
650
474
530
477
33
151
882
227
470
750
605
713
80
566
469
43
887
905
744
980
937
876
280
900
667
239
100
846
874
518
479
756
448
10
282
528
178
342
558
604
191
147
43
182
207
177
474
186
506
557
8
681
866
649
100
715
784
639
813
26
352
594
957
722
317
224
35
452
685
62
147
793
906
772
117
343
262
749
423
268
244
714
614
37
539
128
232
15
922
460
246
457
804
214
422
305
446
569
89
306
82
672
257
213
456
33
870
179
576
858
14
220
191
465
543
222
429
457
316
459
934
86
394
685
663
898
882
51
795
386
485
271
855
739
778
559
276
29
593
40
426
352
860
783
698
275
146
885
618
175
903
907
110
703
67
567
436
185
809
293
879
360
805
910
834
724
631
305
929
907
821
922
217
983
822
293
823
31
196
493
12
241
343
31
825
825
109
140
162
947
487
694
230
381
699
226
25
829
183
452
224
814
722
419
9
129
324
946
869
922
773
301
657
872
546
218
306
500
899
514
47
983
271
477
631
517
208
276
625
202
472
353
95
973
712
382
869
519
343
39
117
181
283
846
5
528
172
782
707
618
444
170
451
457
632
220
671
368
893
345
161
168
97
283
806
423
59
929
382
538
682
131
751
886
294
9
350
634
755
383
524
868
308
342
941
198
244
655
384
635
39
485
194
639
779
624
657
559
870
994
595
142
665
116
642
468
216
746
76
320
797
506
783
33
834
269
120
108
605
448
863
539
598
998
57
605
87
41
480
855
544
636
396
243
550
367
319
204
585
739
727
168
39
740
921
18
271
757
244
124
529
407
74
355
751
91
917
420
465
701
734
485
673
708
617
822
955
491
426
646
395
148
99
706
65
475
681
196
981
291
775
714
980
464
616
618
815
105
218
900
52
93
70
386
307
381
60
922
788
970
912
666
965
961
596
288
564
242
380
147
643
812
674
620
198
331
415
406
158
885
27
264
92
364
574
646
310
981
758
339
87
97
346
764
203
631
991
687
700
244
43
397
340
124
715
898
55
955
652
74
298
603
175
755
737
858
285
497
21
352
661
689
788
955
942
505
47
609
818
816
432
54
278
512
978
509
366
12
727
573
639
712
504
519
893
760
427
894
980
425
400
712
31
209
645
421
467
613
285
816
557
180
574
414
791
51
563
901
152
851
799
99
193
362
721
225
232
22
349
841
122
612
852
630
634
773
173
579
773
838
308
730
949
941
624
164
860
27
606
933
854
609
10
26
799
661
275
270
727
392
83
255
819
139
524
261
886
265
129
697
231
15
979
663
480
411
197
325
750
764
857
895
559
618
927
188
179
590
489
98
45
667
392
654
36
449
583
200
71
469
694
629
558
987
856
808
135
739
975
360
52
724
128
220
619
334
435
891
932
665
585
772
349
760
550
645
942
276
288
119
592
935
73
901
795
756
784
321
690
434
997
361
40
131
497
604
234
31
145
640
93
728
854
535
503
560
248
158
54
65
689
375
625
864
228
467
708
485
196
540
197
728
20
217
357
801
679
971
587
634
819
167
300
177
414
122
188
960
752
812
285
873
216
97
266
367
200
68
537
264
251
270
439
533
411
966
776
881
886
517
302
440
947
256
386
930
621
498
511
458
655
528
56
443
440
947
556
860
899
640
675
956
505
246
584
948
968
933
201
292
412
215
408
210
324
753
949
87
757
290
313
811
455
236
687
566
610
330
974
92
801
143
765
168
427
4
939
856
255
559
947
15
937
829
981
931
816
480
722
875
835
554
48
896
120
547
995
745
742
794
706
290
191
19
613
602
840
518
36
513
808
221
838
336
320
943
261
967
857
156
780
560
149
947
940
263
757
269
755
755
254
920
200
653
265
450
88
489
774
821
347
842
845
519
171
515
58
771
362
746
317
945
659
702
738
853
334
522
106
615
859
348
298
940
472
904
879
225
916
783
247
442
273
17
111
244
528
872
447
908
762
995
590
910
425
203
128
854
508
586
267
955
738
58
61
299
315
294
956
439
947
978
771
800
397
797
656
607
517
561
112
606
856
883
137
378
303
348
687
378
17
300
804
855
866
741
901
813
746
220
974
342
464
444
265
184
786
265
154
844
258
173
918
1000
645
941
552
709
328
730
564
628
236
541
829
38
559
37
52
798
913
78
100
675
906
206
437
639
682
298
463
492
628
572
849
163
263
613
671
38
687
252
359
573
136
473
375
260
902
340
472
923
955
151
292
21
787
137
383
233
654
286
602
749
986
394
861
108
439
38
859
800
925
767
224
96
126
992
150
65
393
942
144
345
620
295
314
111
611
864
552
313
238
324
788
890
868
572
90
323
817
137
829
145
671
944
227
10
138
195
574
56
900
267
688
266
920
615
672
111
5
424
895
908
191
170
548
222
8
738
560
264
33
277
506
664
250
19
210
139
464
426
134
894
576
806
952
797
139
963
560
434
914
157
291
603
262
480
476
816
768
492
738
545
272
548
875
290
154
881
974
620
421
620
969
35
630
300
599
12
586
567
295
361
26
132
377
277
194
505
71
153
194
561
647
664
479
743
998
351
569
117
638
451
745
616
101
657
268
41
64
710
376
383
670
569
467
146
552
897
230
552
243
71
619
782
907
147
480
914
489
170
258
44
401
58
369
161
648
196
910
214
392
339
904
190
582
765
895
920
4
626
234
378
375
429
551
195
783
878
27
506
641
213
559
617
587
945
114
245
557
905
142
101
623
732
806
251
251
84
112
694
397
884
471
781
336
675
739
910
284
142
856
467
591
514
502
429
175
316
36
495
471
31
802
627
445
663
856
322
392
167
294
211
652
433
620
292
620
751
172
963
160
622
848
377
155
876
26
116
607
351
735
367
559
371
836
117
335
5
768
103
85
567
132
857
563
30
279
524
660
811
110
975
828
723
693
304
654
497
235
306
587
686
615
314
853
192
798
162
948
182
35
723
148
751
379
304
74
196
739
422
3
206
653
953
257
204
758
878
878
362
928
179
330
67
637
376
900
244
618
211
782
458
497
426
803
845
99
825
975
984
727
451
956
347
234
568
634
1000
45
365
965
473
602
539
61
68
90
9
904
397
766
503
523
726
379
35
273
869
725
683
233
879
266
277
581
37
793
453
495
757
604
388
877
289
767
331
593
642
959
330
488
381
294
185
868
412
343
884
217
735
871
401
171
307
148
692
214
986
746
714
412
801
583
137
585
499
952
146
831
702
937
300
226
196
996
817
765
515
77
774
877
77
691
478
276
55
971
370
375
126
194
45
434
884
159
295
878
25
101
878
670
548
402
927
324
719
601
932
647
734
760
25
909
651
796
129
929
643
390
906
555
168
122
847
273
496
515
714
825
559
921
44
581
344
362
112
1
235
107
850
435
172
186
350
376
91
282
764
369
728
133
684
761
607
348
179
223
514
792
785
714
241
410
188
948
727
371
231
926
65
102
985
483
794
640
722
606
650
711
132
175
446
420
310
93
829
175
502
46
971
777
283
528
522
370
213
337
272
58
127
46
570
693
853
208
253
86
698
417
267
26
237
117
493
923
115
965
246
825
521
341
203
360
692
177
980
210
319
401
893
673
417
526
384
448
92
487
800
740
452
769
201
881
79
287
792
652
984
289
881
405
964
448
260
766
717
171
960
778
957
572
263
326
435
629
609
956
856
905
440
596
778
423
948
896
225
489
559
103
109
562
277
475
643
565
902
256
262
452
683
796
384
92
9
93
107
862
598
380
96
639
194
273
197
987
501
321
533
301
43
830
852
12
966
254
321
731
145
2
860
583
673
591
146
95
423
146
406
575
132
107
267
941
428
25
248
895
745
397
818
358
80
227
184
881
71
645
278
668
773
132
128
603
771
525
507
242
956
387
929
784
475
913
751
282
266
66
995
12
842
598
941
603
252
45
292
629
397
808
127
552
203
213
75
642
800
223
249
346
562
565
261
413
524
280
53
929
225
35
295
866
877
427
848
139
830
540
452
28
601
961
828
712
863
96
50
282
603
265
227
727
436
171
546
469
152
220
475
352
368
421
114
766
907
518
263
352
682
871
709
343
884
964
398
119
427
998
715
997
623
361
370
930
939
432
101
429
136
106
860
71
814
262
841
497
604
917
757
495
672
791
151
741
206
417
203
77
660
40
764
552
491
524
958
191
57
492
957
840
489
181
725
716
902
443
967
105
12
513
814
598
619
828
627
464
908
730
866
427
60
775
348
506
204
535
680
41
351
204
593
682
729
452
351
777
432
225
834
721
322
381
633
937
752
729
906
633
802
201
581
32
618
833
912
330
740
270
300
672
463
357
615
702
245
111
774
938
670
497
764
435
43
83
412
694
130
447
125
719
662
609
866
836
986
839
708
457
941
7
349
7
253
744
717
651
399
319
73
876
377
887
902
19
230
855
596
388
47
273
475
268
472
620
913
5
36
658
581
278
298
351
410
748
188
165
402
937
39
172
308
864
457
779
536
315
555
922
610
922
885
504
349
111
36
998
152
921
292
888
242
353
220
40
47
649
202
958
357
466
420
220
732
622
433
415
987
446
760
773
109
904
421
874
981
132
172
103
581
89
337
234
739
461
560
458
836
36
132
294
68
953
7
446
736
630
260
328
645
545
856
139
983
303
468
348
849
65
338
636
980
648
869
145
545
895
223
730
689
363
486
194
568
294
34
358
862
747
209
356
395
203
637
447
5
43
429
89
131
103
827
733
664
354
878
275
206
419
611
435
21
6
452
793
917
695
121
819
206
824
252
484
251
820
57
27
493
293
230
401
541
662
973
215
967
996
368
531
416
14
742
656
396
593
73
664
352
114
628
140
211
242
977
984
903
115
173
160
384
100
299
64
326
625
328
410
693
390
848
356
686
3
240
441
159
404
102
266
510
641
848
594
39
373
692
89
551
200
224
571
80
136
759
151
703
893
44
339
969
301
726
111
791
986
648
618
189
325
262
795
83
349
237
971
858
525
874
60
150
207
52
731
476
975
312
970
870
470
407
534
883
63
941
967
92
731
364
222
750
436
38
478
910
3
643
530
64
652
453
938
172
226
721
840
605
958
314
36
119
100
957
758
307
200
476
122
94
464
976
440
98
894
97
848
99
248
454
666
833
23
720
400
74
498
895
833
399
110
927
664
465
482
414
810
957
741
490
834
283
364
187
213
154
932
709
314
429
233
248
525
563
647
496
930
962
443
396
504
886
294
413
613
619
891
622
97
544
91
6
633
76
470
523
812
614
453
615
147
409
268
500
992
487
101
24
992
572
249
520
604
491
98
938
237
895
861
31
312
93
713
213
784
788
844
378
867
234
126
376
784
688
621
36
110
929
120
137
464
383
47
580
830
566
190
215
412
716
387
300
337
360
420
446
11
844
246
565
463
170
611
874
663
522
374
27
274
808
86
266
494
497
1000
953
669
129
176
765
240
102
785
256
189
38
515
782
592
732
233
53
879
529
471
666
607
661
123
10
897
476
652
547
654
892
205
178
956
179
810
523
733
690
812
865
461
768
42
183
717
721
928
610
340
735
926
68
455
253
1000
380
590
379
918
780
714
870
577
24
891
422
519
165
971
966
254
957
279
513
943
979
583
106
6
683
731
776
891
455
660
647
108
228
859
374
335
664
830
573
167
773
586
362
79
5
707
319
985
581
673
18
963
342
562
714
620
754
45
110
908
711
284
82
519
362
830
473
657
748
608
208
540
100
577
991
918
732
134
600
415
196
283
89
361
619
761
936
395
256
674
550
507
694
678
480
285
67
406
85
986
379
291
222
583
763
103
101
307
273
570
863
874
479
466
503
782
195
121
587
57
660
681
855
923
917
816
225
81
356
664
299
14
719
57
454
865
884
716
852
719
410
758
165
777
872
88
105
54
958
516
96
89
441
151
97
659
572
466
825
960
690
80
849
590
14
775
350
397
773
578
906
445
520
829
730
85
594
512
207
998
422
415
526
179
121
579
314
205
539
937
516
816
46
323
777
76
219
755
567
581
98
416
393
676
113
479
890
668
853
500
370
278
878
103
663
638
340
313
49
825
819
169
799
735
880
501
994
45
949
959
622
456
560
452
363
284
560
943
142
81
18
859
536
850
665
674
949
934
70
822
789
179
262
830
428
873
859
341
130
365
68
660
960
94
104
284
520
407
25
785
4
497
607
45
827
662
768
624
273
100
60
663
195
395
325
830
551
215
651
126
830
206
469
419
163
66
444
984
917
474
981
550
654
587
403
727
228
418
751
122
552
842
335
769
293
450
502
724
986
908
500
67
240
760
286
749
507
15
815
25
840
355
478
567
501
439
816
688
391
751
221
417
733
596
608
577
215
188
933
727
361
951
986
138
105
8
625
924
589
910
160
66
438
358
119
411
954
991
437
104
326
157
674
487
392
952
723
416
94
141
537
506
900
670
374
477
298
938
521
165
944
432
435
97
387
714
312
429
909
44
542
461
129
839
232
22
491
67
424
136
746
454
597
947
401
723
740
951
297
623
868
748
226
2
450
433
140
878
687
915
740
358
69
491
506
216
500
681
18
741
68
391
797
715
179
637
870
353
188
222
338
312
72
870
342
805
841
978
650
119
207
327
901
220
716
589
760
162
497
234
8
867
885
261
543
144
783
750
484
400
931
864
786
202
851
569
864
313
166
620
750
994
332
11
447
971
241
670
66
14
627
151
179
63
677
59
816
286
203
428
456
418
400
6
409
355
93
351
588
972
88
158
55
298
845
171
499
293
498
716
732
429
270
255
122
667
964
391
324
120
948
470
350
156
104
713
805
102
373
713
920
486
800
959
279
509
941
746
242
501
924
31
45
240
486
268
760
791
862
546
3
97
208
704
292
882
8
739
895
672
914
620
730
984
599
930
300
178
923
101
539
30
34
153
990
139
1
812
965
806
330
249
640
229
508
759
133
360
832
915
952
528
355
894
191
90
866
422
248
922
425
607
399
213
67
732
290
292
849
283
726
254
753
129
389
363
388
723
598
733
710
819
120
339
493
725
780
6
798
166
607
170
148
66
719
348
826
8
836
648
10
992
865
691
701
423
45
181
838
555
690
571
988
718
621
253
984
601
309
729
209
752
446
844
425
837
601
142
427
225
182
700
121
754
497
684
929
429
81
941
583
938
541
394
935
808
147
874
611
356
429
953
690
637
81
751
467
321
270
14
184
416
953
466
703
382
487
38
272
614
278
547
882
25
887
78
816
978
871
369
336
416
217
95
193
399
389
400
372
938
987
911
673
517
325
554
52
893
639
823
443
601
681
191
409
135
981
415
713
769
382
843
979
247
130
232
601
705
35
31
502
848
530
346
974
446
375
776
202
691
803
718
89
870
2
63
618
756
400
287
56
144
805
494
109
406
137
620
742
753
118
922
440
936
434
795
479
100
526
77
116
550
94
8
288
743
354
221
503
744
700
337
100
431
352
702
464
140
130
123
364
690
634
888
548
437
830
429
739
611
182
676
767
585
918
700
883
922
603
993
273
709
108
586
50
267
236
83
947
553
151
695
510
898
149
566
92
730
130
355
167
744
23
266
881
68
487
738
488
344
78
644
241
271
865
970
780
805
112
604
984
653
369
277
184
305
399
824
133
923
698
399
884
954
27
407
814
450
67
620
435
388
693
307
583
508
340
235
532
398
128
824
321
355
49
322
280
105
265
224
507
155
461
690
205
522
79
509
838
110
223
941
549
82
131
45
103
300
100
36
208
919
586
429
302
321
79
932
73
718
106
259
701
433
476
732
647
545
836
7
242
43
227
182
419
592
375
257
133
234
679
528
467
548
892
460
868
485
853
679
460
526
159
122
374
956
644
649
851
733
586
642
752
7
789
706
634
640
253
749
186
886
205
832
980
492
564
169
69
375
407
679
102
983
882
615
610
680
250
806
134
686
645
364
356
898
832
927
116
457
60
782
743
90
613
661
949
151
861
964
416
631
414
402
702
249
793
992
269
431
926
159
597
406
645
609
45
519
334
557
654
224
629
255
487
362
431
372
660
565
826
286
148
873
810
145
714
27
112
400
956
537
603
106
584
482
227
735
959
40
825
645
757
753
482
989
579
155
803
753
566
31
242
479
821
888
746
132
655
806
241
663
308
220
60
869
457
92
250
923
749
71
555
148
592
962
109
823
935
37
744
544
669
474
136
891
250
745
977
965
71
199
879
360
752
394
187
556
228
6
592
119
884
410
648
15
640
951
461
684
603
614
614
877
853
743
267
456
114
413
531
261
374
469
918
344
414
229
125
574
839
213
317
537
178
988
499
979
124
453
828
370
736
178
636
900
326
876
216
682
439
184
269
549
147
470
836
99
196
508
742
522
621
775
593
611
250
327
575
488
180
856
845
526
668
879
814
689
57
693
170
151
710
383
237
343
966
485
853
659
967
6
595
90
556
838
40
126
737
499
73
821
7
60
640
427
212
731
875
201
273
255
858
898
7
324
705
190
424
512
62
73
352
280
708
40
393
841
895
22
514
622
839
17
48
80
654
514
371
570
334
99
742
239
796
171
101
110
945
729
301
594
563
746
641
517
509
728
425
343
209
861
47
724
461
481
363
374
961
786
235
216
572
341
726
933
152
383
922
220
897
424
110
825
80
350
898
250
828
576
210
663
415
951
932
651
610
20
810
587
752
133
246
913
798
766
937
107
863
50
943
127
10
724
12
391
610
235
888
101
856
648
259
812
889
902
393
52
359
95
419
89
149
614
546
139
716
186
378
432
34
811
837
761
234
113
878
627
740
552
653
718
808
388
851
852
156
116
495
879
162
547
82
805
869
10
535
175
492
777
760
751
299
420
83
90
565
745
129
398
489
729
893
733
754
269
390
580
163
521
225
992
526
287
939
237
830
275
160
730
982
842
898
740
1000
162
464
349
460
122
985
406
461
658
469
707
989
893
685
391
875
416
920
889
358
116
703
691
611
516
529
579
315
137
815
282
91
706
844
377
385
919
897
242
429
929
140
105
617
832
839
996
13
538
677
572
170
130
486
905
414
533
909
648
333
436
401
1000
977
411
70
369
93
245
349
879
906
620
16
771
858
261
833
410
187
155
162
659
366
882
404
173
65
522
937
911
386
553
193
529
890
675
154
622
362
522
733
614
629
946
114
611
421
721
489
6
334
290
982
353
144
871
295
71
603
546
498
969
250
199
377
345
426
801
726
471
208
647
60
242
247
647
522
736
824
304
460
951
239
341
290
646
813
511
761
53
838
82
317
71
823
436
186
847
90
367
527
795
684
938
184
942
530
648
965
637
846
426
517
575
338
934
932
131
981
523
141
334
172
519
221
95
704
761
565
141
10
710
656
272
953
224
583
992
287
857
534
364
43
236
980
262
411
696
640
361
393
331
709
484
508
193
626
526
960
178
485
56
465
267
369
232
634
176
129
662
416
788
379
562
124
866
650
265
416
494
222
34
763
574
613
395
188
910
70
637
262
245
827
152
932
143
809
740
765
875
375
444
749
950
492
719
624
608
1000
235
149
703
100
816
247
897
212
867
921
934
757
479
957
502
320
337
400
30
806
830
273
104
946
637
256
14
444
392
74
530
919
69
360
115
63
100
15
642
481
464
821
136
994
522
520
554
220
229
355
314
135
79
240
10
821
508
314
828
801
101
595
464
990
948
956
251
1000
620
283
811
950
461
582
497
934
284
770
76
542
775
111
768
360
225
509
816
196
793
501
743
565
474
12
493
212
351
837
403
932
136
877
594
351
29
289
821
373
843
876
427
343
5
640
819
871
375
312
888
500
290
969
66
557
44
861
110
453
428
203
940
441
590
712
665
846
718
394
838
974
669
959
223
766
575
930
504
276
868
536
89
422
380
830
724
188
800
668
579
110
203
130
631
298
121
550
163
138
105
803
488
821
472
414
825
424
781
600
635
995
89
524
184
193
498
509
209
656
42
281
89
115
438
85
447
215
956
285
472
468
227
871
454
826
273
2
863
289
885
886
480
117
799
558
471
686
985
920
282
68
889
450
191
276
361
817
809
956
562
258
633
388
379
531
413
592
415
664
61
916
87
499
931
695
498
997
670
80
648
369
763
453
596
650
686
776
423
798
896
464
237
589
787
833
693
930
171
299
867
233
534
828
92
793
462
250
121
772
81
529
213
46
367
586
642
625
566
758
154
13
197
672
601
705
409
782
821
748
636
441
286
784
113
222
922
846
527
831
933
637
568
988
371
383
417
652
373
970
913
307
21
359
290
477
759
799
516
802
934
833
667
283
560
446
423
861
425
757
604
801
84
12
101
577
391
315
228
957
623
586
558
844
241
422
670
573
649
488
124
62
172
661
273
310
534
776
40
592
343
90
277
847
532
945
490
821
266
228
820
310
32
473
104
438
764
213
805
435
842
608
292
850
155
883
511
894
513
519
967
601
247
604
333
428
1
870
939
912
765
4
234
376
805
703
369
985
464
391
483
817
61
101
868
867
376
449
623
998
849
667
262
918
954
878
65
878
729
313
422
145
651
637
854
309
763
265
64
504
794
79
110
350
303
260
460
113
453
674
934
791
120
461
91
247
212
366
179
387
292
555
372
9
764
990
856
878
566
354
503
41
492
811
131
995
981
526
968
348
326
235
435
983
364
192
139
344
996
664
279
319
798
292
833
527
980
887
266
287
355
367
648
269
316
212
531
588
672
892
228
921
604
544
230
615
809
943
386
534
4
835
135
252
778
959
835
36
13
23
154
914
416
253
66
450
687
251
529
682
285
590
966
289
242
604
332
704
244
899
467
806
808
534
514
51
279
612
259
232
171
729
157
106
214
788
527
371
321
915
380
411
147
614
472
488
694
875
786
997
573
363
873
891
295
894
574
100
439
613
589
384
416
387
994
153
560
463
480
517
81
80
35
411
670
830
425
759
729
600
371
827
382
29
853
670
981
949
954
474
94
841
322
43
773
708
398
87
95
295
440
188
925
498
818
885
528
298
690
394
990
441
519
445
947
398
346
643
923
499
565
139
233
836
908
703
906
292
557
371
856
253
918
15
268
118
373
592
162
73
242
409
408
292
647
380
565
236
15
65
751
412
818
878
176
176
606
920
1
261
462
603
730
198
198
43
759
212
833
57
561
973
953
578
786
477
346
292
587
131
407
226
981
137
711
30
848
562
841
204
987
339
916
309
892
477
742
513
613
648
945
212
986
340
468
24
374
713
950
573
333
335
400
385
682
830
376
631
141
903
720
301
569
96
893
977
492
946
373
816
935
832
411
994
848
127
931
998
257
728
475
246
338
511
778
118
399
786
327
344
567
45
207
632
660
171
721
12
123
367
279
259
607
935
871
237
422
292
898
232
575
442
461
295
782
49
973
881
215
97
922
897
272
475
255
209
223
827
283
602
560
303
397
839
162
434
478
53
401
239
82
414
267
945
400
506
294
541
538
893
145
564
793
710
351
709
185
132
537
690
290
560
151
151
345
366
241
400
89
962
728
135
544
276
774
588
862
637
236
972
900
280
73
622
577
149
337
454
578
860
945
657
421
365
329
844
239
558
35
248
935
351
575
690
337
968
820
401
611
626
533
697
11
244
427
97
736
315
598
422
898
527
408
734
148
969
275
954
81
651
762
239
244
446
150
810
515
93
24
945
306
989
192
428
626
709
223
826
466
613
819
938
526
322
214
760
870
187
59
847
81
170
54
170
241
37
830
633
545
360
52
248
985
123
21
69
784
266
859
2
977
12
599
876
606
566
327
755
304
788
575
147
134
258
427
865
335
555
773
363
309
89
786
576
138
735
652
943
949
491
466
854
176
951
570
97
147
110
750
441
228
117
195
444
185
247
832
331
998
858
855
898
163
598
822
94
564
532
507
459
812
435
447
735
530
842
850
249
235
567
160
475
988
60
108
192
806
412
308
828
905
740
609
285
980
290
99
519
135
311
933
353
26
741
191
540
170
164
613
254
97
13
898
365
469
889
178
264
281
751
760
162
815
174
961
938
978
637
500
359
645
174
433
400
588
470
421
463
987
362
481
725
895
249
486
632
23
234
847
365
213
847
546
810
796
779
540
231
527
692
899
279
483
192
723
629
145
687
270
263
205
459
317
517
525
454
107
774
41
797
994
912
724
855
559
1000
303
498
542
420
272
565
684
683
729
121
837
372
30
718
695
268
506
955
772
825
625
945
923
853
431
165
145
416
761
110
654
98
757
658
311
664
630
672
817
638
524
265
677
52
747
722
867
216
812
236
271
235
368
251
945
981
807
97
940
118
716
826
350
711
102
1000
823
850
212
585
633
891
216
808
231
316
714
598
826
599
772
435
522
440
711
196
434
262
482
578
442
420
303
444
918
297
317
21
4
641
853
459
901
968
511
623
313
650
73
478
564
776
531
995
508
90
276
166
450
223
718
754
34
968
503
2
384
762
190
588
640
98
805
688
538
462
96
14
157
409
52
168
712
671
708
348
782
736
555
677
636
199
730
235
373
662
122
916
898
283
152
192
987
529
770
7
586
104
697
253
820
989
982
642
575
889
158
878
922
578
70
370
945
65
131
66
45
334
685
291
396
311
701
834
936
452
985
113
712
953
879
920
509
716
721
899
393
86
714
396
552
257
651
707
185
454
535
339
817
397
535
290
508
150
803
692
85
333
724
489
509
976
527
681
869
355
174
820
844
941
215
295
585
492
544
930
289
283
472
734
927
809
73
95
146
459
348
510
922
167
920
989
809
743
10
947
47
23
269
508
275
517
485
911
429
506
912
166
195
940
474
662
857
370
149
613
806
169
512
887
227
28
590
225
974
432
105
681
365
930
481
943
90
517
338
670
627
219
119
145
756
589
451
474
792
540
340
509
435
909
63
445
233
732
837
89
928
833
130
173
561
614
815
49
571
443
291
229
989
306
22
190
11
695
450
595
414
13
173
679
658
413
820
11
181
103
246
479
228
4
535
228
176
590
403
597
208
71
368
260
924
60
644
540
248
477
87
292
946
451
102
530
749
297
981
30
554
903
55
922
447
101
275
883
596
211
337
167
391
930
697
446
313
101
171
484
671
763
153
320
820
713
62
101
331
82
850
12
414
47
770
499
434
542
29
718
373
768
319
150
565
372
602
682
636
144
736
798
718
392
243
42
621
729
536
457
20
284
435
601
910
245
528
858
712
974
228
540
285
273
726
363
856
276
972
102
897
462
5
243
372
250
473
472
178
253
295
537
188
894
850
132
640
356
698
165
672
557
497
576
409
5
122
378
411
457
661
662
428
19
671
682
735
930
38
773
188
495
433
763
662
173
387
921
469
755
820
463
491
108
695
650
345
3
82
263
886
712
893
176
525
589
391
679
208
144
145
639
267
230
167
822
909
309
168
418
712
64
504
166
14
417
66
893
410
398
502
341
887
582
174
300
639
379
721
802
78
688
307
464
100
370
891
490
462
796
502
59
234
800
354
478
985
829
806
397
112
240
194
706
533
787
555
584
393
715
644
304
682
164
95
302
430
811
408
811
414
265
736
459
379
970
440
471
441
825
336
472
162
456
511
45
597
39
971
20
292
616
79
583
747
777
92
77
583
802
838
264
34
368
875
350
205
405
377
690
415
428
881
57
833
551
701
820
659
161
581
45
498
399
737
188
704
36
475
1
208
945
862
180
453
152
284
88
525
893
441
28
883
362
19
636
504
65
75
40
422
75
36
59
281
629
861
535
34
957
431
42
706
582
418
713
402
856
95
385
584
381
341
934
15
365
206
287
427
587
606
645
484
73
14
472
274
41
245
658
321
680
927
675
79
268
799
382
431
869
192
295
375
251
798
903
616
715
138
606
273
157
421
367
441
609
95
252
761
185
355
186
942
757
811
85
384
827
482
779
368
787
970
990
882
733
200
492
549
661
372
863
891
854
476
264
455
176
899
153
548
431
974
782
38
605
159
594
941
749
169
753
436
938
94
20
590
295
331
490
64
795
792
175
241
74
938
912
646
818
738
455
124
593
241
333
391
772
999
61
174
236
874
709
179
592
244
119
732
350
68
235
228
229
146
743
113
7
186
856
199
725
92
159
906
112
857
450
260
913
134
215
380
518
974
624
430
269
711
24
451
463
993
558
211
815
853
631
172
755
517
534
408
431
619
96
128
143
85
372
635
440
969
806
147
582
570
411
883
537
717
86
589
779
324
795
734
704
542
283
453
925
864
814
437
353
537
506
798
116
433
18
436
78
255
25
314
853
910
179
501
775
402
39
823
113
395
293
400
704
669
224
755
392
274
257
475
668
536
608
2
124
767
147
842
247
797
194
795
961
370
565
647
882
713
76
583
660
802
543
105
548
306
817
36
730
717
758
441
979
917
126
308
77
791
833
413
260
263
876
418
565
951
106
46
417
610
380
862
79
333
287
903
750
890
232
363
468
440
936
896
89
470
329
98
86
376
119
391
560
117
778
777
345
316
70
706
603
207
277
906
617
46
709
919
25
507
492
384
976
833
100
27
812
976
420
869
574
881
31
124
117
417
30
710
746
948
542
503
374
428
882
803
280
221
143
450
917
468
282
858
729
252
379
85
55
953
526
596
901
632
150
459
467
436
786
90
190
484
43
240
38
654
688
543
825
16
409
573
337
516
490
897
880
340
620
122
924
265
502
686
121
146
979
522
576
798
40
245
539
476
117
521
243
895
205
689
13
360
729
730
150
35
430
916
533
742
211
716
432
258
37
809
235
177
515
954
60
621
44
630
447
727
59
59
793
233
53
336
215
858
889
679
388
657
612
400
56
592
363
923
830
86
619
642
655
695
578
26
861
287
565
632
775
781
886
17
542
740
445
976
78
656
191
395
120
633
269
345
487
938
928
419
523
379
351
897
25
414
762
842
37
430
485
809
418
781
852
940
346
263
936
91
590
153
826
799
540
522
903
480
692
597
37
4
848
467
210
300
653
934
205
763
670
510
399
435
224
431
562
707
602
992
93
31
903
133
449
269
569
210
97
475
163
188
290
175
844
248
446
354
744
239
247
974
258
471
737
264
376
248
417
818
964
874
54
521
64
324
499
272
777
553
406
666
51
706
138
983
425
604
209
321
764
142
48
510
706
619
819
6
845
893
647
166
272
234
491
941
564
410
847
350
345
361
883
191
635
234
5
686
916
263
368
473
176
948
400
653
394
593
759
166
391
280
955
86
762
963
231
540
463
541
932
277
506
83
905
739
821
505
594
601
704
640
335
183
312
83
953
861
786
858
780
317
333
53
557
440
349
219
998
517
692
916
153
763
311
631
952
821
327
694
238
97
36
10
665
385
754
770
294
258
987
639
960
590
382
892
759
383
4
87
532
403
731
397
237
573
207
409
875
560
430
400
927
330
478
435
180
704
785
320
187
395
525
639
86
524
802
56
886
553
977
216
397
706
852
839
354
418
362
638
585
532
759
900
502
535
758
770
94
418
261
818
835
750
596
554
220
416
93
312
176
79
568
899
326
112
89
55
552
800
8
1000
452
541
192
831
644
629
346
456
533
754
339
557
128
376
42
423
201
71
843
620
864
800
319
987
375
661
573
530
133
981
609
943
478
36
343
543
349
946
596
390
7
382
396
632
985
559
484
655
282
492
581
27
829
761
292
196
812
632
156
425
812
54
902
682
243
96
321
567
987
78
277
270
135
893
385
774
449
465
667
588
100
462
605
55
187
767
197
122
158
280
570
636
594
246
707
634
790
315
190
664
825
390
551
869
898
942
214
764
659
169
572
160
660
952
105
133
945
211
467
893
544
579
134
781
733
531
886
236
498
255
363
721
762
909
777
560
572
803
707
391
686
639
719
860
554
287
383
36
633
115
933
470
424
153
266
332
295
397
305
792
346
387
407
238
187
717
264
94
763
452
534
538
477
913
614
740
823
535
341
341
196
704
577
757
381
348
82
757
543
403
371
373
538
420
766
906
531
425
269
687
352
114
853
71
180
924
69
235
148
725
617
198
123
667
575
144
143
995
994
892
409
211
977
999
962
98
189
688
813
628
377
298
77
94
935
397
545
879
758
2
882
402
926
43
280
99
490
163
623
286
928
499
224
659
645
851
241
840
596
951
488
388
642
151
993
11
950
969
801
165
427
294
162
167
620
530
577
429
278
776
139
619
984
840
918
547
741
413
152
98
223
229
522
836
512
993
159
609
387
143
665
32
941
468
678
187
835
697
416
78
666
843
311
973
621
392
305
241
607
97
515
193
862
294
612
818
381
223
68
667
809
852
79
414
991
444
607
2
234
615
483
717
496
509
604
943
974
378
340
111
680
201
933
25
38
344
68
550
144
955
502
132
38
816
511
430
740
235
807
913
421
946
752
200
894
452
859
599
520
194
497
95
730
227
672
334
5
142
289
899
43
543
860
797
694
721
817
171
347
801
744
921
661
408
576
705
762
222
48
704
184
466
265
242
387
92
618
214
820
429
311
341
361
599
81
305
142
20
486
137
773
257
880
98
321
239
925
272
957
500
15
148
616
334
791
853
985
78
235
124
458
199
299
616
558
607
133
853
496
977
913
405
26
155
771
575
36
752
548
988
743
479
666
376
306
39
545
1
847
505
307
981
627
559
740
18
386
308
529
476
355
335
77
408
940
337
624
223
559
588
437
775
792
38
670
690
720
957
662
231
339
112
222
226
92
28
381
461
904
770
885
324
493
409
15
805
454
600
488
812
179
653
522
128
25
75
446
460
555
770
919
529
591
829
603
252
864
298
139
159
682
306
548
913
509
801
882
773
849
557
868
85
126
29
942
512
440
447
816
513
21
662
559
656
164
525
215
317
273
973
246
599
537
489
536
42
831
201
718
176
888
551
603
820
157
835
807
826
922
529
84
541
390
508
933
913
284
192
100
997
15
232
99
32
774
523
420
123
607
182
54
866
269
445
840
535
732
408
4
502
319
729
612
292
754
890
512
614
315
154
860
395
21
6
867
468
93
734
709
496
328
106
598
109
702
988
512
523
834
624
516
230
845
997
836
705
46
133
587
70
887
780
301
696
10
969
630
228
979
880
665
334
180
232
333
105
351
920
854
642
977
771
823
231
186
173
581
744
379
856
360
518
641
3
241
854
78
133
273
464
655
674
266
862
241
527
351
30
359
880
386
210
652
617
735
681
786
216
851
402
92
869
172
687
255
139
908
971
676
519
769
674
593
533
803
146
725
226
680
995
93
309
777
910
563
894
500
714
856
754
421
650
140
879
92
798
373
79
752
289
817
783
487
519
413
466
430
158
836
653
662
522
843
377
568
451
866
894
326
973
769
774
923
991
693
369
482
118
421
507
975
362
645
648
346
239
77
973
44
340
603
246
58
272
53
670
899
443
125
163
573
49
141
877
278
8
456
954
174
119
438
579
322
77
495
883
581
565
936
959
157
540
543
887
741
301
782
69
843
625
251
548
238
681
502
885
635
593
538
465
383
988
42
298
809
723
542
561
518
252
428
179
854
817
181
724
551
786
296
689
497
105
305
525
244
324
492
230
791
449
420
88
36
13
806
989
586
972
891
789
725
253
973
120
767
890
11
52
357
188
895
315
921
359
630
673
818
93
315
785
179
672
257
319
998
167
812
879
728
437
802
395
311
270
653
468
702
317
600
4
639
266
938
490
741
415
56
335
326
936
951
417
108
972
224
926
156
263
626
84
99
368
958
193
614
860
737
952
48
812
29
867
362
217
291
54
395
281
933
628
533
171
161
667
703
712
770
860
55
785
256
819
450
167
425
942
347
270
225
841
49
150
165
416
912
351
708
715
132
119
148
310
389
79
55
369
103
566
992
148
396
813
715
329
732
734
449
552
122
190
767
802
651
851
694
820
182
571
498
897
687
466
802
366
661
561
592
481
721
384
739
145
318
13
212
632
893
798
851
152
4
906
723
56
374
78
42
159
546
368
575
402
319
715
23
567
336
127
398
561
67
413
585
625
594
905
397
916
472
353
541
578
246
834
296
860
846
587
874
726
996
373
366
392
554
787
679
671
517
693
542
261
770
41
73
964
585
99
852
375
138
958
264
344
245
319
701
189
883
395
977
258
788
113
164
190
21
438
624
592
985
551
696
385
755
749
263
801
397
220
904
31
1
816
216
72
340
586
903
94
498
77
249
188
683
604
659
646
983
25
633
147
914
592
463
622
601
126
292
909
821
607
698
796
576
127
606
737
574
970
377
978
506
225
829
122
664
915
440
281
729
822
391
328
64
809
644
957
428
718
241
411
959
430
251
136
345
59
654
174
273
317
423
138
71
863
750
171
164
543
941
86
704
425
229
23
694
501
858
681
934
152
286
198
555
876
749
465
799
423
574
774
738
729
591
261
515
460
523
212
311
303
3
158
585
879
579
793
476
397
404
373
249
795
869
126
3
276
803
839
723
203
934
768
381
534
562
834
861
454
833
93
121
5
738
707
998
217
940
201
811
983
873
6
690
844
704
118
630
988
927
730
309
456
300
286
581
126
659
335
980
549
314
616
944
9
429
349
206
86
754
949
822
675
117
732
684
573
945
113
271
224
387
364
961
676
81
153
405
454
766
63
305
986
247
352
977
240
487
942
226
905
319
833
575
926
675
532
128
165
248
163
314
593
415
758
112
907
460
587
691
507
803
931
876
318
862
897
650
94
954
416
603
927
874
632
211
702
232
348
151
69
330
458
721
677
366
649
597
658
963
57
383
166
670
423
332
110
520
46
40
805
901
540
408
302
280
134
638
91
293
703
445
562
924
746
260
648
690
945
670
398
626
340
626
31
225
179
399
712
797
153
806
757
301
639
753
593
580
33
906
886
798
119
470
385
697
555
31
83
495
24
880
170
838
201
744
274
812
159
777
400
940
395
737
146
201
137
952
470
75
746
419
59
693
226
854
887
636
615
196
629
314
58
247
166
371
483
102
793
510
969
829
952
181
619
790
59
906
407
934
780
337
29
544
536
274
571
691
869
259
591
330
153
499
926
813
254
808
30
177
578
404
60
353
704
50
273
287
802
364
510
657
956
957
115
235
633
469
446
995
132
47
414
824
687
921
325
661
187
458
590
836
93
928
858
234
352
778
548
637
420
41
788
467
303
391
553
99
862
700
284
767
910
545
759
396
72
418
133
923
669
794
728
832
188
658
57
721
998
317
982
641
658
101
263
516
149
92
705
660
54
355
636
222
937
995
449
771
895
910
109
586
173
548
411
603
894
484
22
709
122
144
381
146
865
4
415
106
942
742
244
166
923
954
948
199
472
515
260
549
437
239
651
55
118
412
644
598
412
785
78
351
89
146
862
31
265
497
453
296
850
228
315
50
13
912
81
114
298
702
207
880
885
177
791
639
229
145
620
671
647
815
83
930
63
501
492
29
192
966
655
234
698
744
246
988
644
618
115
131
369
806
353
180
854
263
979
378
636
569
270
11
583
717
250
169
508
234
221
596
476
13
553
910
267
44
4
74
38
400
257
934
186
797
562
40
239
713
473
128
362
248
447
593
439
920
86
889
608
66
276
215
54
617
672
335
481
399
693
940
926
243
899
151
459
691
432
655
420
77
370
581
728
59
784
777
503
528
387
27
674
363
464
412
848
569
929
390
794
161
894
57
232
84
430
341
806
87
971
238
957
915
562
44
571
104
42
676
490
557
429
254
703
562
826
791
520
699
951
82
327
771
282
661
977
258
515
857
999
398
352
200
358
415
851
354
612
602
325
932
261
998
567
746
572
672
684
583
106
667
256
76
868
432
712
303
374
919
678
807
320
406
636
218
870
135
454
158
516
8
632
253
505
814
342
147
900
858
876
117
972
885
771
130
723
629
955
553
767
52
385
81
801
471
152
545
716
839
179
131
889
830
959
450
910
81
88
392
653
134
23
303
367
708
357
938
938
181
899
166
578
923
373
621
4
51
951
462
840
792
376
779
76
475
909
383
998
865
767
64
574
162
103
886
766
19
919
293
747
63
259
64
28
969
540
253
473
420
170
516
533
186
487
42
191
586
352
353
878
768
665
163
565
612
964
708
120
411
110
419
46
786
60
848
925
354
849
857
684
535
557
489
876
650
901
193
4
495
668
998
870
550
236
33
147
416
869
562
317
352
705
768
249
522
880
287
248
57
58
552
413
418
375
371
310
415
107
225
250
17
901
875
984
748
911
878
538
254
591
196
195
347
482
789
672
85
350
90
450
140
90
562
486
343
772
619
196
7
17
390
467
98
391
311
866
724
913
685
871
31
484
928
352
883
732
379
230
725
702
483
964
258
317
783
571
45
456
722
387
361
291
102
859
618
488
2
2
880
240
481
245
399
249
135
139
315
846
682
565
569
93
980
564
52
446
662
572
146
923
735
656
865
996
829
598
509
669
865
698
751
425
424
875
100
434
160
911
825
937
231
804
122
358
830
816
904
36
732
756
947
94
753
713
75
439
475
899
696
760
920
952
460
261
835
44
711
492
30
999
310
958
334
673
836
306
901
764
732
838
805
171
34
969
176
274
383
196
344
138
704
95
284
438
447
467
495
403
801
246
252
5
269
296
351
249
326
790
656
594
596
480
527
301
658
335
733
311
704
312
238
323
730
105
36
48
867
148
115
865
398
727
711
131
411
540
219
551
538
406
522
735
456
284
368
873
146
122
806
396
435
474
713
62
117
251
786
222
772
854
575
457
221
72
195
989
890
899
520
881
387
337
992
813
658
642
535
37
341
422
63
331
435
253
391
698
913
449
913
693
493
569
855
711
267
585
467
446
781
219
244
821
100
151
372
649
85
119
145
55
416
57
542
6
343
484
945
305
416
300
235
361
516
245
193
953
594
356
689
287
765
621
26
561
454
1
944
733
84
53
915
90
743
930
686
30
497
900
954
29
752
938
943
902
721
812
580
314
765
993
633
387
952
181
887
926
187
152
7
656
147
960
93
816
286
585
863
723
299
904
965
991
613
90
546
935
97
852
257
858
346
832
179
675
49
783
836
929
294
354
334
264
902
468
995
515
121
757
484
492
405
117
281
947
871
295
801
313
620
791
716
555
777
571
868
738
665
888
264
828
348
151
389
743
21
741
117
736
498
908
337
280
309
959
598
632
824
397
359
149
654
612
410
851
542
388
451
459
376
718
704
655
637
463
525
404
287
677
626
630
578
724
431
413
36
153
564
270
39
914
750
904
138
809
740
887
459
577
803
108
603
330
865
101
38
813
703
932
77
34
581
845
592
421
491
151
839
991
851
279
197
963
948
482
462
541
230
751
761
217
836
417
921
612
257
662
199
654
343
415
866
819
904
903
213
886
952
525
322
547
342
165
571
5
789
241
301
782
83
521
74
712
441
822
341
751
479
166
976
815
795
263
577
320
200
707
674
42
220
204
257
319
233
321
133
247
105
947
175
139
726
416
450
847
918
918
561
140
617
70
196
613
680
663
687
226
630
764
51
569
292
89
708
334
456
184
317
125
406
767
149
100
99
239
479
289
726
325
8
802
511
808
996
101
267
796
80
932
785
635
530
765
132
436
762
275
172
77
287
988
493
762
769
206
709
313
40
527
676
953
246
120
353
932
287
20
339
594
618
669
74
919
644
470
723
421
610
614
402
885
839
576
210
253
397
367
661
967
432
765
174
507
948
874
272
340
497
43
918
81
762
807
674
286
978
171
206
486
845
42
489
531
931
411
767
288
818
104
74
846
802
219
911
685
209
176
195
419
874
670
661
373
719
405
378
799
389
592
72
290
54
97
210
244
364
670
490
965
76
184
691
527
70
353
376
606
513
362
748
109
410
380
355
915
977
295
971
131
435
274
426
788
621
378
878
360
201
732
135
818
609
433
649
553
775
573
901
951
362
67
52
713
821
280
601
587
564
393
470
532
423
476
743
63
583
13
775
359
214
909
974
22
907
601
347
686
835
825
448
230
140
853
896
71
714
927
496
274
777
358
131
948
681
280
82
708
526
614
251
687
10
253
5
290
908
462
180
170
23
965
35
303
821
516
77
12
787
397
332
874
294
798
23
851
991
950
100
75
823
199
296
303
904
762
683
928
447
929
94
743
112
931
698
641
126
259
730
331
831
413
221
497
926
977
94
571
951
739
205
842
604
10
605
336
564
351
746
573
274
257
520
29
106
441
733
881
949
170
192
791
654
930
672
562
514
97
73
550
544
299
340
965
463
574
133
663
296
240
806
958
406
553
944
838
630
138
581
493
529
933
865
715
571
995
582
965
972
319
321
693
57
852
935
190
394
23
136
920
159
650
196
985
970
472
665
531
417
689
553
25
522
983
8
647
316
773
464
323
53
762
280
756
239
859
594
638
471
676
133
719
268
277
812
126
606
693
779
913
960
409
816
584
88
539
230
830
758
689
762
31
710
256
581
554
280
276
942
516
553
970
758
671
80
685
857
188
765
751
992
273
711
580
873
723
288
673
884
797
82
657
558
439
638
543
369
385
650
187
5
446
620
123
509
17
565
371
787
51
147
512
123
392
153
103
745
233
68
494
707
568
319
818
135
790
366
480
72
479
964
788
822
310
366
264
756
291
616
166
154
172
686
201
142
799
140
754
245
650
338
874
340
479
157
210
503
498
846
283
887
64
862
819
123
739
981
281
708
991
992
652
180
25
370
104
68
734
70
758
614
254
79
58
710
31
91
494
45
573
712
730
647
6
141
637
847
289
436
822
144
621
308
605
286
755
646
296
70
588
447
868
849
346
892
554
788
969
741
458
403
297
70
877
633
580
751
719
293
764
294
205
861
644
127
698
889
637
124
904
728
765
758
805
992
481
783
813
114
68
770
136
864
452
670
957
704
122
206
927
234
244
398
451
493
173
168
650
467
436
428
62
990
469
328
594
388
766
792
230
909
855
335
913
827
694
221
674
31
44
173
458
581
846
705
456
649
180
126
876
880
456
35
535
690
649
232
314
652
171
624
103
700
83
72
808
744
859
171
342
917
574
217
824
666
763
153
818
5
714
517
357
420
266
916
622
433
811
495
405
795
642
161
768
505
398
662
11
588
955
621
379
471
150
40
467
757
358
61
723
237
997
572
466
530
130
757
906
249
550
749
726
24
388
206
476
763
407
604
97
146
577
161
239
378
88
388
963
618
189
534
81
145
90
723
22
937
283
864
229
25
486
800
515
155
866
868
958
895
777
966
51
611
847
997
57
154
851
603
540
214
121
926
231
502
318
763
985
176
682
326
835
197
586
743
98
773
429
426
173
445
139
670
980
609
922
793
985
512
439
104
544
832
719
357
601
698
25
377
112
159
923
825
528
29
782
543
364
458
48
317
20
912
39
943
173
362
724
191
270
740
724
638
53
946
196
122
721
712
549
103
139
384
170
405
413
433
928
664
777
857
242
53
541
459
734
501
661
371
593
866
608
390
541
261
232
155
640
779
589
512
718
234
419
796
484
965
891
618
192
75
81
84
83
682
627
722
9
234
921
401
264
654
802
105
777
808
871
911
825
584
85
478
117
143
468
184
513
710
980
556
827
679
675
285
92
942
750
469
501
305
938
84
628
428
657
757
800
363
90
231
826
169
308
651
709
739
27
921
98
628
995
479
296
408
239
235
486
713
412
733
663
187
370
581
211
521
925
943
897
456
705
827
184
983
680
8
119
670
879
851
774
625
445
154
761
493
366
549
501
139
214
364
693
3
320
336
56
27
278
41
881
193
330
741
495
343
696
222
307
385
611
978
633
628
321
98
885
291
657
140
272
365
570
670
815
195
81
809
796
635
998
428
223
498
358
204
833
115
294
463
457
269
256
755
475
844
906
23
231
417
837
511
88
538
606
152
33
459
7
645
578
13
748
550
137
696
634
202
398
261
547
226
113
809
927
541
573
131
375
498
37
726
161
656
112
779
744
708
314
212
211
381
408
593
372
685
402
579
258
702
473
448
678
994
433
310
912
999
382
319
258
634
876
720
455
575
111
418
450
500
459
54
461
839
89
442
78
179
403
627
228
9
872
60
161
144
19
952
944
549
707
629
937
11
347
741
381
6
14
711
626
894
145
642
842
731
471
498
120
246
208
128
137
947
510
369
492
413
502
666
745
330
961
311
540
746
841
466
843
546
794
282
388
908
540
629
167
442
57
429
165
565
244
49
675
920
101
951
494
975
846
123
638
25
250
777
193
537
668
195
310
630
79
623
563
350
841
833
403
573
650
462
541
455
150
267
971
967
329
962
282
390
254
720
764
740
758
333
98
129
101
200
248
941
266
449
763
278
347
879
978
130
505
290
477
322
279
355
344
473
72
519
973
767
779
316
141
101
22
998
131
704
58
867
668
743
863
851
756
136
466
238
40
336
641
52
301
879
259
82
831
968
566
741
754
134
165
66
297
667
555
660
627
791
901
879
767
298
565
574
578
329
690
667
569
944
167
677
225
748
558
942
913
942
403
912
996
627
652
657
663
733
447
376
328
936
250
765
638
797
201
425
231
439
781
681
84
758
10
467
631
402
148
112
550
950
66
249
663
139
153
255
693
883
8
51
275
809
848
828
232
202
214
889
611
494
599
185
48
292
434
796
253
748
436
41
968
516
785
294
492
99
281
374
907
905
270
109
986
998
12
695
127
40
320
742
291
677
496
875
227
517
263
857
990
708
795
408
21
805
368
448
241
861
643
254
830
180
755
648
62
976
464
814
418
332
148
175
399
70
344
821
180
297
496
862
69
586
845
743
992
388
842
485
976
362
810
946
541
750
87
371
521
722
166
707
125
699
639
421
686
626
999
912
252
664
441
43
660
251
126
922
736
867
864
839
478
69
867
531
20
891
130
264
650
157
409
471
272
763
425
915
533
126
656
854
272
852
19
277
530
908
185
902
931
450
697
619
961
4
15
255
628
889
308
773
687
92
849
940
563
960
25
581
238
997
119
849
197
849
917
981
441
635
895
89
777
262
342
92
480
396
282
69
703
957
564
160
60
570
150
890
897
584
950
592
158
846
291
628
491
316
784
158
955
190
446
545
584
874
58
53
951
312
265
165
443
574
743
510
105
330
492
238
168
203
669
726
300
839
350
757
339
507
164
62
594
905
398
833
482
563
785
264
962
51
499
290
181
182
842
424
33
144
730
833
104
517
533
858
735
988
794
123
781
545
190
793
663
482
680
117
628
690
371
362
224
394
560
197
795
874
500
881
446
768
752
700
492
264
560
782
389
116
48
938
189
649
692
131
302
512
51
332
626
29
283
826
222
320
331
267
548
695
487
745
154
996
473
758
169
495
74
302
360
152
905
835
339
619
799
979
724
558
703
292
955
406
714
499
553
674
224
159
102
624
217
525
605
993
313
707
361
85
499
165
306
190
894
763
321
721
633
983
499
897
278
746
950
145
725
317
673
694
888
757
783
799
546
312
90
929
75
803
924
68
707
439
101
28
567
92
150
250
547
818
906
818
184
968
864
343
521
158
948
380
243
743
752
423
54
163
275
769
338
474
644
474
108
311
87
656
916
509
354
683
52
909
970
541
681
533
873
855
43
888
226
399
835
118
755
800
284
919
708
891
47
534
480
111
389
827
216
500
649
668
595
65
824
72
968
225
742
632
460
68
654
302
51
504
849
583
355
365
597
16
421
790
696
539
212
616
129
855
316
506
108
794
180
985
733
23
433
191
352
614
946
887
490
391
975
995
490
22
300
69
359
81
919
952
279
932
393
846
387
987
591
13
497
451
929
347
785
331
497
595
959
666
985
257
571
177
264
342
740
526
929
351
411
434
394
713
517
495
956
952
101
259
5
937
944
478
718
635
892
876
416
8
870
889
425
11
399
65
774
869
780
416
426
69
837
985
943
61
808
453
128
971
376
227
847
695
576
58
487
545
141
117
615
637
709
153
184
741
495
131
917
933
583
89
174
502
231
973
282
110
325
361
980
85
475
993
503
2
475
960
992
628
259
902
539
871
668
453
651
161
209
746
873
887
900
382
129
885
606
347
744
852
166
899
359
418
8
452
39
390
360
429
139
114
103
790
872
456
534
520
752
639
617
213
292
646
810
525
773
579
71
292
517
534
941
636
82
794
131
439
226
84
469
93
152
480
658
977
865
213
799
608
47
831
381
84
56
521
274
522
272
893
283
952
600
123
689
299
674
318
234
341
784
296
291
219
329
378
988
399
81
224
448
273
737
12
833
74
799
941
218
949
783
384
647
969
850
482
523
322
851
887
555
580
17
949
231
449
191
23
903
567
997
426
824
802
203
265
653
548
690
799
753
618
328
532
346
241
951
594
901
584
760
480
35
789
911
264
879
122
13
312
378
566
64
806
516
813
673
357
954
727
378
895
510
60
167
65
452
77
489
976
461
414
120
285
949
52
780
980
764
838
176
640
716
948
470
67
69
271
733
699
200
33
894
586
758
238
650
783
313
463
757
410
317
89
543
321
412
277
265
824
13
867
978
439
499
669
348
910
8
597
185
144
453
627
674
606
278
448
509
145
151
448
606
961
329
587
176
648
637
191
579
482
520
410
863
938
531
813
433
77
496
822
753
950
17
275
621
870
792
367
153
567
751
453
735
235
884
102
724
615
211
643
782
801
796
59
621
210
278
311
910
315
687
996
231
692
826
922
351
462
695
87
661
854
26
544
846
480
835
448
224
829
476
759
774
864
253
117
477
904
419
123
435
41
416
566
782
417
341
747
509
893
889
248
865
376
490
749
676
869
363
748
678
317
622
314
479
602
975
229
837
436
393
505
95
346
649
231
678
579
639
906
264
62
969
460
170
881
827
402
306
379
250
675
868
519
910
226
112
748
320
742
850
325
793
159
731
277
180
618
125
122
206
636
1000
780
196
128
883
262
417
219
958
409
402
961
54
340
531
525
419
921
813
64
316
394
211
197
622
628
109
791
756
523
26
757
314
961
101
463
603
944
110
740
633
374
167
196
321
851
875
765
864
899
981
535
100
409
100
862
723
775
990
625
576
881
949
680
204
415
395
59
547
485
171
12
71
767
629
2
281
981
117
777
496
178
763
149
828
571
942
894
28
843
721
554
374
492
424
732
812
540
809
256
332
366
717
381
493
882
859
236
236
2
463
2
927
3
404
448
676
276
693
357
168
284
953
895
409
80
830
157
714
136
177
817
774
558
598
678
905
711
966
362
486
13
280
166
137
820
80
952
56
28
909
893
466
73
519
939
915
210
241
757
9
995
310
743
46
914
15
676
594
21
420
684
720
765
316
44
577
290
355
872
478
69
436
704
699
697
260
710
517
233
472
778
497
184
354
340
4
761
91
54
776
367
539
762
900
767
609
709
742
366
920
432
653
994
979
825
60
540
661
688
573
701
108
748
468
392
863
463
799
802
774
684
68
297
794
174
523
90
812
900
789
920
130
947
90
578
696
569
134
225
907
343
262
12
829
5
879
356
716
317
396
417
730
549
244
92
462
840
23
77
244
739
736
316
497
727
953
263
32
139
282
513
188
134
373
467
38
912
487
400
270
398
779
463
791
213
443
51
411
754
683
779
187
300
898
986
146
946
248
716
254
679
639
696
535
965
184
310
478
919
7
537
698
949
734
401
819
14
686
125
236
349
789
498
746
566
532
251
237
665
306
604
73
298
475
103
810
101
255
891
152
783
920
765
436
647
245
393
892
647
860
148
223
291
644
146
152
17
905
617
877
373
255
637
568
416
850
652
261
791
530
62
136
945
776
657
337
664
966
857
302
743
896
941
398
38
234
918
754
947
216
842
314
489
558
397
833
46
799
110
849
153
690
318
527
46
199
500
497
727
929
423
808
324
933
469
573
802
247
419
233
658
99
356
419
120
646
225
486
876
970
516
7
713
601
137
583
607
183
273
230
560
444
32
200
248
744
150
793
89
670
113
821
364
864
833
164
102
303
768
461
292
148
640
220
173
885
604
451
883
959
478
735
239
395
130
706
7
369
381
722
142
661
739
136
758
35
944
101
231
530
937
268
350
716
622
709
562
670
626
257
387
699
437
317
422
854
862
995
554
777
298
560
704
379
760
348
470
822
525
611
21
115
17
888
674
487
803
582
209
408
136
932
746
299
886
956
230
609
135
717
403
492
526
884
238
116
365
555
116
100
550
323
841
779
347
386
289
204
564
81
587
633
169
913
386
560
870
542
882
668
160
453
410
34
975
591
614
271
43
751
755
562
219
879
4
544
477
803
864
238
897
620
173
382
631
508
197
130
871
145
41
758
840
125
876
161
351
120
533
181
974
581
786
143
671
876
772
9
543
567
891
151
557
229
874
450
329
100
162
843
89
774
959
202
665
441
433
827
562
81
833
60
62
824
550
249
900
873
561
506
156
466
254
705
185
161
154
251
265
518
479
2
270
981
523
653
288
70
745
38
37
957
703
387
428
157
714
312
564
869
480
315
642
941
191
124
151
335
964
893
229
624
862
281
534
393
958
854
40
961
917
470
714
736
84
804
615
571
438
69
327
952
148
738
67
530
447
379
163
284
500
748
238
961
98
821
359
630
393
728
513
2
823
552
576
745
967
797
752
299
226
566
325
307
737
916
693
555
193
31
97
504
449
568
48
41
470
555
170
454
253
290
795
9
486
365
951
240
842
733
781
258
516
292
756
465
948
897
243
12
115
98
432
18
172
893
510
365
583
283
617
690
125
908
803
655
308
814
383
850
546
108
360
673
680
537
131
78
869
732
177
25
736
280
77
928
344
517
556
810
742
305
414
480
461
88
475
332
566
515
281
874
15
256
156
144
384
428
957
867
886
780
687
731
626
867
59
885
694
740
563
851
326
978
666
256
347
800
548
992
348
644
245
918
807
289
720
315
481
273
246
807
281
117
930
513
715
575
258
958
963
529
442
978
971
108
128
805
514
700
890
422
636
240
785
185
134
479
91
944
16
340
607
113
955
860
464
973
779
691
191
404
330
565
259
345
880
950
183
433
590
674
682
222
294
505
287
711
803
47
298
284
695
437
967
731
624
677
70
227
767
691
907
225
40
788
529
598
889
591
101
369
7
654
639
877
496
448
271
389
222
895
528
734
543
694
245
127
717
944
176
324
728
964
909
800
566
335
787
495
934
148
399
607
637
142
65
978
977
150
767
948
719
502
194
912
131
769
485
982
357
137
292
274
258
387
627
913
450
604
851
914
810
945
181
964
567
70
323
869
67
716
832
648
866
276
104
464
843
574
145
197
454
109
828
770
653
708
788
67
753
780
894
188
522
595
44
223
984
862
89
423
519
130
780
19
595
443
230
447
443
602
947
626
820
483
549
927
771
112
51
704
540
242
221
660
450
415
373
815
87
725
795
643
553
28
396
815
91
783
128
446
632
537
336
3
560
249
64
463
249
247
637
740
749
211
968
359
697
786
283
676
92
874
24
479
219
458
486
896
111
105
811
831
251
252
264
568
727
250
457
866
759
933
182
517
609
981
387
863
477
761
911
724
304
662
121
114
986
631
191
246
118
318
866
993
45
602
481
161
368
470
17
743
401
785
860
351
636
793
919
917
474
823
678
622
849
499
575
583
783
949
507
702
385
828
369
214
629
85
431
736
64
547
720
47
441
957
298
34
971
354
457
213
409
506
728
459
304
956
608
638
971
897
231
829
838
390
979
628
803
957
261
200
804
365
772
282
688
500
347
238
726
800
143
778
863
586
172
139
864
575
113
805
661
141
918
201
452
722
507
478
718
166
567
339
797
185
278
337
433
432
190
159
994
225
482
625
936
834
996
825
554
24
191
3
243
192
381
756
754
1
727
394
994
474
404
451
741
317
524
204
675
654
244
277
836
529
65
58
512
423
730
803
342
658
121
594
918
481
81
391
986
271
753
871
508
318
50
945
7
694
155
314
818
2
799
902
862
431
623
811
896
525
456
129
670
231
737
865
144
215
552
150
492
578
923
477
603
819
887
974
646
71
815
381
702
992
193
722
148
129
153
863
249
969
179
287
942
24
804
210
68
318
183
939
542
187
603
936
924
331
793
497
393
962
68
63
187
831
89
498
666
74
371
575
666
974
589
450
460
363
4
341
656
682
84
983
467
464
750
170
551
108
346
895
248
515
931
572
613
511
451
278
991
549
290
824
631
314
60
366
668
487
755
598
749
121
169
569
405
252
763
14
729
201
450
686
823
445
985
390
616
96
198
366
155
858
445
856
988
280
792
312
681
290
999
386
635
964
711
940
946
277
726
411
178
424
124
787
546
56
255
236
497
659
474
949
38
311
640
458
113
889
433
503
541
893
337
247
639
637
878
42
104
678
641
732
643
877
877
301
525
944
467
280
759
42
305
980
722
13
964
329
391
92
35
983
796
260
165
652
49
461
260
805
188
317
635
408
948
652
79
774
396
780
246
174
888
525
609
451
679
524
908
99
354
125
393
526
180
648
922
658
816
383
85
70
624
69
189
433
738
515
26
166
886
436
80
563
610
184
159
554
308
819
117
945
888
493
937
892
916
930
700
471
131
443
479
601
771
276
488
159
785
556
657
932
463
982
755
726
205
84
147
372
727
776
485
635
172
991
935
952
281
242
144
4
183
935
631
823
66
654
713
809
794
954
691
82
626
240
140
488
86
725
170
488
529
594
364
521
914
342
420
750
79
781
279
692
44
696
380
141
338
98
481
592
159
602
520
803
557
80
545
983
613
309
330
512
125
165
659
986
167
271
274
380
86
422
357
232
39
531
729
969
649
909
25
632
538
465
815
110
606
106
983
241
924
394
254
496
239
839
476
935
514
703
714
893
224
355
311
162
984
623
766
634
919
854
577
306
911
217
461
829
424
560
414
354
371
309
231
916
158
220
657
509
415
422
850
651
947
426
404
779
678
412
904
132
76
394
728
615
666
469
110
781
85
21
280
122
737
233
505
156
544
871
256
156
64
363
571
474
780
35
898
21
98
757
8
52
787
92
716
509
321
883
673
200
69
67
967
633
257
984
463
41
718
219
758
654
881
924
717
620
38
350
367
177
421
831
161
282
390
751
21
460
40
237
519
441
949
111
963
404
991
560
925
867
215
645
833
582
314
33
503
14
830
527
821
110
406
18
774
965
956
477
2
705
494
564
224
832
940
375
505
712
765
126
462
18
151
518
47
307
915
444
476
956
509
788
963
16
595
895
828
835
169
529
876
341
360
836
883
885
175
549
902
434
677
931
885
38
616
214
873
200
914
923
933
199
716
807
745
562
678
589
881
134
917
874
76
142
403
759
133
12
568
599
520
529
819
543
339
7
208
165
920
85
68
385
120
415
692
308
907
290
729
710
288
467
826
466
45
411
484
260
169
654
888
4
138
788
561
476
75
440
577
969
453
899
724
943
992
829
176
348
178
347
760
210
698
566
856
794
610
743
817
211
236
759
212
447
562
83
643
383
462
501
53
501
329
963
674
809
947
316
948
44
766
29
505
314
246
231
152
611
281
395
253
964
829
358
91
870
375
914
126
361
935
366
340
85
650
734
573
834
34
108
393
67
79
997
257
805
965
946
168
62
589
685
637
694
683
419
936
614
307
633
826
485
841
317
93
690
643
958
647
922
974
175
556
122
560
23
831
133
701
204
535
176
516
439
998
845
526
141
859
262
681
18
28
860
471
803
759
39
539
769
238
173
324
631
308
165
146
90
1000
155
765
976
987
259
74
779
281
884
380
877
245
158
869
472
741
645
222
664
927
473
907
8
6
992
434
780
777
752
724
534
434
178
251
139
360
793
610
762
588
14
826
115
511
325
355
527
553
501
158
478
776
195
983
117
860
520
474
878
679
852
437
993
531
178
522
854
927
550
518
359
987
212
284
428
825
868
893
444
845
695
690
713
577
32
275
403
570
369
42
438
365
650
497
800
421
516
312
43
373
715
220
475
532
152
438
991
822
379
625
617
136
693
123
162
564
403
10
779
827
324
248
347
719
998
313
783
959
602
955
315
791
346
324
56
661
240
545
655
859
199
309
346
669
105
59
925
950
955
736
127
427
62
980
460
493
906
898
490
750
817
275
105
321
804
701
145
438
159
683
82
209
206
556
426
101
944
31
612
923
513
64
665
667
780
345
9
711
355
770
100
484
89
178
534
573
296
204
987
218
472
940
104
582
438
743
651
403
507
53
856
342
417
692
538
594
999
932
702
388
236
88
69
747
528
610
332
381
424
7
230
699
791
700
92
714
959
504
278
598
69
222
644
226
762
902
213
223
704
279
90
796
104
145
221
417
124
158
356
23
467
575
942
688
468
66
98
629
858
391
23
799
628
966
750
419
976
119
27
962
101
252
336
578
538
545
459
896
249
981
509
71
367
700
696
751
917
72
732
830
65
636
303
295
522
166
434
921
85
70
198
757
120
28
507
847
936
34
892
144
64
714
412
943
320
321
294
93
284
993
923
958
99
748
135
416
641
770
536
641
258
332
890
574
317
242
201
300
68
3
243
913
812
679
287
393
955
457
933
186
973
638
370
856
946
317
936
400
540
969
372
570
820
179
101
925
667
409
12
301
407
170
633
884
11
260
950
235
44
305
311
619
885
87
389
369
829
311
26
842
919
771
245
119
662
216
624
677
329
167
128
577
665
62
652
121
988
601
430
932
509
302
463
503
536
397
893
195
461
140
365
518
535
280
378
975
495
657
690
480
446
985
883
668
970
397
351
98
431
599
707
175
740
453
393
481
161
583
617
96
916
953
777
592
524
375
511
947
68
161
437
623
8
775
471
82
210
362
347
91
355
14
961
456
792
615
124
610
409
153
654
883
24
483
39
336
840
261
989
745
526
590
304
438
523
460
398
753
852
351
658
684
893
807
241
376
225
895
171
472
924
592
760
416
826
11
963
224
548
567
371
878
515
974
554
267
185
224
774
181
278
334
924
217
546
16
569
885
465
847
889
955
696
837
12
458
545
132
50
879
483
79
584
978
571
980
134
846
222
606
50
799
120
349
215
363
863
97
974
401
182
977
257
956
204
716
917
640
538
542
389
506
243
207
110
126
207
638
943
978
182
59
946
921
211
159
229
81
760
78
746
927
705
209
878
399
331
687
614
882
184
48
692
266
641
454
209
382
784
777
30
872
541
524
450
626
456
774
660
291
821
158
421
738
639
476
444
642
300
469
537
777
859
246
244
999
795
412
468
197
768
402
497
285
872
316
964
294
156
232
212
825
198
215
435
832
704
16
82
441
126
186
35
680
337
421
991
350
450
907
265
498
924
370
718
773
507
43
805
467
615
308
840
818
344
935
989
572
754
393
907
751
941
172
856
988
432
715
524
888
700
81
637
686
917
226
901
582
824
553
813
590
268
80
554
383
111
126
584
488
378
264
502
701
446
149
954
378
466
641
167
150
763
473
217
700
835
960
28
42
681
142
946
120
165
334
39
202
245
703
128
699
331
56
68
705
1000
584
992
370
970
54
674
338
351
165
958
277
316
815
240
42
54
383
813
439
353
607
600
200
801
578
101
536
107
900
126
24
756
44
654
745
521
497
428
276
552
841
542
681
911
818
315
271
754
611
31
148
285
566
288
900
574
209
754
998
224
374
95
648
448
242
314
864
7
491
863
719
664
629
777
347
993
466
987
519
417
481
914
229
104
564
87
876
85
499
631
873
530
338
922
484
239
186
907
627
447
203
513
273
689
343
178
941
656
858
836
45
645
242
662
427
762
286
934
744
816
499
581
551
957
517
509
601
466
230
344
411
161
796
308
469
107
34
70
74
500
63
623
441
798
100
55
548
789
681
631
916
479
59
131
7
191
370
630
122
859
732
856
747
600
723
954
382
375
525
678
640
348
867
473
739
604
735
156
155
610
990
102
924
680
588
812
107
889
828
532
117
29
24
162
473
928
445
211
225
329
22
752
210
474
566
573
923
970
423
587
951
184
128
102
92
963
924
426
919
153
769
771
646
310
379
138
840
782
67
238
21
272
669
189
118
820
332
838
787
963
657
189
240
381
459
70
784
612
71
824
922
920
277
376
913
785
760
304
641
399
660
642
565
935
219
633
236
997
393
888
987
343
241
848
913
384
996
737
510
541
870
225
689
527
993
131
11
73
351
580
171
966
239
970
497
349
130
491
4
146
549
946
585
843
465
60
898
464
354
304
885
625
130
949
859
202
78
8
314
467
801
997
890
416
502
587
398
839
440
124
755
544
53
744
458
409
535
727
249
480
443
87
797
799
16
187
236
578
182
182
392
238
635
280
333
574
507
406
575
547
212
771
112
448
912
431
597
197
302
74
615
864
551
278
225
544
671
620
870
543
267
23
254
231
243
459
721
319
709
490
248
307
477
829
389
29
653
609
798
686
53
857
786
121
537
765
510
288
689
192
655
895
762
698
405
119
825
1
883
845
69
264
342
224
984
45
598
662
249
925
469
155
867
207
638
657
291
480
28
673
105
233
684
549
237
829
150
636
587
227
541
383
684
214
568
78
370
795
131
170
200
48
795
166
22
124
254
701
7
353
707
185
405
413
907
98
313
585
764
860
872
951
460
43
158
311
809
37
330
559
562
129
572
725
911
166
997
34
493
923
794
924
96
704
509
937
693
572
50
329
748
785
24
134
210
967
315
402
870
9
244
543
903
464
845
710
610
34
562
422
430
70
403
575
949
984
441
695
217
829
392
636
848
867
246
359
359
193
337
569
898
980
544
192
410
554
554
957
514
556
767
326
173
251
629
733
406
294
436
693
737
256
911
378
288
958
354
798
305
263
23
409
628
656
612
904
330
914
139
668
538
500
824
914
691
637
624
997
831
689
645
280
357
68
231
502
463
217
396
751
923
716
185
896
554
625
530
245
656
432
305
910
763
921
803
610
645
581
707
188
829
494
869
663
765
890
997
657
778
220
748
868
364
879
81
739
348
73
648
920
730
294
113
255
1
94
484
53
105
929
135
252
590
888
150
773
129
447
384
438
839
600
718
626
917
949
988
110
191
109
77
515
704
433
557
27
104
58
290
492
75
144
6
694
646
951
490
239
156
287
390
364
215
858
262
700
313
218
55
562
227
799
528
332
944
493
930
16
274
563
794
23
576
64
495
599
441
437
536
157
12
763
711
936
358
328
56
232
726
747
548
495
310
535
774
712
151
78
344
924
738
737
528
472
836
363
983
180
602
901
703
846
473
849
428
617
303
220
725
924
189
849
666
476
377
559
561
260
321
533
921
821
903
612
881
97
265
389
886
342
157
242
207
882
384
946
39
698
691
687
103
134
257
853
795
576
991
771
984
979
625
68
396
945
80
521
844
568
787
632
210
873
337
304
116
516
396
29
32
839
962
844
658
947
381
656
669
693
317
657
609
398
870
963
235
442
607
639
847
363
489
679
327
525
76
423
350
839
278
723
421
621
11
854
383
769
991
87
75
298
205
410
152
489
318
991
911
568
420
919
508
905
466
442
949
231
911
219
880
11
472
681
479
168
969
261
290
519
231
35
217
360
974
672
9
718
389
107
134
933
843
303
982
671
967
206
9
928
159
26
236
12
988
328
41
441
912
626
938
261
195
248
712
482
643
566
867
970
297
249
960
976
750
156
707
302
944
1000
955
556
106
20
305
61
556
280
818
400
938
648
789
639
488
174
872
455
575
235
658
752
91
464
622
971
187
785
440
655
690
616
129
986
44
336
992
938
199
197
312
881
853
218
19
962
420
288
851
790
368
942
949
224
293
901
112
980
908
318
60
977
976
253
135
174
449
2
85
930
672
350
542
224
888
540
557
527
618
718
168
488
996
671
40
849
36
762
61
473
223
536
922
495
569
970
645
779
438
742
146
486
829
312
1000
130
3
83
382
357
993
368
39
392
71
9
751
25
625
547
807
933
142
777
698
927
927
379
904
795
640
927
901
548
135
80
196
502
82
895
112
197
478
57
583
128
678
68
876
391
745
340
832
35
487
528
232
34
826
481
726
853
36
998
908
398
363
168
73
227
901
816
138
210
142
960
34
336
887
237
939
995
172
38
409
423
218
535
467
244
212
986
825
345
240
688
65
664
14
948
81
458
588
927
691
546
284
143
408
146
366
104
654
554
715
439
941
556
233
936
848
699
769
322
410
813
255
367
159
251
746
631
946
68
332
706
306
401
176
947
182
729
997
619
75
928
777
696
177
782
936
501
112
739
379
879
688
87
34
564
492
894
379
550
261
177
805
940
502
600
102
744
636
550
506
742
351
971
871
633
534
817
908
459
514
254
954
305
869
169
521
188
346
900
424
70
399
162
935
720
102
807
937
114
551
886
680
823
5
564
475
479
673
285
836
327
558
326
169
51
810
113
64
96
916
427
988
565
38
987
601
299
613
71
489
662
335
722
724
697
903
789
254
123
382
265
474
713
790
898
954
781
427
404
36
282
271
72
79
919
571
563
48
890
562
28
715
900
176
537
938
487
9
817
711
963
93
457
773
688
674
192
126
574
842
375
693
652
364
789
918
652
671
220
457
406
363
324
964
808
88
51
740
516
359
339
298
291
430
173
253
366
751
96
174
665
894
658
186
367
137
93
204
42
652
963
643
780
947
988
218
866
14
467
478
850
591
956
224
533
245
407
467
748
518
511
436
758
627
271
158
334
759
171
634
156
217
51
430
446
381
962
499
559
252
909
880
169
324
315
942
607
660
690
177
87
308
534
50
807
207
546
620
104
613
230
943
739
290
590
246
781
530
51
229
97
787
817
769
375
153
825
129
262
946
158
976
935
959
865
734
73
98
463
881
172
34
125
831
570
37
129
666
226
404
740
258
221
4
59
462
951
430
192
411
354
385
535
709
854
875
698
640
532
588
251
107
236
859
947
901
476
1000
581
433
322
855
824
97
244
833
426
756
433
785
558
667
266
6
906
208
401
28
317
408
576
379
205
530
913
193
269
532
71
62
660
418
28
586
307
386
296
357
287
746
3
583
49
196
740
77
575
115
596
257
661
627
83
365
316
926
627
634
45
440
325
711
377
826
17
945
547
362
485
86
35
305
919
199
843
473
323
729
961
50
387
434
779
220
439
746
9
53
43
440
402
388
921
47
217
558
280
665
846
22
114
301
392
169
96
143
669
33
356
132
57
995
981
164
137
261
662
893
820
430
237
775
706
582
981
96
672
12
201
742
97
97
223
900
603
583
312
19
779
639
902
565
217
582
89
691
677
340
770
267
986
91
310
861
843
837
462
977
326
433
420
623
663
155
914
839
507
119
822
224
484
852
922
220
321
833
453
70
136
760
332
736
268
945
945
338
960
322
902
518
707
839
194
624
532
26
783
740
333
119
128
877
751
154
76
852
24
384
19
558
826
507
696
571
432
701
612
652
772
465
877
844
22
47
30
279
3
897
837
713
934
810
47
645
241
603
352
901
913
67
58
115
820
252
128
752
759
891
361
513
60
320
980
191
440
329
251
172
258
864
515
330
771
607
321
611
326
462
423
110
888
518
730
177
990
743
365
141
106
296
230
37
610
744
749
612
197
767
341
171
761
70
714
192
456
954
948
117
506
478
521
845
797
569
690
917
723
665
907
806
616
819
542
480
475
563
570
230
2
258
876
669
587
505
110
999
312
829
936
284
904
664
182
561
630
720
69
400
218
150
764
199
739
856
986
291
324
431
660
265
494
569
620
672
18
4
668
524
159
141
165
114
212
848
700
287
604
46
670
226
750
772
297
953
870
906
752
97
267
48
259
351
227
859
126
242
404
136
608
734
612
191
207
871
740
374
14
134
317
132
66
732
254
484
889
123
405
327
340
748
459
101
125
597
227
878
899
756
867
299
227
493
646
51
649
238
19
675
91
594
745
141
305
228
521
251
299
127
764
222
186
707
374
818
208
509
658
578
683
29
905
607
645
891
968
625
350
613
769
558
719
222
119
217
32
938
944
382
505
87
433
579
165
741
772
168
713
900
658
724
141
651
489
889
829
245
495
543
204
300
290
361
634
867
481
209
475
734
415
345
767
627
180
279
970
702
160
44
575
159
188
453
899
424
302
568
626
231
316
589
54
623
877
895
625
247
107
443
467
510
901
101
324
809
766
679
122
670
365
875
422
291
258
594
640
425
594
572
602
429
274
242
539
412
766
171
570
965
331
144
180
896
96
730
477
984
189
409
965
292
928
490
704
428
115
115
584
42
306
260
230
689
116
661
7
29
104
479
41
125
145
633
253
88
910
28
874
137
502
19
748
232
748
803
193
76
413
175
415
945
416
439
884
269
101
204
639
978
465
739
284
611
285
72
852
233
169
823
641
334
896
802
194
587
330
461
374
918
947
925
345
823
575
108
259
717
745
146
85
12
324
448
98
136
277
597
45
611
419
94
12
152
712
40
303
253
616
755
166
165
430
802
456
445
517
961
712
351
921
466
191
782
652
100
877
170
599
366
447
391
661
944
852
704
304
212
619
881
12
248
72
665
404
433
691
304
648
215
900
361
269
191
310
749
159
556
171
928
897
509
558
129
161
886
462
318
548
257
841
953
259
96
5
618
165
753
692
421
662
750
649
792
289
451
955
367
452
796
612
660
304
478
406
197
440
853
727
650
809
524
836
991
578
241
796
941
495
7
119
624
985
556
457
856
408
650
665
792
945
115
352
821
124
489
653
100
436
571
520
715
459
275
794
880
593
650
324
738
198
420
378
456
390
433
404
501
198
319
265
84
9
329
184
241
405
266
40
460
554
376
870
838
799
269
771
571
863
178
402
710
22
141
847
905
531
714
410
824
627
118
397
116
968
232
329
213
473
815
171
868
513
284
522
818
31
808
946
119
225
97
435
928
849
755
118
445
162
472
465
503
474
204
659
792
97
65
998
524
96
204
147
533
262
146
773
570
865
827
513
202
897
812
412
575
415
642
483
268
521
310
847
494
281
32
419
29
889
59
640
778
353
89
678
483
503
193
838
270
371
408
556
854
333
251
997
273
47
750
603
278
821
180
463
495
115
20
170
811
635
18
547
316
478
782
378
797
898
40
739
697
540
524
215
348
170
774
595
982
572
370
136
814
795
449
790
861
536
869
214
496
258
133
454
54
422
486
110
901
716
525
195
813
625
428
194
848
462
228
578
879
448
734
94
148
817
255
106
158
381
790
969
478
114
520
189
488
466
221
208
398
572
604
183
149
227
730
742
757
976
220
985
547
409
264
209
695
398
801
769
452
993
133
361
260
469
644
883
773
202
378
781
952
941
646
227
426
656
482
773
634
580
827
212
773
118
823
767
468
141
453
116
421
798
507
46
531
20
389
571
134
114
384
438
907
392
491
892
862
267
247
51
740
396
185
83
26
992
280
863
809
804
15
774
931
520
998
399
399
855
551
612
429
561
919
194
894
769
170
528
58
73
358
605
335
556
262
267
695
277
384
685
556
66
794
550
396
17
909
735
719
748
883
311
710
973
736
595
305
225
712
987
918
989
74
309
194
555
832
598
580
564
871
718
19
576
603
705
192
892
435
665
681
405
533
202
437
868
458
161
402
858
680
373
174
853
718
456
343
382
490
471
365
516
555
158
575
932
543
31
380
882
160
263
315
731
922
946
760
786
719
854
246
703
804
305
936
106
407
496
279
725
999
27
553
811
906
438
703
320
273
495
86
90
966
174
54
258
886
61
129
439
419
96
172
55
508
946
385
730
233
57
953
720
440
50
161
132
104
132
848
1000
125
649
224
355
877
927
320
945
791
32
550
473
488
986
595
795
43
501
567
561
253
936
883
531
282
19
830
527
441
431
74
230
95
560
788
288
143
726
782
323
870
58
729
89
592
510
467
312
88
732
516
406
605
336
527
633
739
727
858
316
32
182
378
37
164
724
90
387
578
532
356
523
80
546
214
627
32
99
307
367
757
658
99
76
918
858
999
237
2
121
965
94
983
975
67
465
72
740
690
939
929
415
244
888
569
493
418
760
591
297
869
109
574
492
914
879
194
879
130
670
385
728
408
486
636
304
556
482
862
998
560
851
853
442
322
541
462
100
706
957
969
434
752
479
600
189
361
705
640
250
793
754
53
342
322
807
539
59
748
70
420
354
326
491
492
457
50
926
451
625
816
986
137
80
376
942
135
400
869
702
361
377
866
76
644
630
26
544
342
552
889
521
871
747
583
467
428
538
744
695
6
562
87
491
29
653
205
145
586
730
396
670
992
9
322
907
944
303
91
330
996
264
851
585
101
88
123
909
948
57
19
872
753
548
404
943
905
957
885
378
665
330
630
568
147
879
60
837
35
671
751
549
31
509
349
189
499
422
453
998
986
508
429
62
12
405
513
194
520
674
630
737
666
958
22
660
658
748
172
334
693
820
286
885
252
407
452
558
59
837
157
391
720
623
170
101
569
732
515
766
665
550
755
112
325
829
9
587
949
705
5
991
226
717
628
597
898
158
39
240
242
203
827
340
538
515
932
377
170
50
982
95
205
681
139
238
157
677
719
861
39
122
183
661
438
836
25
400
387
516
870
527
469
761
325
187
581
994
300
917
806
520
725
151
589
447
97
889
615
250
390
492
953
436
909
566
491
474
802
962
492
291
917
715
314
201
300
147
683
494
454
49
540
55
953
60
680
905
486
445
171
176
950
368
566
383
560
809
314
517
33
156
197
387
515
92
437
87
490
965
514
572
68
344
821
845
305
195
23
475
512
784
42
527
323
448
706
788
537
375
229
546
222
995
86
172
390
830
43
973
989
735
244
546
727
201
980
306
678
22
48
657
79
798
160
284
121
922
877
663
671
135
604
926
4
799
718
589
405
265
739
887
378
224
523
454
263
788
245
880
503
657
109
463
944
897
727
921
534
383
785
653
106
247
422
120
697
61
459
770
277
82
129
552
332
728
90
435
665
753
958
750
408
225
63
374
887
107
5
477
946
581
593
281
772
552
129
277
642
524
347
967
142
290
570
874
206
491
493
452
578
729
439
686
784
571
482
973
727
33
257
101
169
885
390
582
253
57
795
968
352
739
399
267
712
876
316
176
214
434
318
995
357
630
316
247
710
451
998
304
300
178
79
991
951
408
920
808
632
545
22
723
110
758
753
811
686
126
402
520
868
892
362
932
541
481
569
685
493
200
750
314
744
731
841
407
985
516
34
385
295
918
32
457
931
625
325
612
951
191
743
826
854
988
8
115
655
954
307
240
387
797
78
258
22
76
602
210
854
834
309
292
512
727
737
721
634
364
327
812
382
663
17
732
564
359
716
612
980
228
929
342
116
120
451
647
724
505
259
939
570
771
704
799
130
696
346
793
306
81
171
722
460
345
578
834
54
460
281
555
461
476
665
521
297
775
431
933
294
627
667
56
529
154
779
151
761
45
667
986
652
846
648
208
469
462
990
230
616
956
340
189
910
361
402
624
812
895
521
767
48
301
482
603
548
229
673
674
851
576
816
229
523
389
176
339
284
809
308
796
534
979
148
8
515
8
712
308
805
732
32
877
980
372
199
290
345
934
556
658
123
652
514
648
532
845
685
770
604
137
920
232
545
545
51
847
734
720
175
954
513
480
430
802
850
582
432
288
905
597
629
828
357
276
277
44
390
732
691
867
494
225
375
157
834
183
501
476
966
481
289
564
869
536
278
178
597
367
313
836
76
627
336
320
232
295
913
538
513
290
394
655
24
429
285
697
928
952
348
666
53
596
970
447
370
301
27
335
714
653
208
460
65
42
839
786
508
700
781
838
202
700
352
176
695
712
257
291
869
75
218
156
680
864
159
642
672
143
347
943
837
326
74
6
8
515
592
455
398
973
584
801
610
881
881
267
517
125
234
190
492
407
701
938
804
462
164
606
260
8
364
476
275
74
615
548
366
881
211
353
261
398
451
415
320
441
879
928
272
233
518
187
243
177
830
707
696
117
20
637
278
177
652
279
164
515
350
462
957
66
581
643
845
548
650
747
904
31
585
518
120
254
356
500
574
513
549
360
707
282
695
255
678
335
799
922
45
178
66
654
783
261
851
260
314
590
345
441
577
115
709
131
285
128
209
948
706
703
706
201
617
482
395
921
558
995
521
709
772
827
884
379
4
262
840
218
269
983
45
818
296
308
368
146
436
435
136
645
547
829
295
632
655
596
99
767
618
60
217
236
284
920
784
812
372
830
247
7
19
528
621
843
658
277
586
830
173
489
930
82
119
235
140
715
588
968
206
971
710
294
912
175
916
487
274
585
196
163
773
877
794
271
476
562
116
939
681
533
822
833
669
48
212
838
217
68
649
705
614
484
841
701
196
83
804
258
63
176
677
863
810
396
933
886
308
75
851
819
785
282
709
901
708
720
928
246
938
698
839
675
734
624
91
691
607
88
838
677
254
31
898
834
931
401
347
369
45
681
995
625
625
841
99
698
140
864
742
729
290
565
841
954
110
214
18
912
371
640
261
438
641
248
722
155
853
286
918
405
908
636
967
203
510
454
771
753
70
930
257
703
604
463
215
351
48
877
378
340
712
485
342
956
766
960
953
429
987
569
713
805
909
167
319
846
590
267
646
942
746
187
71
141
860
396
660
45
562
574
315
157
859
548
615
260
181
104
883
623
28
17
614
832
517
852
340
809
679
343
56
549
179
516
605
987
16
661
494
182
172
331
807
438
179
182
730
423
153
437
454
897
977
462
542
323
340
785
768
691
767
524
18
374
697
866
542
621
768
873
119
634
692
3
747
310
624
395
81
287
534
665
981
472
66
399
906
513
986
183
129
320
877
222
629
240
856
415
91
774
49
318
523
679
832
854
613
210
678
314
443
482
501
669
618
402
248
400
137
804
158
525
851
187
269
252
346
181
174
503
852
322
593
619
337
754
855
271
454
415
821
637
961
197
145
123
625
604
291
727
890
472
182
116
891
890
621
139
525
445
730
440
675
856
21
596
156
139
595
801
307
981
935
782
631
840
145
951
444
831
548
397
975
712
865
925
255
978
712
216
441
969
439
265
529
525
115
982
880
473
184
222
965
337
523
477
635
771
288
856
853
905
854
689
956
545
971
976
45
297
815
561
211
486
464
851
705
140
331
772
145
827
546
638
640
402
71
847
776
350
190
846
186
35
707
225
582
148
353
996
66
558
211
418
661
736
85
336
763
726
294
633
37
997
910
131
47
973
11
639
878
446
720
757
238
87
412
404
314
423
94
477
685
212
597
848
414
822
209
918
16
760
955
923
744
879
22
719
219
488
435
743
88
948
58
855
362
147
762
845
845
486
628
252
528
304
783
699
654
40
867
391
92
370
413
957
845
793
88
910
886
232
95
261
656
592
107
843
273
222
216
126
616
25
255
808
372
368
620
55
237
631
138
576
389
782
49
514
402
101
440
173
89
739
35
942
253
561
801
250
842
201
668
200
676
32
258
694
636
101
203
408
718
357
984
748
601
562
595
345
841
271
328
755
16
914
121
430
562
338
628
86
219
996
949
845
221
42
973
454
819
67
994
277
622
453
509
829
398
794
554
964
270
872
88
888
92
28
935
17
545
669
284
942
214
643
647
886
614
701
673
969
328
310
817
769
992
101
925
235
859
951
379
408
81
193
530
722
797
699
123
550
755
783
783
711
261
959
660
463
929
156
845
853
451
878
274
309
481
888
814
420
478
257
894
222
8
589
20
996
132
413
811
780
720
790
766
76
894
933
831
964
867
755
331
209
961
199
609
475
803
170
557
620
849
471
796
316
877
982
71
203
327
650
633
148
146
897
285
401
238
422
969
141
602
43
386
333
744
758
469
937
177
476
420
128
137
305
670
216
216
527
13
733
854
755
580
779
750
65
9
270
2
62
850
460
732
551
511
486
506
926
262
213
19
286
431
902
641
243
187
464
76
882
525
685
120
637
388
672
203
311
585
247
118
462
265
278
336
520
462
544
640
229
565
965
215
341
509
706
149
837
294
379
672
605
923
931
463
750
788
666
368
255
471
609
950
802
951
723
377
433
333
400
34
992
502
52
648
460
434
916
265
877
676
26
791
517
4
260
374
592
2
958
540
657
860
710
802
242
398
316
877
800
557
448
380
595
210
186
705
560
594
403
344
815
176
759
951
626
198
950
936
816
301
861
27
326
104
268
511
388
585
767
4
22
224
57
760
33
178
704
101
943
252
923
801
66
203
835
436
498
841
784
711
603
708
925
556
628
175
789
137
997
192
1000
497
22
110
988
992
929
580
949
789
292
427
177
823
70
67
35
484
516
741
113
823
133
861
660
661
694
943
204
470
784
974
756
415
178
41
186
502
237
866
953
829
897
580
600
76
99
707
259
436
145
914
635
381
751
357
614
898
828
445
427
346
938
198
828
911
816
443
876
290
914
884
410
860
488
533
198
871
752
112
122
845
360
710
734
173
685
132
522
503
113
780
519
914
315
472
836
284
759
455
816
618
922
329
601
975
739
133
35
473
727
963
536
796
727
762
632
745
89
248
347
433
278
402
335
638
496
405
711
803
676
556
320
249
861
239
892
674
110
234
688
876
651
694
167
410
534
345
628
695
988
698
947
291
303
315
818
213
262
307
867
995
58
372
964
711
933
916
93
519
349
472
614
334
144
908
846
665
161
598
581
931
100
11
972
936
726
87
7
854
174
609
559
285
600
50
829
870
623
323
491
345
719
717
202
738
564
10
836
173
690
693
220
609
219
71
782
794
762
362
659
178
54
898
603
118
881
181
405
574
888
974
32
945
918
592
720
711
576
754
449
168
820
943
474
250
875
729
990
97
392
67
955
290
382
415
672
953
902
906
152
347
253
548
240
754
950
974
544
235
499
611
522
354
689
136
607
932
397
591
510
312
774
336
258
973
554
551
142
827
935
554
184
606
563
158
779
380
537
960
559
691
124
268
691
398
612
376
702
183
511
95
700
265
411
655
968
385
552
872
527
186
560
418
936
915
395
644
964
103
941
461
844
482
855
197
683
997
252
414
574
811
951
931
862
955
30
725
335
874
302
713
919
933
713
811
986
816
112
280
426
629
610
300
967
154
762
91
954
951
202
507
410
327
605
383
548
716
659
717
461
828
59
784
571
811
953
76
239
814
320
937
947
992
711
791
514
44
578
859
724
862
643
135
206
993
674
366
459
408
630
365
104
417
64
834
718
58
695
434
925
147
548
773
867
794
452
649
763
428
141
557
241
863
507
537
492
431
962
398
45
375
450
435
95
430
987
510
556
266
858
67
932
866
573
239
372
47
553
740
81
499
640
369
459
681
125
6
823
133
998
22
365
895
321
5
509
854
196
63
561
571
853
251
277
773
942
154
434
668
982
87
44
313
771
648
572
134
558
715
776
365
771
349
98
732
888
979
41
678
752
877
227
524
850
720
282
311
142
634
849
800
606
75
532
443
965
255
223
263
145
477
311
268
487
212
646
224
673
824
812
221
358
13
804
85
659
58
358
183
898
993
402
614
803
258
498
316
133
698
727
752
716
82
638
729
576
419
938
141
694
923
647
965
310
590
384
952
172
181
198
353
319
300
688
638
34
629
427
152
742
560
574
932
614
385
261
770
258
548
843
408
486
517
221
855
518
360
536
282
990
300
509
356
764
406
911
255
702
634
776
782
986
337
543
162
784
184
749
564
637
961
766
530
245
917
445
225
912
351
796
988
909
818
492
54
512
904
293
60
793
241
989
339
210
947
344
789
441
758
840
95
676
752
358
830
757
125
960
408
195
332
328
775
820
148
142
162
741
685
726
462
770
143
521
611
136
81
872
23
387
366
120
441
892
241
476
96
422
847
858
454
378
772
142
100
183
397
938
568
156
836
400
888
369
655
223
952
131
152
475
755
135
892
725
439
926
85
942
256
871
887
359
988
403
23
362
967
980
603
281
765
13
304
193
641
60
620
388
793
491
20
189
195
372
963
444
298
427
144
206
544
750
387
872
607
710
330
748
999
993
597
694
575
902
327
375
23
596
701
806
759
704
712
493
441
652
17
981
856
927
938
488
918
64
794
423
966
494
559
208
781
786
538
600
801
891
361
785
75
341
610
679
910
427
197
931
665
785
277
615
600
738
828
291
845
151
38
639
762
625
48
399
560
220
164
644
60
543
946
574
124
938
49
465
530
515
385
697
109
192
867
102
223
5
453
700
486
314
655
982
562
579
18
220
138
984
939
29
906
45
101
24
28
319
311
815
380
520
305
24
911
74
618
901
541
521
505
456
616
548
808
461
708
481
489
320
890
779
132
581
526
322
561
756
245
218
791
790
692
179
137
87
485
300
574
616
610
427
697
175
993
272
710
678
852
238
379
389
428
748
86
946
87
427
675
918
419
656
696
954
447
882
434
421
364
656
11
309
864
127
318
853
599
456
281
6
782
818
80
975
816
49
234
445
951
182
525
113
20
135
7
132
397
851
3
732
835
141
852
575
17
729
858
775
410
558
192
286
822
229
771
374
985
596
433
737
136
256
824
289
599
323
402
317
383
871
187
877
562
868
41
517
160
452
70
394
507
243
502
884
451
15
468
649
995
994
358
281
51
53
607
134
775
651
755
536
571
453
905
273
433
918
773
968
554
160
607
16
130
340
313
541
747
567
537
766
269
300
47
119
214
797
41
244
332
393
291
487
115
754
26
330
949
637
399
915
436
562
690
432
621
659
971
864
849
938
922
746
798
837
669
151
682
782
863
764
523
291
31
16
294
862
598
490
542
342
213
297
64
336
720
108
682
970
860
462
767
328
558
509
121
864
761
700
293
551
433
177
917
73
942
197
616
268
889
321
628
980
413
567
919
185
669
355
454
168
940
329
994
500
514
965
150
438
554
388
551
247
200
83
293
629
909
923
4
465
66
93
862
620
289
930
621
755
512
358
938
184
690
445
44
569
624
768
864
1
209
598
956
233
595
892
747
171
856
637
631
281
211
860
92
498
13
99
346
836
418
737
854
272
579
313
560
114
594
347
663
217
269
11
176
621
213
768
247
718
243
106
869
322
468
992
935
348
675
170
449
334
870
658
975
329
261
938
892
91
296
556
652
885
589
250
707
646
341
884
875
231
355
480
240
846
203
255
704
883
578
852
207
35
923
917
670
411
48
151
814
409
879
614
123
768
317
82
856
3
513
18
828
557
903
245
922
538
809
902
287
394
838
411
193
68
904
666
129
698
286
524
963
933
964
919
660
158
679
336
10
597
415
213
198
762
901
476
958
396
108
2
598
554
747
217
392
631
525
926
576
166
470
981
434
518
200
691
358
55
331
258
298
747
392
321
447
499
679
361
776
372
231
896
125
44
313
981
71
69
7
601
296
784
197
530
776
743
113
117
80
374
128
827
790
421
685
816
221
403
721
12
402
296
771
32
852
72
219
141
973
877
414
586
559
168
584
607
795
145
861
935
907
452
230
108
889
830
525
302
275
39
702
976
903
30
158
645
837
995
188
569
411
97
386
601
584
968
421
124
147
846
865
665
536
948
44
331
383
899
920
677
440
565
971
319
496
166
152
511
99
930
405
335
813
698
755
630
350
715
83
821
728
423
533
914
636
661
67
605
419
55
377
236
303
355
415
436
575
723
490
455
112
351
44
209
273
269
879
833
233
43
40
815
34
765
699
52
590
300
284
318
139
517
239
352
284
646
186
933
695
176
426
726
345
916
289
80
531
751
944
223
537
899
320
877
334
546
389
778
681
474
254
325
419
933
520
537
668
317
646
233
483
260
20
638
10
870
672
519
770
137
3
421
342
568
783
185
409
279
549
948
456
326
302
14
948
57
618
286
646
405
243
955
138
665
442
980
798
970
186
369
486
979
703
184
400
206
436
385
185
11
920
906
542
932
621
499
267
829
432
127
104
447
549
232
719
863
41
283
844
918
447
611
440
65
589
314
717
471
121
825
856
308
723
10
380
546
834
246
662
361
556
625
562
460
247
955
854
817
921
381
388
942
229
634
304
849
824
984
802
388
331
200
277
65
733
795
225
55
905
992
588
534
485
394
734
265
645
398
908
238
164
660
808
628
194
374
882
654
17
779
557
360
963
621
338
301
33
766
972
266
36
402
880
524
281
710
543
549
890
167
326
384
707
126
212
205
634
286
253
896
100
476
644
40
873
934
27
450
853
164
310
172
436
213
324
884
755
464
544
805
859
930
610
786
529
499
59
206
323
417
641
570
685
281
845
369
931
609
373
799
337
60
486
222
903
115
644
556
876
989
658
973
49
847
803
551
427
660
212
306
567
258
66
250
576
315
449
211
604
29
780
394
674
216
750
714
146
440
16
540
715
453
773
40
535
403
578
334
277
723
437
449
169
949
274
529
80
459
797
248
480
16
402
51
639
598
320
180
28
664
870
674
889
345
122
449
154
659
734
589
662
450
650
265
255
263
753
168
756
178
790
188
162
370
57
627
755
625
761
462
309
889
379
111
548
282
469
428
163
295
943
924
491
253
666
395
531
992
246
122
130
76
947
405
709
54
540
694
276
786
336
921
412
760
722
956
583
693
104
916
712
296
490
181
788
427
113
352
877
979
373
223
926
121
385
805
84
183
310
267
894
201
221
548
903
855
797
387
718
716
638
488
656
362
990
110
375
777
373
955
285
965
481
833
991
155
478
258
669
475
267
265
680
551
846
635
381
197
712
569
494
44
422
119
72
811
626
965
360
783
28
999
499
463
88
974
219
193
572
700
52
843
863
734
206
418
79
147
449
581
988
127
119
168
177
585
236
294
278
541
877
654
636
47
569
78
39
556
131
624
433
961
909
441
134
766
279
153
4
332
187
321
954
918
194
544
414
486
189
43
369
257
107
880
98
20
732
671
477
189
280
112
552
117
292
576
461
74
87
776
417
3
369
31
852
467
593
911
187
948
430
816
43
600
129
544
940
326
152
843
393
846
339
654
899
625
35
251
680
846
982
699
765
268
214
335
201
379
946
858
805
659
660
870
319
732
69
457
412
25
151
93
605
610
978
455
266
258
843
766
473
98
53
982
813
242
369
319
150
925
111
733
305
861
994
887
620
918
46
811
194
289
131
820
264
696
547
248
442
235
645
821
814
154
659
501
340
7
425
665
728
452
919
139
360
291
99
845
624
333
72
474
615
144
861
48
443
64
625
826
582
582
875
898
179
490
406
463
312
608
348
658
342
223
667
967
570
176
467
418
123
61
510
40
342
356
417
274
129
243
938
16
527
236
887
951
963
517
887
116
865
804
938
404
204
187
124
529
261
239
555
21
535
854
400
343
252
555
974
512
164
531
368
767
306
361
64
394
584
877
731
603
169
216
97
645
741
721
14
714
879
604
475
977
305
802
508
658
275
973
584
139
637
791
406
503
603
264
950
500
965
987
71
874
17
226
882
622
791
643
891
824
908
344
182
223
472
267
489
143
714
524
595
8
757
377
404
107
56
761
248
451
286
213
907
377
931
218
602
19
80
40
884
846
845
686
230
82
729
566
779
9
613
47
122
78
110
327
863
28
294
655
646
558
247
163
298
947
983
622
553
629
776
88
881
950
734
937
692
644
174
470
64
742
825
478
976
303
807
194
441
969
154
935
319
517
591
923
527
14
546
543
607
211
544
187
337
125
760
683
215
645
222
765
589
181
847
880
260
572
370
543
174
492
824
798
764
40
793
939
348
484
785
747
794
248
483
527
928
573
958
503
307
290
552
199
213
447
538
96
945
741
127
940
240
202
171
452
996
525
281
710
121
835
26
693
444
53
662
536
323
893
891
773
504
180
913
195
505
823
153
909
8
732
584
121
110
545
925
272
306
546
293
136
217
858
476
778
211
206
506
730
209
82
486
896
958
642
586
905
669
400
908
506
917
176
154
291
552
366
317
777
464
78
856
154
170
155
449
767
910
623
819
175
491
578
746
250
802
288
283
839
221
135
611
556
57
610
597
157
737
882
348
360
269
125
773
212
382
202
370
781
320
384
385
559
228
860
660
81
441
820
918
123
992
114
626
837
524
647
540
482
695
652
582
703
616
835
295
848
456
227
137
405
332
604
78
981
184
720
862
964
565
243
83
55
457
12
897
11
173
755
520
310
605
524
243
800
306
478
500
98
939
402
916
738
949
287
24
355
271
39
604
794
626
98
919
152
40
455
607
705
813
33
91
11
264
160
398
809
209
113
692
274
741
257
50
72
769
7
140
698
443
898
800
728
88
66
459
218
188
655
723
86
108
911
549
128
397
722
164
445
435
442
993
674
78
183
986
476
676
518
613
527
931
774
196
256
718
279
670
757
340
644
563
227
265
991
559
315
685
467
837
824
692
791
42
952
160
959
349
22
57
118
58
382
11
842
85
532
912
554
692
931
122
793
274
357
647
558
138
487
780
438
546
513
771
763
696
588
542
13
734
276
971
520
931
701
295
485
884
416
660
943
821
949
516
343
803
663
796
277
66
20
269
800
724
489
366
445
817
283
288
884
982
813
655
364
985
577
728
168
615
847
138
949
346
179
890
152
920
718
340
529
416
718
97
621
148
124
537
343
634
32
440
574
413
409
699
276
721
397
301
578
452
875
112
763
785
36
861
562
917
993
522
800
938
643
603
290
58
972
403
973
748
894
592
246
728
173
267
26
887
489
391
510
398
683
411
367
505
897
270
866
929
763
929
521
890
665
722
631
223
223
659
11
27
359
154
320
778
76
772
475
709
35
111
27
233
789
605
852
595
639
202
422
394
61
503
436
986
298
232
584
634
164
214
171
625
674
182
651
227
717
138
296
150
239
320
884
927
877
524
808
255
306
36
836
68
888
967
250
171
613
496
838
551
624
630
668
339
320
786
680
269
216
179
17
308
866
896
739
660
150
200
844
926
326
394
581
305
108
616
584
850
364
923
38
32
999
912
488
600
290
198
222
978
9
904
165
567
523
896
419
898
832
792
942
360
836
211
686
599
375
197
223
218
365
392
971
919
209
950
154
362
810
602
881
897
306
311
760
618
126
327
721
519
295
767
994
391
830
721
297
711
880
455
437
980
817
173
915
79
551
416
169
633
534
827
291
977
523
221
985
574
553
745
54
705
119
57
246
930
139
110
438
771
204
658
291
868
932
818
204
272
515
62
121
228
804
763
238
493
40
852
424
438
822
102
919
205
482
346
577
364
524
66
775
964
160
590
428
924
938
100
198
436
383
457
372
749
35
130
511
617
864
699
252
24
702
407
506
329
509
247
463
960
112
416
396
801
829
561
785
455
89
730
917
81
284
278
916
316
752
103
76
364
441
310
666
923
838
683
549
286
562
222
190
599
271
200
335
79
35
19
403
713
476
435
838
243
169
63
640
345
22
842
716
837
298
818
170
61
809
424
284
313
537
874
623
847
390
452
593
553
798
716
38
29
293
470
70
395
487
879
510
466
62
141
594
20
899
852
611
792
680
67
131
397
622
907
24
136
124
184
421
213
456
138
546
701
631
61
299
416
720
379
939
729
9
289
122
728
311
510
58
885
2
115
800
983
36
295
86
136
508
35
929
341
709
350
310
304
362
355
519
622
268
411
899
179
573
664
610
748
149
454
830
190
599
424
833
675
762
224
346
170
391
531
31
392
857
374
977
24
657
606
753
878
490
858
53
89
733
764
839
881
645
777
234
876
813
735
201
83
913
124
815
222
84
435
257
671
839
911
122
617
9
114
580
662
124
361
295
930
636
157
10
512
394
303
343
367
898
641
321
649
119
60
461
264
275
32
721
612
528
749
188
76
903
464
887
150
841
251
807
565
339
717
941
334
822
845
125
449
949
612
100
837
222
466
812
43
370
997
875
394
277
784
178
18
910
380
271
263
621
283
700
449
311
462
325
595
149
465
9
277
202
742
676
905
455
433
309
828
448
121
69
406
600
560
863
518
257
150
463
552
278
37
775
132
236
917
608
610
788
239
29
307
668
775
597
665
799
67
689
943
70
71
907
232
905
538
810
169
692
866
261
134
509
465
152
107
996
505
298
325
391
923
756
387
523
903
722
315
353
683
367
816
484
39
195
572
631
974
859
491
475
504
177
540
974
520
222
871
956
964
846
843
679
853
708
454
929
469
510
383
188
212
315
707
232
533
291
894
7
17
764
654
215
1000
273
196
370
5
672
16
889
165
745
896
778
69
290
353
67
400
205
835
549
762
612
988
937
643
603
832
288
488
634
115
167
889
780
36
949
228
157
667
412
721
296
529
288
407
175
500
877
416
993
627
695
68
704
212
405
54
45
536
794
571
130
553
77
74
898
290
902
739
998
942
777
970
267
181
110
286
506
694
569
563
695
124
278
833
93
991
920
644
872
525
366
699
793
456
555
44
234
340
636
926
739
403
559
765
662
99
408
336
386
806
380
215
492
237
187
359
752
695
748
282
84
927
75
218
824
358
541
80
544
233
913
707
344
637
744
664
354
415
430
39
520
307
482
805
589
693
529
992
832
655
590
869
922
553
45
562
951
835
896
636
807
850
902
814
175
752
290
877
512
792
670
454
765
476
351
952
56
126
53
602
992
193
787
6
494
908
250
318
618
769
315
789
457
481
479
247
129
370
185
417
756
788
637
409
280
606
151
787
912
465
626
551
620
462
147
416
376
524
493
79
497
832
751
677
296
916
382
941
911
107
560
582
593
359
105
444
1
557
336
892
175
316
425
242
620
758
273
498
739
75
336
507
686
454
54
670
803
591
284
581
694
488
604
320
476
629
834
987
953
362
686
754
748
512
246
971
318
775
935
605
100
549
323
403
358
694
556
424
342
636
548
249
532
532
932
247
40
663
146
590
902
514
309
578
318
673
86
477
288
682
587
362
553
658
759
293
97
343
256
436
735
283
403
884
65
763
619
475
96
185
687
822
28
468
699
184
939
585
299
592
747
460
320
150
147
904
253
985
447
950
280
39
889
95
907
648
724
696
798
106
3
453
337
217
946
288
243
815
386
888
434
283
829
428
556
694
122
70
950
319
332
363
259
365
485
255
438
602
538
928
515
557
411
888
454
613
547
551
669
901
865
752
6
455
466
494
252
107
649
977
497
35
375
750
511
389
916
352
891
734
531
914
577
856
930
929
997
857
848
617
82
95
344
635
490
777
995
880
443
342
687
33
70
482
564
36
586
839
713
593
688
167
764
223
783
281
887
957
788
374
834
690
963
334
151
715
989
630
498
332
126
727
339
607
92
632
594
107
868
436
47
581
155
989
357
82
672
586
873
866
437
919
627
299
204
733
714
412
713
706
204
234
361
980
548
845
622
693
700
496
69
366
688
54
502
234
932
553
11
444
431
909
599
151
689
521
264
777
183
48
880
270
292
898
134
444
449
874
237
546
22
379
97
355
240
157
553
17
659
985
159
452
331
579
693
543
985
920
1
602
32
987
455
166
852
491
601
840
869
645
949
678
881
892
414
241
494
753
466
33
94
85
718
722
667
168
540
259
947
491
540
829
141
258
594
99
367
451
241
829
476
234
316
490
553
312
649
954
882
326
872
101
249
74
829
859
379
727
373
49
569
629
900
868
321
544
152
308
919
767
177
269
619
637
351
338
661
897
676
698
559
885
623
953
862
226
248
149
302
905
600
627
193
412
333
573
850
685
158
56
763
244
536
491
553
829
725
396
777
20
858
591
676
254
48
90
893
862
714
251
201
159
326
311
332
697
281
523
729
75
339
394
355
118
777
145
278
492
278
922
810
393
814
647
859
665
873
918
764
692
91
326
513
340
640
380
109
967
245
623
392
591
847
376
412
473
866
696
245
173
724
911
944
167
905
681
888
593
894
829
160
4
694
457
372
230
777
481
668
332
433
129
795
93
106
225
977
390
941
458
495
289
486
360
983
972
309
148
924
722
966
171
288
819
387
903
356
570
459
467
445
26
331
183
688
151
586
577
479
670
212
686
667
59
699
870
570
221
224
704
318
817
337
338
189
27
625
461
444
629
118
101
104
132
983
617
394
876
25
405
123
850
916
98
53
153
173
673
728
304
114
673
176
794
632
123
957
345
939
666
554
581
204
869
679
709
763
639
451
992
578
855
979
99
676
290
407
991
820
201
347
346
102
182
746
299
566
396
434
767
820
722
183
263
263
322
613
479
39
757
992
608
871
303
338
446
514
924
899
279
369
657
784
238
698
100
756
914
588
888
982
425
630
925
479
621
912
741
367
710
755
616
140
357
817
29
983
474
931
882
622
112
390
632
902
644
751
225
33
225
535
894
458
334
69
129
530
515
346
39
157
575
979
361
250
876
894
740
461
805
27
297
479
682
639
389
677
784
841
834
785
29
795
551
603
378
595
712
734
832
104
297
23
650
911
950
75
217
985
863
531
195
369
925
909
646
174
368
696
338
283
36
563
66
805
592
551
451
318
315
206
613
25
509
742
831
160
510
830
650
446
309
36
557
194
300
416
391
318
824
628
662
849
68
854
781
184
621
986
575
498
178
642
362
105
450
982
462
375
455
691
901
763
837
556
456
738
539
426
927
31
280
354
721
576
841
380
742
784
331
399
436
268
762
371
917
813
396
121
248
455
470
723
874
275
57
135
5
96
471
242
701
908
378
32
859
644
283
346
134
884
188
541
80
535
473
539
103
685
770
807
842
318
718
613
968
599
80
309
525
313
302
697
945
321
298
668
360
73
236
703
902
598
465
514
987
841
464
308
148
463
365
387
209
806
976
636
180
688
850
363
928
588
608
478
722
497
495
676
733
614
173
961
953
44
304
301
889
351
325
207
263
923
174
544
87
250
597
284
120
575
972
925
643
387
651
700
554
399
594
653
453
615
847
415
497
12
935
257
773
225
371
292
810
658
124
16
840
137
219
127
773
208
699
707
617
568
528
478
43
17
71
638
227
93
60
921
507
753
527
899
733
189
762
525
104
937
33
481
149
904
964
469
693
697
54
687
280
85
347
284
757
15
953
928
583
615
81
100
518
509
103
880
569
719
766
705
664
570
758
419
31
880
498
801
524
553
487
49
606
33
878
811
173
882
531
755
120
573
11
362
493
53
308
900
665
310
649
990
295
779
1000
169
314
228
641
667
207
296
752
662
424
17
218
644
243
155
772
916
186
203
477
265
80
50
687
731
196
926
10
326
337
832
730
953
766
324
807
989
166
364
716
708
237
291
716
100
531
429
974
842
777
84
540
158
837
677
965
974
111
34
717
631
176
644
394
538
63
444
565
100
616
11
90
999
916
253
776
752
561
520
748
824
762
844
260
453
644
300
627
384
127
856
831
899
542
366
954
760
739
571
268
559
758
805
26
396
369
293
778
579
305
831
96
784
429
516
25
523
604
746
449
987
921
797
270
728
198
693
338
548
946
730
84
785
800
179
193
567
138
938
864
633
704
433
109
651
146
133
212
14
94
520
21
635
94
579
423
107
485
283
204
994
932
835
744
314
673
343
400
125
856
217
382
268
145
52
2
730
908
467
307
30
649
421
388
766
839
75
576
706
562
396
482
318
653
821
628
946
670
895
71
404
632
138
319
258
57
112
574
193
828
39
937
354
637
170
65
958
64
207
768
621
735
210
502
478
893
258
322
662
136
543
91
201
133
720
231
807
969
673
731
589
715
566
606
795
293
1000
907
965
852
97
677
644
334
149
172
809
274
116
611
742
156
746
818
862
71
288
487
437
838
275
434
492
625
962
526
452
296
407
307
433
535
501
938
323
325
94
229
305
353
888
50
981
881
431
714
922
645
533
81
159
736
176
378
728
335
794
148
115
845
268
527
233
375
179
143
470
167
989
165
695
971
514
109
821
902
784
162
811
239
59
981
344
596
672
613
400
880
436
71
727
562
410
554
881
605
395
397
715
698
654
484
165
837
621
892
105
338
484
452
865
469
232
647
705
385
66
924
201
459
25
853
350
398
513
595
169
471
682
875
835
616
508
255
669
589
509
464
945
632
705
869
780
634
219
581
594
254
413
812
4
5
961
743
575
486
515
765
864
176
968
989
571
982
611
242
9
328
77
391
855
250
37
863
637
809
570
920
987
442
590
134
59
535
161
432
558
767
162
459
486
367
222
745
641
227
152
668
877
925
931
773
287
696
671
460
895
165
259
868
717
480
17
6
717
230
563
325
334
409
253
369
363
903
585
405
258
237
780
371
525
733
933
770
42
228
630
793
775
880
194
215
733
390
672
988
947
591
58
397
710
945
969
248
909
535
143
21
9
460
442
228
909
274
356
610
932
339
957
848
121
628
407
1
923
757
303
394
358
736
790
202
356
545
841
112
425
467
421
823
513
978
320
687
431
990
333
665
178
915
882
63
473
789
345
470
314
230
270
198
883
684
947
510
707
414
144
78
89
564
152
665
551
377
714
551
755
738
663
917
413
920
470
340
233
731
537
399
606
801
220
47
64
128
226
3
83
30
688
351
828
709
291
298
527
677
792
252
721
139
482
351
296
154
153
661
288
231
7
283
993
569
757
433
857
540
58
788
158
54
617
343
573
183
482
888
491
538
732
480
932
207
996
910
157
923
102
737
755
157
245
280
953
820
690
907
388
484
747
52
906
938
617
95
44
915
197
520
398
376
433
762
489
500
560
937
251
613
649
559
362
273
525
32
479
286
279
455
613
441
491
855
163
880
855
712
809
515
228
537
726
762
15
836
630
488
146
941
491
78
361
250
83
203
844
748
922
888
417
684
772
122
123
614
716
901
935
484
71
279
811
491
817
310
69
236
173
755
752
503
48
58
385
302
356
43
154
121
736
989
813
38
987
986
519
359
218
438
247
322
357
844
180
87
131
433
544
334
807
353
503
689
922
964
367
738
663
392
606
510
111
75
940
138
683
926
68
575
60
302
45
806
116
715
186
260
114
20
950
962
71
324
516
553
800
32
246
492
665
311
79
730
343
131
840
365
563
503
416
741
825
282
652
971
369
797
650
944
59
492
797
759
547
908
840
912
192
641
352
126
358
284
259
976
597
936
408
378
864
623
312
108
476
496
183
783
198
345
972
309
380
912
723
703
27
914
171
460
146
837
820
587
713
79
933
713
620
530
703
228
567
839
799
450
435
159
593
392
176
184
20
387
778
119
633
305
873
798
990
447
195
129
839
977
766
599
772
198
929
669
500
849
903
505
125
921
347
204
991
141
848
434
135
952
970
679
220
354
801
491
754
534
185
428
405
983
789
44
331
591
394
603
654
934
657
959
78
653
164
138
933
406
876
953
623
998
133
297
943
598
406
303
543
334
420
945
734
957
823
70
427
191
108
592
903
644
182
347
453
52
900
503
578
448
824
293
910
647
330
439
3
224
552
456
328
410
329
76
810
713
406
41
420
950
166
90
996
651
443
833
773
622
206
496
247
658
314
951
572
291
344
366
863
919
208
606
916
882
138
784
825
868
981
137
100
771
877
523
165
546
107
511
89
966
143
267
413
401
490
171
821
341
814
881
558
955
496
273
69
497
185
263
233
71
927
742
169
994
60
919
137
421
239
732
529
925
148
404
111
925
824
118
101
654
340
486
571
575
124
35
332
44
702
749
1
913
248
744
900
777
704
480
8
768
946
334
287
576
824
968
306
566
80
883
193
855
630
80
669
626
582
264
194
783
979
514
845
731
899
975
882
988
942
979
75
135
914
477
299
570
561
428
306
552
906
609
226
92
78
740
878
37
619
388
719
270
975
558
321
950
934
172
286
70
956
136
183
726
879
943
253
454
987
835
150
273
932
523
453
192
900
504
298
165
876
968
951
542
576
484
4
886
531
53
602
424
929
675
740
137
807
351
326
530
388
893
75
459
231
362
310
975
582
229
866
530
447
704
29
344
361
918
452
773
471
889
734
31
654
693
99
325
769
472
132
963
804
1
571
701
506
597
991
828
895
399
814
231
411
158
653
678
613
690
182
534
616
61
714
838
513
459
975
381
545
763
391
908
955
774
690
783
446
397
841
845
884
862
3
893
888
812
420
252
213
230
554
629
157
251
251
143
480
153
436
230
349
615
421
536
687
325
135
533
719
417
143
818
789
650
71
89
264
222
723
853
775
587
344
819
929
614
498
433
470
122
920
23
193
720
560
189
200
256
153
968
880
776
494
102
169
356
987
559
524
989
393
316
579
443
898
217
664
556
245
562
623
776
88
699
562
186
642
625
192
353
428
9
404
193
180
896
436
429
535
880
374
249
23
101
900
881
341
847
732
771
326
636
104
229
701
946
243
884
30
689
86
452
806
247
940
999
721
989
78
947
9
594
379
15
370
465
695
316
437
64
336
580
998
86
173
620
561
476
858
874
108
34
208
119
341
438
898
918
432
923
357
521
629
149
573
747
449
798
155
970
117
965
592
790
333
797
117
145
316
129
540
651
947
420
744
698
928
317
620
392
202
384
506
367
668
661
110
383
63
257
432
341
247
165
844
966
236
421
424
604
630
576
998
748
450
213
975
301
741
58
823
436
663
187
236
322
865
226
946
497
653
508
405
202
120
427
943
288
522
32
132
547
507
103
311
751
314
26
862
905
604
978
692
502
213
619
562
757
579
577
980
907
680
300
9
863
283
449
360
240
200
725
576
964
241
765
420
210
719
783
743
469
603
666
156
814
454
146
416
971
646
309
758
345
696
478
26
116
172
788
916
963
196
841
368
800
982
558
825
856
255
89
976
366
310
882
973
164
554
135
158
241
374
768
278
772
208
620
104
430
631
634
109
723
479
724
164
839
354
721
677
489
173
882
874
827
281
744
184
658
592
5
790
102
237
940
966
270
206
961
649
582
128
581
988
895
604
969
496
962
288
843
492
613
931
644
124
704
51
68
402
496
278
421
583
349
594
963
309
282
964
955
639
32
206
974
894
130
883
585
412
53
989
503
220
684
437
331
527
911
767
342
961
445
863
623
776
149
906
751
594
577
25
715
403
737
860
551
763
303
575
981
261
348
929
122
740
522
333
843
108
432
924
711
686
525
501
550
902
692
251
183
18
65
43
993
358
815
171
367
948
888
360
711
136
775
186
704
488
63
740
470
818
597
331
540
197
347
426
785
259
933
508
474
415
422
95
244
974
722
325
541
672
486
126
189
337
411
533
871
152
631
70
962
703
149
804
395
833
277
168
498
867
392
577
132
166
796
880
853
306
828
318
214
196
253
361
152
118
477
469
848
784
121
180
774
224
795
259
964
873
282
993
616
182
242
695
16
71
35
446
405
201
566
371
369
365
890
713
357
918
145
607
381
678
615
216
286
51
582
31
440
669
567
937
788
136
705
64
707
306
990
648
401
198
670
112
132
128
972
657
43
639
92
487
621
385
11
358
906
583
372
676
665
11
206
878
503
714
117
971
795
769
484
314
166
646
996
31
492
625
506
394
180
632
194
367
679
867
170
81
684
59
771
775
371
711
953
463
471
843
705
754
535
202
780
915
620
136
578
210
12
564
40
577
478
296
744
191
867
755
59
847
922
113
775
408
498
568
583
137
52
610
755
864
140
578
229
526
381
271
103
197
345
944
777
678
386
115
924
894
944
468
702
583
680
270
884
189
703
943
150
534
469
217
428
494
723
43
985
527
641
769
770
286
142
658
868
394
404
941
154
73
119
54
12
270
781
635
165
109
746
516
571
143
807
980
50
627
940
903
701
439
39
868
32
109
908
714
404
50
681
767
873
143
931
658
205
510
344
607
77
613
472
403
400
55
623
85
881
113
292
997
639
990
315
510
788
186
862
726
298
591
880
379
859
343
83
832
729
757
462
765
19
606
577
64
357
339
809
676
673
481
6
958
887
124
542
971
71
356
468
436
420
695
304
921
747
519
876
963
602
941
455
215
952
873
905
534
839
551
89
659
429
394
239
282
826
991
254
290
33
839
289
928
510
690
497
764
764
817
127
730
585
858
515
884
427
990
732
963
726
787
458
802
52
198
139
94
178
127
505
222
73
617
183
309
318
658
906
330
49
38
984
605
406
406
155
975
308
494
847
362
867
507
980
742
988
824
803
183
492
360
350
395
276
122
110
886
212
326
221
884
877
672
690
69
376
618
17
351
521
1
326
372
51
334
94
743
975
830
5
724
115
876
285
534
341
104
505
932
176
548
772
643
105
582
621
226
834
560
901
712
362
153
663
165
440
876
314
176
117
385
730
356
662
496
632
448
355
954
637
7
836
460
235
547
42
398
792
978
337
511
407
573
237
842
587
175
665
810
869
175
583
624
291
493
54
230
598
921
294
308
194
184
277
20
747
55
301
452
965
210
444
695
174
968
308
187
489
562
688
933
270
257
905
861
775
631
824
510
929
6
926
453
457
544
444
490
322
925
990
43
664
592
968
462
819
922
132
722
280
18
494
682
559
374
274
436
68
543
400
327
433
323
505
660
67
780
817
802
623
297
679
816
271
115
248
93
306
502
234
566
100
647
229
774
150
59
135
450
854
432
138
545
513
280
521
383
697
944
691
397
488
478
474
555
566
601
170
691
855
584
517
938
388
546
943
991
577
560
987
61
379
451
694
930
615
672
888
131
464
34
848
976
990
303
214
31
354
287
896
477
989
272
510
956
89
219
51
599
138
554
806
3
934
735
655
397
78
663
309
943
484
904
712
277
473
668
323
71
862
825
850
858
394
562
766
859
173
991
258
927
513
413
313
170
123
790
467
334
694
322
388
117
126
12
772
472
977
434
537
493
587
187
757
843
303
916
409
500
886
689
120
827
254
773
766
605
254
840
336
4
796
285
491
419
713
250
598
768
442
209
706
768
544
6
476
819
947
830
235
160
952
88
861
315
759
121
968
115
120
869
624
866
861
811
990
613
168
496
508
525
208
891
826
907
533
572
530
365
245
166
537
920
981
300
898
707
153
795
495
68
654
855
287
755
877
115
13
391
738
138
595
483
725
340
777
547
839
316
376
824
749
619
58
19
147
546
609
999
965
351
752
461
199
139
36
633
41
244
484
620
193
932
335
404
621
928
680
364
238
321
167
118
100
309
788
886
166
298
995
434
609
90
152
17
427
152
193
861
893
269
924
905
805
577
69
700
784
730
437
983
75
668
26
702
629
118
643
379
608
607
66
936
744
28
843
54
889
620
830
696
844
197
101
643
150
368
853
239
485
200
383
939
723
451
594
70
827
115
598
458
938
974
400
485
330
934
670
93
32
607
22
16
170
633
908
522
689
596
138
573
942
116
622
289
621
194
136
188
884
284
424
383
361
208
926
809
254
312
516
764
141
315
458
41
639
10
759
528
123
732
983
475
934
657
282
406
606
343
545
988
715
747
35
311
252
516
977
63
716
637
895
280
979
755
110
480
429
574
659
163
730
535
587
573
376
368
393
146
275
479
507
495
927
77
382
368
914
686
311
195
864
666
867
283
364
561
431
963
501
108
390
27
604
942
303
762
900
113
9
52
853
238
746
991
256
73
431
440
337
84
792
222
890
684
692
322
290
538
795
540
623
236
863
747
476
136
64
88
640
812
789
526
915
888
849
933
812
570
565
367
182
554
809
370
529
791
764
512
955
799
250
308
71
962
300
839
24
520
897
305
11
168
854
142
807
414
557
855
429
756
747
647
27
614
844
302
19
898
6
44
124
457
131
542
393
719
285
266
840
866
410
318
804
584
318
821
338
205
954
739
231
698
340
328
532
489
579
971
916
156
401
892
687
553
339
434
596
696
124
319
548
116
649
103
689
47
268
446
70
293
696
393
271
791
174
653
11
790
980
698
15
885
94
393
236
609
816
97
763
668
741
657
772
661
720
94
320
3
780
150
84
548
826
78
927
603
422
9
982
260
21
374
943
733
99
72
936
894
589
722
930
909
252
965
143
774
76
466
941
748
731
802
273
241
56
637
835
238
499
622
166
485
993
973
210
205
634
694
524
58
913
632
770
632
909
305
743
539
993
732
329
303
903
4
165
53
781
630
312
223
543
968
339
449
781
19
335
768
255
414
320
156
412
158
332
877
307
629
799
554
811
387
774
337
851
11
323
134
328
549
559
707
262
797
734
808
993
581
774
935
963
888
832
935
680
774
697
737
816
900
957
332
246
627
898
24
137
282
635
61
508
158
754
957
277
315
778
408
390
79
388
20
741
358
49
80
447
709
230
666
174
741
157
549
472
643
36
461
973
413
396
971
984
888
574
51
232
358
510
592
636
61
435
152
328
885
700
867
965
50
134
104
163
804
751
558
351
846
393
747
513
54
807
567
694
390
480
555
228
417
515
795
88
413
172
453
56
833
369
972
776
580
674
780
270
874
224
685
836
608
812
993
911
431
795
996
965
614
535
11
579
59
581
982
351
259
961
422
126
500
695
260
708
890
731
84
328
50
130
411
245
127
517
894
418
319
722
601
701
46
101
397
592
692
336
884
231
395
275
752
729
437
986
735
932
9
988
695
770
404
111
921
301
158
504
621
599
395
841
184
316
259
2
241
747
166
595
704
448
406
36
520
533
86
491
176
191
878
1
731
691
815
784
182
458
121
850
26
989
183
971
380
454
845
425
772
662
186
693
92
402
362
463
213
328
456
438
956
622
31
488
923
39
24
379
887
672
240
742
369
100
511
796
38
709
399
296
742
682
262
783
731
852
660
379
494
918
805
121
656
847
74
647
196
410
460
899
132
370
700
734
157
964
609
967
361
70
20
689
556
610
116
777
783
458
787
315
682
628
89
435
675
123
224
159
304
499
284
209
549
269
780
355
588
73
375
727
766
122
303
30
970
516
533
401
468
739
852
824
1000
578
234
217
236
676
456
403
579
821
791
272
299
691
692
552
667
757
241
414
602
383
919
429
991
349
446
611
452
467
550
493
435
507
842
488
311
127
123
761
336
819
472
445
672
346
618
369
635
668
586
832
736
487
149
572
918
500
939
949
538
885
942
624
466
324
783
560
881
333
515
628
117
226
754
164
374
181
265
721
537
348
579
123
995
798
540
39
441
419
774
967
765
945
469
788
804
221
414
334
543
599
515
683
2
20
484
375
168
424
74
122
473
262
663
688
725
435
323
319
741
170
774
142
740
35
789
946
593
881
250
795
96
733
627
405
869
272
866
416
63
696
373
190
17
173
738
592
840
264
604
428
479
416
302
615
510
276
156
748
251
764
438
367
594
400
682
651
850
351
882
656
867
769
647
351
746
761
144
118
113
659
689
990
66
598
975
256
920
826
495
587
44
887
319
277
516
533
507
623
513
5
428
45
588
955
398
197
865
210
543
570
227
654
475
92
853
428
663
718
745
580
122
470
885
757
16
503
937
904
407
232
636
812
14
993
792
680
407
734
706
348
222
839
934
708
405
367
54
822
470
140
930
480
85
668
147
338
935
409
372
130
712
866
284
267
760
714
89
67
235
58
652
11
169
931
995
230
938
192
821
370
886
957
655
223
359
265
296
810
614
87
927
803
913
902
868
30
92
89
782
219
235
805
517
850
829
557
427
369
557
454
90
539
630
193
995
5
858
554
942
332
871
786
485
52
152
764
195
647
81
953
359
107
978
345
252
834
17
820
712
255
458
519
307
102
123
252
129
750
731
188
340
152
847
720
549
779
454
52
17
230
30
352
553
919
352
33
793
474
502
907
712
141
860
451
389
807
858
112
65
892
754
465
5
688
161
25
530
730
213
365
941
51
237
345
435
379
858
702
283
889
419
830
879
295
224
561
76
460
939
34
417
792
546
908
934
553
228
322
277
4
259
888
973
227
924
459
982
298
344
267
318
282
614
882
320
971
775
665
938
704
376
87
949
141
860
891
339
80
247
765
565
2
696
280
599
298
40
256
463
412
48
885
817
80
399
410
110
425
552
513
68
437
67
4
825
954
266
639
358
122
602
14
425
783
41
919
913
62
368
184
94
283
217
842
678
329
599
157
922
709
134
21
416
63
241
758
899
22
320
316
663
429
817
417
314
283
797
827
297
710
876
754
52
964
333
686
365
174
596
954
36
171
579
47
3
695
422
316
528
44
151
274
44
326
612
266
136
530
612
784
143
972
253
919
361
833
384
636
799
424
375
169
766
181
198
471
3
790
332
437
506
669
736
883
16
767
421
962
152
529
800
54
590
811
885
677
945
113
300
289
943
528
917
120
783
202
490
750
770
764
113
246
213
270
188
450
713
82
309
440
290
319
18
471
132
64
866
651
390
10
556
202
845
618
380
951
83
130
494
387
390
705
142
520
493
486
795
791
526
968
459
60
972
301
480
196
421
75
75
533
242
508
264
667
356
570
177
609
834
274
271
496
812
136
617
857
360
951
909
753
618
316
430
615
847
222
395
382
468
517
646
185
225
546
507
684
943
356
492
704
499
264
835
557
989
807
488
637
63
230
549
718
585
389
205
598
421
182
111
14
199
423
132
436
555
528
670
658
263
131
626
715
277
277
99
578
189
305
68
273
252
135
469
378
647
5
502
135
963
471
568
827
148
880
312
335
128
633
708
362
920
921
383
482
778
469
984
972
122
260
827
464
702
703
887
394
729
239
244
317
487
349
471
346
620
444
331
127
782
894
532
537
164
281
878
342
445
438
289
950
983
690
782
592
77
341
841
940
342
452
640
449
877
30
97
610
340
2
539
589
985
385
678
154
72
953
685
383
298
488
862
593
750
186
369
173
13
589
957
736
645
828
911
297
651
1000
844
557
158
752
184
857
249
718
457
861
193
291
209
126
311
335
403
541
602
749
886
749
982
787
396
767
393
564
248
147
416
60
577
932
878
578
417
310
50
50
12
684
853
392
993
419
978
7
381
720
945
500
88
554
539
722
531
104
441
560
430
386
369
649
891
284
679
844
956
23
960
969
691
748
597
404
13
459
930
646
261
343
612
586
305
880
181
305
219
998
807
834
659
158
99
936
802
88
44
456
762
726
628
919
720
567
296
957
394
155
44
81
960
427
308
958
671
617
433
474
406
399
56
735
263
440
771
952
185
189
447
970
660
531
526
157
590
929
152
404
450
115
373
837
943
210
358
74
909
716
355
212
466
39
644
413
306
175
755
556
465
158
623
333
387
365
190
338
88
941
144
835
492
265
547
781
733
686
146
671
783
392
660
729
380
724
937
599
898
966
355
18
306
627
956
376
688
965
742
998
28
771
862
661
954
607
612
548
239
948
653
862
619
241
350
98
735
785
954
743
764
979
474
923
861
114
208
113
626
527
521
633
457
578
903
828
1
425
28
984
251
253
795
771
703
894
801
60
645
226
215
876
207
217
293
746
120
189
355
281
201
728
865
364
73
260
266
878
291
687
484
97
832
514
938
708
808
96
616
131
22
445
792
985
645
644
794
916
129
665
321
882
915
495
836
585
978
147
331
557
214
905
334
621
144
518
36
260
268
349
604
101
239
912
866
160
16
880
175
79
35
405
859
957
975
21
13
257
358
996
779
753
572
315
613
292
305
187
991
692
725
543
898
860
726
968
784
798
100
534
141
897
227
494
607
290
869
64
851
832
764
699
97
688
476
767
540
331
468
556
431
772
476
254
896
48
355
725
490
734
518
640
680
881
71
875
684
915
315
650
519
315
170
570
789
29
367
50
382
150
910
98
373
462
53
685
180
447
230
95
596
831
62
170
872
850
944
518
16
682
767
34
361
847
615
688
95
398
582
94
68
19
434
349
810
499
613
717
833
981
718
315
551
804
784
198
756
36
910
906
470
17
617
662
807
238
692
399
851
939
680
704
367
349
606
455
180
963
154
244
447
764
767
771
991
808
576
780
919
105
528
677
371
62
562
154
844
377
483
921
533
107
745
104
93
14
879
176
464
712
815
46
145
355
965
846
302
764
903
490
664
636
388
130
6
488
68
286
534
55
685
570
420
890
644
762
219
69
132
282
876
925
606
415
563
220
330
342
336
415
602
102
886
94
343
671
999
120
202
48
506
899
425
839
809
236
287
921
32
753
447
553
918
51
429
78
229
873
407
905
351
376
280
750
102
175
899
906
723
685
279
233
984
572
671
299
267
1
649
246
298
175
12
105
499
146
899
946
601
751
263
205
222
59
278
582
807
983
414
290
173
971
126
283
389
940
854
754
311
77
299
811
650
340
301
55
966
92
203
633
287
277
55
697
709
419
4
893
506
200
858
318
323
596
741
733
391
966
592
438
675
779
653
819
569
992
73
737
941
296
673
730
750
943
741
657
237
419
205
686
735
93
307
510
480
189
285
221
969
630
715
999
259
697
588
534
741
500
875
168
346
528
336
704
726
542
902
242
484
900
765
869
482
742
169
712
341
975
508
762
895
710
908
683
77
373
324
569
598
241
692
241
700
848
922
485
978
502
976
50
291
532
884
672
564
217
211
125
173
742
359
933
411
129
276
482
444
813
136
139
1
927
101
630
230
787
203
691
551
176
553
189
842
970
444
163
286
347
658
903
487
750
189
26
242
703
281
354
909
391
952
277
116
16
748
126
58
172
277
123
853
184
399
465
260
101
427
652
863
273
564
108
520
349
943
242
62
841
800
925
293
323
504
764
842
358
146
315
679
16
251
251
557
472
275
331
653
711
219
876
469
665
44
813
91
217
658
973
991
687
35
394
314
789
705
629
401
280
419
293
831
589
810
320
535
382
237
71
152
680
431
904
816
609
182
605
935
340
653
873
433
574
461
465
666
180
547
889
24
325
706
491
601
907
434
242
896
932
656
728
564
225
349
658
728
255
920
886
384
763
730
343
901
826
589
545
52
622
630
624
99
645
959
17
847
258
738
886
639
229
604
571
221
647
678
204
7
648
796
377
201
116
286
248
740
528
415
408
480
304
360
533
915
271
190
104
855
194
169
59
731
698
561
616
781
240
631
536
229
202
541
395
11
264
59
6
551
337
682
23
742
196
846
970
836
671
774
798
299
250
843
16
529
867
855
513
44
595
810
294
735
73
953
464
989
609
794
362
674
17
738
127
111
261
974
655
593
179
170
897
372
51
593
588
481
721
516
719
416
339
117
203
150
264
870
250
615
54
593
872
315
957
119
378
989
843
718
921
73
169
478
948
343
867
561
818
30
891
902
667
209
674
768
14
374
141
671
719
470
765
133
968
776
198
395
747
861
178
82
973
455
46
296
755
894
280
270
146
354
829
555
264
401
987
621
58
985
412
185
362
338
218
19
658
658
67
772
547
399
847
949
522
766
782
184
688
304
737
683
28
313
263
675
211
294
907
976
325
679
312
286
901
867
428
115
725
181
121
926
642
389
22
630
313
197
654
824
252
634
392
38
94
986
584
544
769
432
254
383
598
823
253
661
45
296
634
994
347
686
449
97
250
502
888
695
315
338
873
675
248
972
150
267
669
927
596
212
591
986
47
958
37
678
595
295
110
633
863
407
195
357
202
502
496
484
744
77
343
254
670
763
853
617
206
628
265
633
563
37
998
745
440
887
26
209
218
394
436
758
441
342
478
37
526
628
719
36
793
26
39
621
733
378
284
199
622
862
538
498
923
388
132
402
248
2
606
190
291
109
112
381
266
609
775
826
717
628
518
838
184
360
891
274
731
383
101
290
453
202
736
693
21
287
210
271
960
196
614
486
518
133
388
850
930
959
956
187
754
300
54
334
595
116
552
336
519
301
230
664
864
87
776
33
488
509
225
178
9
54
901
249
996
122
599
461
500
589
23
567
567
930
679
802
865
714
558
427
374
372
621
814
317
416
370
788
769
158
172
229
941
871
228
61
105
503
767
437
496
342
773
903
798
994
456
300
909
393
829
945
569
225
67
747
543
625
998
819
508
522
56
142
556
315
560
695
96
247
574
915
379
609
565
930
581
586
444
90
704
232
514
853
106
91
259
305
161
376
26
194
548
274
110
432
440
908
37
203
25
237
73
607
625
838
353
649
823
79
222
662
563
524
407
802
43
11
344
274
789
122
495
220
247
278
775
296
595
963
719
342
179
760
192
58
205
347
47
388
835
660
976
116
408
446
421
442
651
473
295
982
414
613
846
474
65
174
740
489
680
880
476
559
212
283
256
909
545
60
661
322
998
682
199
971
291
994
917
253
5
787
101
540
626
101
604
464
134
967
223
24
433
675
224
803
750
55
200
211
452
277
742
225
35
378
848
354
566
130
58
384
909
716
478
185
626
606
978
279
192
488
882
547
670
200
549
843
296
666
266
465
454
982
164
782
984
690
299
161
670
53
532
901
102
910
608
910
268
139
456
839
421
792
349
633
587
874
65
64
468
371
161
114
716
886
565
810
755
107
3
380
937
705
187
79
761
959
11
546
939
92
333
4
377
692
433
140
349
47
28
671
596
697
828
296
371
707
925
604
909
922
518
481
216
513
663
257
982
671
277
115
451
773
945
508
257
47
141
425
381
498
299
823
879
752
8
60
467
785
221
246
270
86
355
2
174
292
1000
832
302
167
164
325
503
994
487
814
595
646
722
258
56
687
286
942
390
942
41
675
140
403
442
262
19
143
755
562
364
428
345
480
21
10
537
431
555
349
17
303
411
822
893
248
348
96
321
33
976
934
651
666
764
289
475
439
72
752
887
876
715
500
168
845
982
165
272
549
195
994
321
175
745
113
842
951
869
859
981
526
560
950
256
586
683
382
102
611
869
12
630
50
637
26
556
811
585
636
782
666
514
954
491
484
515
931
77
57
581
564
46
89
911
924
599
826
878
176
510
479
71
756
492
665
558
993
13
975
56
720
16
981
428
533
996
949
653
10
486
882
761
742
626
293
976
368
931
848
396
770
807
810
594
759
104
272
925
919
385
231
32
790
717
678
902
895
11
192
949
616
327
472
682
333
210
742
275
673
908
621
310
876
152
941
839
402
568
987
634
592
110
693
374
957
259
320
453
560
388
634
814
362
910
749
579
339
29
546
581
486
508
336
297
84
926
424
465
2
64
222
913
409
865
136
201
140
308
906
398
52
416
200
960
317
730
108
341
965
937
568
2
458
207
765
411
827
329
802
542
558
465
789
28
346
822
604
96
338
788
451
723
257
629
20
6
172
913
653
91
686
134
388
588
481
235
105
585
6
605
835
494
339
532
418
861
5
133
642
76
657
605
625
983
656
383
538
732
742
458
987
413
490
416
197
542
579
514
788
283
412
566
487
61
667
311
286
177
323
208
96
495
804
601
785
259
457
16
424
586
138
177
153
321
691
532
162
545
360
707
103
88
587
572
338
465
445
447
668
773
212
739
395
330
758
230
12
934
879
981
885
488
877
868
502
71
231
128
629
494
130
611
821
708
815
516
776
892
479
315
48
632
325
450
131
951
580
849
694
443
983
568
358
307
670
843
550
84
825
359
420
49
389
440
361
859
263
472
413
464
795
206
343
219
74
104
786
702
263
382
193
206
102
560
958
970
357
524
177
436
316
423
964
429
394
681
364
281
43
240
717
671
695
823
62
891
63
786
300
340
18
373
219
142
179
745
696
105
848
122
243
838
374
260
306
137
952
917
813
385
604
803
219
244
678
362
741
57
662
132
806
747
793
34
581
94
940
775
262
824
573
925
20
855
183
485
84
931
127
571
323
257
166
641
525
771
800
878
922
654
752
665
509
256
85
51
469
906
306
814
712
402
432
80
747
258
322
674
838
630
549
715
988
503
559
525
270
766
647
203
145
507
49
337
980
716
291
404
345
971
833
94
717
70
630
641
273
676
785
49
677
368
193
577
311
903
289
866
363
53
487
781
677
96
225
84
189
863
846
474
288
467
147
112
19
829
790
81
106
929
194
255
321
439
529
492
249
350
960
395
315
138
960
847
475
383
851
849
269
157
506
36
572
923
825
110
197
129
209
340
417
997
705
292
708
212
371
379
68
63
733
221
606
524
215
175
58
89
791
293
134
670
939
166
877
711
957
983
170
67
688
474
303
606
407
800
533
572
589
708
600
569
643
678
591
184
504
588
636
628
268
698
951
386
898
337
947
881
913
228
60
259
848
220
678
377
816
142
885
797
746
234
172
187
739
610
736
150
151
283
224
684
663
990
996
656
996
152
818
886
145
633
827
47
610
648
788
664
737
328
652
980
409
676
337
28
136
406
536
389
959
97
810
139
363
531
466
129
490
417
411
890
819
359
275
982
889
211
508
982
407
476
95
41
787
161
133
382
389
162
202
891
394
918
664
812
834
491
20
492
213
400
291
359
718
497
822
188
633
807
196
400
677
598
875
682
362
362
384
683
665
164
7
274
44
792
681
985
801
46
696
132
233
462
681
655
74
574
628
414
780
136
170
352
639
797
869
765
820
526
360
719
82
837
136
832
833
528
690
127
643
76
123
705
576
708
400
507
975
436
202
542
88
751
256
946
362
219
359
90
865
302
176
770
567
500
50
498
387
692
129
935
63
464
968
269
34
132
925
39
216
291
765
196
793
238
415
702
128
897
424
560
398
177
328
826
639
736
647
859
827
108
537
840
392
974
438
580
744
558
931
732
180
806
788
628
236
930
251
147
865
695
731
796
342
312
109
62
26
975
928
479
74
995
925
954
574
534
824
418
188
3
872
841
248
324
417
952
640
117
762
531
192
956
862
205
251
756
182
939
553
699
680
119
343
838
975
822
430
830
344
198
244
745
599
526
226
583
950
114
555
36
635
876
977
692
726
487
116
717
285
888
25
586
666
196
681
956
999
707
263
525
253
770
584
762
82
996
279
10
756
404
614
237
988
665
151
673
951
738
198
407
210
454
536
925
223
340
209
241
702
686
631
224
901
906
734
914
798
42
393
844
129
835
90
359
540
171
158
931
706
287
596
459
496
971
361
619
986
779
846
852
68
246
494
311
759
757
530
798
674
278
147
443
879
478
853
727
586
323
761
598
142
387
189
350
83
740
178
6
182
793
469
307
968
968
779
315
510
126
545
447
772
698
994
603
857
9
118
109
840
818
118
975
442
438
192
26
47
214
341
544
182
354
761
47
456
27
38
481
467
988
625
113
660
918
907
382
412
289
603
644
234
46
398
823
837
142
9
133
381
629
111
32
61
298
908
732
807
764
155
127
181
204
680
932
561
36
348
465
512
141
992
843
862
52
40
961
97
66
68
675
174
308
969
102
450
339
829
210
648
639
573
451
671
793
150
749
956
861
610
570
36
708
573
398
506
704
93
804
430
817
873
368
62
940
247
527
21
442
230
12
955
818
717
22
808
75
650
184
935
356
789
899
811
707
848
886
453
944
87
92
337
191
750
256
511
118
759
977
494
238
12
802
271
709
229
304
787
397
900
475
860
497
170
146
935
997
207
709
698
368
473
479
382
261
954
403
557
895
45
893
900
80
505
393
745
992
2
228
102
344
137
303
732
548
513
661
605
905
965
3
751
636
439
712
356
742
205
647
22
216
855
527
608
24
633
111
98
416
347
912
807
434
780
390
803
799
736
663
427
391
607
449
686
802
246
410
844
471
324
320
359
185
403
647
365
766
887
756
739
176
462
438
505
69
897
932
310
271
173
101
239
167
291
529
585
41
890
493
913
17
642
46
977
43
671
183
271
5
425
69
411
504
925
564
145
211
910
779
518
425
492
433
174
330
798
983
649
912
545
406
825
949
465
33
1000
498
223
230
471
501
476
151
665
318
294
176
611
817
97
282
17
660
737
624
257
150
116
873
445
288
543
204
907
216
203
306
531
603
814
911
344
79
177
701
971
508
346
944
878
14
347
499
570
365
75
738
559
718
811
940
221
15
39
309
270
925
865
324
753
741
63
789
189
547
572
924
489
767
419
397
940
652
357
54
919
474
873
435
227
1
688
632
129
483
771
455
322
634
243
52
839
641
187
884
557
935
67
9
519
798
664
359
320
106
419
37
103
313
381
196
113
778
13
35
744
109
979
16
581
625
876
671
720
26
849
562
249
194
473
496
84
163
726
847
573
721
155
204
953
813
105
414
186
43
691
500
87
643
675
73
112
879
811
64
30
899
801
594
342
602
831
173
600
161
302
702
989
844
293
580
592
802
896
843
482
377
534
707
432
417
548
584
606
837
152
160
855
702
632
310
853
462
862
186
671
855
673
165
140
329
332
128
570
681
377
876
495
132
537
816
400
999
596
886
340
904
913
678
538
798
968
866
503
175
211
873
326
533
625
91
320
660
952
615
225
142
135
297
511
770
411
961
376
704
184
727
66
948
950
387
430
961
465
298
682
220
210
253
427
47
553
68
508
441
152
173
313
157
626
261
177
298
28
707
557
731
505
391
897
55
613
869
431
724
267
538
272
896
521
825
990
495
234
171
824
233
6
972
905
252
665
118
196
919
528
122
223
777
539
361
402
407
447
298
893
223
623
671
108
730
946
578
670
867
32
927
446
176
625
609
332
35
750
487
284
138
648
613
924
859
393
506
648
162
8
388
613
483
265
35
19
860
837
608
593
193
447
411
708
688
760
398
881
50
758
202
148
719
342
176
367
398
556
171
916
998
336
925
900
959
137
417
657
813
916
711
638
222
167
101
966
233
549
944
908
484
791
727
139
574
70
652
183
831
381
141
244
297
937
719
71
196
121
18
316
523
851
943
730
862
653
968
903
354
623
787
565
607
534
964
772
627
502
233
150
310
311
74
24
868
694
71
405
584
950
937
935
606
859
962
99
534
805
289
815
455
993
10
836
105
744
232
518
297
614
51
247
655
813
870
856
784
140
550
435
874
334
546
439
25
649
110
655
902
694
531
576
842
178
539
607
789
214
647
398
546
383
969
228
342
835
887
877
560
628
503
530
565
291
221
756
626
377
340
492
481
769
55
154
466
433
479
129
939
130
452
347
745
988
257
901
213
479
671
721
821
62
923
521
527
910
250
136
992
760
487
865
304
243
956
724
847
444
11
648
686
797
625
285
561
573
888
460
505
93
24
868
309
766
11
931
309
420
226
905
341
615
768
750
32
682
753
771
706
400
272
165
217
451
79
588
298
22
810
120
307
120
717
386
95
439
521
87
83
406
775
225
23
913
246
789
994
959
725
360
949
477
29
100
810
192
686
695
894
693
161
64
290
81
532
347
624
632
636
180
670
648
384
5
195
919
329
276
596
192
614
178
467
901
978
486
420
617
824
581
407
362
591
766
590
817
459
316
451
881
170
698
602
14
35
161
541
418
11
783
961
249
84
386
11
461
746
585
114
641
92
444
978
305
519
61
142
15
428
704
934
798
57
545
4
722
321
561
357
416
897
596
551
873
507
458
350
218
83
105
655
466
382
998
885
493
591
416
47
128
642
204
23
775
248
275
488
298
584
164
117
28
964
754
355
424
418
997
428
969
920
460
682
871
787
805
731
779
376
776
458
453
258
542
496
549
30
584
874
901
977
955
804
308
917
67
171
64
967
308
287
692
998
956
678
968
193
669
836
172
507
89
244
373
808
98
243
783
817
744
685
281
292
528
899
972
296
449
834
660
509
201
49
863
206
447
994
723
692
464
919
536
598
994
539
430
812
266
965
606
588
734
676
954
338
789
842
633
894
195
784
805
499
365
486
827
650
133
675
381
129
554
914
303
405
837
708
38
20
862
426
366
163
365
102
7
100
26
411
177
867
946
435
886
360
933
407
27
858
910
644
918
356
290
827
67
934
308
722
868
506
608
614
274
588
247
641
269
510
23
367
786
747
139
886
766
26
824
865
936
879
893
636
812
546
753
705
125
781
81
604
328
945
735
105
915
931
644
46
228
483
79
650
692
874
429
888
14
757
894
186
167
769
59
96
450
46
238
689
954
716
8
88
358
152
861
423
772
919
773
364
386
776
239
460
813
594
99
716
864
356
40
171
644
203
841
120
222
705
521
433
990
640
505
148
982
259
492
389
271
400
910
31
202
406
102
643
554
795
402
366
475
989
111
379
43
985
442
824
138
169
523
561
235
213
529
734
302
587
614
771
173
849
313
478
130
438
634
217
476
27
184
614
111
281
159
643
533
813
800
203
630
404
777
507
327
687
989
459
956
671
631
760
850
567
589
794
887
722
165
984
737
882
521
996
86
494
919
334
558
741
282
479
900
5
663
544
319
269
509
473
961
324
592
257
852
223
598
862
450
627
83
747
105
155
761
889
890
972
848
789
728
642
276
96
722
23
961
65
704
268
774
194
562
454
363
560
119
30
788
472
181
510
277
756
285
993
116
955
235
573
869
899
205
367
903
805
817
755
828
212
322
291
822
572
735
55
313
332
417
799
229
153
518
462
259
437
125
489
306
704
202
88
493
149
462
470
689
173
865
873
122
766
241
923
247
372
623
496
755
269
407
52
149
169
511
799
232
857
523
648
499
301
508
225
723
544
961
108
447
157
531
507
76
288
860
260
877
846
660
766
12
217
274
141
106
884
379
293
392
307
818
987
820
485
841
857
104
727
243
668
516
76
621
944
195
247
929
815
722
865
928
903
634
89
913
448
209
774
756
144
978
657
823
969
975
826
411
504
23
633
522
494
148
488
553
480
152
783
941
197
999
810
62
606
592
840
626
34
496
329
714
52
599
434
270
557
588
744
459
839
910
573
624
438
736
796
572
952
584
52
396
239
528
186
709
929
67
267
853
278
414
634
623
888
901
60
316
336
741
131
947
185
741
879
286
357
125
293
452
13
651
282
669
882
539
711
276
159
589
671
808
403
334
915
935
751
538
988
375
770
526
730
738
52
227
698
461
245
963
847
924
99
960
314
547
594
85
526
754
89
845
989
603
995
790
119
405
325
82
633
627
222
488
14
686
528
925
388
548
722
763
687
401
441
543
905
194
706
516
501
64
985
468
502
54
115
177
227
72
673
361
307
536
213
833
813
581
61
534
381
133
385
613
451
913
923
3
846
993
293
655
803
865
536
444
695
33
758
287
710
28
588
457
207
391
644
311
877
63
952
28
535
846
538
908
982
231
775
176
16
112
712
690
466
788
555
542
721
166
870
135
346
791
271
365
244
980
128
641
128
254
779
526
125
686
40
987
766
427
839
476
316
907
35
546
572
90
803
751
572
58
626
101
548
515
531
386
57
382
684
433
633
885
845
959
227
416
111
97
958
903
962
583
295
611
582
733
234
197
334
753
376
28
811
283
741
715
890
316
194
533
475
109
771
373
369
107
640
265
339
770
881
609
72
292
738
752
77
597
120
893
935
77
489
413
584
848
314
194
741
775
780
587
428
604
437
625
197
553
66
100
128
943
699
292
167
789
675
464
608
462
307
954
864
952
955
575
817
560
418
832
47
631
781
163
613
284
658
856
565
290
856
817
695
14
7
66
456
641
368
448
911
999
854
846
702
100
499
419
271
82
376
905
889
843
792
941
471
492
265
130
739
21
305
848
461
24
135
691
614
420
715
712
791
295
618
750
41
11
767
904
265
677
404
920
303
690
73
442
252
52
192
440
653
116
630
988
58
230
251
103
273
682
133
440
73
408
357
887
8
315
581
872
718
153
852
78
243
445
498
285
771
665
173
2
555
580
266
276
258
501
430
408
618
90
961
384
546
928
110
46
891
259
104
462
164
734
148
695
381
673
128
819
863
292
144
812
938
686
448
245
60
365
828
712
791
938
125
412
717
119
835
132
427
686
640
940
355
593
65
684
478
543
284
93
506
898
120
117
642
908
652
771
201
850
546
996
813
711
650
554
454
295
697
502
411
949
294
575
424
972
781
777
804
561
360
601
89
590
39
453
771
985
31
442
474
540
511
782
180
743
102
18
610
244
479
398
740
868
571
471
288
905
224
117
398
133
941
200
940
330
821
563
122
912
597
688
25
988
914
961
673
447
742
898
604
869
736
867
422
393
384
884
75
612
142
585
59
143
998
690
790
313
822
588
962
405
440
343
352
892
962
711
155
618
449
218
560
997
931
794
757
381
58
34
459
854
909
365
719
891
875
90
419
686
9
888
886
83
813
355
412
502
725
946
197
337
618
8
377
249
531
992
608
802
114
315
614
825
139
963
694
699
430
674
273
466
37
970
737
738
274
414
476
108
942
16
48
996
129
191
637
816
253
175
1
447
733
161
211
9
12
564
372
393
161
540
593
867
722
746
739
750
324
95
578
208
321
760
831
401
489
941
149
175
323
235
561
233
400
467
691
864
753
683
491
482
553
24
120
369
964
334
13
248
307
45
799
832
681
251
496
51
129
5
419
490
424
73
763
169
278
777
437
649
75
45
937
857
142
694
23
268
113
253
143
648
503
257
839
723
102
923
871
682
439
664
518
700
660
574
991
715
8
397
420
470
15
833
741
125
882
225
349
367
58
15
858
38
398
475
672
309
899
241
975
726
634
724
926
163
732
946
504
491
526
820
254
397
278
501
99
966
632
849
980
664
142
958
934
765
271
827
286
714
902
484
96
262
319
495
102
944
773
206
486
678
367
110
284
411
838
410
202
683
4
50
465
322
954
115
638
599
448
569
111
373
461
317
529
900
477
546
458
273
505
662
923
923
793
723
143
223
562
416
377
735
867
761
549
244
116
863
927
664
689
895
921
814
255
802
921
601
862
317
633
195
416
484
428
984
113
3
851
65
444
318
139
443
355
95
393
819
483
531
59
555
548
301
695
595
325
329
834
741
998
738
819
709
270
155
680
468
791
229
905
637
864
230
306
43
579
72
698
637
968
432
295
94
714
906
810
723
81
652
370
734
260
46
706
121
305
801
957
483
832
97
843
709
111
23
217
28
332
946
282
434
194
271
551
347
288
993
281
9
241
273
534
127
528
293
584
950
453
640
471
556
973
673
714
309
578
520
349
589
164
686
910
985
531
135
635
154
909
690
713
209
559
511
944
262
828
592
588
238
443
115
429
223
714
119
384
949
547
283
12
82
313
289
248
351
11
840
533
743
461
55
11
982
174
868
187
75
66
514
454
690
49
681
679
415
155
25
981
148
491
865
938
670
701
545
763
981
415
204
262
780
211
677
312
999
605
577
946
735
259
946
939
22
707
808
489
418
344
816
163
621
812
869
769
466
693
876
454
636
699
217
187
1000
795
76
419
985
488
265
943
345
931
747
519
609
771
660
276
677
594
174
848
292
938
408
986
735
289
608
828
370
586
472
584
85
118
766
723
907
861
4
323
208
603
752
423
175
457
331
314
618
310
882
983
587
689
478
863
290
938
718
42
789
293
495
125
974
46
817
362
60
476
283
306
889
960
359
933
158
344
840
74
87
341
772
989
744
379
393
325
70
580
41
900
236
477
777
629
427
246
833
42
697
402
94
541
575
458
889
585
316
313
657
108
766
841
741
368
234
620
472
547
899
171
710
499
166
654
925
439
571
880
412
960
287
747
354
162
375
716
146
939
295
838
786
161
482
64
571
940
502
928
702
432
202
898
456
821
369
79
400
475
910
298
212
42
507
647
980
472
622
24
34
803
244
899
672
904
313
429
104
100
573
64
335
773
61
227
172
448
413
544
629
708
633
900
337
911
422
379
286
792
710
585
376
757
533
211
152
338
258
662
196
205
128
719
493
154
369
55
867
290
118
82
518
489
813
590
417
931
62
420
70
247
784
436
943
681
762
930
508
692
669
10
449
590
714
525
207
267
706
6
304
798
363
912
394
381
739
889
604
435
174
594
496
166
776
230
195
424
322
887
545
442
812
884
247
120
977
395
74
924
863
341
505
939
108
203
387
37
20
239
635
659
80
480
280
366
602
900
555
71
508
229
133
66
809
525
276
311
565
280
292
248
67
60
38
897
882
791
827
237
184
855
875
895
664
832
695
838
657
483
539
244
359
955
422
337
107
133
659
976
737
10
568
763
731
631
639
568
834
687
674
152
989
413
582
314
282
7
38
224
151
316
471
438
303
332
621
213
952
667
239
997
126
573
877
879
196
793
481
678
445
800
724
231
890
844
994
158
260
300
11
697
661
963
230
80
399
786
7
622
713
195
2
336
198
271
877
876
36
240
459
599
474
967
901
759
655
23
856
855
479
768
410
834
996
619
332
517
285
377
386
646
440
905
741
1
975
468
322
91
985
876
118
128
684
221
869
884
486
203
135
645
17
65
716
333
647
537
113
357
61
156
176
8
198
969
514
936
520
304
139
717
394
587
171
822
643
255
621
160
212
347
583
715
520
545
629
500
958
183
132
173
838
536
632
982
124
430
965
216
930
165
614
140
202
929
63
415
371
823
302
709
442
936
770
68
328
132
230
966
39
898
230
960
159
303
296
660
173
188
499
746
490
726
610
184
99
264
988
32
384
649
474
256
329
233
628
672
63
245
807
980
986
404
585
267
917
695
72
439
515
678
577
813
554
141
303
602
101
672
519
134
320
757
977
34
249
441
406
841
338
212
803
261
275
812
28
306
814
42
496
747
941
109
88
561
664
983
901
649
490
988
440
187
287
841
524
374
316
874
907
997
572
279
643
717
538
845
686
100
394
836
828
682
474
151
719
349
28
4
932
190
461
667
442
177
196
149
867
465
755
175
692
909
313
858
960
931
835
254
327
858
834
501
261
92
353
281
10
514
994
355
322
822
490
481
549
972
964
934
254
586
75
932
323
106
341
778
684
702
363
595
483
99
273
169
445
666
70
757
18
975
773
507
464
37
106
747
301
412
4
820
678
148
803
319
399
456
637
350
381
840
702
731
549
125
652
699
35
464
194
410
391
658
198
541
437
864
596
447
871
116
586
583
483
540
735
898
748
803
223
334
644
414
17
690
804
663
934
593
972
193
602
605
2
31
536
776
491
152
46
523
467
819
264
266
742
367
401
677
446
222
498
329
633
682
954
314
634
570
943
724
733
551
149
378
783
797
177
687
396
487
553
429
748
579
279
497
791
310
426
771
429
286
555
39
151
827
505
58
266
24
952
108
602
125
990
842
413
244
315
590
4
245
416
24
233
915
841
79
580
14
840
526
560
601
149
552
746
778
154
848
695
415
224
785
160
314
706
836
638
298
155
659
696
882
94
262
791
312
284
661
946
145
999
675
447
931
487
612
941
722
606
105
300
377
565
430
496
735
230
881
658
309
772
938
781
370
877
663
246
364
988
805
59
845
669
844
247
68
729
802
830
584
495
119
190
52
362
160
421
41
320
46
961
943
306
717
730
555
513
167
304
532
495
261
910
134
380
144
643
938
724
250
785
220
559
67
379
471
362
669
540
197
909
745
823
355
661
334
388
969
167
126
359
377
768
682
2
219
646
849
371
92
863
132
414
422
674
94
8
15
301
448
759
893
724
332
629
815
97
799
481
234
886
489
655
206
796
96
578
597
411
539
906
744
147
639
894
903
641
213
990
99
445
195
331
109
643
849
55
662
532
754
332
947
490
904
615
895
129
619
228
829
347
888
474
802
920
59
880
242
299
932
343
438
160
572
612
530
50
456
247
983
154
160
823
836
524
990
138
121
800
934
923
314
724
931
165
573
403
914
452
84
136
995
428
868
492
158
254
539
386
42
905
14
66
730
104
266
810
96
249
923
473
692
409
386
334
904
392
563
511
781
388
70
214
149
315
227
379
482
605
940
568
51
526
567
815
825
570
369
644
605
950
645
859
383
448
498
757
965
258
879
874
455
895
646
992
291
248
700
807
368
650
645
133
807
39
638
893
680
496
221
634
282
174
657
98
101
61
793
222
555
705
436
483
659
191
10
355
463
905
959
273
444
759
655
124
521
720
513
795
857
774
560
612
135
831
697
513
498
377
683
706
535
836
884
989
21
402
654
45
476
817
762
586
958
252
856
690
910
59
24
517
721
498
521
608
233
884
817
605
961
88
997
580
239
907
337
742
345
999
857
944
921
326
72
489
489
353
755
573
35
556
351
945
410
416
436
700
131
654
644
986
129
327
127
254
583
999
785
772
717
913
348
478
985
707
295
265
525
398
392
662
314
517
673
823
382
831
329
724
12
752
21
274
713
41
771
67
642
193
361
334
985
859
950
753
625
331
754
687
32
626
434
125
802
234
724
863
253
723
168
877
266
765
309
882
252
276
482
414
390
89
18
674
31
801
641
592
267
299
447
83
203
302
742
86
22
289
268
347
498
492
596
362
721
4
19
606
972
175
399
951
754
903
308
627
524
990
986
34
181
39
812
628
53
502
229
118
57
317
515
565
781
304
353
520
461
419
77
644
350
407
518
868
239
817
836
617
867
488
778
619
105
173
50
388
909
39
929
40
953
43
158
557
538
504
295
535
941
368
868
937
420
345
564
508
663
161
825
796
34
255
314
988
530
68
974
78
498
262
88
245
563
103
975
678
534
134
485
602
72
984
753
466
736
888
61
972
580
510
865
195
721
856
737
455
763
97
334
593
769
735
988
47
436
680
602
415
261
114
38
795
938
323
231
22
580
561
720
89
480
514
741
213
839
210
940
378
575
187
36
748
693
360
775
644
265
491
837
516
525
797
333
113
640
300
558
943
750
86
979
82
91
20
969
474
997
230
263
719
244
765
584
669
628
426
855
566
734
896
809
950
884
266
762
926
243
564
391
729
183
357
805
472
788
381
881
207
169
528
595
797
430
660
210
293
741
732
834
793
351
226
159
540
181
311
507
206
559
196
78
444
187
961
82
695
125
771
853
327
666
526
873
80
768
279
845
262
658
333
759
100
480
36
489
394
785
718
410
470
360
276
861
227
151
770
637
435
706
389
391
83
934
512
905
631
995
308
174
766
883
103
999
676
124
891
940
342
230
134
253
490
292
843
283
469
512
690
440
121
983
243
459
299
168
97
186
524
6
633
543
626
291
949
770
274
691
294
970
578
406
94
117
227
84
463
460
564
90
496
48
598
779
995
914
233
823
949
782
768
24
798
681
6
109
503
979
522
375
663
103
335
186
521
223
103
966
270
637
68
767
575
903
62
303
386
614
187
276
525
439
499
244
572
21
158
944
414
863
718
748
756
389
229
754
695
600
238
647
609
827
783
231
102
342
825
471
458
601
421
943
172
742
753
771
986
416
3
372
710
340
387
657
180
838
976
564
618
703
726
662
491
947
393
181
275
58
80
823
198
645
732
26
675
20
942
820
569
254
948
376
923
157
256
234
162
189
241
196
151
278
269
140
600
806
258
561
387
693
178
835
852
112
606
633
689
117
903
997
749
95
473
77
695
634
400
14
360
109
430
1
66
251
136
124
198
474
545
807
245
274
322
518
313
733
362
86
748
242
697
463
931
931
896
879
37
226
923
924
34
865
956
397
473
286
310
479
18
318
954
549
640
20
290
777
263
813
779
3
529
631
505
906
224
671
64
232
88
220
529
822
110
430
329
73
437
15
905
78
306
784
341
990
238
905
178
198
438
713
503
259
830
287
70
777
319
968
110
777
696
811
308
375
702
109
981
981
890
56
814
484
724
583
15
905
244
608
310
556
186
553
257
324
975
653
771
565
356
956
718
670
906
859
65
241
890
656
118
573
283
791
612
507
965
982
35
129
518
902
326
677
593
691
386
859
126
856
268
340
870
38
183
924
355
171
600
284
39
745
102
589
652
619
923
955
943
309
501
751
675
152
734
993
191
903
314
602
91
871
891
629
191
566
48
529
497
361
286
886
452
564
557
805
236
123
990
717
358
959
271
461
882
657
323
338
614
713
566
389
95
713
9
115
222
696
598
649
319
46
189
735
620
191
662
314
257
231
745
119
873
177
235
563
958
819
293
755
418
483
852
81
718
120
827
842
422
543
26
857
170
825
784
43
597
483
299
476
331
553
831
359
384
108
112
251
576
198
424
475
318
768
43
407
170
444
816
530
23
942
713
679
867
565
115
200
144
5
336
484
202
796
410
89
281
791
113
403
951
665
10
227
58
397
423
560
956
262
476
474
228
857
926
643
804
433
258
24
548
986
101
503
369
236
884
442
97
868
745
561
408
187
480
430
525
106
24
842
974
339
553
615
609
954
591
984
815
845
745
12
210
468
349
303
644
384
893
248
648
475
297
986
827
468
767
660
819
449
362
652
842
118
505
142
107
598
258
786
850
70
634
939
562
272
337
615
781
738
588
954
531
57
408
825
46
80
336
336
954
356
17
427
175
95
861
346
219
806
657
313
993
386
218
882
304
260
582
646
28
269
9
800
893
21
991
119
223
874
616
457
417
884
214
54
292
911
153
43
359
967
757
797
945
867
428
71
426
48
1000
443
569
558
304
291
553
155
320
2
310
399
152
568
244
774
786
57
415
833
663
575
491
895
341
124
372
928
434
669
704
685
113
817
525
18
135
916
652
146
757
732
747
864
76
881
786
366
718
208
625
395
707
263
635
273
473
739
904
79
289
435
207
918
570
981
158
475
67
889
546
517
210
5
487
46
52
310
896
825
439
498
317
589
671
399
748
57
272
757
710
546
324
96
677
844
520
635
805
244
454
207
549
462
784
577
543
534
639
536
937
902
539
132
734
178
881
921
754
346
170
841
449
763
295
197
585
770
919
47
785
584
91
380
82
347
765
448
612
724
437
556
685
10
430
1
572
737
370
320
22
227
10
953
743
274
998
766
356
684
543
564
6
30
2
357
725
15
114
744
376
437
540
279
439
190
688
507
872
762
578
73
975
583
484
308
947
827
129
587
920
784
352
809
327
831
430
484
980
19
371
820
413
244
107
891
549
313
289
815
586
174
838
825
537
990
524
407
642
93
689
314
193
180
558
474
467
279
341
254
515
403
430
547
581
712
140
85
910
17
628
14
532
179
118
462
246
207
711
737
59
444
144
768
813
835
249
43
894
289
203
944
88
280
509
968
476
266
604
309
508
389
781
28
435
118
564
265
446
497
719
284
905
510
783
445
316
720
62
673
944
904
737
499
225
906
335
969
424
550
760
738
305
718
78
872
63
531
658
354
522
885
861
481
189
879
245
509
799
597
309
586
134
828
852
742
212
3
23
470
172
313
303
295
798
284
525
753
594
483
644
563
510
213
784
375
423
286
757
154
729
639
424
696
973
764
565
995
431
861
304
225
501
738
356
27
105
99
632
743
681
622
620
796
447
445
42
631
351
483
471
672
914
306
346
887
233
586
509
68
744
72
596
197
341
280
411
781
383
747
368
772
209
646
76
762
106
70
298
867
499
555
470
315
540
179
28
219
13
738
719
429
863
921
122
745
965
685
69
837
336
592
818
135
837
939
889
606
662
935
390
187
430
185
84
972
158
858
605
816
561
38
661
421
992
534
414
682
933
159
240
91
397
695
821
360
761
678
493
805
619
834
994
74
182
214
245
454
840
31
667
721
555
978
671
752
972
817
364
852
877
265
128
508
251
349
676
326
494
881
193
665
62
104
700
608
520
586
67
622
843
47
127
705
184
386
716
843
700
510
333
301
454
910
216
816
799
699
648
88
254
946
160
708
574
593
175
849
347
564
576
761
341
552
533
643
79
609
265
272
967
200
353
267
672
211
725
965
926
22
467
719
2
956
798
884
290
799
139
572
945
356
466
793
733
150
416
452
76
839
421
183
785
726
105
232
279
436
305
367
885
333
432
104
16
854
162
431
51
207
547
884
911
581
938
342
682
641
583
631
928
68
383
194
467
294
208
377
556
788
181
850
32
57
499
608
679
264
419
112
688
271
223
822
934
703
588
467
284
396
628
693
565
135
358
219
186
214
599
748
26
263
605
420
96
92
739
296
73
558
30
99
251
987
453
353
190
424
927
825
28
328
904
558
389
727
901
954
702
375
66
493
1000
168
195
563
863
251
454
186
954
720
626
56
946
899
940
654
401
53
354
254
145
557
40
40
437
149
519
543
688
165
88
781
258
440
582
255
112
231
349
385
913
626
139
774
653
406
957
304
477
376
553
597
310
189
144
209
679
909
977
426
64
201
599
322
104
567
349
50
795
758
655
851
156
875
676
478
964
193
193
761
950
768
739
731
249
688
613
708
198
236
223
389
708
946
69
634
498
240
273
656
884
180
869
486
12
678
121
273
681
464
602
495
651
85
720
384
468
393
760
668
669
57
949
465
699
823
521
256
847
61
592
344
543
553
470
561
149
703
540
540
362
180
678
230
916
577
519
305
963
88
156
626
872
238
409
580
186
9
752
264
32
387
738
609
637
777
553
82
712
633
491
386
532
913
512
577
484
224
906
163
969
203
261
98
221
764
221
516
475
841
146
984
714
456
593
317
910
757
834
241
521
456
241
297
492
370
377
839
18
380
885
330
392
136
153
624
484
332
648
327
856
662
207
796
130
241
301
614
434
227
458
686
624
795
387
308
960
553
87
197
392
314
10
946
331
433
893
110
51
814
708
8
408
329
163
164
815
652
923
677
680
735
446
374
618
133
915
312
321
144
445
423
901
87
663
768
61
231
639
371
879
662
681
219
848
301
719
648
718
553
320
801
966
955
623
751
931
55
900
421
172
795
931
463
535
723
649
33
482
569
763
72
283
442
30
975
888
750
943
143
202
154
186
280
126
391
407
512
438
691
607
5
356
891
58
42
156
600
925
5
267
445
10
17
253
694
580
235
940
87
480
535
126
710
875
471
10
419
983
233
592
97
994
442
494
629
573
747
783
742
315
472
587
888
372
925
302
271
430
548
159
673
822
41
641
218
317
760
599
192
452
313
302
817
433
962
84
993
631
829
360
966
151
704
914
209
574
646
861
738
891
348
14
419
309
836
200
258
10
513
131
292
280
537
492
382
212
693
931
717
334
351
149
46
168
260
220
359
866
658
146
3
159
884
896
9
200
383
710
632
997
431
310
509
937
391
26
92
996
183
815
728
640
190
644
757
115
891
641
278
74
855
676
591
485
494
365
186
722
732
125
918
314
508
32
580
916
660
59
591
28
780
350
748
500
502
369
550
81
448
137
626
653
401
641
981
442
533
133
887
562
722
36
851
137
474
421
621
63
937
216
421
295
763
394
943
627
11
867
392
13
574
806
971
889
305
580
400
761
982
824
477
455
115
79
919
101
362
953
49
656
961
114
340
22
956
43
681
14
817
218
563
909
861
839
280
377
621
863
997
122
930
633
733
643
744
701
955
269
79
362
574
589
45
373
930
127
452
244
531
329
321
455
71
68
998
304
346
182
141
694
987
659
944
7
371
799
351
445
592
6
185
184
181
518
883
708
868
441
437
339
336
90
125
590
636
659
208
780
727
164
655
290
975
332
835
166
687
93
349
816
154
551
251
664
707
276
499
386
706
759
489
355
291
69
741
803
949
194
367
428
130
195
124
364
34
380
917
575
25
993
513
389
509
813
311
139
457
384
290
660
509
182
218
951
16
915
664
291
946
316
581
64
299
489
932
559
138
313
248
540
243
981
388
328
975
187
374
630
365
762
780
318
789
789
41
965
444
623
329
298
546
922
565
376
766
193
335
673
540
252
380
230
833
610
689
585
549
808
915
204
322
996
845
688
96
971
959
824
186
253
709
757
879
756
917
293
741
5
704
728
559
763
867
579
353
55
901
734
316
730
618
225
242
500
336
505
261
923
277
645
776
677
679
938
9
984
257
219
785
651
473
10
582
750
428
915
820
885
533
1000
444
143
306
913
847
368
751
500
341
854
716
985
600
968
738
943
334
740
147
383
532
731
279
185
266
780
626
382
193
696
387
341
262
214
220
762
860
903
369
470
129
245
94
60
462
287
287
393
206
384
893
837
331
391
809
940
629
868
323
505
70
283
214
103
457
735
802
191
516
60
481
195
7
354
904
493
535
754
419
402
597
543
643
17
181
862
794
736
964
17
445
817
141
670
684
880
419
147
314
82
184
860
894
64
592
100
324
418
807
303
159
195
553
8
448
13
625
203
25
195
857
191
937
668
94
239
181
939
230
526
779
932
237
427
404
700
439
267
519
77
361
978
267
600
547
56
763
981
705
56
232
752
88
302
257
951
994
725
471
410
347
47
284
628
891
997
226
879
351
665
624
594
910
309
824
756
626
127
637
24
78
23
225
781
401
389
863
734
148
150
211
127
735
560
868
400
151
791
144
186
781
381
366
56
783
675
273
863
826
625
844
283
47
483
320
557
276
1
484
328
271
983
29
386
519
168
293
948
452
389
358
890
825
861
680
702
512
662
132
992
820
250
827
904
199
175
176
343
152
865
245
715
79
859
266
999
378
237
369
942
510
155
365
505
915
37
264
78
490
887
124
678
252
739
816
855
987
5
547
65
440
555
434
719
66
767
84
89
850
283
240
399
170
703
184
650
343
182
635
538
259
294
184
247
769
826
603
595
934
682
260
243
873
431
389
335
940
551
848
737
814
837
381
624
582
592
308
358
20
861
561
240
873
769
827
555
942
669
994
706
159
270
592
584
806
568
728
650
244
122
351
49
292
162
611
446
576
295
417
452
661
139
162
195
978
198
448
518
479
68
594
304
309
614
664
465
273
851
889
384
325
35
981
8
405
209
429
899
618
861
821
255
909
790
406
473
419
501
857
418
443
746
296
197
955
70
565
326
204
767
340
779
856
182
580
283
791
479
351
226
290
889
366
585
101
791
979
609
888
524
326
911
853
662
698
604
744
434
383
472
495
119
586
289
742
176
4
599
427
193
432
226
717
537
35
796
129
143
729
451
208
53
409
138
196
825
849
25
159
764
644
35
995
603
70
824
201
28
74
530
231
953
918
651
465
884
783
463
580
196
379
346
104
509
797
587
119
496
450
981
182
414
941
888
602
128
349
436
221
795
235
640
717
272
974
344
378
670
471
905
395
853
274
544
555
915
978
822
114
733
592
715
134
23
206
968
239
307
992
414
440
120
514
297
63
78
919
385
420
867
658
820
637
879
316
705
690
686
589
210
419
989
486
985
483
621
569
654
349
905
976
629
708
258
258
312
238
262
558
403
679
723
617
189
299
348
989
882
504
660
531
634
189
516
728
291
493
955
121
316
169
69
531
577
44
922
116
425
753
677
300
558
369
430
835
74
264
939
901
197
343
802
203
762
909
758
578
675
921
875
288
865
700
652
698
32
565
373
531
720
927
179
576
558
553
274
381
277
409
107
9
369
285
323
589
760
578
292
373
509
309
67
782
757
465
665
200
929
802
518
437
491
436
226
833
163
735
487
217
4
968
395
941
278
161
508
344
555
105
316
28
77
920
58
61
843
787
816
754
178
822
334
881
865
926
823
225
684
264
100
476
864
860
351
249
862
785
520
80
445
883
899
352
756
342
170
43
203
958
709
377
830
406
862
639
783
407
972
160
534
18
647
185
600
370
244
488
853
751
816
360
983
600
974
126
758
951
116
322
872
581
55
176
259
896
643
699
757
771
239
764
980
432
168
576
958
228
124
671
259
139
211
408
430
575
132
771
277
969
821
819
486
9
952
17
704
267
151
304
739
115
999
656
409
853
733
141
36
324
860
646
543
189
407
497
370
688
76
70
537
207
637
589
124
600
198
358
165
876
109
594
420
866
783
634
858
248
270
104
652
953
611
780
501
565
225
812
507
298
764
858
101
699
928
362
749
163
365
943
843
166
356
465
731
539
137
521
149
733
849
228
269
433
302
383
946
546
766
823
491
111
652
551
797
609
986
785
125
856
846
222
703
969
579
932
830
10
435
89
42
623
414
687
596
911
839
910
398
25
545
426
349
482
22
160
688
48
707
56
598
228
986
833
285
464
82
509
354
337
789
474
320
7
272
537
344
105
303
511
978
783
735
273
50
666
549
611
92
983
963
584
341
868
588
936
734
679
84
276
75
354
296
811
650
960
237
129
954
463
677
455
530
937
116
345
785
28
996
337
238
975
656
218
667
367
942
867
771
819
569
344
92
90
955
914
295
1
780
795
728
394
630
627
91
592
947
698
88
847
795
519
392
626
151
170
544
476
696
83
151
903
796
903
467
406
273
234
416
110
31
599
511
649
911
538
532
664
735
76
812
982
755
370
521
705
565
81
587
332
271
904
537
660
690
963
590
919
26
498
568
361
629
659
748
645
260
66
149
987
60
725
176
970
706
810
331
971
532
985
639
692
15
98
401
750
231
602
95
263
765
564
560
663
916
543
525
516
493
793
790
889
792
536
572
207
248
711
879
112
656
173
376
884
337
540
977
527
977
627
345
129
2
599
734
934
65
155
328
130
246
127
599
654
891
336
181
306
644
911
750
877
67
216
127
227
426
709
815
809
27
755
504
293
864
167
385
335
241
8
101
466
178
430
522
828
420
183
460
169
631
979
827
168
287
595
820
764
709
40
601
139
739
137
510
593
48
334
176
670
435
890
123
116
352
853
795
327
754
106
1
454
714
79
416
624
391
687
233
80
785
622
777
267
619
262
853
250
831
541
550
23
295
332
521
159
130
196
245
837
605
869
867
725
481
327
561
961
59
474
496
187
458
630
109
44
63
224
180
567
568
981
387
5
397
575
828
815
709
519
936
512
244
673
541
280
180
122
417
410
513
992
401
144
601
146
970
294
221
2
593
790
772
451
34
864
616
282
773
137
890
500
766
175
688
41
162
384
339
19
379
545
260
52
430
145
299
960
537
218
152
980
168
70
801
189
256
169
916
816
246
804
716
274
780
803
703
701
841
96
548
208
484
988
265
350
67
48
180
918
264
559
645
527
837
384
703
622
184
998
689
886
446
94
242
59
553
534
550
762
649
160
553
232
495
604
936
885
933
707
635
819
363
591
436
347
915
501
978
332
187
309
533
983
596
847
409
347
144
642
928
11
383
416
704
717
618
166
392
487
201
104
79
605
528
991
393
548
634
343
112
743
156
699
513
146
17
206
914
925
537
16
436
107
565
181
765
573
221
376
13
19
777
417
938
187
452
406
395
602
609
70
761
547
963
378
508
388
996
366
687
628
498
786
519
263
358
897
825
538
784
97
742
526
194
820
460
824
751
707
561
739
49
620
680
950
213
19
895
881
660
75
473
26
403
28
545
920
412
422
889
309
363
50
107
758
876
175
264
212
597
586
696
668
333
40
350
429
430
667
103
331
232
885
22
838
54
273
552
272
916
996
896
701
387
674
614
345
908
409
940
14
811
780
114
582
827
901
840
929
798
586
89
532
566
834
800
933
633
583
827
794
645
241
743
5
490
38
280
456
307
101
581
922
171
612
220
48
66
105
488
329
159
481
206
199
530
782
792
394
646
610
517
527
447
692
333
226
16
767
560
753
770
198
484
994
781
522
65
974
176
543
706
897
317
666
222
768
196
105
7
722
140
870
425
968
902
582
458
873
266
149
454
567
851
767
244
736
533
793
949
530
154
49
31
948
779
726
900
237
550
994
209
186
687
143
561
250
841
903
845
512
440
287
725
763
393
296
746
320
526
599
734
309
925
477
376
865
150
714
167
394
241
935
372
243
598
396
271
767
419
796
354
826
1000
850
690
353
405
759
534
749
939
985
775
493
361
487
403
893
351
584
45
519
679
596
949
16
696
540
795
691
703
74
737
859
940
198
156
815
801
445
928
454
744
282
377
826
665
413
78
957
578
979
550
314
692
394
433
49
190
121
234
823
776
906
459
845
59
92
718
456
584
582
754
39
737
253
45
646
704
985
677
634
281
730
914
174
764
826
525
801
695
373
55
978
434
566
350
752
685
584
179
804
907
495
342
530
243
601
410
336
395
476
165
242
141
85
25
967
576
162
839
692
676
293
37
465
129
988
74
829
735
526
834
854
642
52
290
550
905
932
965
440
954
100
399
447
869
76
433
464
883
758
219
67
328
333
774
246
317
293
802
224
842
264
492
743
304
962
328
325
929
491
939
942
375
860
393
157
121
24
686
373
613
296
373
309
252
209
63
773
935
816
422
461
420
314
620
628
814
544
538
421
945
242
884
638
875
239
587
898
943
173
980
938
906
894
711
495
307
229
947
283
635
700
411
251
499
660
723
836
928
422
481
189
838
115
276
222
173
979
693
788
964
659
779
339
290
688
391
551
289
464
893
127
149
479
391
5
273
575
669
967
841
219
940
302
718
643
75
35
408
798
853
591
868
105
753
451
213
851
429
497
923
532
642
703
151
700
742
857
623
844
316
802
259
409
239
15
142
149
955
140
486
498
343
935
482
224
812
265
252
669
650
54
750
523
81
116
766
950
187
378
3
140
169
66
28
800
60
143
453
564
446
611
938
815
183
867
673
9
934
719
613
712
591
615
9
53
82
859
189
160
906
696
399
651
724
693
694
388
542
465
30
777
771
268
729
249
13
424
24
240
490
469
747
131
4
385
1000
274
481
342
107
207
396
255
794
605
208
434
281
178
320
796
957
445
58
79
647
588
856
310
282
749
741
989
8
920
269
768
89
562
20
839
456
455
706
759
720
851
603
54
336
294
913
366
807
292
433
971
783
416
228
519
362
363
854
645
381
265
505
893
212
948
867
798
380
942
420
998
252
607
182
767
731
567
614
310
793
915
830
984
430
266
510
711
648
169
702
253
979
787
483
291
538
324
92
125
883
941
35
282
578
817
438
663
105
482
841
110
125
598
552
766
264
867
138
521
549
749
132
899
173
871
243
789
740
690
873
54
1000
491
422
544
435
834
285
698
931
879
921
122
53
808
613
377
374
895
712
282
531
378
550
619
583
642
719
731
744
884
984
706
1000
199
693
56
319
75
634
2
537
294
615
934
524
902
879
855
245
524
914
175
719
285
619
657
347
373
288
695
523
954
150
731
818
884
106
926
145
453
351
259
952
997
329
54
468
583
689
671
215
132
278
128
271
499
538
752
693
275
36
182
526
798
448
18
281
897
356
760
473
954
915
130
13
578
736
867
97
890
686
213
76
521
717
883
316
115
300
897
101
189
828
575
938
566
943
876
194
669
172
847
8
549
510
799
860
852
719
31
956
850
415
113
390
83
951
760
991
588
643
293
950
260
526
426
684
549
469
114
724
38
916
458
49
959
211
428
205
940
913
282
907
7
602
349
671
354
681
386
398
927
384
387
941
394
727
405
323
620
749
644
39
872
196
523
704
652
850
852
686
901
966
84
388
722
7
779
846
601
588
572
900
961
760
817
877
238
438
74
156
1
281
337
756
400
961
746
646
620
170
130
650
159
414
249
409
188
621
479
179
428
278
413
582
544
971
184
61
33
630
454
767
410
522
762
193
442
914
340
231
258
357
712
576
198
305
834
764
747
421
370
939
603
710
762
250
991
662
985
584
208
920
191
886
966
102
746
415
959
645
675
457
413
701
582
12
309
466
490
279
792
692
12
310
207
655
621
413
449
12
240
123
304
692
158
909
538
406
609
195
306
928
499
64
925
959
632
19
124
342
419
189
184
129
48
595
823
670
6
458
17
641
196
461
199
113
368
941
41
439
572
887
818
180
487
349
207
651
407
168
926
72
478
159
894
907
191
874
820
663
116
739
180
893
5
562
34
615
459
973
707
353
123
6
100
288
37
477
788
365
857
549
616
544
209
906
550
856
186
151
165
914
798
93
947
727
387
394
641
333
549
703
208
110
458
565
976
453
637
256
535
101
256
292
710
816
310
877
544
586
961
623
544
5
624
512
90
855
747
577
817
922
671
968
600
242
866
121
198
326
7
607
907
696
332
988
402
706
643
109
76
214
19
173
754
175
518
766
286
99
61
100
204
554
568
887
978
973
338
276
349
8
282
76
225
276
917
956
62
517
83
598
246
493
909
835
871
104
163
129
268
269
267
782
940
817
372
950
270
835
409
805
409
855
721
765
945
649
718
528
322
983
266
14
635
984
86
148
798
854
378
782
432
906
484
72
910
406
641
494
934
787
135
175
96
502
136
797
354
5
310
730
972
566
939
933
498
105
999
720
671
676
90
668
902
380
302
805
847
817
103
997
467
870
648
240
87
34
209
267
971
134
488
626
748
734
33
576
300
812
807
838
411
311
129
249
91
84
875
555
944
319
548
434
766
972
277
209
895
633
838
917
22
348
346
849
689
802
819
542
584
546
621
371
391
918
248
274
320
975
24
47
844
943
999
668
684
967
577
545
295
523
624
287
237
524
722
751
304
271
29
972
408
109
286
541
325
136
987
541
891
703
392
437
877
107
167
646
237
116
504
314
81
572
128
402
896
611
532
996
4
585
840
822
634
259
873
593
743
260
708
172
679
514
462
428
779
416
609
366
812
810
243
159
148
435
989
254
752
267
545
548
335
158
374
593
357
26
538
884
475
655
746
82
67
977
327
374
275
350
59
464
395
692
568
325
906
501
519
236
803
160
850
649
942
169
216
947
650
743
176
433
225
202
970
970
980
427
485
735
938
390
374
832
436
502
819
67
298
283
894
604
68
413
748
437
932
816
544
788
480
147
937
246
795
991
757
297
238
803
641
73
344
752
994
805
583
893
380
942
236
873
738
405
159
565
560
379
510
924
346
326
842
856
364
454
720
415
693
845
782
18
799
311
978
1
786
512
763
370
131
531
41
846
822
690
308
251
296
211
152
35
603
390
99
652
33
742
421
408
684
571
836
802
33
665
499
99
842
678
632
387
994
250
694
154
899
499
36
242
575
439
570
164
505
860
43
352
143
301
720
209
484
462
304
955
825
614
603
839
609
581
808
12
503
833
411
666
993
343
702
95
892
848
572
515
25
692
637
908
816
227
590
97
887
712
492
545
357
24
545
227
47
376
433
855
190
164
838
83
253
857
926
622
366
480
989
713
574
828
910
839
950
66
716
6
419
203
799
602
794
584
152
551
170
387
864
634
657
790
352
50
933
955
62
895
803
440
649
424
515
126
843
418
513
749
457
243
298
344
615
586
336
868
201
852
203
13
650
153
994
455
475
990
531
466
706
967
137
506
600
651
912
531
351
360
844
770
633
210
775
44
969
186
88
611
178
605
81
281
503
71
488
784
255
387
395
928
717
991
623
243
755
971
22
76
727
265
667
718
880
673
747
606
637
582
485
592
726
937
408
585
554
481
629
899
28
507
362
221
884
253
440
479
129
328
473
207
967
87
944
11
143
984
60
599
464
678
425
700
429
308
137
130
710
345
278
235
81
523
130
98
117
486
769
384
625
134
331
22
689
185
183
532
582
593
898
890
54
331
473
16
471
682
469
397
542
392
368
836
238
333
366
583
594
688
376
391
407
848
17
410
559
879
288
917
425
220
149
383
152
555
109
973
492
338
582
61
589
994
733
209
444
365
706
905
782
429
245
283
440
793
703
839
672
191
969
373
634
179
386
684
787
473
526
93
251
257
422
277
697
901
585
795
997
694
103
833
525
944
641
391
463
203
720
291
659
33
811
435
265
374
327
216
811
597
77
705
198
232
609
832
496
551
714
712
867
807
363
959
898
390
224
910
435
453
213
926
622
155
394
693
253
331
182
698
220
588
450
929
49
362
257
52
293
310
180
724
682
810
16
912
186
419
464
429
138
151
550
937
729
190
284
200
913
534
467
30
210
443
838
57
620
323
160
358
875
507
410
246
683
468
534
281
740
368
845
57
8
593
193
803
311
841
734
131
347
905
708
546
505
831
692
854
13
667
594
341
957
850
77
130
299
402
639
720
164
674
484
462
27
247
563
502
817
821
541
585
78
482
19
685
687
525
645
648
522
760
778
611
458
293
674
284
924
512
991
59
660
119
714
456
937
222
374
826
898
1
983
290
937
134
293
774
130
305
702
804
633
650
132
499
901
166
454
328
944
833
726
373
795
656
230
629
165
571
313
904
245
850
947
456
612
30
338
124
299
44
500
150
482
691
640
709
281
265
371
343
574
363
129
637
154
742
595
329
636
411
942
724
435
592
70
830
497
872
731
769
368
778
285
871
243
216
79
755
511
811
644
789
640
462
371
531
148
786
387
581
188
649
876
331
277
223
731
821
937
919
641
528
334
216
6
971
441
762
319
520
448
459
187
709
436
247
871
482
366
12
339
714
458
208
557
888
894
479
907
228
310
582
419
436
458
756
473
896
117
909
688
21
358
677
855
59
307
629
724
90
289
799
830
408
376
118
630
682
458
403
84
142
283
214
254
133
663
481
986
614
874
202
940
951
818
794
317
406
185
605
117
120
264
149
663
111
601
411
951
376
436
704
915
43
478
840
459
779
287
127
327
690
300
58
978
760
187
451
716
468
85
906
137
707
831
360
823
654
108
690
567
989
888
580
923
467
323
712
977
103
335
300
145
95
683
585
925
772
951
630
88
80
982
284
658
946
894
810
929
861
879
327
63
981
980
715
576
201
836
404
912
361
982
238
401
701
683
497
602
706
979
471
295
274
586
844
193
563
361
766
724
796
659
847
18
860
534
83
50
803
667
335
154
762
846
471
895
370
709
22
539
924
847
839
103
904
947
555
498
418
124
522
797
74
291
494
847
844
851
434
4
617
527
673
694
241
300
476
811
270
336
452
169
539
29
37
908
970
142
74
381
342
167
380
466
451
510
398
470
81
772
434
564
835
860
498
829
479
853
38
174
982
492
701
861
859
568
31
951
986
649
318
346
999
620
386
230
518
763
493
356
142
540
517
687
970
216
498
427
985
917
315
577
219
933
63
568
965
608
387
243
487
186
505
557
443
680
521
640
851
540
707
556
806
478
588
979
57
194
350
506
88
725
732
92
313
449
633
313
620
4
686
10
29
97
214
694
567
888
79
547
279
199
424
655
683
55
570
363
914
514
776
235
370
775
403
275
248
111
166
591
81
324
326
585
906
184
417
394
863
349
82
828
303
789
326
479
989
398
862
607
201
90
626
559
891
57
137
222
698
896
979
491
767
631
516
325
231
208
982
60
825
666
892
708
458
779
951
205
504
564
743
760
280
198
558
163
662
691
753
867
877
480
651
438
857
134
894
476
785
790
119
320
480
219
205
471
857
169
949
257
405
734
838
863
175
418
692
103
476
612
127
292
576
253
41
211
497
572
60
460
110
416
914
685
600
501
78
712
962
331
88
32
78
807
853
221
332
941
949
928
992
602
713
415
450
760
546
453
171
749
437
217
263
732
657
391
422
758
873
549
675
130
823
858
231
613
23
867
862
743
53
445
65
287
679
582
988
810
857
696
815
678
122
937
225
589
533
658
634
740
722
194
772
144
254
668
261
260
358
705
649
72
144
567
575
887
173
110
978
893
396
336
225
238
475
456
25
160
410
64
530
26
525
958
310
414
424
329
631
540
467
719
990
933
410
89
798
953
358
750
691
977
602
32
955
892
538
79
647
430
442
562
648
34
663
762
158
424
565
737
360
145
789
578
881
269
609
896
345
700
183
642
648
200
595
495
130
739
87
316
243
215
28
339
278
674
623
608
759
478
827
166
529
550
875
50
70
7
286
978
293
366
865
973
735
547
764
946
809
585
839
232
205
230
640
341
806
510
478
567
83
416
490
617
131
155
240
6
578
532
154
929
695
387
361
718
604
660
454
670
226
497
812
47
117
230
546
353
158
344
916
95
756
429
167
774
4
247
598
205
294
577
910
213
276
372
154
912
841
875
660
734
728
16
430
533
468
485
976
262
527
44
679
213
368
660
725
353
904
254
497
750
50
785
502
794
55
793
110
439
524
831
966
812
565
728
567
678
74
597
439
112
17
56
501
305
495
580
286
976
496
831
920
878
472
716
814
645
571
897
710
722
433
696
942
281
596
735
17
989
835
837
931
898
251
432
230
410
519
802
279
858
329
1000
323
628
692
870
598
211
658
703
931
168
918
268
205
62
266
587
753
672
803
836
670
201
756
485
603
899
446
791
558
589
94
649
661
123
718
478
936
211
426
595
189
838
111
866
604
523
488
897
114
751
489
799
46
252
36
795
87
553
528
699
28
683
364
473
423
549
703
176
996
58
383
781
59
896
205
458
378
189
287
623
445
220
977
314
102
4
513
114
674
603
568
104
471
565
107
880
838
177
41
680
325
80
62
659
337
611
994
172
108
314
716
724
519
474
534
567
7
779
169
213
852
51
237
518
767
368
818
363
584
27
20
817
333
170
711
702
354
982
432
462
330
49
413
941
267
61
225
277
590
993
7
931
87
850
991
425
433
850
85
820
242
669
234
955
449
791
372
388
363
908
480
745
126
69
742
365
588
49
695
629
542
631
62
61
197
674
361
599
837
240
908
958
12
146
116
286
682
973
963
959
363
948
563
82
942
899
7
49
560
175
124
403
618
428
970
678
403
820
375
299
730
167
532
713
806
333
11
140
162
939
90
707
288
352
369
954
162
931
594
505
748
132
59
906
462
628
75
864
627
157
492
748
754
630
593
405
808
868
796
548
586
332
213
440
247
639
814
929
964
722
160
968
571
880
37
172
901
970
297
207
957
45
516
648
107
467
465
652
983
354
211
929
154
740
992
799
235
670
910
812
670
168
627
563
343
9
96
321
938
448
324
638
29
646
100
229
325
494
80
237
512
256
855
737
617
119
159
213
654
700
447
617
200
674
518
575
22
133
190
398
935
384
858
318
239
263
556
785
15
730
430
801
560
734
528
6
759
788
90
55
384
712
471
420
312
879
73
126
525
976
295
560
244
131
605
664
71
814
525
465
884
94
838
920
595
753
335
603
622
192
876
13
145
124
554
468
246
92
571
95
578
439
418
107
317
340
519
48
328
679
138
496
128
564
391
511
199
580
685
257
930
772
167
912
612
462
769
407
123
957
408
532
502
106
757
207
272
745
161
659
265
473
890
981
252
39
487
234
232
85
544
209
755
199
209
263
174
473
315
705
147
386
784
101
442
727
6
43
608
928
712
110
672
571
523
907
169
983
851
427
713
522
988
111
837
543
391
957
289
877
489
424
860
851
934
281
870
163
954
819
619
28
683
44
949
193
763
28
718
675
464
278
840
403
500
547
630
938
445
94
922
470
215
170
825
710
251
455
785
337
776
478
504
143
766
860
77
540
291
727
731
227
752
572
911
499
208
271
685
755
623
837
25
101
466
357
195
21
982
966
167
528
444
522
477
244
719
250
340
95
975
986
233
269
280
164
977
578
447
995
420
593
462
616
31
838
210
898
231
29
299
345
742
764
986
19
225
634
233
958
54
844
713
702
249
195
448
235
889
27
204
517
831
898
979
864
484
18
238
706
883
303
840
107
609
816
682
518
454
667
845
269
886
276
777
48
889
288
888
306
455
853
557
149
835
639
6
454
160
757
604
541
782
736
535
389
846
664
957
47
382
167
959
886
303
951
928
58
786
303
61
751
104
197
664
735
206
78
962
60
273
109
35
182
427
970
30
701
910
901
194
769
125
448
86
542
709
798
62
735
594
180
724
378
964
64
896
867
211
900
466
625
78
845
904
671
56
688
716
42
619
952
995
369
207
263
310
107
729
728
805
716
109
861
437
7
5
460
703
315
81
818
931
816
883
787
221
628
960
123
949
393
619
573
683
792
323
664
820
64
727
638
569
746
473
893
732
98
760
527
486
882
183
629
464
452
829
167
556
306
590
9
113
268
801
221
645
479
461
357
82
917
690
512
427
62
364
385
125
329
81
801
948
70
182
55
656
741
786
673
74
36
662
101
323
282
987
133
218
790
938
68
716
824
908
568
674
945
504
18
767
274
478
87
55
625
630
536
213
44
217
269
588
720
971
665
720
112
381
133
802
243
68
238
774
995
762
233
869
571
485
287
145
264
446
74
570
502
79
581
982
186
159
972
165
795
241
124
153
902
506
20
459
183
890
939
382
948
459
256
201
227
452
127
563
547
256
474
374
288
969
716
878
313
350
441
683
161
44
101
363
605
374
608
92
943
701
822
368
524
690
907
411
438
360
115
924
916
316
219
529
447
423
416
511
447
303
48
587
31
929
304
391
108
885
861
616
1
386
802
407
718
223
106
69
429
647
520
525
410
388
921
241
197
585
121
723
81
931
827
281
736
833
444
547
506
2
434
771
338
48
351
297
809
851
838
827
862
54
190
422
82
635
321
909
142
453
303
587
238
959
719
174
474
147
545
866
651
460
835
342
551
266
558
532
733
601
209
155
243
529
601
767
101
529
761
423
723
494
853
75
484
363
491
556
303
125
841
357
735
814
541
952
40
643
645
663
660
935
383
939
69
273
341
96
4
924
388
847
537
718
262
804
47
891
666
178
283
893
640
591
943
249
188
908
423
805
731
20
821
947
143
969
868
570
850
745
884
395
21
890
471
672
959
568
277
536
643
858
562
430
254
495
720
156
270
183
173
420
279
355
938
130
932
719
692
749
438
453
404
936
754
248
737
434
797
16
428
22
314
887
530
831
53
681
620
149
231
823
827
640
594
463
629
156
725
482
536
838
194
458
598
149
781
101
33
741
125
323
91
27
792
596
36
554
720
414
544
480
922
244
907
766
440
597
323
705
912
538
297
311
385
591
730
427
238
133
294
830
177
856
829
592
751
695
626
989
614
623
962
198
218
407
235
211
33
198
3
942
710
664
489
997
145
566
330
651
772
877
102
666
829
280
302
884
185
929
669
136
265
708
917
476
139
46
568
32
533
562
390
536
65
784
21
320
90
989
479
995
690
375
127
775
676
449
167
369
989
788
719
388
91
340
309
58
752
93
637
692
879
475
737
520
111
723
930
61
711
82
349
542
988
474
268
354
524
571
900
305
56
37
324
354
614
148
812
874
520
651
185
279
271
337
241
37
506
670
906
505
917
915
80
890
213
882
643
132
69
743
829
492
477
230
889
218
988
63
846
16
807
927
867
804
254
742
62
769
533
545
890
200
609
873
103
719
979
361
352
285
473
300
53
458
406
517
604
227
205
295
612
536
932
653
854
738
895
491
846
432
55
554
853
925
870
432
827
471
379
332
452
162
467
257
430
882
68
9
40
254
979
4
217
350
765
830
214
970
580
785
794
235
988
128
798
859
675
908
227
68
355
635
282
365
121
751
36
226
336
404
187
406
982
480
707
276
301
45
824
489
201
151
879
557
602
997
617
429
174
357
490
630
176
164
240
828
495
453
440
7
802
542
475
165
750
436
859
757
450
43
31
255
585
805
201
878
896
904
623
703
521
659
565
819
172
444
794
815
423
920
532
734
109
175
335
839
164
961
59
287
426
527
487
169
376
344
997
495
31
526
515
696
242
765
118
897
878
799
606
912
399
349
622
495
477
259
977
12
904
926
323
630
879
132
794
475
677
50
638
824
525
70
182
415
408
316
60
100
752
783
61
7
182
346
45
254
6
269
87
681
602
824
316
317
469
709
675
268
440
212
722
360
495
888
556
179
971
800
261
10
309
745
474
174
896
192
980
689
424
260
456
850
303
865
712
25
162
809
543
693
224
79
314
459
329
682
82
520
961
972
167
926
203
734
888
461
143
714
323
363
503
787
424
188
695
789
76
217
130
742
786
322
576
886
477
732
896
303
752
737
216
55
249
334
782
719
219
287
150
14
797
851
894
337
619
990
648
72
67
801
936
514
912
452
670
39
24
636
828
615
567
266
84
18
653
402
579
774
915
889
459
705
787
846
77
865
913
727
14
538
173
347
294
17
134
423
127
538
478
858
779
173
108
898
292
77
658
5
93
201
439
140
190
782
955
643
146
69
13
741
62
670
98
189
37
111
737
130
10
349
788
772
365
872
266
7
440
709
463
831
684
443
385
958
470
790
971
144
126
415
840
77
231
821
154
362
928
653
841
197
738
415
546
284
371
182
173
631
292
697
971
870
109
72
60
898
687
403
511
463
657
207
913
209
565
940
399
78
658
322
564
248
895
791
953
47
300
683
689
95
545
601
133
809
942
29
6
418
607
167
390
993
804
642
52
128
222
576
945
601
216
927
45
761
868
282
668
482
549
192
905
250
264
715
4
895
384
385
140
184
919
864
925
648
975
788
249
197
705
973
653
323
411
319
975
543
479
902
735
689
877
119
598
419
920
880
383
283
907
446
238
935
74
241
667
894
293
717
212
75
187
839
943
167
55
514
177
507
835
886
315
417
292
907
161
607
304
132
774
587
222
61
992
19
3
633
677
513
403
485
971
477
911
262
755
336
375
656
663
618
995
952
479
517
501
537
267
746
309
402
353
255
947
640
216
740
188
769
153
347
620
48
886
641
996
390
218
857
266
918
630
963
836
174
820
522
325
228
50
401
284
595
841
110
71
16
357
373
147
155
469
854
630
894
981
889
624
656
825
835
844
272
143
69
259
476
347
763
645
459
239
632
459
258
956
589
147
563
249
907
801
734
90
978
172
602
55
796
582
268
664
938
801
665
683
239
950
534
783
491
613
803
283
674
134
634
999
628
563
971
671
887
949
130
591
969
917
632
913
856
69
478
987
680
711
616
873
107
183
459
899
866
369
895
30
715
963
212
252
448
917
84
668
711
3
754
340
288
784
102
710
65
800
129
646
515
585
932
380
392
848
211
593
394
850
812
397
74
249
925
795
818
698
438
15
684
871
916
250
159
740
311
400
594
686
455
126
227
933
135
198
423
822
283
906
721
352
556
103
882
871
972
607
359
187
455
910
845
43
214
290
934
727
89
33
681
524
705
254
542
493
208
285
370
31
89
223
317
952
247
68
585
731
265
838
901
379
845
493
442
832
622
219
523
186
271
899
507
571
417
346
234
596
271
497
238
343
566
411
34
322
709
347
674
306
605
753
188
693
436
354
597
653
230
221
686
226
502
918
580
10
810
512
469
385
770
292
635
395
579
773
910
207
782
569
277
101
103
38
925
185
745
553
638
754
492
186
629
250
794
750
599
997
934
167
38
112
41
447
786
535
248
223
701
840
748
582
829
940
596
447
832
188
793
859
108
50
97
184
172
528
235
865
465
526
587
626
130
719
667
525
390
4
167
372
368
87
637
194
930
423
635
709
12
931
347
12
405
60
543
708
633
608
812
225
406
708
580
181
516
488
128
303
295
660
689
138
969
3
783
946
791
387
138
320
148
704
316
687
575
50
240
304
629
517
464
486
912
901
427
694
59
42
758
5
684
395
261
242
281
237
235
865
431
489
679
476
488
957
805
591
116
460
395
564
511
426
493
749
820
514
543
337
794
613
523
207
611
510
16
970
854
596
399
456
669
170
19
371
719
140
592
979
410
631
238
348
378
510
609
205
521
346
363
517
953
810
150
817
285
450
542
714
678
183
584
641
111
944
158
369
661
82
914
2
949
401
287
826
123
56
723
363
940
975
374
388
578
237
494
457
225
947
940
405
475
263
481
365
200
918
593
951
1
704
779
348
385
111
381
90
145
639
965
943
186
188
5
341
544
481
355
855
402
669
275
786
51
817
345
999
949
440
320
157
542
959
532
669
350
371
178
691
187
132
745
341
57
250
3
972
406
583
944
281
179
292
23
752
35
661
582
420
337
770
29
909
661
546
497
499
840
190
199
887
871
531
561
984
463
80
474
417
62
975
660
587
152
665
521
95
189
928
851
695
764
73
300
518
708
630
401
412
968
699
284
268
486
193
275
372
767
767
764
993
345
82
196
312
923
16
653
401
569
308
923
774
619
458
733
262
670
844
53
568
973
506
418
43
32
963
68
447
878
595
752
979
393
838
71
471
118
856
273
452
26
884
733
654
633
847
154
263
131
596
923
596
213
333
507
107
36
313
190
933
371
894
928
487
504
239
7
414
701
745
408
861
189
199
135
721
674
10
782
671
833
464
597
110
453
938
753
829
524
246
192
737
872
864
305
505
166
608
695
238
486
782
924
988
315
634
823
659
412
79
652
593
762
87
469
547
500
93
715
11
822
928
437
287
38
913
740
651
134
556
429
221
211
832
701
354
759
302
677
358
516
877
244
484
526
307
88
135
808
965
469
773
213
398
452
767
251
345
225
437
291
78
641
734
216
57
764
635
881
136
367
192
924
301
940
155
381
837
382
606
43
224
836
340
937
883
261
867
759
649
65
309
444
689
383
437
901
823
681
436
293
656
987
367
95
444
693
63
336
487
51
136
203
947
662
998
696
937
488
547
743
644
88
953
917
737
707
192
950
94
501
891
131
911
302
867
280
878
51
141
102
72
688
159
859
499
138
879
625
750
950
743
696
82
297
924
851
528
338
626
733
285
933
548
215
368
418
928
48
301
221
486
238
980
811
786
16
336
586
471
136
124
285
559
497
522
29
761
306
913
95
440
494
237
127
391
880
877
496
332
149
349
721
391
584
667
471
313
724
139
222
33
796
241
400
663
380
472
438
577
196
1000
497
321
710
828
878
901
14
972
478
598
448
112
610
117
739
99
40
197
974
276
778
789
696
366
977
479
588
171
408
611
689
647
757
945
976
638
952
210
802
168
865
685
294
540
434
135
305
446
826
978
754
927
836
658
698
286
180
460
63
953
923
786
859
819
638
547
710
913
184
59
120
40
420
958
861
218
967
803
801
213
236
416
606
379
867
132
714
516
753
355
841
473
409
460
567
333
18
100
61
568
106
317
497
647
302
52
261
20
638
517
970
308
425
8
117
974
107
839
958
423
764
541
812
459
211
893
102
249
40
255
103
993
693
132
616
403
186
966
15
780
155
261
756
823
969
969
507
475
669
746
729
519
205
847
702
145
826
869
142
327
281
705
572
197
257
61
353
182
418
654
624
442
175
101
850
647
301
797
974
557
414
76
132
985
326
726
926
584
679
501
273
121
594
818
296
690
202
700
62
4
975
621
578
214
343
453
800
963
171
460
72
245
480
2
78
79
845
255
241
154
88
339
774
337
431
332
583
165
490
431
118
105
975
521
898
42
98
696
848
268
979
853
990
618
259
756
143
587
758
507
151
53
327
714
762
722
415
172
352
167
323
176
587
421
991
315
527
538
108
207
578
453
832
505
157
408
275
121
5
899
127
35
740
506
570
78
97
710
826
501
59
193
263
656
187
642
752
478
225
681
948
551
718
335
987
582
874
949
361
438
151
162
915
238
736
59
629
610
891
130
260
115
969
672
366
8
793
123
675
748
726
949
563
306
983
812
117
123
90
804
122
853
927
979
868
335
552
760
414
92
353
510
175
28
616
886
769
121
802
774
926
335
942
170
365
426
429
315
863
557
705
613
419
808
852
646
196
823
567
775
536
632
585
290
148
927
581
669
232
446
137
974
504
675
734
145
560
959
668
406
917
588
782
502
381
707
103
462
66
718
399
868
802
936
657
183
476
637
734
405
74
616
523
502
209
729
427
657
322
114
513
244
458
761
531
285
177
213
466
499
469
632
842
36
118
432
687
298
282
574
520
899
331
725
304
961
248
791
736
147
998
923
380
944
469
996
154
824
330
682
660
263
146
263
337
541
388
569
997
818
766
851
416
452
682
425
504
586
704
754
172
182
348
282
13
706
861
517
466
122
162
920
251
427
568
721
307
148
987
166
858
655
134
328
204
90
233
91
752
683
96
29
823
254
141
18
778
723
548
740
12
522
922
409
762
472
402
718
622
964
890
794
812
818
582
188
6
838
870
133
212
409
270
858
16
434
984
918
788
366
933
834
982
590
555
739
594
943
374
700
977
527
402
806
575
756
228
264
234
174
823
62
485
140
759
448
80
49
946
521
821
918
306
373
525
28
588
869
531
349
320
311
507
164
962
91
528
662
954
990
245
600
651
906
230
745
906
267
471
937
267
172
7
204
39
63
139
705
867
339
47
395
681
841
702
537
652
412
614
462
285
522
953
305
969
279
872
595
62
885
158
118
948
131
517
90
365
180
765
662
105
448
782
39
879
742
881
934
93
19
644
119
15
368
799
913
975
488
262
837
137
813
689
960
330
314
734
466
904
792
702
495
24
544
302
979
435
96
956
933
201
89
552
778
932
774
36
920
719
721
454
774
685
185
374
189
289
619
558
530
505
164
618
921
332
492
460
716
656
281
15
650
450
87
880
922
199
121
580
735
454
361
966
146
419
107
189
365
607
411
193
955
605
277
760
265
781
43
24
834
201
762
162
978
88
500
868
61
120
155
460
142
368
59
304
497
32
500
96
617
453
503
486
701
164
741
997
64
824
574
507
986
770
113
918
160
902
893
935
503
473
673
347
717
107
578
701
542
793
307
770
426
829
787
713
35
684
28
1000
369
818
627
826
828
437
366
637
193
970
547
245
809
727
944
818
942
680
656
129
453
301
857
471
990
397
245
52
385
814
769
67
447
358
892
925
510
803
501
923
838
855
854
175
500
339
648
867
647
761
854
772
941
283
680
285
857
714
356
975
838
934
756
973
667
954
629
185
735
910
916
386
229
298
326
290
947
141
658
425
655
748
454
658
846
250
771
224
398
226
381
331
175
898
858
88
439
597
241
768
461
875
714
193
94
983
102
876
191
332
459
688
461
403
579
505
431
42
36
985
584
796
855
645
33
758
794
775
239
401
8
196
377
67
681
180
728
649
482
603
486
76
691
945
853
117
908
762
153
974
345
60
29
331
758
526
623
318
212
918
161
472
179
490
721
903
580
609
949
1
327
73
415
67
606
506
231
607
330
263
282
523
733
80
246
279
369
86
900
474
36
757
601
672
626
205
587
801
490
445
844
901
732
258
580
964
388
802
19
967
508
257
203
642
139
230
651
409
521
832
325
955
968
196
178
354
542
910
651
444
875
758
246
555
65
413
542
28
755
270
829
206
286
159
652
664
898
868
688
153
493
118
878
607
580
620
342
368
429
576
866
493
860
722
42
4
372
88
132
908
274
872
407
986
418
818
133
418
512
104
428
977
809
540
287
662
857
968
987
167
391
196
457
685
299
152
826
101
660
447
598
759
763
770
19
402
379
816
749
909
519
152
127
525
707
860
824
810
449
984
805
444
642
379
674
536
286
472
767
194
505
471
53
341
944
242
717
340
59
789
733
809
776
404
192
236
32
694
442
209
727
205
216
53
36
872
374
557
625
691
461
430
471
726
838
12
235
675
800
718
800
187
265
317
625
415
423
730
476
651
460
711
249
166
938
505
128
896
775
340
850
860
327
581
739
808
189
434
115
35
794
706
74
166
637
52
754
968
762
31
645
2
379
641
674
344
116
521
718
470
705
27
419
998
116
566
413
339
842
725
846
59
685
768
377
449
611
970
834
611
536
688
482
747
370
561
860
892
146
287
136
965
3
442
989
690
811
995
545
622
768
557
834
797
22
274
815
871
121
759
61
871
542
80
91
930
477
569
573
253
934
758
870
79
250
722
614
685
29
600
664
711
122
390
8
33
685
227
920
255
327
159
190
946
194
137
505
992
643
162
764
355
406
11
883
144
818
683
851
703
6
924
195
848
614
729
637
54
353
24
387
424
224
467
896
671
861
350
413
935
732
965
261
13
677
627
357
184
169
911
591
112
287
778
249
664
640
887
837
981
37
327
132
117
422
650
920
17
94
130
820
378
381
479
61
331
484
398
123
154
481
27
573
236
642
241
870
577
324
19
884
230
427
988
273
52
553
112
619
112
557
328
842
112
688
278
834
746
332
107
566
679
920
543
862
544
272
715
890
406
311
261
89
302
235
691
439
248
219
95
627
442
821
626
541
959
264
424
751
658
277
18
138
750
132
246
772
178
457
156
221
876
160
806
491
191
500
818
656
465
432
50
70
103
26
360
911
961
280
411
138
777
26
37
911
155
610
619
934
898
183
951
284
347
299
611
584
201
426
762
609
758
333
908
336
414
640
964
229
350
935
800
835
416
79
472
869
330
200
126
645
186
634
502
344
593
922
878
317
482
493
401
537
354
853
627
442
932
705
839
603
352
454
507
601
208
558
42
374
257
892
625
765
761
554
385
931
763
540
583
272
718
688
727
352
319
32
344
670
195
504
671
288
358
663
329
416
520
72
178
134
252
11
622
1000
701
177
864
613
84
174
74
164
984
969
229
264
237
832
86
895
602
952
203
382
256
794
937
237
582
904
890
47
680
689
940
600
224
445
487
728
58
38
564
466
419
401
216
53
144
324
966
145
453
119
727
331
538
833
535
1000
410
219
7
547
238
680
930
28
957
509
415
862
441
62
86
979
618
236
755
522
141
14
539
409
12
891
448
656
915
5
534
746
324
90
650
729
989
431
813
810
605
378
537
189
806
246
390
243
767
855
159
907
166
523
273
236
690
247
873
89
999
990
493
273
929
953
466
846
177
223
149
602
510
614
687
757
601
967
198
500
424
119
816
145
842
97
376
266
848
740
561
402
699
37
99
583
992
926
775
526
110
686
978
462
137
318
155
697
969
826
102
499
743
931
260
114
706
656
516
145
1
866
313
945
658
691
962
29
459
859
685
325
910
876
28
203
753
429
701
830
241
28
268
282
616
851
102
266
564
378
419
528
575
159
654
404
373
548
192
352
593
329
113
441
885
53
318
133
744
916
956
695
214
968
746
71
540
913
349
34
387
979
441
607
520
931
543
820
71
70
64
116
792
341
812
135
820
682
422
342
836
627
664
448
11
680
800
166
1000
922
805
790
192
610
386
86
295
586
997
796
194
1000
817
621
244
410
904
348
863
923
382
316
845
600
789
581
904
365
781
990
939
247
760
634
649
530
140
209
649
443
145
89
698
552
692
634
679
156
818
868
395
730
176
934
585
987
207
180
783
927
285
267
954
901
163
351
639
869
229
404
390
871
533
103
286
983
569
684
881
848
333
347
506
550
55
890
939
217
813
723
582
295
720
38
703
595
556
66
441
779
461
856
800
280
964
252
927
143
166
144
634
305
670
77
926
863
777
826
54
281
186
799
743
53
629
455
1
406
852
469
287
23
265
848
448
775
491
708
446
284
700
643
465
558
245
392
637
751
780
368
182
551
97
172
27
242
522
599
407
506
931
242
680
102
102
51
924
592
65
762
732
531
616
255
351
628
352
292
108
116
387
461
768
805
923
588
986
846
34
268
986
186
811
819
651
3
434
296
52
906
892
681
403
612
674
803
404
968
475
474
213
800
770
330
103
969
46
819
287
659
59
893
765
73
762
857
744
173
648
496
426
386
824
399
190
266
321
408
9
789
385
289
574
884
676
484
231
269
33
3
815
112
278
345
498
985
449
576
333
511
712
72
589
599
330
618
56
832
590
168
306
130
99
944
6
422
567
117
333
471
366
311
892
127
933
731
516
7
396
188
568
916
901
219
340
460
890
209
758
553
824
314
531
330
279
873
361
748
364
54
910
950
202
843
306
76
121
256
187
952
901
218
503
409
5
197
150
460
490
528
486
845
938
926
303
727
307
621
74
9
570
2
778
272
790
44
220
978
96
21
569
260
699
141
342
864
506
587
546
153
553
572
880
888
673
802
2
867
341
613
348
293
969
322
715
458
637
778
310
743
934
548
314
123
531
878
505
622
601
6
827
571
713
602
210
405
557
392
17
755
691
883
723
52
890
973
115
18
837
987
485
21
472
838
146
629
410
922
492
460
163
330
108
26
398
628
855
534
366
44
90
161
602
114
290
635
460
85
743
427
677
226
23
472
861
975
984
194
417
735
239
968
565
980
742
958
408
296
652
551
838
349
476
165
65
288
373
194
467
178
851
146
91
539
807
968
890
190
796
738
309
126
263
982
613
841
402
770
92
643
592
125
45
555
691
468
184
153
751
734
760
997
907
794
570
583
730
394
320
15
987
685
863
200
20
61
764
86
452
8
508
626
615
131
362
513
599
730
124
162
673
850
183
244
343
58
267
408
215
909
702
233
45
183
429
626
929
735
754
441
635
254
590
480
272
547
156
358
951
490
191
194
876
124
368
549
239
975
598
394
45
256
968
750
336
406
205
853
888
849
579
401
305
836
894
986
939
298
739
704
435
99
40
658
910
704
460
957
289
688
85
298
163
313
339
90
501
478
499
434
949
54
842
836
358
689
801
686
178
275
479
753
768
198
673
949
231
523
295
681
168
749
539
996
144
467
523
104
91
501
266
114
335
853
791
86
333
507
64
618
525
665
474
166
74
862
233
730
954
204
327
843
125
636
108
818
259
382
406
701
567
340
657
557
531
634
842
578
808
497
808
362
397
535
603
782
392
875
853
813
217
186
366
950
390
441
799
774
515
768
404
720
678
420
470
409
981
181
1
63
963
670
730
10
399
83
887
880
411
279
820
446
408
790
598
758
763
328
692
259
230
939
913
789
229
748
729
914
784
616
469
951
73
320
902
727
853
919
157
425
991
638
774
831
793
717
923
214
569
804
449
738
586
976
107
665
63
175
123
958
900
852
628
416
755
764
913
980
114
200
72
572
795
402
111
887
672
710
681
319
219
150
565
172
405
357
386
176
250
115
951
883
62
828
755
5
970
875
193
567
23
204
907
315
445
973
199
474
685
477
459
737
382
515
661
980
663
792
141
849
881
80
740
216
616
389
269
59
531
567
468
266
639
2
867
740
284
751
274
65
762
946
849
15
200
520
686
502
723
653
126
941
225
872
341
719
135
608
739
415
450
237
536
972
975
664
916
691
594
381
464
24
224
550
426
602
520
635
310
754
999
674
622
625
919
126
674
454
684
751
750
528
940
771
373
23
111
512
898
127
831
257
488
210
590
57
699
357
805
550
539
417
669
702
655
532
597
879
482
978
392
157
264
124
964
502
774
870
634
348
790
449
538
304
448
770
685
309
835
837
380
87
429
159
976
637
843
796
709
721
98
779
486
120
637
938
195
668
949
484
284
631
824
663
976
469
324
454
782
465
212
836
145
486
320
330
441
660
781
852
714
936
131
128
20
470
46
770
650
222
492
789
37
226
597
55
612
810
641
19
635
385
233
403
260
550
577
305
104
840
18
577
122
806
658
300
250
985
222
875
277
844
149
817
544
412
144
807
416
769
121
503
3
918
390
818
711
239
453
948
276
448
346
80
218
850
756
930
21
10
235
794
414
259
793
801
532
252
382
543
102
701
127
431
902
549
165
542
293
403
834
596
576
868
860
755
457
636
57
341
530
253
65
542
166
308
479
238
803
682
223
412
271
758
297
834
531
25
280
861
148
620
539
414
99
259
707
219
924
746
56
817
198
551
654
90
609
692
64
574
661
878
841
632
332
301
18
293
501
372
424
136
837
171
758
557
670
845
838
378
831
629
792
12
785
718
882
630
30
86
374
663
599
568
718
180
810
724
409
121
666
504
803
517
81
57
642
382
563
2
121
792
232
211
900
513
948
908
792
95
355
522
996
696
696
962
496
707
981
345
828
489
597
250
708
969
443
605
96
695
157
727
474
803
265
500
517
537
851
796
183
485
42
171
336
134
766
383
894
131
389
20
111
194
956
349
666
985
199
193
906
262
273
799
996
192
373
61
922
65
857
627
223
204
283
927
433
947
207
506
911
445
973
672
343
145
756
609
213
694
793
741
882
286
82
268
351
601
617
790
529
664
671
457
884
719
228
259
144
520
93
472
652
42
806
185
286
318
498
612
769
453
330
755
300
828
788
887
458
673
536
588
286
615
186
593
460
250
780
241
24
627
82
423
912
492
887
723
679
691
614
10
814
377
727
844
691
985
865
224
801
732
518
926
666
75
946
308
43
955
133
721
198
15
869
508
954
361
679
300
971
844
422
869
562
903
256
999
580
406
801
416
922
567
432
624
61
661
837
483
884
851
564
922
225
550
269
659
436
127
809
848
379
777
834
215
409
875
117
427
828
304
724
374
476
72
509
160
540
39
419
73
999
171
821
52
977
705
250
495
473
148
136
729
202
632
620
49
788
406
637
73
813
497
911
657
187
489
367
899
713
513
209
719
282
461
550
343
237
186
266
681
260
885
572
654
520
515
930
730
172
326
118
735
792
870
632
836
262
733
388
438
9
373
581
327
461
20
552
469
668
944
552
115
152
328
333
833
551
947
782
1000
966
555
563
28
801
47
864
38
792
243
23
25
877
661
955
966
457
811
544
655
365
213
949
841
866
241
852
164
168
980
731
219
553
47
531
656
431
116
157
30
991
665
417
338
84
179
790
975
857
468
112
74
396
85
531
350
902
516
596
10
117
97
907
649
46
772
630
890
415
62
506
400
591
801
343
597
481
348
287
220
114
790
946
33
650
695
811
364
358
503
351
866
132
213
49
616
689
875
870
259
811
134
246
101
694
139
300
744
335
491
93
485
8
23
558
868
728
297
372
304
426
78
608
713
997
66
536
747
996
568
7
565
978
680
914
914
177
149
568
836
777
416
383
135
986
848
768
787
952
114
914
455
702
814
285
508
993
285
611
349
128
635
835
918
651
744
362
108
683
726
753
85
476
903
98
723
196
581
944
505
834
154
797
868
16
173
967
767
51
461
370
983
902
841
976
500
943
799
233
856
56
627
650
804
92
603
603
764
781
192
448
6
453
464
595
675
298
402
255
75
436
682
804
863
590
236
838
658
438
798
809
103
396
786
908
995
671
176
780
541
21
4
212
30
160
606
596
964
659
868
225
480
779
514
938
280
154
432
248
297
390
674
405
464
947
588
362
726
589
294
201
588
142
798
417
954
971
510
194
655
221
312
845
409
852
209
730
267
26
700
972
709
852
196
154
404
986
680
366
836
729
339
161
775
789
784
527
771
348
581
466
661
180
650
758
948
124
563
828
542
125
755
366
791
768
173
235
182
836
366
327
679
331
752
583
483
891
231
377
995
897
287
846
9
963
461
693
686
791
472
870
778
113
453
405
446
153
818
980
837
574
221
821
405
432
820
174
367
60
222
622
301
526
828
533
323
699
674
713
796
858
883
497
94
964
201
838
24
807
724
675
361
915
782
513
713
577
367
467
391
98
646
91
440
889
14
127
275
52
768
1
966
992
409
705
836
857
59
870
404
235
829
651
749
993
540
716
39
523
554
152
359
766
761
269
73
512
494
564
511
735
884
906
998
713
256
359
380
617
420
328
572
423
353
942
974
863
739
940
308
67
713
365
498
196
29
384
15
354
567
502
395
828
289
227
983
185
424
760
430
21
374
527
910
689
58
621
823
247
280
661
932
678
940
57
192
905
157
619
391
67
679
676
149
143
396
766
394
199
399
461
802
478
418
867
631
613
316
135
462
801
934
442
989
840
409
637
761
909
313
953
548
180
67
567
683
847
711
912
454
266
121
127
130
90
733
126
791
265
150
154
750
563
148
605
23
168
145
950
907
145
787
638
667
392
380
841
548
563
712
816
492
956
401
371
674
519
273
57
680
274
17
628
349
189
747
55
580
490
719
747
786
696
851
706
671
495
965
409
238
621
413
519
125
847
204
38
857
386
679
236
886
840
941
654
157
189
483
709
510
788
699
317
627
113
559
704
454
358
20
272
975
864
878
424
450
65
133
432
871
184
589
405
151
529
544
150
232
453
972
549
878
201
44
416
405
233
114
268
885
513
270
652
355
264
656
702
301
911
512
152
5
266
219
659
208
551
965
853
324
497
68
497
46
705
257
34
864
424
662
376
250
884
982
920
119
871
145
313
220
511
386
177
924
912
752
464
201
34
962
414
252
278
826
835
713
75
694
493
663
663
273
264
214
739
150
952
198
502
871
41
618
944
902
684
720
733
214
754
772
546
787
989
332
857
845
606
486
377
493
104
383
242
552
834
638
249
979
937
47
531
815
111
942
789
311
294
922
476
116
109
936
801
467
805
372
330
997
410
210
766
315
774
103
831
612
703
704
874
732
546
962
289
773
21
971
171
85
671
644
644
369
766
592
807
905
715
939
757
860
732
297
542
953
636
769
797
929
809
836
656
929
188
521
382
547
31
480
43
925
427
178
852
890
808
964
331
66
920
931
470
229
109
71
935
29
311
24
415
279
87
130
431
659
732
231
210
325
276
988
844
765
185
498
465
190
75
747
46
416
625
811
870
820
314
463
600
180
660
195
743
800
114
651
231
130
117
575
702
342
492
856
348
142
347
304
372
234
240
34
152
753
258
507
247
22
162
154
939
324
410
655
647
4
188
543
477
789
119
246
805
999
282
387
251
865
279
643
837
679
561
145
908
810
985
643
340
278
744
530
15
125
846
912
471
415
569
198
368
814
752
859
219
892
447
557
958
147
167
928
262
541
258
779
604
949
213
329
176
812
296
617
912
808
324
438
315
680
992
592
979
536
588
724
52
593
191
241
269
543
71
867
271
474
461
964
804
541
589
510
195
760
241
984
117
609
159
682
376
588
404
776
697
895
838
859
457
388
960
500
735
971
519
208
593
8
205
822
715
283
362
549
59
357
366
173
618
566
534
790
722
976
742
312
808
179
915
636
486
703
585
731
960
715
949
49
533
951
792
871
35
633
145
112
334
179
218
156
20
467
316
891
203
352
271
412
916
815
91
749
628
786
284
646
968
573
845
765
152
6
151
777
873
298
509
392
415
624
623
881
922
630
129
19
69
110
458
455
791
357
962
100
122
653
393
869
378
332
337
761
237
366
439
482
616
307
904
26
971
443
141
545
128
260
685
765
747
354
704
6
377
902
250
740
290
129
678
308
835
289
904
28
512
10
756
915
26
75
290
115
319
820
941
42
913
739
467
277
278
683
119
12
564
42
998
173
784
11
889
851
152
761
594
883
138
882
871
153
843
911
755
473
17
217
955
565
337
79
869
308
574
864
738
197
111
361
817
450
251
479
240
530
166
857
497
969
561
153
977
652
186
667
805
839
372
56
198
154
452
379
544
157
142
127
176
955
61
947
221
416
117
475
10
761
251
995
896
255
957
878
584
95
558
950
732
184
684
981
284
419
966
803
434
581
847
513
194
136
811
487
517
83
784
436
833
918
563
441
869
890
557
191
119
886
814
737
799
287
351
283
904
557
752
148
834
927
344
620
828
599
249
134
720
994
269
758
24
520
769
108
679
181
913
942
560
441
834
143
525
954
193
733
593
436
169
236
611
448
901
884
900
981
770
472
1
304
556
316
312
86
497
819
630
382
339
324
882
441
160
689
39
822
194
363
254
770
89
67
564
553
761
23
732
31
500
17
678
993
734
934
312
718
616
275
691
482
206
820
872
383
846
461
810
67
735
957
356
850
745
607
630
592
45
914
600
697
263
938
462
447
260
963
216
762
1000
679
927
877
940
605
732
549
509
36
887
435
196
692
639
719
850
162
59
530
63
590
964
254
795
540
566
349
914
821
818
915
490
109
524
578
324
801
424
852
724
138
122
510
789
364
631
258
110
405
42
897
370
686
824
39
279
824
462
62
637
725
676
492
729
518
237
732
579
601
594
192
604
878
481
981
803
137
281
23
1000
438
732
891
729
323
104
351
93
764
313
484
258
619
139
867
728
966
8
504
238
685
747
791
848
681
597
463
491
446
530
563
733
993
912
368
870
488
208
36
941
908
920
389
749
868
355
647
185
941
576
9
741
457
785
848
975
619
71
680
554
691
213
511
627
753
828
847
564
928
130
542
364
738
636
587
389
362
49
122
986
713
998
470
100
996
885
905
628
212
792
185
721
810
420
746
623
391
431
151
621
83
723
435
85
952
148
155
197
253
410
225
761
629
239
208
44
720
980
103
780
839
406
224
195
570
962
653
407
747
969
954
671
396
451
643
125
983
445
670
276
108
374
48
229
984
971
550
923
331
367
895
792
491
815
233
738
991
610
340
572
865
953
634
595
529
845
900
254
792
739
711
36
935
745
383
568
982
17
352
949
108
748
79
316
546
846
658
156
453
56
4
748
190
506
436
622
756
969
723
127
752
995
677
374
861
237
492
495
905
242
263
304
792
758
730
505
474
106
774
519
937
623
591
738
148
184
75
126
531
670
444
903
836
701
127
896
430
877
304
747
232
679
22
367
549
230
896
490
295
447
590
582
640
185
114
757
63
15
201
820
794
883
455
100
624
81
641
743
548
293
193
612
777
857
436
845
633
83
831
197
110
886
28
978
318
793
234
208
93
928
526
13
608
23
337
513
224
215
108
730
338
905
330
60
244
660
444
282
733
857
237
764
821
278
204
81
108
261
711
615
205
171
776
267
69
554
734
764
937
992
726
9
124
463
857
323
984
503
548
133
45
108
802
886
797
94
852
164
130
619
191
975
129
777
943
963
89
110
682
806
453
572
214
205
361
427
437
820
543
62
709
71
770
755
456
334
456
410
869
597
12
926
891
937
458
386
507
945
843
510
454
740
434
435
367
790
446
236
253
95
683
572
155
998
729
174
929
49
235
305
741
199
384
791
472
875
681
703
842
719
724
779
311
754
428
68
10
241
77
347
813
122
756
466
806
554
623
300
638
256
250
381
484
993
97
820
350
149
717
702
576
881
851
246
347
653
630
67
419
669
609
679
264
897
341
597
14
589
222
197
162
341
275
364
571
234
576
562
443
473
424
877
453
706
258
331
569
319
417
820
213
375
891
458
899
747
184
898
463
814
918
302
393
545
239
445
303
430
48
455
661
617
437
109
470
603
807
917
335
621
878
973
180
736
841
541
773
491
681
480
294
977
615
369
953
796
31
664
214
316
786
979
772
886
599
350
168
754
560
998
141
67
223
417
937
583
696
682
655
671
873
719
339
806
413
478
296
56
942
194
959
665
570
592
688
285
849
261
759
76
456
733
523
805
31
25
617
356
302
924
759
200
932
554
56
340
958
704
410
795
188
430
972
787
785
972
391
416
139
226
278
502
636
895
923
154
350
66
519
768
642
22
500
501
570
489
861
696
813
273
107
156
185
446
739
392
51
453
423
315
703
137
289
760
71
704
742
142
360
70
748
846
301
257
520
495
838
462
673
623
27
198
929
362
638
561
465
980
844
751
538
904
955
894
944
974
139
21
95
780
476
87
798
712
800
447
413
827
191
37
770
800
777
320
177
302
967
360
593
777
168
356
145
201
62
631
216
529
924
844
946
90
684
129
383
704
155
955
777
797
383
626
886
659
374
837
538
967
612
10
732
670
88
325
515
776
521
888
581
185
258
665
245
194
873
972
467
566
137
999
553
356
213
272
118
636
697
374
129
646
898
626
207
990
9
674
72
846
444
658
735
577
187
209
725
759
197
544
424
981
358
151
944
407
828
655
827
862
959
446
367
994
347
389
902
854
963
78
575
997
244
158
988
948
557
963
640
970
923
97
796
634
916
601
293
500
784
626
395
468
969
288
639
882
853
688
456
425
984
59
374
972
46
177
156
114
310
515
139
910
446
594
88
783
701
527
270
902
236
123
340
291
918
818
567
181
427
271
974
37
337
267
971
22
941
855
258
1000
255
409
877
325
392
992
196
825
843
23
674
42
140
675
672
338
852
111
568
538
842
185
425
803
272
564
522
218
838
642
494
444
813
617
480
56
32
125
966
551
77
415
874
830
95
648
603
414
435
814
867
994
334
153
419
259
770
713
590
611
973
839
199
878
266
200
357
550
129
213
901
122
280
725
992
78
61
435
768
642
85
545
883
390
317
182
305
236
192
561
338
593
41
691
407
884
262
212
682
168
410
322
76
239
511
875
738
770
69
103
158
743
479
856
763
979
857
257
635
882
672
74
628
402
758
924
905
352
970
421
952
161
922
474
92
704
236
783
429
140
608
668
117
41
891
137
845
448
696
895
103
385
587
67
750
540
420
912
940
783
837
213
245
811
834
627
476
222
744
920
637
692
50
665
279
542
487
562
732
844
531
303
892
20
504
710
934
347
302
730
631
950
727
786
902
887
16
32
719
725
537
152
831
556
422
674
738
174
191
555
560
201
372
873
431
793
328
361
622
621
397
749
998
288
226
400
740
923
134
113
747
762
413
16
579
385
666
607
435
655
807
750
397
608
143
698
764
587
200
367
899
161
578
594
559
259
805
99
361
176
558
115
265
835
253
676
785
814
753
848
508
792
766
914
655
887
633
461
449
852
325
912
65
210
116
105
540
491
12
343
222
930
164
2
867
340
461
734
478
502
722
56
928
646
579
749
662
817
134
306
194
760
19
570
18
989
682
549
922
709
298
297
807
242
493
618
954
922
997
933
28
359
732
11
978
588
107
175
865
202
947
443
725
403
425
407
480
488
994
291
203
187
318
877
491
427
798
612
532
93
303
229
807
389
439
647
451
559
845
422
658
320
243
53
943
281
35
923
238
204
96
139
771
825
468
735
133
498
433
698
232
595
425
568
653
405
867
452
406
561
966
172
913
267
234
29
326
878
496
717
849
120
406
840
127
714
459
644
219
205
305
552
399
275
169
232
955
334
940
348
685
212
562
610
564
248
230
962
541
617
868
637
993
580
115
664
600
544
338
41
140
658
916
170
922
498
910
517
916
224
525
428
258
219
329
550
325
512
636
221
912
576
494
592
966
963
448
307
464
368
545
291
580
367
112
336
323
186
986
589
570
406
371
486
610
364
800
163
228
647
111
509
667
783
751
8
366
993
824
93
759
588
59
321
627
456
300
918
680
661
350
106
279
531
768
993
402
60
547
358
138
770
904
854
448
271
792
842
914
568
103
913
283
249
303
792
755
707
321
924
286
356
117
504
716
520
276
317
732
675
58
294
110
780
612
896
593
479
858
147
989
493
831
789
610
107
195
347
201
496
751
624
431
648
964
209
23
579
989
138
142
90
225
420
687
541
312
961
454
910
416
41
681
409
423
514
49
159
778
474
115
399
827
943
452
449
921
785
528
51
218
140
817
727
470
227
743
692
786
242
733
667
389
827
306
706
25
923
550
284
362
482
143
905
406
190
102
997
988
146
356
147
333
987
143
843
769
233
757
286
787
505
789
182
771
976
846
31
391
488
263
345
388
504
930
536
630
273
532
681
965
491
701
886
741
677
529
815
727
358
339
905
576
261
491
210
94
399
487
624
24
93
46
134
686
500
268
732
787
658
297
199
20
128
348
664
873
554
97
600
271
983
529
216
213
695
782
906
30
992
27
893
667
148
682
692
881
281
799
808
55
767
879
652
365
907
6
138
265
444
462
137
64
604
679
764
147
596
475
515
278
840
191
676
19
44
674
114
166
37
629
109
549
678
833
950
835
224
537
549
310
618
129
469
167
738
504
171
540
64
475
602
709
804
214
881
314
970
212
352
576
767
714
351
145
638
165
427
935
163
616
875
300
760
309
895
917
241
757
842
912
631
547
434
416
777
224
835
909
757
518
831
363
137
254
32
171
147
741
436
977
647
517
220
358
768
650
801
67
687
861
887
989
985
499
123
55
622
58
695
659
468
343
656
576
639
661
246
197
57
629
222
190
180
788
482
183
733
512
765
238
174
24
359
857
540
293
852
816
81
404
333
12
384
169
680
600
117
601
236
233
570
715
221
403
717
951
887
200
930
17
999
955
930
964
247
534
225
674
697
830
952
463
1000
567
306
66
405
936
505
634
737
74
972
582
414
205
900
700
272
175
481
358
491
255
683
909
920
575
646
897
383
657
164
514
624
620
468
322
671
953
585
628
432
249
555
174
625
446
693
950
871
223
673
108
561
507
75
544
189
981
927
620
858
375
11
626
738
118
972
866
551
758
740
511
3
903
57
531
533
502
770
531
976
22
21
98
979
73
875
918
329
708
684
211
642
453
711
332
654
245
149
975
911
832
152
645
261
926
835
172
141
132
139
621
615
322
831
762
517
686
181
729
32
413
399
299
677
283
280
615
58
350
889
880
120
406
410
376
202
134
607
311
581
293
635
20
573
946
8
377
484
35
363
432
914
541
85
476
506
887
226
562
796
7
148
362
657
628
244
380
775
988
677
640
960
789
625
733
875
880
833
798
401
370
525
152
136
533
794
562
951
857
214
816
853
165
57
903
233
143
739
85
23
293
562
168
438
703
432
713
215
843
330
929
372
454
937
581
545
832
107
153
261
585
904
353
590
455
195
790
586
629
557
103
296
685
354
671
769
650
27
622
248
672
319
17
327
644
542
265
322
767
104
609
441
229
493
345
796
389
114
686
107
787
153
418
80
3
90
390
188
490
535
149
342
307
426
834
81
162
273
545
900
441
448
409
148
198
411
415
826
849
141
327
455
749
496
203
124
482
764
293
706
933
959
483
914
401
313
843
446
844
909
225
573
898
957
965
845
556
672
905
190
342
16
981
385
992
695
531
634
952
422
458
922
186
881
834
629
497
561
814
413
720
600
350
326
232
466
603
899
629
426
486
498
278
552
195
517
68
376
747
218
920
448
26
255
288
249
397
672
913
122
391
715
134
271
536
304
446
258
341
159
720
4
610
716
814
994
433
263
405
345
636
794
880
805
96
887
694
873
136
715
397
541
759
123
923
769
981
753
860
241
130
508
449
515
489
527
498
939
9
395
438
130
290
130
432
23
205
260
514
311
966
277
882
744
296
345
504
66
899
458
386
506
646
812
177
828
289
687
216
599
728
369
4
246
10
481
550
820
844
947
460
870
710
52
550
350
206
121
417
925
13
946
599
782
14
672
119
832
345
950
611
401
158
572
808
615
371
70
149
666
814
824
334
813
184
777
102
90
231
747
641
941
302
693
86
257
764
866
865
22
338
301
129
234
858
538
775
220
905
490
340
164
742
310
482
554
226
752
174
886
259
1000
474
662
347
270
621
95
731
693
295
244
665
232
792
693
423
921
143
110
48
80
343
391
906
5
50
436
745
66
196
199
462
580
730
891
534
32
197
682
341
868
980
488
489
510
113
8
924
334
938
527
838
833
671
169
3
232
795
950
56
739
794
236
266
861
258
644
82
755
338
151
904
148
659
12
1000
554
712
762
878
771
992
646
110
342
51
185
277
358
126
493
344
474
233
217
262
910
601
257
95
193
577
98
132
529
665
677
378
370
826
140
98
29
181
454
27
61
898
390
399
327
370
556
33
390
142
571
344
529
327
492
678
805
488
553
874
66
621
675
824
6
691
124
926
975
346
256
213
296
543
531
493
961
479
889
240
360
375
404
63
141
373
736
962
171
96
96
816
461
731
845
564
648
167
152
397
981
209
697
631
917
241
438
594
338
544
730
891
98
534
96
662
745
88
305
205
546
569
934
727
551
174
799
380
672
962
927
13
786
120
779
345
455
907
248
791
353
438
507
77
496
984
355
833
154
178
867
280
111
374
196
772
521
813
30
624
756
657
972
421
531
347
982
59
402
845
654
637
813
978
546
919
712
713
679
388
107
399
81
696
561
678
667
607
246
10
838
360
828
475
971
918
19
239
250
169
504
590
423
617
411
859
654
767
990
10
680
628
177
450
630
893
926
645
179
357
256
937
441
84
170
946
292
244
503
411
249
983
144
988
50
552
759
321
403
225
7
755
993
137
630
308
433
936
161
285
466
7
818
787
634
721
290
467
770
918
675
422
444
705
99
600
620
670
41
271
414
392
835
517
100
336
657
251
879
431
954
476
996
516
440
101
388
367
206
404
701
245
373
624
926
19
781
346
798
460
989
159
948
897
931
300
858
793
154
666
929
397
977
359
144
713
868
889
320
105
146
299
798
720
472
540
945
117
803
386
466
438
586
261
473
19
678
210
575
869
466
499
609
978
960
859
594
580
803
296
636
312
966
227
777
537
510
858
100
149
120
764
138
807
138
774
525
82
405
101
936
448
219
330
75
441
605
354
740
456
886
119
840
456
115
106
439
748
378
112
613
993
307
105
253
820
766
153
269
513
613
790
172
457
599
370
324
387
717
400
609
300
585
240
416
552
89
606
556
967
659
866
419
439
448
950
718
42
871
806
802
556
960
628
983
12
541
411
952
843
550
43
830
176
836
532
938
75
524
113
886
995
95
771
705
108
222
484
16
402
485
422
856
664
510
964
136
305
444
932
455
739
428
331
801
564
115
770
613
158
857
572
403
190
324
147
500
789
435
137
973
696
557
901
414
899
161
412
572
388
163
108
838
427
432
145
670
620
629
215
789
756
302
505
203
384
952
726
892
475
24
234
295
589
667
583
469
101
602
387
491
786
624
367
643
941
827
396
213
253
867
533
706
572
518
934
337
481
892
873
857
460
527
936
767
252
277
611
944
36
611
172
851
340
555
859
14
98
448
271
332
524
861
313
694
420
540
989
789
776
25
479
792
736
869
938
794
754
645
141
229
388
139
674
132
684
640
823
694
381
853
193
981
746
931
101
503
254
119
93
50
237
450
756
994
505
354
150
238
315
794
956
704
858
445
42
236
297
861
897
220
691
860
570
782
922
595
277
180
333
295
718
86
747
961
647
267
261
61
944
744
302
740
803
571
966
928
423
553
333
246
718
931
347
799
898
917
810
931
558
639
168
319
622
907
706
689
193
310
161
134
960
851
644
993
843
577
338
371
417
789
844
392
826
784
548
114
711
299
694
304
396
223
770
54
736
676
580
289
722
433
558
331
167
443
672
667
263
56
388
294
183
625
772
59
885
263
965
21
813
27
126
470
386
767
130
524
702
440
758
692
588
591
508
104
682
887
394
730
67
72
849
143
785
178
189
781
457
61
709
770
561
80
584
908
822
840
316
504
690
591
942
2
109
684
396
550
286
780
755
61
519
239
377
971
576
958
62
15
693
861
172
119
443
540
802
31
163
595
548
286
677
64
638
989
877
276
961
609
630
87
247
652
412
715
829
964
629
590
921
709
630
317
277
470
508
307
633
233
297
176
236
699
932
708
424
959
14
671
996
795
484
578
765
156
979
206
875
559
592
402
112
587
230
486
420
873
807
586
769
706
76
229
868
587
129
844
622
293
45
823
79
959
61
420
365
654
29
864
967
60
971
784
769
273
832
995
628
541
380
720
106
767
248
301
374
224
192
277
773
694
107
846
723
719
403
417
426
999
259
903
597
233
629
295
708
931
637
791
273
920
470
314
612
893
161
573
750
952
239
593
969
771
753
407
33
275
74
641
769
524
538
507
29
310
109
14
393
240
697
343
88
520
286
339
789
592
702
118
53
282
578
537
284
53
724
211
140
220
157
236
284
321
605
204
364
280
299
663
141
271
822
621
73
327
256
768
194
934
8
67
228
758
983
916
395
607
32
100
450
450
479
5
86
90
858
332
652
302
504
514
595
818
186
910
937
50
536
557
792
163
497
594
532
57
771
249
990
510
667
500
791
462
225
615
428
411
891
454
634
67
798
390
602
649
149
515
563
250
390
418
612
242
581
639
54
94
57
348
143
57
998
354
615
647
645
299
598
113
203
545
843
779
900
232
70
691
281
97
596
656
263
637
787
853
41
950
941
404
318
211
429
154
232
7
627
148
812
143
908
535
509
287
310
144
692
973
633
962
703
624
344
509
777
385
434
948
211
794
866
658
733
768
488
81
569
906
910
705
34
253
317
690
622
614
633
462
675
963
463
43
119
190
450
655
197
461
749
637
52
525
973
876
590
209
18
865
530
50
891
418
84
279
21
951
854
603
309
455
762
680
13
319
235
30
587
931
81
473
406
188
825
158
270
411
190
556
708
749
721
890
49
829
272
345
778
984
131
536
61
625
96
600
478
707
11
93
465
198
171
291
978
149
571
868
950
243
489
427
122
792
108
824
120
597
239
970
705
915
199
873
520
518
370
646
941
499
424
480
574
759
294
296
563
950
784
280
903
672
225
793
932
107
272
94
858
614
716
441
829
847
2
47
600
607
276
292
411
331
480
229
574
471
330
225
708
992
210
599
369
110
359
786
88
305
505
81
505
471
898
828
916
779
775
731
454
527
44
91
155
120
752
958
937
676
357
676
245
205
226
723
41
440
343
675
668
554
128
839
680
586
12
674
645
282
640
849
826
795
624
386
42
554
367
687
590
42
5
599
739
636
665
905
585
222
400
366
590
963
329
102
935
588
133
771
456
628
883
7
782
949
449
477
789
775
400
273
745
752
706
826
721
232
821
474
952
535
912
783
587
200
669
241
736
984
81
260
922
253
490
831
342
590
12
395
545
840
687
139
791
160
647
790
173
159
403
770
191
433
200
392
196
614
794
584
279
391
399
352
578
175
47
493
917
414
806
342
775
862
46
409
275
155
163
177
218
615
206
181
183
665
506
203
268
664
661
957
447
88
123
199
698
772
770
252
363
354
633
988
892
429
252
955
794
408
117
83
316
813
310
287
266
53
710
579
854
569
106
581
238
49
383
830
109
31
988
49
20
909
286
298
66
541
597
856
316
308
353
144
830
377
616
210
141
476
642
536
493
709
460
219
930
745
710
854
448
986
916
437
977
782
996
749
580
617
632
570
204
437
823
669
623
570
426
471
764
927
638
737
759
302
721
645
831
53
355
6
312
132
875
303
839
857
204
147
592
297
245
29
868
739
662
469
678
580
242
361
107
160
44
806
574
70
352
233
307
269
813
598
335
170
744
410
215
264
591
245
871
603
581
950
493
165
474
253
873
374
321
963
778
640
23
655
936
73
670
171
716
302
310
2
565
74
316
691
188
992
794
124
400
430
763
2
845
712
954
156
935
263
973
350
764
468
766
305
995
219
839
116
457
622
911
136
662
435
340
535
907
206
971
304
698
166
529
606
763
440
41
733
470
199
376
566
138
529
389
829
271
595
508
198
796
613
713
50
8
248
461
166
762
739
791
751
851
949
900
212
91
760
320
367
255
804
639
825
542
344
16
734
302
309
883
852
630
126
406
194
278
596
636
635
503
362
330
863
379
307
681
428
946
638
874
388
602
480
653
373
239
140
346
596
582
231
132
3
582
575
212
346
335
710
693
12
417
74
168
823
11
208
961
687
637
333
540
184
687
608
562
338
652
977
345
645
795
223
720
743
920
216
908
324
747
677
69
966
334
471
837
792
93
717
163
507
783
771
100
126
412
814
759
395
357
652
754
346
88
819
251
65
811
532
817
74
686
979
306
724
699
94
495
440
751
762
201
368
246
799
164
930
52
964
244
415
630
694
568
326
232
788
608
711
782
669
361
2
833
465
138
805
441
228
600
650
25
201
717
630
439
479
240
784
749
697
557
161
367
798
901
220
845
676
704
5
499
502
440
662
778
342
996
148
498
89
63
926
244
302
367
148
311
663
359
777
330
230
81
737
907
387
760
294
684
85
671
15
200
476
382
406
717
672
951
715
805
400
302
214
64
651
966
387
562
761
853
474
852
529
871
257
287
285
897
72
96
95
925
9
45
142
415
520
514
745
965
194
309
501
631
774
829
441
160
259
511
33
735
632
287
648
940
38
456
475
666
467
98
567
939
404
731
808
288
875
485
459
881
600
502
525
498
936
585
422
599
570
282
834
413
281
51
634
467
375
4
330
393
522
599
149
661
225
884
657
926
566
380
904
878
943
180
154
980
221
819
153
958
490
679
610
978
994
443
558
782
809
441
48
726
709
494
3
185
248
50
778
491
923
233
19
701
54
499
471
743
885
938
599
460
116
713
592
402
31
380
573
285
142
566
981
539
659
85
476
793
63
251
583
990
969
154
287
656
127
220
899
675
619
311
434
472
129
11
596
287
578
959
237
636
345
800
161
449
992
250
845
678
809
860
847
158
983
880
626
671
933
74
34
629
127
494
131
398
718
435
773
893
353
415
245
74
457
473
667
216
874
182
13
270
538
18
402
782
22
126
398
400
795
661
828
405
954
756
317
110
721
577
59
986
250
640
348
125
8
702
771
700
557
851
354
427
379
749
689
487
599
663
127
667
295
22
803
738
667
229
523
255
19
263
177
921
575
771
755
919
243
772
611
249
624
775
763
835
728
179
810
93
106
174
128
214
810
316
55
729
765
463
407
575
127
473
772
79
568
111
589
544
226
352
985
805
953
285
551
326
107
602
529
347
925
321
707
915
14
358
230
518
459
915
395
989
514
578
202
185
271
236
79
669
96
262
307
737
47
809
456
713
426
520
566
574
208
321
768
870
633
618
134
398
811
311
242
702
420
444
790
521
858
232
756
116
665
274
968
880
617
337
354
419
761
604
136
50
552
424
80
21
958
683
418
969
756
894
61
658
894
330
485
239
532
938
384
635
504
231
224
830
644
679
887
529
328
542
761
20
228
632
813
40
114
339
413
279
349
710
757
130
243
18
111
690
428
985
640
655
292
731
97
534
449
411
797
758
652
140
879
519
599
599
430
365
394
766
840
710
822
203
422
25
390
849
387
548
35
376
557
936
185
155
639
287
44
824
170
196
368
813
103
616
124
107
933
316
294
231
878
717
816
507
115
108
381
622
202
610
847
496
130
949
473
522
339
649
458
230
919
843
50
583
137
323
328
45
556
545
391
221
29
303
966
383
229
558
864
654
512
826
44
356
483
195
261
120
709
149
546
990
625
16
300
270
169
380
133
79
728
702
216
196
845
370
635
361
960
95
289
464
243
618
650
302
997
95
82
904
56
480
461
481
288
942
375
247
49
259
861
831
475
90
929
715
414
76
314
247
835
948
718
72
871
637
826
416
58
69
996
814
509
617
448
731
69
868
622
408
303
200
11
240
305
643
316
711
808
846
971
111
470
31
936
699
40
702
425
295
395
895
721
485
925
389
655
76
603
264
12
431
32
451
665
280
471
977
433
25
469
254
914
936
816
763
54
323
105
152
231
505
615
126
444
190
408
782
342
161
183
497
876
548
273
728
763
553
854
854
485
762
980
107
54
838
448
164
745
148
708
541
151
541
885
921
488
186
19
23
431
41
924
44
990
747
104
870
679
193
22
597
590
191
956
831
208
563
722
865
170
400
22
222
101
123
926
791
404
43
384
771
423
854
217
679
210
520
391
992
250
603
95
302
948
712
157
58
994
682
872
402
221
662
624
86
537
434
68
805
168
973
655
869
329
469
232
944
997
767
824
491
951
864
681
99
719
574
159
974
670
806
950
981
904
644
717
122
400
125
989
166
499
590
973
245
56
177
74
43
582
668
974
925
728
88
55
517
802
929
350
758
613
882
412
923
330
266
159
167
936
266
741
572
643
500
756
332
636
29
604
696
242
322
608
427
539
702
95
155
734
596
95
566
611
298
678
922
439
784
400
954
909
110
462
18
654
815
33
492
881
563
881
924
980
168
673
481
174
737
383
566
322
231
26
761
197
526
587
611
258
343
805
216
759
651
156
823
177
41
38
314
714
136
382
136
620
615
929
759
157
799
632
155
896
150
706
706
35
84
870
769
904
436
990
42
328
561
168
441
40
907
585
527
739
278
603
134
514
995
20
504
522
263
738
511
813
323
997
379
545
917
823
218
504
841
979
621
562
919
513
484
723
440
695
291
361
976
615
303
583
158
39
518
532
506
250
562
504
381
407
882
347
279
313
220
442
41
619
528
57
827
111
445
22
13
421
386
414
75
334
308
411
591
79
115
277
919
751
79
170
746
365
142
731
429
598
767
383
474
177
531
196
532
75
198
743
375
276
801
187
163
866
619
418
152
942
29
991
282
659
350
976
818
824
571
504
5
51
364
882
704
867
36
15
515
967
403
131
418
676
190
843
536
167
717
917
772
861
275
65
958
705
537
820
761
178
365
486
216
402
236
586
794
90
69
574
691
720
426
595
81
847
45
767
128
501
638
553
984
553
99
692
172
150
637
715
665
408
747
552
390
177
834
545
17
461
640
905
288
224
403
921
283
517
154
216
626
746
880
814
954
419
85
616
933
209
154
148
776
62
416
207
230
682
427
242
176
438
923
667
816
625
434
698
465
493
2
384
368
100
588
30
604
637
320
622
827
145
164
76
744
76
745
662
88
569
650
689
708
753
497
652
187
77
409
124
492
90
296
686
944
120
21
391
533
732
35
568
179
151
62
524
892
272
227
260
517
999
500
517
377
613
984
719
609
3
511
199
388
311
724
772
749
291
862
587
967
575
162
956
205
692
212
817
964
732
53
94
472
842
699
477
719
427
217
967
416
504
809
499
441
925
448
394
675
362
745
152
288
653
701
458
357
407
206
871
564
139
50
62
153
212
468
948
387
227
11
102
830
438
506
152
457
781
2
428
858
583
8
849
896
644
894
162
601
557
975
935
581
335
637
669
377
904
119
765
880
24
50
674
730
435
822
225
85
89
768
734
415
256
953
465
323
242
207
582
513
370
730
192
27
781
137
37
662
774
620
528
282
313
457
147
225
734
855
307
215
625
917
466
126
33
410
42
231
572
220
478
737
392
910
155
663
709
956
580
899
136
387
359
447
278
935
780
178
325
720
57
668
206
985
327
161
758
583
868
494
696
806
682
524
101
701
389
11
73
548
899
221
517
528
595
178
485
786
485
272
226
875
647
92
510
589
185
667
161
595
461
269
411
413
996
911
173
227
816
524
678
605
261
244
192
708
593
579
202
826
803
175
184
60
598
94
267
861
963
358
598
915
40
114
632
965
957
573
109
132
49
284
812
356
352
740
67
708
396
368
415
287
401
470
753
522
235
32
652
505
817
284
173
9
88
967
271
542
236
102
38
325
130
769
966
233
3
864
790
380
798
26
180
231
847
223
697
477
168
38
838
938
909
654
655
179
912
985
887
187
154
930
819
770
329
998
238
45
56
812
815
445
737
307
573
215
89
62
109
81
392
147
27
250
455
921
635
741
602
328
91
325
96
130
379
25
343
210
973
878
952
366
218
901
933
435
509
610
243
18
9
365
360
230
831
382
653
902
418
966
646
322
677
954
722
762
735
969
939
8
653
13
702
654
782
613
650
280
48
962
701
657
569
116
611
327
589
369
883
162
811
496
645
981
741
577
578
550
948
513
589
279
438
68
321
974
408
945
496
669
614
467
384
458
280
397
551
812
187
9
916
593
590
37
612
91
800
299
359
4
992
752
968
437
898
371
242
431
25
606
514
169
378
151
364
221
144
174
717
754
374
171
760
197
672
124
550
388
935
388
334
486
824
919
755
167
395
701
312
411
658
300
956
623
227
182
183
483
52
8
402
385
493
926
386
420
392
774
395
92
651
279
201
991
778
31
647
475
29
479
68
47
820
188
384
26
948
401
370
231
864
229
832
714
191
989
83
345
312
853
985
427
442
882
785
144
707
292
387
766
916
777
371
307
28
962
637
823
992
121
495
370
577
681
324
349
240
837
522
608
625
21
667
780
992
646
350
575
510
395
267
276
886
914
698
991
486
465
445
286
321
600
782
995
713
156
811
89
417
234
767
441
922
141
285
108
688
410
564
442
682
64
270
486
208
715
706
608
676
156
877
381
469
395
916
710
544
853
795
872
283
132
702
237
883
695
959
41
635
210
388
295
366
117
889
175
135
998
809
729
915
191
907
356
847
196
324
56
424
590
560
374
150
497
474
19
88
20
583
266
446
128
817
370
485
516
335
927
948
702
913
525
526
931
504
80
824
465
889
754
704
22
470
717
678
139
83
777
297
446
782
293
140
348
409
481
883
198
101
467
944
451
435
877
865
269
719
613
353
3
444
490
346
390
189
445
896
34
560
466
377
405
803
759
709
519
547
996
379
826
405
896
787
786
636
682
206
461
318
162
852
354
129
21
140
462
372
752
204
370
66
151
92
219
405
381
498
734
736
167
576
595
443
178
406
266
991
989
131
375
432
631
505
887
626
934
546
19
742
769
433
471
565
422
301
77
612
892
980
961
409
212
861
80
837
625
302
557
453
412
654
839
926
754
748
655
927
790
319
962
718
1
733
679
752
591
141
335
216
681
141
49
728
10
553
649
390
972
283
429
772
264
230
588
849
157
111
93
312
142
219
94
810
486
144
427
840
68
442
637
497
734
749
231
384
348
417
177
749
486
662
848
425
879
378
244
337
520
483
722
985
884
580
795
346
216
983
929
742
548
169
59
146
580
550
172
410
710
688
504
292
441
908
71
853
679
560
796
255
852
305
195
665
743
514
956
209
611
933
949
992
465
455
290
335
705
289
791
281
19
470
556
869
753
345
52
578
580
145
814
400
450
251
36
697
48
272
833
409
478
646
464
225
63
449
525
86
242
601
333
293
324
420
11
318
881
213
244
595
775
634
351
393
528
591
121
972
568
378
347
209
695
461
224
223
515
957
456
462
326
298
258
786
680
795
591
786
379
901
162
598
754
136
657
382
780
516
268
24
466
477
460
501
175
607
265
177
309
837
16
789
218
209
47
176
352
104
473
474
576
282
513
57
966
585
826
176
766
252
770
157
465
713
385
354
578
307
382
676
31
161
849
393
102
269
234
637
212
491
530
213
429
233
929
735
1000
114
461
228
999
197
530
375
842
440
867
756
880
708
620
759
898
222
685
310
413
198
601
799
432
592
522
833
798
72
432
530
308
18
783
456
410
236
717
164
282
621
792
307
57
252
764
504
885
479
750
838
349
512
847
178
915
873
167
764
575
863
200
591
412
615
882
700
733
312
121
748
311
300
937
765
102
165
926
215
514
408
351
702
517
121
381
889
535
146
577
849
21
939
863
781
825
124
756
460
470
866
557
792
676
700
212
332
140
82
335
702
2
532
216
92
829
710
451
591
790
497
836
39
302
802
547
966
124
774
997
623
513
925
84
578
6
903
965
279
342
689
722
690
296
216
444
280
317
289
482
723
305
691
673
803
282
242
792
639
829
974
877
802
411
688
618
526
721
282
549
180
348
78
179
927
17
856
42
605
588
220
128
288
216
5
408
238
632
122
246
450
721
252
968
589
217
206
384
744
193
872
373
918
66
652
304
487
80
97
631
39
687
978
353
231
351
898
574
441
342
208
119
163
196
913
196
41
54
369
898
115
592
258
92
798
796
178
231
868
478
432
306
684
367
369
321
670
796
902
324
822
517
472
995
263
992
510
836
397
863
645
526
578
576
952
875
668
800
520
238
206
21
604
689
908
669
261
461
370
241
490
768
59
907
375
780
982
679
40
461
293
291
793
711
642
648
193
420
391
566
532
810
545
720
153
364
838
956
431
912
560
946
588
978
86
912
884
227
508
350
833
864
125
222
333
802
377
19
630
539
325
615
194
833
53
649
195
636
832
380
794
233
666
84
73
384
930
66
52
46
224
443
615
111
512
405
15
165
568
749
620
261
664
149
768
128
745
178
725
599
985
828
930
511
727
657
860
697
732
36
479
559
29
337
423
984
124
724
150
431
48
1000
15
644
209
901
1
607
816
459
987
982
909
41
471
78
693
317
427
870
760
169
71
69
210
234
722
368
353
782
798
960
634
531
112
42
561
355
289
773
68
375
730
727
119
436
857
586
271
83
250
535
844
947
290
821
5
700
293
173
760
217
840
348
376
348
4
397
491
235
441
880
177
569
592
762
715
511
729
888
514
565
404
389
544
185
297
956
404
30
15
200
832
792
113
176
516
704
285
742
73
88
35
395
329
214
644
163
800
972
585
319
441
581
500
579
905
643
152
457
806
247
994
691
637
836
74
887
152
345
648
172
86
538
440
325
56
828
67
909
680
860
798
309
64
764
812
774
287
718
861
942
659
551
557
951
929
808
743
511
842
603
544
768
302
418
467
801
334
657
656
138
709
837
297
599
588
264
774
861
87
439
493
393
740
123
297
468
131
69
494
981
497
268
997
922
468
455
256
236
19
633
722
27
531
938
47
276
111
828
695
490
916
545
674
338
766
598
8
959
299
247
466
12
558
540
41
438
935
483
983
355
704
782
248
846
769
475
143
30
338
188
838
322
247
992
641
464
148
830
694
607
630
576
849
481
925
393
737
377
347
624
505
458
622
843
566
677
438
190
626
961
570
85
409
692
643
159
490
841
861
696
267
901
297
732
537
507
127
773
929
791
948
166
413
438
514
791
564
829
27
337
510
796
989
243
217
318
378
312
502
332
280
545
288
115
748
86
235
584
249
332
952
672
386
346
230
242
502
280
732
770
222
278
507
159
472
545
311
923
578
23
491
66
186
812
858
278
428
481
786
520
849
9
953
388
33
523
150
832
662
658
360
141
863
45
240
887
125
760
556
927
30
148
661
951
782
475
844
46
680
61
13
498
954
10
590
15
136
930
584
682
434
454
200
123
982
144
136
710
729
57
657
552
245
748
493
656
861
520
283
609
570
195
567
657
14
81
276
386
585
219
112
717
219
378
40
990
621
525
90
726
274
112
4
886
276
335
219
255
70
231
79
755
345
904
523
722
874
332
96
162
524
329
252
588
58
104
487
621
792
21
94
898
267
739
80
539
124
795
63
134
111
584
425
459
228
512
359
682
640
694
769
569
283
483
547
392
767
245
517
563
439
23
918
476
728
317
906
823
152
145
451
46
646
455
193
71
723
720
838
238
587
114
581
634
327
657
406
365
431
399
672
369
886
936
200
366
675
168
749
206
386
799
259
564
333
473
749
756
671
903
621
776
260
391
180
374
219
501
125
548
692
991
445
778
363
962
751
869
32
861
938
522
448
346
333
375
180
384
13
256
972
598
960
635
3
629
396
797
501
140
813
206
956
289
613
467
315
330
333
933
749
541
566
935
913
251
619
891
8
95
871
504
684
256
273
859
516
186
240
308
6
222
200
514
291
46
236
392
163
468
581
25
620
72
933
437
537
695
378
867
356
909
713
687
293
882
698
938
418
586
859
264
639
266
824
633
53
843
442
910
150
23
988
493
107
571
593
323
235
120
155
582
62
969
575
920
972
314
155
371
598
803
68
361
275
910
163
778
696
400
420
997
121
506
256
297
317
583
504
531
689
558
210
266
908
138
676
984
523
762
679
542
138
70
319
548
91
359
99
795
98
895
828
285
244
546
498
476
321
468
400
46
407
495
285
952
161
985
655
24
461
610
657
491
122
358
393
532
997
494
524
795
11
444
825
899
186
306
428
726
449
318
524
322
973
37
65
914
115
105
829
633
421
179
461
687
872
594
64
576
647
759
887
290
635
430
56
265
647
329
570
216
971
657
407
342
87
162
656
715
555
425
230
812
687
462
321
479
458
281
17
825
72
878
739
310
746
234
174
305
942
872
474
300
551
666
382
752
253
220
63
598
117
355
269
436
190
733
338
891
837
481
587
698
32
43
148
475
750
610
23
701
87
107
672
194
808
59
172
468
549
823
602
983
882
187
884
511
363
151
33
197
28
781
655
135
154
933
911
241
802
931
192
168
18
504
817
144
599
608
283
44
644
440
783
713
549
946
887
630
253
231
770
29
795
162
810
104
612
951
919
712
199
970
645
305
640
501
590
790
108
898
977
61
585
428
804
921
374
1000
810
373
710
369
312
315
623
214
148
799
350
921
694
886
532
43
983
493
682
730
825
891
714
725
865
649
882
24
580
886
138
47
524
849
693
930
219
156
82
604
364
955
829
963
880
23
874
286
395
611
320
553
848
346
476
857
592
138
941
39
528
271
56
664
458
929
8
727
329
684
390
31
318
70
640
28
841
998
250
105
91
759
353
867
140
956
157
993
328
839
192
104
329
678
837
191
803
19
495
58
898
545
562
769
673
220
971
904
645
447
227
558
536
46
164
450
586
86
71
384
186
577
680
401
669
1
813
141
438
662
624
535
423
847
831
136
253
187
691
567
783
241
213
414
289
149
855
679
605
297
25
954
778
595
295
74
780
710
704
752
495
97
763
136
145
541
953
961
813
660
440
827
7
141
733
139
80
158
680
558
130
909
265
433
779
260
860
851
622
941
402
921
874
768
245
977
854
52
545
162
52
163
662
937
452
244
138
471
299
408
531
567
504
394
277
65
985
378
45
294
588
528
269
305
183
261
649
657
165
880
263
831
575
746
883
135
295
439
594
521
694
979
683
594
813
220
96
159
354
672
528
170
191
231
877
729
407
998
776
892
829
250
807
516
555
455
160
828
565
280
620
346
679
67
753
798
760
322
411
722
438
563
205
454
633
387
169
186
768
976
764
894
623
404
122
427
978
747
481
24
820
202
993
201
344
295
591
666
17
358
248
436
661
113
607
963
717
509
621
534
706
166
512
832
272
600
377
894
66
93
43
604
440
969
308
642
43
570
567
284
689
327
871
725
296
745
591
772
488
786
505
617
580
244
76
94
423
819
54
620
292
73
603
588
813
408
961
672
154
804
276
924
425
237
36
332
56
93
145
384
1
137
565
285
685
962
281
513
80
641
373
880
853
491
345
198
634
965
15
781
773
216
182
786
232
513
880
126
834
884
649
85
1000
636
661
1
235
978
632
731
298
949
582
950
236
762
15
730
635
320
323
675
688
838
688
402
835
863
842
990
101
758
991
16
129
77
871
329
644
198
590
5
910
349
123
609
952
723
389
128
690
258
577
500
486
609
317
75
46
241
346
151
726
71
227
456
48
235
341
207
89
639
959
922
16
357
800
588
914
67
334
671
999
784
391
538
418
1
502
617
391
903
624
503
845
525
256
533
957
417
493
376
959
231
67
656
563
746
551
876
986
841
23
391
464
230
969
451
44
75
879
104
140
292
935
158
567
567
959
148
509
842
291
244
920
539
531
713
790
38
111
675
655
226
907
274
37
61
991
491
285
49
139
814
80
455
570
6
436
290
963
30
234
649
421
963
27
72
358
562
433
324
109
456
880
340
989
472
345
692
823
938
874
429
741
499
636
413
198
786
549
731
923
743
591
985
339
958
617
669
506
864
180
945
189
353
999
981
810
852
921
292
112
714
899
470
661
449
784
685
74
331
18
428
366
496
632
66
59
702
354
559
662
512
428
621
732
612
3
494
292
393
757
152
801
595
103
602
604
284
63
667
218
591
956
334
864
871
406
939
3
30
798
509
165
700
995
920
454
372
817
427
494
791
23
261
877
54
482
701
393
386
465
476
419
570
828
392
67
447
655
910
973
209
31
145
640
539
424
890
847
167
644
40
825
333
138
816
587
537
382
994
486
75
998
88
293
696
251
797
484
127
655
910
171
847
25
567
705
81
877
857
479
15
890
710
899
716
847
317
78
601
162
767
582
37
673
970
219
115
304
833
941
797
933
303
930
178
70
149
251
425
647
770
140
858
916
551
465
971
513
168
493
142
790
374
203
656
420
889
251
131
466
321
566
37
153
122
373
851
311
901
238
70
750
219
335
242
433
933
525
517
935
881
674
361
111
990
570
801
371
461
858
792
969
983
129
867
434
929
148
436
949
114
604
650
957
5
810
437
144
97
533
580
767
808
691
403
688
385
760
80
8
242
602
840
879
391
699
976
944
366
121
50
434
111
596
369
871
720
725
689
158
859
685
957
44
320
227
5
829
294
267
915
128
412
75
399
781
33
167
362
286
212
246
85
34
587
306
384
280
950
165
677
885
83
75
380
261
79
455
647
949
813
877
573
867
180
8
905
688
795
461
651
455
434
566
763
713
651
596
326
293
299
876
745
575
652
370
217
525
30
58
253
370
545
634
535
1
739
7
216
59
51
328
756
482
734
201
444
331
187
474
149
569
539
570
74
210
120
146
612
8
52
600
517
684
233
170
173
571
406
75
288
81
820
577
821
677
219
621
569
29
9
881
542
933
6
173
586
367
65
197
216
749
852
972
226
193
666
33
92
108
673
538
583
88
989
27
329
693
185
382
668
23
842
344
467
509
362
602
42
587
610
195
279
27
657
311
478
503
614
207
325
56
767
903
288
602
590
439
229
575
130
534
54
196
624
587
54
593
266
478
271
777
196
145
542
13
722
800
244
440
650
502
72
171
818
37
101
138
443
98
493
585
998
45
686
2
793
180
540
132
980
964
918
624
42
140
400
619
574
464
290
615
156
501
774
657
513
349
166
206
991
159
79
636
156
968
181
679
561
191
89
314
290
740
687
162
981
424
563
554
866
229
230
96
627
788
50
370
720
102
524
665
736
943
531
990
572
371
984
655
9
173
955
587
556
971
705
278
278
608
611
178
860
600
975
50
899
422
498
507
372
86
862
871
86
805
854
66
855
495
424
358
933
4
895
264
427
187
770
996
684
773
164
214
670
5
277
639
218
344
267
646
462
713
710
529
88
800
535
644
802
854
407
903
181
174
973
362
178
286
593
693
197
987
77
103
357
489
134
229
248
910
25
222
29
883
810
285
305
154
824
350
649
975
919
945
888
966
998
36
425
713
831
190
820
986
140
947
855
209
486
9
101
641
568
186
939
31
20
407
210
183
629
625
348
517
855
288
337
951
325
337
794
833
339
698
58
170
475
783
617
900
887
531
2
81
813
479
975
271
623
613
727
777
276
164
533
728
606
287
490
654
111
833
624
829
779
201
583
915
991
864
459
42
728
913
600
304
405
434
82
95
912
630
497
205
658
93
501
961
157
10
812
452
126
69
196
486
634
430
413
816
47
178
244
39
843
333
741
750
715
673
820
705
370
957
231
342
411
27
843
332
208
571
66
304
426
471
302
742
474
546
91
115
51
213
851
816
473
875
874
550
724
759
880
932
886
897
412
607
624
113
184
629
959
332
882
333
476
564
375
845
277
351
85
510
53
327
827
994
717
681
490
165
172
294
512
792
136
27
399
267
484
917
878
886
26
627
201
471
849
278
885
189
31
218
526
724
619
456
759
740
351
333
488
529
223
908
468
873
469
51
965
217
444
672
947
37
567
252
634
7
619
152
224
2
526
945
639
825
798
605
792
926
699
15
45
186
698
177
658
295
938
166
724
277
599
302
219
689
86
751
138
355
88
428
16
959
534
322
501
159
729
351
772
769
782
478
132
691
215
942
323
376
554
978
623
211
670
680
900
917
494
430
788
232
39
9
883
618
91
565
117
475
142
933
534
443
32
874
105
904
916
377
567
363
110
119
338
998
57
761
374
450
796
881
893
830
664
428
313
192
71
224
866
970
341
996
552
488
449
374
680
693
225
868
772
692
753
361
481
1
140
5
873
851
73
957
167
622
623
547
909
382
969
36
941
768
197
587
131
879
30
866
419
492
877
602
644
647
182
863
285
194
441
737
630
380
467
404
657
559
774
406
73
243
264
192
572
719
805
297
737
173
492
101
658
699
655
58
808
829
572
64
653
507
702
461
885
918
880
731
185
833
590
514
952
239
388
882
512
982
37
920
490
965
841
750
433
23
872
703
35
397
850
724
57
353
628
449
201
756
647
27
571
769
714
853
887
344
534
700
938
805
991
926
659
482
645
686
502
237
931
123
696
469
289
430
347
427
269
46
228
950
326
758
834
485
427
67
822
782
50
293
532
64
849
796
653
145
482
771
665
429
811
869
252
872
751
769
146
13
177
365
749
620
536
254
923
912
81
512
221
819
40
8
633
571
432
729
139
406
165
600
694
984
6
796
811
90
471
484
568
640
191
491
902
398
578
496
650
812
970
806
301
242
359
36
396
471
6
948
52
909
72
690
382
960
368
162
713
376
269
213
130
861
991
593
577
227
986
594
69
32
937
53
474
959
2
290
769
180
922
816
633
861
907
92
510
459
286
340
470
989
869
729
127
202
281
56
738
831
541
98
532
301
764
844
763
509
77
109
924
542
564
179
599
217
382
494
207
857
339
94
960
313
460
667
316
467
523
261
80
866
474
882
765
879
228
361
18
889
480
820
199
968
509
295
565
902
38
459
92
486
996
982
258
731
766
613
618
36
37
27
480
99
294
261
556
661
716
488
72
310
722
687
766
912
818
698
765
834
214
382
72
758
766
787
469
875
448
374
378
787
331
682
570
646
663
438
309
26
897
586
685
598
605
862
412
335
568
801
21
947
934
593
495
597
611
193
511
807
397
895
387
455
644
453
476
506
896
933
632
92
146
683
362
670
814
202
68
585
54
886
599
631
338
460
941
36
317
481
460
586
538
732
517
863
212
227
996
162
772
862
76
187
344
750
438
402
949
61
933
73
469
166
135
506
333
7
49
552
784
278
851
372
70
125
960
227
61
770
603
489
713
69
512
235
250
801
784
669
871
397
592
97
381
161
254
473
917
433
603
88
416
358
394
712
471
196
985
636
786
606
964
334
529
356
843
468
23
154
435
650
29
844
272
142
515
12
414
532
730
784
794
410
854
341
226
75
8
765
385
774
826
766
688
586
537
841
215
270
864
138
257
392
751
671
510
781
809
690
285
764
546
822
845
779
108
117
709
804
80
215
391
397
581
943
829
628
792
956
952
567
488
201
246
78
590
697
937
758
296
251
166
825
564
32
552
258
866
438
132
288
301
138
456
453
253
802
228
253
9
375
933
920
803
865
219
908
770
186
712
492
930
993
168
325
221
879
239
128
250
201
473
997
425
620
367
508
781
688
310
706
552
273
166
564
813
366
102
216
15
944
39
840
399
351
684
177
258
135
919
377
44
946
341
367
840
313
984
103
590
324
572
462
161
71
42
952
21
596
809
290
455
648
284
598
485
648
207
522
865
239
182
817
53
619
302
947
246
581
948
958
746
42
902
241
421
60
979
281
947
489
300
803
380
637
165
898
228
220
969
922
351
896
117
366
55
227
514
730
860
514
625
283
323
807
367
346
241
276
465
694
705
356
6
842
260
955
770
299
802
651
237
34
323
132
266
380
852
598
132
29
37
901
594
622
849
50
748
462
276
714
229
857
678
742
317
819
501
471
163
373
117
321
823
997
568
38
802
678
344
975
989
374
457
440
187
141
297
328
191
763
909
866
335
548
859
719
656
586
645
7
931
634
305
409
928
910
542
687
303
571
825
773
276
352
420
124
235
118
440
698
76
852
407
102
809
453
549
565
11
153
609
890
914
316
736
269
268
1
197
273
45
76
299
354
834
287
49
701
9
401
731
201
933
511
428
482
227
309
104
762
626
96
26
55
917
125
471
799
642
908
158
406
208
218
260
894
976
497
499
578
21
414
313
254
262
385
58
665
62
784
448
460
979
959
866
108
58
549
315
506
582
785
78
378
327
465
680
585
742
392
733
228
81
569
91
849
254
455
408
565
581
120
93
927
870
72
260
522
967
533
266
179
500
274
442
497
67
585
726
590
841
483
599
657
992
954
14
883
630
480
115
663
813
324
760
967
835
340
303
445
715
156
964
281
963
226
893
274
269
341
165
534
690
195
491
160
563
253
737
386
330
99
710
366
651
996
345
148
521
12
322
626
515
747
371
225
297
853
439
635
211
581
355
876
417
717
426
688
594
736
732
23
433
72
718
696
513
36
389
545
839
247
565
973
946
61
942
235
298
558
967
236
908
621
482
634
539
797
860
429
442
125
626
962
238
575
602
515
159
83
805
673
399
358
348
928
635
358
138
656
168
683
282
705
316
924
674
111
342
500
556
530
579
478
567
647
735
444
682
524
162
17
522
807
367
232
201
955
646
755
63
818
892
738
877
91
135
266
90
313
566
74
151
881
438
671
997
819
711
568
166
55
586
264
837
880
404
991
463
174
221
308
942
952
587
706
382
68
131
73
343
674
54
72
858
229
847
220
302
895
403
932
836
92
997
885
611
943
882
510
975
53
527
973
557
626
105
848
29
659
649
344
363
55
212
994
558
899
63
49
957
787
153
873
52
337
682
855
983
920
752
224
503
549
796
402
647
202
993
20
964
688
995
894
949
648
623
897
354
236
206
396
932
295
343
210
21
191
123
979
993
309
26
223
973
269
128
335
214
59
437
763
738
334
283
351
218
439
355
320
816
547
163
801
81
303
748
885
841
7
72
297
388
295
543
513
861
37
153
389
16
384
53
258
979
962
150
663
847
128
364
843
161
231
941
604
929
94
501
74
166
39
290
162
363
953
94
435
572
194
445
591
711
186
871
333
62
49
170
56
569
834
737
721
480
551
904
680
398
914
739
86
752
932
435
454
695
612
342
565
624
338
726
961
458
617
305
274
374
35
857
646
405
416
895
195
752
327
24
535
939
566
831
310
232
452
705
728
259
81
950
722
894
827
609
229
626
97
528
635
885
238
915
98
654
464
757
77
648
137
814
543
431
287
737
204
303
56
754
695
552
205
46
70
898
658
781
783
987
678
363
605
957
46
50
622
892
357
273
587
397
561
250
374
68
778
502
668
725
365
659
98
671
384
730
306
937
500
752
916
446
310
969
630
255
972
780
130
40
794
329
852
725
55
684
89
620
484
947
76
415
783
391
713
580
112
213
629
618
946
806
26
553
320
285
783
830
184
143
366
643
407
245
521
532
908
415
897
751
355
257
818
393
362
137
524
665
382
124
94
371
637
833
162
218
566
214
834
88
4
771
369
982
620
225
437
739
56
201
186
349
751
149
427
941
52
603
603
11
248
301
94
532
410
435
505
433
867
584
826
380
52
344
441
285
385
461
835
590
296
564
61
796
221
990
741
687
2
463
312
188
410
287
400
759
619
119
285
946
782
46
864
405
630
204
865
943
277
517
20
901
421
207
595
560
316
496
180
687
144
698
885
76
229
411
610
653
978
319
516
302
133
262
680
998
795
545
209
968
640
670
684
720
985
41
987
259
484
527
330
776
659
923
451
167
197
98
500
764
704
832
184
925
971
356
922
416
463
196
696
898
197
955
552
106
464
329
384
719
128
944
807
427
902
737
972
622
240
744
277
462
105
264
978
957
338
819
710
470
645
763
711
525
698
861
762
250
798
572
129
122
791
261
114
39
297
737
543
29
919
97
310
306
499
994
402
840
923
894
149
267
94
765
136
327
507
803
266
236
818
520
908
596
461
934
497
799
694
870
798
271
160
210
490
151
549
106
631
481
471
302
989
707
392
596
66
298
956
853
108
431
350
551
883
188
183
12
856
769
986
948
775
497
12
570
20
178
758
354
523
226
682
517
564
317
180
181
423
301
682
93
777
484
14
211
844
756
365
356
849
435
803
571
105
984
572
639
268
160
173
12
481
878
245
532
491
134
260
675
821
684
3
518
903
127
930
569
51
130
260
532
569
784
615
294
52
644
6
781
200
491
608
478
566
159
759
532
488
661
881
310
696
779
461
290
748
418
599
606
456
454
153
903
311
356
945
988
208
548
413
158
508
439
421
910
265
413
221
782
236
110
660
199
111
178
899
867
917
648
214
109
413
89
149
621
448
496
902
289
85
449
964
270
843
978
356
934
147
326
804
177
458
842
993
516
475
128
270
905
806
795
609
72
747
73
532
424
793
587
763
803
288
975
143
829
852
649
709
653
21
334
56
453
682
76
820
779
390
279
846
995
803
382
970
17
862
65
2
8
799
973
462
806
698
482
48
465
678
305
178
245
85
408
14
324
449
754
464
135
475
436
561
813
633
71
145
488
435
225
997
100
949
123
202
395
181
700
55
166
811
588
243
279
826
646
646
671
398
373
266
349
43
885
359
457
163
534
50
933
397
4
709
899
998
904
839
336
7
264
245
400
867
659
262
145
820
702
24
490
574
41
339
334
995
686
575
503
932
894
399
183
611
427
74
1000
98
878
806
774
705
558
943
399
561
200
372
925
38
682
89
385
54
482
371
988
220
677
286
93
575
835
74
140
777
926
6
596
797
615
236
787
796
234
98
539
65
444
15
664
698
297
624
588
850
342
835
570
132
886
25
282
950
30
308
810
411
85
148
94
168
294
813
113
430
756
401
975
646
505
591
723
725
96
744
321
946
823
923
387
927
393
68
338
655
434
617
722
651
836
15
552
181
21
84
877
895
975
396
942
888
517
566
593
82
835
429
226
84
866
327
785
325
279
150
562
659
983
639
653
908
296
408
14
447
582
113
858
670
809
399
67
993
933
375
677
233
269
124
843
975
554
656
649
196
997
478
603
257
3
74
707
76
341
716
991
805
919
975
45
607
519
60
242
370
407
543
480
418
521
83
864
853
741
647
495
589
582
140
561
341
223
578
488
649
659
833
918
687
521
369
545
11
147
965
740
988
120
759
294
293
372
939
469
104
377
353
607
771
479
949
91
924
698
948
832
74
890
57
70
369
596
599
650
667
446
144
955
616
95
572
922
708
753
65
16
366
841
585
689
246
281
270
296
679
741
693
933
858
849
547
23
825
341
270
580
354
4
666
823
43
115
496
203
506
699
428
81
39
437
217
165
135
442
394
860
710
186
58
300
836
634
788
983
567
527
943
154
421
36
720
451
961
152
367
767
503
321
751
92
811
578
456
497
523
570
879
428
23
684
55
730
461
859
57
640
237
613
868
737
694
594
855
523
972
960
958
194
297
388
966
781
820
351
334
287
821
923
493
95
308
435
558
705
247
513
861
856
560
619
828
695
954
117
189
285
299
425
193
970
81
9
423
485
48
275
739
985
981
7
213
24
527
670
232
195
801
839
531
365
755
37
520
586
820
995
739
515
375
33
634
416
727
52
37
892
507
207
170
986
255
76
855
982
603
723
464
527
155
725
474
767
610
399
700
126
54
665
342
140
691
184
46
247
187
771
711
858
691
448
182
569
812
778
557
285
166
155
915
432
950
213
772
625
726
119
979
862
94
71
870
598
276
74
914
211
482
179
907
327
653
647
422
300
103
395
863
325
775
666
616
750
387
164
327
738
596
562
884
996
817
150
815
162
232
333
200
739
517
227
356
952
431
630
243
751
689
601
766
737
435
793
467
212
911
70
517
356
794
19
706
300
717
475
121
886
346
361
391
565
809
45
583
525
973
976
957
425
281
580
972
748
228
600
572
763
762
275
454
566
751
164
400
760
900
476
163
537
641
813
336
420
949
857
603
78
887
478
195
448
271
192
686
607
423
483
438
549
542
271
220
797
876
409
180
401
379
426
911
705
960
609
869
810
537
385
389
571
559
507
639
627
20
80
12
276
348
933
377
531
919
128
211
503
36
604
644
177
603
198
84
400
80
588
444
486
694
428
496
494
687
155
637
742
142
425
15
889
783
33
252
968
595
334
207
145
692
655
904
450
324
503
35
179
110
789
348
872
223
234
544
30
794
445
563
283
688
185
313
50
974
76
533
964
645
188
599
65
98
682
626
133
281
588
418
466
117
150
507
922
973
289
611
976
666
528
348
519
598
202
617
321
437
364
887
252
744
767
929
701
461
144
732
424
964
753
3
635
902
778
43
92
979
350
883
33
211
352
772
914
421
327
464
654
185
560
556
566
124
334
297
182
697
984
21
982
503
298
354
609
378
47
146
309
552
348
606
828
852
272
450
189
160
352
469
718
489
579
264
287
491
609
795
547
45
392
139
430
423
746
454
792
494
392
373
492
584
476
871
8
317
12
158
283
828
169
567
870
981
401
202
375
38
672
829
601
534
34
966
76
33
53
269
243
447
662
829
839
216
519
288
811
151
943
434
34
897
554
349
481
205
296
261
679
127
805
2
40
22
596
231
638
876
442
69
58
584
365
457
234
489
393
299
524
347
11
963
938
756
264
276
468
546
222
380
847
773
453
90
745
810
251
898
207
534
446
274
637
435
475
973
395
257
99
329
983
796
769
875
165
614
35
129
32
881
595
922
970
45
790
866
526
780
155
920
330
544
224
438
429
572
196
812
481
532
422
355
150
402
803
949
339
865
240
624
163
342
425
358
817
294
945
366
147
939
942
443
499
688
10
863
33
108
995
658
912
287
782
805
281
621
673
273
226
8
459
505
440
179
104
262
38
718
268
441
888
932
795
735
268
470
476
771
842
742
436
258
189
571
358
918
466
46
769
431
46
850
63
305
345
450
824
144
200
276
405
472
297
329
512
377
32
977
958
154
770
812
813
746
325
269
583
357
22
444
305
780
147
255
806
478
774
209
356
897
968
705
116
39
704
233
420
659
135
285
982
811
297
1
347
370
194
67
457
619
782
767
12
386
676
635
544
774
90
664
697
267
925
843
149
894
166
304
772
826
470
453
516
103
929
656
600
660
120
321
508
716
749
347
724
268
279
795
594
838
995
969
115
66
671
497
8
352
97
838
228
575
481
690
233
281
590
275
370
633
310
905
972
183
914
582
918
95
878
699
552
706
729
118
173
837
767
32
307
441
957
225
139
721
228
938
287
620
225
12
168
836
391
134
976
909
244
290
243
901
824
66
835
257
773
994
656
150
401
466
690
188
571
867
632
567
855
550
724
563
595
335
409
419
37
571
659
637
73
274
674
588
766
586
847
129
274
101
999
62
681
417
165
51
90
502
707
367
180
61
878
239
57
495
784
602
515
603
672
467
302
374
662
968
230
808
607
892
72
478
421
950
119
279
347
9
385
385
993
390
184
114
604
840
593
987
252
932
825
870
600
996
943
209
682
946
145
703
515
580
195
800
972
47
821
99
182
709
411
924
416
840
155
194
253
39
633
470
764
357
29
435
231
861
741
856
385
515
574
709
306
392
20
966
900
771
796
208
288
505
744
507
590
907
197
748
946
535
22
914
921
309
368
769
4
281
577
956
114
866
758
676
89
782
14
504
861
593
151
528
177
625
410
187
904
176
622
342
344
847
293
370
113
541
883
377
323
325
300
870
379
402
301
643
629
891
695
821
564
260
451
343
796
115
336
825
939
725
612
868
619
826
200
911
244
2
596
469
66
368
171
995
767
264
779
871
439
292
411
824
655
545
508
62
398
647
794
574
678
675
708
355
482
942
150
354
585
458
897
933
912
438
830
648
831
78
49
919
748
638
108
151
386
233
865
767
270
704
397
933
813
576
948
479
445
685
792
552
240
416
114
213
560
449
27
596
160
819
320
182
200
741
777
79
348
427
289
634
562
519
621
408
335
300
875
658
999
828
994
766
747
695
115
772
862
520
743
637
988
688
406
623
427
380
704
381
407
946
717
824
319
322
899
395
238
561
775
708
122
76
954
452
20
931
561
377
387
967
292
927
618
7
812
794
412
763
785
368
132
150
82
763
364
209
77
788
548
473
457
289
531
417
406
760
908
136
793
224
605
603
991
76
781
904
536
541
85
102
184
324
220
296
767
378
157
875
261
194
204
371
9
470
291
20
471
214
730
433
762
613
720
321
381
231
332
472
548
861
504
793
742
708
997
561
990
634
898
414
324
253
768
641
400
575
777
666
350
89
46
80
423
746
513
16
762
834
109
946
807
895
506
531
744
873
111
96
145
675
914
690
804
420
51
127
267
250
260
227
273
851
852
58
27
958
177
709
321
783
303
798
961
367
412
171
780
50
532
936
720
793
810
907
223
128
456
435
428
410
797
443
494
732
593
622
410
804
413
693
643
404
186
725
851
999
166
136
568
141
576
584
487
545
683
770
540
148
148
693
882
79
324
422
992
419
503
152
955
321
880
344
751
317
579
621
153
87
204
480
9
9
985
980
814
785
519
987
466
561
962
411
6
69
808
191
895
975
233
678
2
914
810
139
201
848
514
860
645
784
908
748
672
54
320
280
583
355
168
663
948
169
878
460
905
35
261
202
463
746
618
250
401
471
388
838
711
335
634
720
354
396
975
550
804
226
519
223
15
863
94
417
514
326
628
44
17
873
403
464
996
370
619
530
581
67
464
858
537
773
507
893
293
428
995
874
938
310
213
96
544
677
412
644
829
426
268
995
245
249
187
337
739
968
664
985
348
309
687
887
32
70
878
910
979
487
43
546
845
153
358
585
601
874
460
594
381
15
684
164
956
780
132
953
891
337
264
519
27
178
222
21
904
256
692
381
279
672
688
819
668
940
425
98
910
912
190
594
105
546
597
351
610
655
829
283
223
410
379
74
911
587
667
375
576
38
85
115
447
340
920
569
899
221
390
671
18
423
721
310
117
728
524
30
356
667
181
509
318
46
641
667
93
959
975
489
16
781
749
924
885
266
536
517
163
301
262
448
662
125
146
579
117
244
57
687
300
98
829
453
700
590
754
78
49
973
510
96
638
865
990
357
643
581
808
935
910
766
974
900
580
965
701
268
745
415
218
912
587
265
477
375
357
404
445
295
625
418
212
763
73
174
222
221
679
24
712
199
880
702
825
358
409
718
654
417
387
421
884
243
411
842
342
270
21
23
818
798
680
712
304
145
499
299
559
524
402
628
706
730
295
31
101
685
433
689
132
612
623
908
208
334
314
473
419
342
835
101
998
686
633
299
140
396
742
289
866
621
609
150
637
559
940
560
271
472
246
925
347
289
313
495
99
655
851
459
46
444
98
180
113
641
32
630
315
888
558
839
696
623
788
559
646
218
904
805
412
723
846
833
580
507
460
809
873
764
81
114
917
207
31
471
142
135
761
657
621
720
106
692
66
575
661
171
77
986
764
928
756
166
161
441
395
4
358
260
55
174
237
77
189
718
500
902
370
193
310
630
305
896
618
343
472
844
712
92
622
473
692
653
85
705
618
552
840
987
188
853
220
543
373
516
727
200
33
454
660
240
75
71
718
855
721
817
968
812
142
612
954
642
490
98
19
603
418
635
365
289
67
596
718
796
160
36
832
481
589
793
892
94
510
501
45
560
184
741
130
860
491
135
803
238
836
310
311
252
27
114
94
63
974
443
490
175
153
931
155
992
616
580
657
163
64
166
502
634
492
103
446
96
387
98
632
46
49
983
718
557
307
944
532
156
741
189
88
689
951
312
885
956
691
435
320
455
42
611
519
652
392
616
291
924
847
502
888
95
638
218
637
994
572
806
288
790
630
715
985
769
823
817
216
177
447
590
939
41
106
61
989
668
624
90
46
944
285
62
746
923
420
989
982
526
979
467
614
732
533
765
391
315
344
510
808
222
74
232
448
889
898
259
956
793
736
834
271
414
110
309
62
886
220
475
923
437
664
397
119
373
78
367
618
127
229
756
689
454
122
611
301
513
955
416
891
85
196
956
371
463
354
442
596
767
297
151
710
498
344
92
191
290
323
312
109
261
944
74
187
285
131
640
291
708
867
510
53
826
659
976
42
588
184
976
797
496
580
279
241
555
143
330
383
444
652
873
370
866
966
867
679
714
390
922
993
316
747
586
628
648
593
902
700
329
724
718
547
284
851
557
473
752
44
928
954
90
38
402
732
808
211
693
921
947
55
48
657
283
158
476
963
120
616
476
259
808
465
304
750
270
358
119
401
192
671
211
317
678
745
96
133
667
738
264
453
552
934
576
553
659
269
547
257
597
134
170
787
101
944
332
999
993
777
266
486
123
890
425
831
912
198
95
89
960
313
242
918
565
195
95
463
610
963
987
675
62
170
483
908
46
360
148
775
811
817
733
399
221
138
97
748
372
352
320
362
757
745
948
334
981
475
492
844
912
418
444
749
625
361
442
447
621
785
193
318
30
458
74
790
683
498
397
655
57
270
710
218
125
807
39
844
757
805
74
73
15
792
45
755
264
672
284
35
486
846
544
205
796
612
691
74
139
547
775
77
373
894
90
379
450
825
511
723
508
598
658
700
164
261
935
623
618
872
315
147
13
369
818
973
698
706
401
479
527
584
32
969
223
207
653
801
578
999
927
672
266
654
103
780
780
141
499
201
480
204
197
636
412
420
909
476
553
825
401
784
212
641
951
37
981
992
776
882
32
244
278
948
54
260
690
586
475
875
336
150
361
182
14
458
406
57
341
712
723
236
940
897
783
197
184
268
400
459
631
245
814
95
366
288
539
801
845
848
729
999
327
223
257
74
75
1000
158
741
625
53
252
674
2
255
178
895
812
916
404
257
867
222
388
289
995
936
289
319
402
511
459
880
436
274
990
61
616
597
98
47
442
386
130
856
428
418
668
694
816
970
230
773
860
880
551
216
719
889
472
775
974
198
804
811
623
488
703
928
417
726
271
39
952
910
881
892
156
46
796
765
529
802
354
293
13
275
375
91
793
739
197
891
743
834
424
490
493
46
897
962
752
101
730
982
55
509
373
973
571
298
936
512
943
887
809
345
170
19
736
285
275
156
221
317
999
356
437
300
272
319
781
916
369
155
744
428
564
708
28
401
440
158
963
524
728
84
867
951
101
136
11
125
365
562
661
112
6
361
870
669
569
146
131
651
788
575
108
463
762
380
377
202
772
659
269
62
493
984
972
366
232
756
226
347
895
725
230
701
659
178
623
142
584
293
90
365
802
26
906
859
901
429
838
303
606
723
285
632
378
851
337
233
496
960
428
183
909
124
399
692
305
761
202
894
433
346
670
607
455
881
7
964
839
147
409
4
987
840
430
184
193
269
852
162
547
452
605
157
621
34
38
977
190
975
837
156
652
222
225
892
116
576
580
866
57
247
785
979
914
783
548
548
722
265
532
675
18
925
570
134
942
20
140
215
871
832
281
773
737
448
844
753
161
731
17
828
118
309
756
877
570
632
439
722
153
231
250
373
814
285
534
230
688
728
682
757
723
774
766
373
477
527
609
288
867
333
292
966
915
292
402
280
81
893
565
730
775
149
479
98
632
181
750
157
779
421
619
436
211
378
723
670
749
841
199
980
553
582
595
319
349
519
260
99
245
153
955
38
345
571
1
705
164
47
758
683
630
362
4
634
784
925
925
250
371
218
334
98
293
296
659
941
773
706
514
492
774
17
53
133
115
929
74
898
468
543
470
735
799
343
161
734
650
826
571
385
451
894
186
356
871
727
33
152
562
175
32
519
924
825
303
673
183
745
885
952
517
98
130
183
852
828
291
381
868
141
585
726
904
99
411
462
754
619
195
919
442
705
48
443
970
364
916
684
512
265
122
340
965
951
371
771
729
971
731
614
541
887
361
746
666
486
385
638
320
629
715
836
250
626
524
920
806
56
23
994
258
335
819
619
48
353
65
179
264
45
437
695
894
911
220
497
137
89
11
719
100
376
970
707
386
748
917
316
6
524
708
238
155
113
228
706
182
812
621
656
957
518
288
87
282
56
855
955
900
567
848
657
719
575
34
623
198
487
685
622
672
929
663
630
836
513
37
201
241
317
822
86
622
719
462
231
926
655
930
3
356
575
9
849
18
60
206
250
241
587
718
412
287
272
563
963
169
15
530
657
167
227
902
419
420
923
9
600
881
271
770
7
310
827
890
742
406
879
513
517
214
729
331
668
470
210
263
337
188
62
867
134
513
593
311
593
312
689
432
77
655
706
714
525
212
664
801
867
243
476
66
565
297
739
791
119
98
608
144
932
754
843
180
485
74
577
426
524
186
551
769
558
362
575
388
932
605
676
61
992
544
321
296
662
21
740
643
98
485
16
388
163
444
156
349
381
397
830
114
195
570
794
723
292
32
904
657
225
961
385
656
361
800
744
954
152
689
804
643
1
612
733
327
453
964
346
441
248
361
695
141
395
824
264
896
694
148
801
321
478
885
775
883
994
746
142
541
935
343
990
119
287
631
112
302
263
146
561
909
750
300
490
614
337
520
348
922
872
639
503
73
627
934
619
877
722
283
978
382
397
415
791
210
564
65
202
162
447
936
944
538
539
117
541
229
857
191
56
352
812
600
537
730
84
720
988
866
926
122
573
845
302
747
117
494
29
189
752
299
881
306
289
159
800
853
460
740
780
831
301
30
882
637
359
416
222
958
418
38
901
723
203
169
150
364
778
571
399
35
421
916
112
364
922
607
345
166
431
442
398
719
557
104
547
619
868
793
156
741
408
860
187
449
475
927
501
763
725
433
734
985
911
956
224
604
387
311
851
760
734
260
725
384
461
969
456
477
808
975
999
325
133
933
471
448
673
586
671
382
844
967
597
612
832
663
82
622
828
594
675
804
402
615
844
987
449
451
795
706
208
243
681
93
380
990
690
995
188
482
121
465
713
763
344
296
947
653
124
396
103
321
29
648
674
630
100
314
720
478
797
365
202
378
68
702
38
294
739
136
144
759
471
199
443
382
265
951
909
76
299
298
775
40
983
620
453
371
932
850
997
513
769
180
322
711
1000
200
807
58
486
541
471
462
380
808
376
982
658
720
588
959
820
331
412
827
25
348
118
69
137
552
193
413
729
191
607
648
383
449
641
16
98
306
948
168
895
733
617
929
182
727
458
170
52
570
207
409
785
44
486
697
194
925
544
438
599
656
587
51
805
622
672
317
6
673
1000
537
746
320
828
814
244
889
614
741
601
832
106
632
946
596
836
546
202
645
344
352
756
780
952
351
294
143
9
75
759
769
451
348
818
648
765
960
198
118
601
444
811
133
788
260
995
634
522
826
198
260
757
961
939
238
982
221
644
326
515
592
672
998
564
946
884
212
25
292
545
565
496
3
952
71
43
351
860
507
2
867
823
753
267
185
918
733
157
424
106
412
321
480
280
73
530
96
697
853
514
468
851
54
576
102
961
527
437
668
268
980
91
438
636
466
748
805
975
911
865
689
203
252
797
395
935
575
220
291
51
201
489
601
236
158
974
928
762
447
269
429
491
433
622
106
986
790
325
821
740
617
77
481
745
70
667
897
136
483
334
477
232
146
556
123
859
690
286
710
422
764
777
681
879
19
724
964
480
27
788
793
452
174
724
849
144
42
483
814
759
70
869
770
872
748
42
621
446
160
694
614
721
90
41
882
437
897
474
428
745
17
181
319
443
734
487
836
759
322
854
700
108
449
96
377
61
709
787
516
839
687
615
702
418
995
23
787
135
185
998
599
12
88
848
185
118
181
900
345
219
267
829
759
531
418
335
756
583
454
602
799
105
610
848
676
792
888
382
298
53
502
260
484
29
668
416
268
793
612
596
31
692
406
928
303
866
827
6
405
618
321
868
543
199
793
811
98
355
264
284
266
603
244
800
692
198
826
40
542
47
691
766
790
779
83
247
370
710
303
701
152
625
956
458
996
104
437
579
500
756
807
514
913
340
389
18
295
130
318
722
47
463
259
760
247
424
956
527
457
810
605
569
349
835
616
765
515
832
297
213
823
973
546
993
525
875
788
309
824
749
794
222
733
598
855
929
696
618
124
882
679
41
163
89
765
707
830
740
180
730
205
597
351
223
758
7
412
411
676
825
534
220
692
377
349
645
392
37
144
611
510
409
731
840
430
371
521
388
481
216
74
791
106
924
921
220
448
593
399
117
609
616
641
668
941
364
187
751
574
692
95
635
398
86
935
900
484
540
227
811
183
719
658
163
81
235
63
185
718
296
610
7
923
960
491
525
27
853
817
295
673
401
217
76
14
381
601
405
630
360
121
282
480
632
662
689
846
41
570
818
9
460
999
612
798
650
469
635
229
779
486
102
950
517
81
600
665
187
906
859
521
885
415
370
876
914
306
480
157
634
510
465
466
621
132
906
702
671
483
402
205
29
648
195
499
970
662
55
694
629
796
441
709
460
732
425
727
383
278
810
482
267
985
945
215
716
513
201
859
744
208
313
804
405
337
937
333
216
167
66
445
977
791
497
574
127
639
923
350
489
876
459
710
6
921
659
959
863
454
66
481
304
810
940
818
180
248
878
731
399
230
735
864
742
876
821
517
320
672
514
770
928
807
274
223
761
133
204
89
818
217
159
516
821
976
730
794
714
732
875
523
131
616
609
594
768
825
963
703
835
401
894
243
881
745
102
706
682
559
209
102
473
444
558
84
687
653
222
805
7
994
884
659
686
828
353
60
397
395
654
370
732
111
761
724
729
894
942
587
706
912
606
935
108
428
414
155
534
90
365
272
351
470
170
889
47
161
166
992
902
356
109
867
296
670
975
52
16
959
393
506
446
958
252
966
897
822
804
169
942
756
671
258
622
801
567
272
444
852
503
180
18
758
794
773
969
563
590
96
865
944
959
482
707
180
300
154
364
735
169
431
306
152
117
113
830
807
737
648
64
280
58
460
822
33
835
3
375
681
202
712
498
905
696
904
783
426
574
133
560
993
360
980
108
825
497
29
58
852
216
512
24
301
982
988
377
362
235
60
695
804
17
635
230
313
994
184
501
331
152
46
697
760
989
358
299
234
697
803
279
420
244
61
223
556
153
480
341
970
965
592
667
758
414
269
245
332
214
798
887
493
289
632
612
128
847
549
419
298
56
428
929
428
264
260
213
563
315
716
247
171
785
101
157
341
631
405
197
696
583
848
803
264
271
111
393
441
9
410
757
433
27
712
278
693
759
962
351
463
390
21
472
568
822
184
659
464
454
699
632
331
581
789
158
354
380
855
843
284
470
297
451
282
893
661
738
64
637
803
8
60
75
369
860
47
383
578
377
808
389
207
656
529
694
379
202
7
300
241
312
80
490
677
481
276
63
375
251
895
181
81
19
264
358
669
797
796
275
968
120
560
522
939
287
88
808
181
479
552
35
296
359
603
864
885
345
602
794
256
531
37
670
657
640
236
494
110
728
950
381
646
251
261
348
307
567
309
587
95
815
676
522
807
300
923
106
729
449
775
70
805
594
405
670
310
407
683
547
699
545
33
763
51
716
5
262
43
508
136
117
137
950
873
947
179
261
557
830
235
882
721
990
368
706
252
483
462
82
916
670
765
707
210
951
850
382
656
796
137
744
4
158
960
235
313
151
964
997
323
734
930
124
790
491
455
745
283
542
717
236
509
282
475
862
719
913
562
442
11
550
166
440
501
330
676
855
217
64
366
192
104
385
405
79
419
818
100
433
262
293
550
304
998
537
68
457
146
773
847
867
987
178
611
315
122
858
675
875
244
532
79
758
483
983
449
673
579
27
781
108
956
305
633
596
660
273
266
349
976
104
692
18
157
520
47
240
190
218
173
710
695
113
665
886
421
763
959
188
21
647
142
255
669
876
229
244
725
262
243
7
16
60
626
230
704
940
504
271
570
653
2
227
949
845
442
692
804
625
591
762
764
944
481
957
16
923
296
976
24
984
793
644
39
796
646
748
114
719
763
162
553
56
917
194
787
399
847
994
528
594
895
131
658
625
717
357
188
599
510
151
607
812
20
465
770
57
52
562
703
840
986
587
101
569
431
621
46
188
514
965
934
929
720
248
964
970
569
622
205
609
580
422
902
682
99
875
293
730
586
52
223
338
886
210
195
76
397
3
789
425
563
674
646
338
714
621
943
1000
827
31
574
125
201
879
608
37
687
592
45
241
251
76
747
675
27
178
134
692
462
721
947
391
921
912
819
693
198
186
742
898
335
347
322
493
268
262
329
465
787
46
179
939
473
274
743
287
757
544
756
602
6
781
486
453
172
454
702
217
589
816
827
609
82
249
551
561
250
66
220
173
229
571
354
571
496
229
747
59
711
822
143
874
980
662
695
235
68
128
690
723
936
638
389
766
839
15
684
959
256
544
212
416
581
577
168
983
423
375
972
313
506
586
919
265
805
144
536
795
394
68
322
272
607
518
935
866
40
69
307
946
974
93
793
797
633
107
28
394
69
405
60
239
730
399
343
593
462
634
566
38
412
420
108
374
419
856
482
52
495
389
402
16
386
113
183
310
697
51
881
35
941
934
640
244
4
302
195
254
620
400
661
615
676
229
534
149
26
44
134
296
616
168
151
380
472
463
383
867
87
460
691
681
838
603
674
805
363
164
581
113
957
874
945
895
117
591
240
160
286
872
107
814
418
870
18
11
162
141
54
216
553
499
697
346
88
493
341
703
558
5
353
426
793
557
550
148
971
58
46
556
102
170
504
278
751
674
399
116
160
997
195
515
817
178
553
885
989
855
355
536
378
723
575
700
620
207
135
814
110
61
175
548
743
222
681
335
212
34
309
624
699
220
605
127
265
318
888
346
50
960
282
314
238
55
485
543
996
631
517
209
10
725
1
662
850
518
361
218
539
796
455
418
558
34
261
164
95
594
555
676
841
530
141
707
69
200
603
345
81
840
326
269
997
178
222
695
535
754
418
18
186
530
720
533
1000
778
296
388
312
564
391
608
120
567
411
910
975
682
90
142
647
248
299
509
482
331
374
429
141
102
236
628
386
815
872
543
157
679
83
20
705
952
692
294
302
304
665
573
84
419
717
350
35
628
515
849
743
227
766
6
189
423
643
111
818
887
965
209
768
56
920
701
668
732
50
942
983
957
943
683
598
746
536
373
470
229
72
427
732
556
732
899
426
932
593
304
706
292
504
610
730
702
332
712
308
541
620
152
761
802
820
45
954
878
144
119
217
668
808
325
395
445
767
245
661
910
85
5
645
118
737
44
542
704
406
91
898
610
31
392
22
234
592
148
599
956
834
551
216
6
617
418
455
106
590
342
9
448
553
966
946
923
466
260
872
611
806
3
675
253
932
789
704
41
723
798
858
822
26
884
345
716
608
456
884
254
594
814
911
394
245
25
829
26
451
420
711
658
650
629
233
104
457
742
962
165
979
176
175
767
922
801
956
79
261
166
356
874
338
349
239
106
718
182
703
175
156
410
211
424
762
675
500
738
733
442
623
275
878
609
680
408
774
212
851
306
776
273
86
62
97
472
984
162
279
295
147
163
976
542
779
66
871
639
168
230
132
636
390
66
110
738
788
881
664
500
226
372
749
611
891
244
634
314
333
707
446
484
662
912
308
393
127
48
51
275
132
723
144
926
84
472
700
815
310
124
202
328
833
206
12
327
564
513
844
282
499
15
341
331
458
440
656
546
162
465
5
518
893
76
491
35
351
290
243
947
16
187
350
48
222
697
568
787
188
475
176
710
788
523
382
31
484
918
156
973
211
244
474
121
661
376
1000
707
842
718
473
533
356
654
961
533
237
238
45
850
586
841
356
511
968
427
42
342
777
655
546
107
790
547
238
64
798
876
180
800
922
421
996
73
516
886
226
664
434
62
675
943
498
938
491
290
559
63
33
952
503
994
696
214
316
995
6
823
706
617
289
96
535
364
766
842
612
546
595
619
968
930
988
280
579
350
103
465
614
488
577
112
499
339
266
847
384
945
257
617
776
458
939
357
655
64
400
985
269
62
429
261
520
13
828
670
116
753
156
407
553
895
906
949
695
503
293
43
161
816
877
639
823
555
475
497
704
823
781
884
522
140
663
892
816
557
471
602
33
929
183
455
388
401
513
693
865
775
114
707
80
334
653
140
235
599
539
719
565
440
482
984
341
689
246
169
474
96
421
68
92
973
828
122
985
908
858
688
612
732
490
842
853
74
914
313
715
907
560
27
555
40
81
762
199
591
792
882
115
945
193
779
674
741
690
59
819
948
876
525
404
484
494
215
208
72
263
126
647
217
209
337
275
965
848
186
694
856
267
980
952
615
960
459
557
379
690
463
718
992
688
336
113
338
586
672
168
691
516
215
969
510
95
112
455
110
544
808
797
389
444
53
728
73
713
716
43
19
286
798
424
236
675
247
293
283
953
733
710
645
32
549
454
440
513
274
821
735
784
642
890
885
740
350
38
308
756
328
621
751
500
118
739
344
780
465
483
754
27
960
706
645
73
333
678
776
424
67
350
571
868
351
704
55
530
448
678
179
778
316
985
76
81
16
944
116
483
859
652
324
331
642
8
7
563
897
636
352
287
662
285
51
955
627
694
555
677
91
817
552
281
378
871
653
269
615
399
78
691
301
785
819
921
387
25
781
922
580
999
963
114
946
839
8
75
840
152
585
284
439
699
659
919
524
361
498
949
7
490
507
920
654
523
427
550
778
356
226
183
387
818
68
641
649
274
623
387
106
525
90
836
545
193
971
740
561
455
116
817
811
686
781
432
157
103
420
966
9
662
27
783
446
817
933
562
516
415
268
481
794
757
489
659
867
963
699
789
491
211
490
852
899
969
524
200
820
96
372
285
899
952
139
87
97
987
75
722
672
355
285
48
149
537
989
875
824
983
337
95
417
495
990
405
744
440
570
29
14
580
91
862
204
33
167
247
958
820
649
752
323
157
376
944
718
116
139
575
90
349
230
782
331
989
621
689
971
10
393
777
236
108
324
107
975
635
540
461
618
440
375
485
275
967
268
801
897
101
462
25
982
312
115
690
496
211
955
909
973
24
700
272
720
831
663
138
498
273
33
414
767
370
390
939
531
585
582
202
12
86
511
167
812
792
908
309
39
153
477
755
678
77
405
983
135
11
931
851
794
120
714
50
60
791
742
331
965
652
195
824
875
725
390
675
905
690
466
612
517
266
137
307
272
263
336
952
949
134
150
859
63
694
171
699
431
177
317
285
502
362
102
23
100
751
531
212
878
629
435
61
170
513
149
680
583
452
795
956
870
592
997
678
812
544
269
792
63
263
980
183
594
497
680
296
507
545
964
629
653
759
484
859
754
147
494
491
175
165
947
362
993
693
149
831
684
262
557
301
249
476
189
430
380
146
392
709
291
286
677
603
853
676
879
532
881
135
532
432
160
28
949
934
712
315
9
333
172
132
404
788
529
620
4
249
518
203
714
285
692
609
928
778
591
106
475
986
188
120
333
527
517
626
704
690
894
490
756
698
39
277
848
408
307
366
770
86
788
789
694
753
834
854
742
569
432
577
855
54
112
638
754
848
408
782
503
304
29
298
366
540
658
75
887
401
577
800
865
984
76
2
633
404
363
671
848
183
888
343
252
696
244
447
316
484
663
312
497
439
609
219
476
544
495
536
177
909
56
863
176
560
671
620
184
387
224
409
80
999
529
563
259
207
156
874
417
790
889
579
51
560
885
496
802
112
401
753
68
685
371
959
326
328
131
638
270
539
557
39
393
257
652
415
645
618
346
898
945
339
545
333
589
540
447
14
445
629
647
106
57
742
164
45
492
558
435
898
510
797
220
611
277
108
551
76
840
840
131
629
340
324
5
102
93
441
740
307
914
515
360
453
311
329
606
499
115
84
632
719
534
828
607
162
671
507
311
614
199
346
50
732
606
106
223
702
656
728
313
392
494
779
263
603
901
174
918
50
935
752
545
72
367
301
24
733
712
215
206
612
918
241
863
950
47
96
891
548
26
259
931
800
46
682
271
10
405
566
202
456
470
476
695
86
39
706
533
837
208
703
152
134
151
849
409
110
174
845
404
969
789
955
434
920
485
744
684
93
111
918
457
761
654
992
905
58
931
750
657
753
235
564
452
253
805
821
791
645
730
313
874
489
146
66
239
381
154
830
70
410
317
168
109
268
327
221
542
420
442
222
438
449
940
322
371
300
874
687
432
475
268
694
574
11
626
430
637
227
602
382
581
89
366
579
581
386
289
661
672
698
937
470
279
546
777
744
464
572
770
409
712
266
364
329
98
182
354
250
891
984
748
547
116
267
386
953
578
696
794
459
228
119
609
654
488
899
74
786
128
453
673
681
497
877
864
956
156
243
557
977
742
40
277
127
124
610
906
330
3
728
86
919
298
772
962
426
267
359
357
289
341
61
821
802
700
874
861
363
893
513
43
132
95
394
347
253
226
83
585
116
924
944
123
701
565
56
899
835
490
796
626
132
956
800
832
644
96
650
580
393
615
763
367
147
107
575
669
862
397
773
832
489
8
953
937
354
888
796
388
454
632
507
292
735
682
670
642
351
191
207
953
688
425
246
289
836
243
739
389
85
877
622
548
391
795
32
632
950
155
654
544
273
137
146
718
413
769
275
944
74
214
144
522
357
713
699
154
43
518
170
699
670
773
145
80
580
864
150
157
517
38
213
197
92
967
27
658
758
626
424
309
593
962
695
195
233
138
618
698
50
856
19
79
251
509
445
132
497
741
92
490
275
475
492
294
768
614
69
116
532
4
102
481
719
23
938
523
400
187
54
121
305
864
922
899
626
972
753
693
294
550
605
133
78
100
754
386
703
752
135
671
37
50
674
613
84
841
870
560
300
156
154
30
232
224
511
583
465
359
127
100
767
741
864
634
895
127
811
960
319
442
859
943
205
39
637
612
589
459
422
74
658
361
548
453
697
557
26
953
409
891
336
985
334
765
903
19
178
695
624
101
95
639
9
472
408
45
460
440
215
287
354
199
717
335
624
798
591
470
202
729
214
190
955
14
719
106
332
487
451
301
585
663
716
571
628
446
344
345
910
478
350
360
540
101
880
70
561
691
817
918
207
830
688
235
588
153
825
253
758
449
559
828
479
696
893
422
706
535
567
885
706
487
279
731
452
316
908
263
985
790
58
33
171
32
533
440
757
957
239
482
906
221
623
618
357
649
987
786
148
303
623
502
934
469
549
325
50
954
382
694
116
851
157
789
396
86
814
532
450
735
98
487
301
82
849
289
141
542
315
120
376
98
285
979
490
701
176
263
788
544
148
862
618
599
144
600
728
71
350
620
447
517
218
519
420
958
490
254
655
422
703
545
534
913
743
240
500
523
688
239
636
603
292
192
929
429
816
970
579
183
524
437
209
967
699
921
115
880
640
272
22
957
522
941
513
574
678
7
880
380
856
171
209
214
546
285
203
601
297
340
47
985
276
872
634
414
287
640
958
491
500
645
680
994
543
612
911
168
199
555
321
212
668
65
366
860
542
937
529
923
598
896
831
858
632
2
170
656
844
570
153
820
286
295
714
472
11
332
748
519
88
752
323
942
553
84
60
677
582
127
547
89
121
589
271
247
444
519
424
411
195
402
176
576
98
320
2
153
444
310
946
436
531
689
990
353
601
665
351
426
628
471
553
477
523
365
238
379
888
34
455
818
223
982
128
7
193
777
82
835
373
120
375
942
706
780
568
191
399
296
502
950
705
727
997
953
816
813
783
197
558
915
147
587
630
382
450
209
312
624
635
874
994
382
932
327
804
942
160
263
806
820
191
329
881
696
712
752
942
336
810
637
605
94
192
617
822
986
6
871
824
851
657
244
617
43
670
753
913
766
283
667
886
767
992
195
246
519
216
938
307
241
473
842
327
118
996
254
773
370
860
378
675
446
895
231
901
812
626
885
845
594
571
51
617
181
132
633
759
821
96
998
748
991
986
368
651
370
961
628
329
209
998
769
550
652
108
757
887
564
578
690
706
442
78
981
777
213
104
370
568
21
695
897
218
775
469
422
320
956
412
289
626
223
625
703
190
652
44
917
400
751
17
829
667
919
937
507
770
690
395
309
239
428
531
226
875
868
475
388
793
737
670
732
248
295
32
268
398
950
82
945
562
42
358
43
795
251
102
513
970
704
367
109
509
807
840
148
557
453
141
877
299
964
111
658
656
490
234
729
70
942
356
93
239
239
516
205
173
585
96
647
260
680
950
58
932
852
791
362
396
434
658
91
739
934
366
438
886
712
126
398
467
925
234
448
302
67
886
817
208
183
667
256
47
602
788
892
987
984
10
847
991
600
42
645
872
99
541
121
252
290
513
353
222
558
823
59
362
275
117
556
841
27
823
666
373
278
70
214
303
437
416
966
126
716
810
275
113
111
633
459
76
90
548
356
567
208
356
906
415
556
753
993
237
724
571
182
875
896
683
224
464
740
595
182
940
16
436
572
850
36
5
406
494
287
878
370
597
208
957
480
480
99
338
270
668
559
649
29
399
547
260
912
475
699
969
51
512
410
177
423
776
12
405
505
745
771
876
819
890
361
313
371
216
588
361
618
956
595
538
498
491
203
951
152
130
742
6
133
854
307
549
429
573
429
44
537
342
418
717
640
62
134
783
39
240
707
21
77
736
31
876
758
972
793
971
373
161
637
963
500
996
837
80
292
878
105
713
671
381
290
590
832
942
38
107
663
345
90
765
778
332
602
688
685
439
199
211
915
643
502
338
827
557
278
970
265
931
209
677
423
865
866
379
708
958
755
248
374
376
66
245
357
646
513
143
558
608
109
744
92
115
235
237
582
314
200
385
314
88
420
204
807
240
263
27
123
413
326
90
739
817
889
620
379
507
940
585
406
716
12
661
968
38
807
285
644
546
976
989
141
678
163
657
640
364
907
387
219
348
69
831
160
824
781
515
406
280
984
93
281
968
827
100
74
268
366
723
126
503
692
962
279
352
36
11
199
638
742
917
463
832
783
465
556
798
142
631
491
602
990
493
899
1000
454
293
919
910
730
960
791
589
513
271
717
703
572
355
37
507
237
281
724
804
74
350
772
468
835
328
604
964
334
958
838
267
517
884
716
39
153
78
382
963
176
123
211
357
644
403
104
489
65
233
942
127
792
187
972
796
154
192
839
967
41
354
877
894
937
471
37
396
663
838
838
809
737
697
680
221
964
325
872
208
122
287
175
814
297
932
416
506
597
671
83
301
324
106
239
576
243
711
366
906
959
215
318
303
62
106
865
15
248
396
469
825
569
712
976
458
610
274
379
288
891
12
186
801
480
92
529
653
359
953
111
266
302
672
310
970
993
127
415
567
212
406
966
735
235
533
756
316
319
599
620
136
685
701
960
592
937
598
227
556
623
384
41
313
845
35
87
179
901
160
175
68
171
87
156
968
613
370
278
302
331
927
192
226
68
375
389
207
511
593
265
596
922
904
675
328
915
893
738
677
898
4
993
934
81
312
408
256
393
845
417
540
141
17
963
646
618
579
390
907
814
133
984
43
74
811
46
823
633
69
748
734
144
646
590
419
476
767
195
874
187
555
722
677
227
968
579
993
878
970
990
426
170
925
98
254
660
754
791
359
648
648
244
52
443
977
537
577
477
711
654
916
574
501
80
109
752
600
262
406
602
487
674
654
410
717
588
518
508
96
385
389
687
442
17
845
129
868
228
686
684
997
29
213
393
598
214
126
652
227
414
962
145
833
246
960
863
746
637
889
443
342
681
370
941
686
154
462
773
992
564
698
984
696
236
761
46
644
416
983
555
634
133
470
734
985
146
641
605
75
114
837
268
60
191
283
490
44
263
593
334
671
180
176
866
38
822
656
160
683
306
927
382
85
967
451
843
469
60
68
174
139
735
385
78
449
66
656
889
350
464
748
326
67
251
785
203
579
924
552
650
442
989
351
788
936
54
592
765
127
57
153
549
82
987
133
382
579
753
557
80
411
369
228
8
523
575
546
294
460
775
20
39
616
842
959
966
802
812
968
98
371
949
276
139
407
233
360
915
514
831
461
5
796
852
513
476
528
504
631
37
595
940
559
712
335
63
302
268
767
994
886
933
314
922
965
357
13
279
906
885
291
431
160
575
728
931
198
560
485
309
582
278
820
953
816
641
25
497
405
357
813
528
979
126
678
913
603
254
218
507
749
154
657
149
295
818
376
373
902
96
991
136
298
166
342
483
243
228
634
349
920
12
534
213
99
998
539
185
366
511
474
326
156
915
308
681
705
502
14
988
773
811
823
664
161
40
179
186
3
708
895
585
902
263
16
589
87
612
766
914
818
330
561
347
763
172
475
421
439
395
637
985
659
706
329
396
887
63
469
225
977
250
85
147
344
275
167
283
689
133
869
326
482
421
455
567
975
716
667
391
431
718
289
365
622
552
870
550
862
218
77
121
456
695
281
927
533
728
26
460
712
83
563
965
731
120
683
225
951
519
307
996
89
600
667
309
642
696
471
674
975
437
260
40
818
74
356
94
196
9
856
57
578
660
803
204
823
719
84
508
281
795
488
914
523
687
202
844
192
916
47
6
256
775
845
391
326
267
671
557
757
79
988
97
807
110
368
463
260
944
282
498
67
955
849
88
109
775
834
300
642
24
762
805
454
85
373
295
914
582
131
598
999
240
745
1000
985
209
245
502
54
769
679
976
385
256
17
712
762
192
244
687
643
359
350
281
905
829
282
933
814
194
783
631
838
128
512
992
698
911
97
830
966
360
275
680
310
55
310
818
811
323
3
410
228
659
622
695
180
173
688
921
936
78
690
229
280
928
332
976
549
549
560
967
600
79
916
315
751
246
472
27
295
249
329
788
908
808
460
207
549
725
614
919
497
750
971
955
839
179
872
354
371
68
353
307
139
58
321
323
75
671
482
330
38
743
439
364
943
828
332
933
816
535
858
63
552
673
227
513
747
460
781
109
362
832
578
359
169
798
563
74
572
842
224
971
764
864
626
124
851
908
586
870
901
866
84
729
66
363
597
430
126
660
283
461
575
190
364
361
37
449
136
368
763
690
16
947
608
358
186
692
246
695
367
40
913
259
630
292
179
252
987
262
283
655
418
853
696
592
881
797
11
942
806
632
673
715
57
421
321
248
155
741
777
697
81
758
894
357
807
559
51
979
834
515
552
295
209
428
583
345
250
808
374
801
432
153
80
43
642
774
775
300
791
547
300
177
611
549
986
293
89
147
677
492
941
598
852
170
702
972
257
806
369
993
943
912
48
165
492
823
750
925
998
957
396
795
645
161
87
728
54
804
322
629
272
568
464
785
952
535
206
300
173
100
981
333
423
664
633
706
486
72
195
83
998
892
814
121
553
327
692
656
101
652
800
218
688
343
858
713
730
501
217
310
983
60
498
45
537
228
951
784
169
569
563
575
293
237
909
840
429
143
639
21
675
290
295
708
183
880
153
149
14
405
303
659
275
749
734
81
214
636
152
358
972
471
345
315
469
918
262
234
46
34
558
46
819
902
879
281
419
232
977
196
388
642
53
966
781
661
72
419
896
120
12
91
214
594
240
490
651
604
626
234
579
812
218
885
872
334
202
500
887
969
120
544
922
269
415
479
306
940
538
110
193
207
657
839
207
317
937
164
990
878
830
265
691
72
965
595
620
96
260
652
951
424
170
898
970
262
76
318
565
602
814
871
915
409
14
413
583
912
681
954
613
192
330
96
660
7
982
918
258
486
736
917
716
105
815
130
944
518
304
883
689
53
130
799
571
446
571
269
67
332
506
508
41
716
426
624
745
493
202
626
35
28
592
624
253
536
57
229
571
297
650
578
146
481
862
485
150
507
777
945
775
281
248
653
784
946
765
226
941
981
110
978
307
818
463
636
864
676
181
364
452
705
349
54
185
187
621
449
765
547
519
962
459
797
709
92
844
591
328
872
681
94
877
227
90
545
680
937
557
879
728
540
229
601
229
115
90
603
612
514
332
429
7
511
886
336
106
973
751
988
212
745
679
88
260
595
618
176
615
41
261
222
524
270
443
955
702
792
325
903
598
317
343
789
526
974
953
348
282
851
176
519
205
930
878
831
121
131
321
248
299
357
23
486
489
189
436
774
508
9
262
385
946
4
666
916
926
814
580
675
436
396
196
567
432
615
27
621
652
66
25
720
441
966
384
401
494
602
969
430
165
701
568
868
272
762
307
676
917
659
74
443
7
725
239
817
902
246
176
498
882
700
832
194
120
370
21
931
87
491
457
443
726
440
58
618
864
990
233
332
799
15
956
380
977
110
903
311
299
747
198
426
419
646
546
679
326
843
745
152
562
579
283
686
45
52
486
347
286
605
148
781
42
336
661
360
657
234
859
892
294
906
813
642
826
188
679
911
572
449
220
687
304
207
24
686
572
380
382
170
314
922
85
883
27
716
831
657
366
829
302
515
582
274
559
383
572
680
332
920
557
507
238
434
355
860
24
8
1
608
123
624
84
799
445
653
36
606
84
264
179
918
713
947
239
297
899
841
28
364
940
712
573
278
38
10
64
779
265
10
410
83
844
284
682
4
847
267
302
765
634
604
192
787
403
878
122
998
479
117
818
784
686
732
408
732
639
407
56
967
435
663
808
419
589
770
679
687
649
935
327
480
228
701
723
656
577
522
995
454
807
813
553
757
978
773
838
710
974
289
843
814
274
809
448
498
825
428
530
289
90
748
933
157
718
714
48
759
999
950
182
915
883
204
619
517
516
598
305
859
457
668
972
821
746
127
35
216
64
273
243
916
89
334
926
139
222
817
227
679
80
507
349
511
59
699
709
630
228
279
511
844
528
370
76
841
266
933
737
275
588
825
329
113
788
327
8
224
169
482
939
508
867
861
598
512
21
476
991
109
783
517
748
869
80
579
685
743
537
680
677
570
611
299
923
420
279
163
569
718
597
232
175
642
882
167
684
948
599
436
833
103
141
342
97
691
935
607
526
145
880
789
477
884
333
521
381
775
405
177
79
484
415
298
387
608
613
648
661
802
13
896
892
756
965
69
616
183
660
699
895
165
281
678
897
602
661
17
948
285
710
537
722
293
452
355
727
3
465
465
970
546
277
438
448
122
16
124
436
667
446
6
51
511
920
896
207
968
412
164
729
508
426
666
182
231
293
944
519
86
410
441
846
710
985
844
598
951
601
825
94
726
543
419
739
624
786
747
457
574
373
714
381
513
601
401
480
373
162
514
710
198
147
962
971
318
664
270
307
329
894
530
30
756
73
291
563
239
498
250
490
844
782
911
604
420
554
14
54
987
575
159
224
468
989
184
139
586
265
426
667
260
383
203
654
555
164
677
15
309
419
611
611
825
34
206
976
419
913
722
699
987
535
89
774
864
445
348
554
129
44
159
688
713
283
448
688
115
729
912
738
481
855
56
546
600
296
535
499
144
756
898
42
60
257
17
393
917
604
98
795
296
744
184
776
122
421
184
261
853
987
758
636
553
745
319
225
704
748
65
350
191
193
659
654
610
832
543
459
196
154
381
950
841
508
618
73
667
877
649
454
840
393
916
731
613
508
917
71
26
40
466
302
39
791
646
280
900
93
88
498
789
740
450
61
904
753
571
356
553
230
220
774
326
732
146
287
526
834
581
37
400
405
90
383
927
622
403
600
350
915
998
45
238
202
980
570
194
410
313
866
597
771
506
293
236
586
295
972
525
915
526
796
91
1
615
463
614
620
754
589
826
164
138
576
796
402
353
902
539
554
875
518
851
274
70
653
475
927
960
632
433
687
773
578
270
548
163
748
637
683
101
21
800
740
941
750
644
752
959
7
848
833
332
746
234
253
850
247
941
59
32
357
759
835
276
324
962
377
176
271
339
163
346
471
12
443
763
7
209
510
290
694
414
401
734
525
45
245
986
683
736
332
822
112
846
862
877
823
880
632
664
256
778
848
321
965
745
878
105
207
958
915
250
973
882
248
128
953
151
903
383
773
858
371
396
574
414
722
87
536
228
243
947
982
773
342
789
938
347
376
177
180
609
650
923
457
554
204
413
506
306
962
240
719
143
738
869
707
759
487
530
726
772
894
265
163
384
826
295
962
118
146
203
45
837
337
196
43
380
271
691
423
631
710
966
60
521
934
147
110
4
354
166
472
62
152
550
424
390
648
765
306
791
145
52
827
217
277
244
298
791
664
354
30
120
430
901
928
654
381
63
444
335
18
812
895
644
977
366
761
175
668
359
318
887
702
830
117
235
182
579
695
788
874
659
157
844
869
994
631
930
385
757
568
355
308
924
945
947
320
710
554
879
958
977
567
181
12
97
355
897
545
354
536
187
19
601
231
513
848
478
454
573
143
914
539
774
988
458
12
6
51
20
594
146
266
561
263
5
688
941
530
27
618
313
323
922
204
831
23
619
354
869
473
713
589
475
768
456
314
863
256
557
87
793
609
62
407
794
315
285
378
655
366
537
612
339
248
393
604
178
409
580
876
920
140
742
86
903
255
355
528
559
660
367
202
329
666
399
954
87
562
710
560
370
313
869
421
18
786
815
898
763
858
159
411
114
870
240
812
669
39
53
248
395
384
341
234
119
579
484
82
726
524
127
923
816
918
644
902
896
891
56
569
613
857
111
548
670
117
68
837
885
272
791
230
922
644
350
607
493
558
340
684
24
756
679
170
738
151
154
555
855
323
64
259
793
744
951
335
892
825
80
702
786
596
448
328
473
371
532
77
789
489
914
490
887
876
778
628
796
295
697
98
337
84
873
326
131
876
705
977
63
142
54
465
662
996
78
863
816
305
640
87
918
457
805
573
520
940
739
476
372
337
137
45
257
988
274
480
977
813
860
82
45
599
875
934
727
823
841
895
766
380
310
885
57
55
635
18
974
554
945
617
589
403
659
855
617
163
343
579
387
419
755
698
838
582
796
75
491
818
221
489
66
563
142
793
168
170
2
186
833
22
806
557
926
76
548
617
430
196
645
130
658
374
477
198
894
839
306
387
619
795
857
796
231
355
844
186
567
11
110
152
425
998
961
106
273
697
564
693
144
81
401
328
411
404
603
434
391
362
788
72
817
686
91
739
756
369
631
778
456
628
938
96
352
302
617
802
225
134
884
909
51
408
344
842
25
186
743
615
319
494
315
226
929
375
604
324
896
170
934
89
370
655
989
714
460
63
787
160
735
124
729
398
192
954
134
896
511
335
338
472
811
798
730
962
477
328
148
538
213
297
902
335
869
280
239
497
924
98
344
745
612
553
512
782
675
974
898
25
93
898
372
556
482
169
541
758
335
726
535
30
677
865
934
535
412
671
712
704
289
234
92
497
599
469
544
208
850
235
352
201
302
927
106
644
790
372
814
88
534
751
720
489
177
938
812
14
656
736
897
689
982
39
568
688
522
687
847
352
137
408
623
765
430
928
291
225
832
480
995
7
468
621
538
976
498
7
798
90
456
609
144
146
660
516
679
661
623
71
665
657
773
286
482
619
845
105
972
374
984
814
346
123
863
138
503
17
437
162
961
3
943
691
257
86
40
280
84
341
336
625
998
598
400
736
101
344
647
439
89
796
307
586
184
895
181
198
321
421
985
842
508
827
830
545
56
672
412
736
987
271
805
567
97
678
947
869
778
338
41
534
615
431
626
199
250
662
699
569
718
651
482
60
771
521
21
664
175
272
215
178
318
427
124
370
273
348
571
466
125
746
734
858
897
136
246
646
668
355
234
209
755
322
720
467
485
111
732
308
665
777
356
620
806
478
224
979
15
961
41
802
195
508
508
487
186
535
939
147
902
247
99
159
566
527
25
662
724
62
961
121
648
458
66
128
701
560
426
593
106
4
483
954
585
670
270
317
641
380
912
161
963
155
903
822
245
118
959
660
244
423
611
763
795
918
735
222
457
774
884
207
307
562
385
570
238
868
50
752
835
603
377
192
766
400
560
567
150
371
441
377
198
200
544
708
674
831
487
539
902
742
351
110
373
406
994
532
752
164
479
180
763
740
385
114
107
543
929
567
931
564
298
978
893
88
853
959
325
780
442
862
815
563
818
423
218
464
298
742
107
650
599
61
861
63
861
553
894
119
784
361
957
107
263
632
646
807
133
568
67
889
725
780
518
309
453
234
202
914
33
664
106
612
877
129
819
290
505
939
199
214
533
304
843
658
322
725
491
360
308
43
449
745
263
705
586
901
221
558
695
321
839
137
291
794
39
753
372
409
376
690
123
281
502
603
520
696
226
869
742
11
374
331
168
532
551
375
481
254
388
103
692
679
664
529
439
768
736
278
658
889
791
87
638
715
43
773
375
318
556
962
990
20
620
661
498
310
154
634
661
417
700
646
457
749
565
324
267
10
492
615
37
978
272
593
391
619
942
601
202
996
201
181
920
259
861
315
906
228
907
373
409
415
345
526
885
704
84
547
395
869
144
625
830
997
718
196
537
172
775
287
329
257
914
910
229
45
141
407
978
802
256
125
456
834
165
886
606
475
528
155
425
607
256
73
167
277
153
239
913
989
546
53
995
511
81
224
338
254
407
412
261
318
359
899
160
924
331
787
105
881
12
212
467
844
620
954
193
654
533
597
161
719
326
361
164
645
407
405
396
971
363
626
400
694
531
74
378
810
729
766
104
109
755
31
871
889
178
319
460
538
565
149
472
192
433
746
68
235
603
225
846
815
804
153
660
369
983
808
747
49
651
273
100
399
731
418
766
953
459
970
799
992
992
853
286
605
297
806
20
915
867
277
735
228
292
832
184
437
873
935
598
434
492
950
75
172
156
330
654
39
177
316
202
261
666
889
615
546
835
567
352
741
317
20
394
854
732
148
17
607
242
847
979
535
269
187
432
212
285
519
253
208
167
476
949
113
521
931
459
764
360
918
31
993
957
309
232
956
623
933
879
520
781
244
688
127
472
714
52
383
437
741
248
722
167
417
610
54
922
293
874
845
658
619
47
377
401
252
724
402
608
895
630
516
682
762
341
842
719
882
796
87
89
313
837
493
912
460
599
469
35
406
280
7
862
725
43
678
529
409
788
893
109
978
39
110
306
853
75
451
825
66
466
442
280
925
20
230
806
567
273
3
734
749
270
641
689
302
745
774
998
750
199
632
276
311
774
720
296
58
549
863
663
91
677
979
966
238
280
31
200
213
44
994
920
900
330
527
455
153
446
215
281
219
227
721
664
8
889
809
620
167
219
520
183
968
718
902
189
387
644
971
979
336
928
669
306
97
940
420
338
139
198
102
763
51
333
404
101
429
59
889
36
112
407
853
947
635
887
946
121
754
324
44
18
843
93
887
991
90
991
423
345
548
447
330
815
404
625
501
810
404
655
249
873
865
686
801
449
887
885
391
384
520
39
92
908
591
342
488
353
98
901
891
13
79
120
768
867
711
758
776
202
403
664
343
706
774
573
957
429
991
234
795
633
461
554
929
711
908
656
760
213
702
461
174
981
592
366
809
336
131
504
14
294
514
709
624
702
143
52
474
639
840
338
125
629
316
538
289
710
236
655
685
71
463
762
549
736
270
959
979
492
67
363
633
390
46
680
124
671
851
286
973
814
492
288
729
236
868
519
5
1000
450
701
294
387
568
190
380
635
698
477
585
873
355
46
191
207
683
180
667
577
972
27
213
690
484
906
829
531
902
580
964
719
945
127
40
422
352
973
630
568
329
129
690
480
905
557
76
14
993
538
509
874
294
573
608
162
742
45
620
701
805
701
416
831
911
735
934
243
517
556
521
244
222
829
380
514
812
607
664
433
920
380
856
595
20
677
873
579
415
997
94
257
810
444
145
315
796
657
386
778
529
509
707
183
737
559
325
318
505
667
649
743
388
556
17
544
889
984
250
694
727
295
798
44
291
307
650
913
898
907
5
676
711
696
255
417
566
411
640
932
928
349
82
714
670
471
53
99
665
81
559
881
907
707
26
80
567
145
70
713
708
603
217
853
93
55
970
182
746
350
933
47
287
710
359
637
920
814
464
188
794
306
824
356
979
944
69
886
591
860
894
263
207
426
813
994
63
154
140
629
784
565
714
200
920
329
261
39
912
237
526
109
504
639
445
837
92
940
415
574
376
612
314
810
129
363
393
203
437
850
357
535
916
571
996
534
814
993
19
536
800
604
901
23
868
524
520
294
959
448
383
252
931
239
601
117
633
698
858
31
168
933
397
479
848
253
309
492
171
203
685
648
307
966
766
86
265
789
412
530
194
768
121
631
215
252
167
652
991
684
273
95
495
372
555
951
601
982
688
105
824
323
20
892
874
31
562
786
762
766
57
145
429
10
263
33
803
904
222
650
953
565
793
119
490
901
51
532
142
577
608
492
985
42
87
242
864
426
106
28
784
847
182
51
429
378
473
831
564
496
6
463
924
455
503
272
759
646
168
726
218
563
429
928
363
809
678
310
438
91
169
51
604
943
798
578
516
120
362
461
239
455
542
613
653
536
239
358
948
789
327
708
382
213
997
675
972
904
118
273
433
754
226
638
157
859
863
755
168
554
485
591
731
600
347
5
215
777
851
195
504
607
238
528
668
126
750
537
95
974
384
953
73
522
461
114
948
45
796
651
375
493
564
8
394
80
557
566
585
296
267
776
596
848
640
417
725
852
443
929
900
88
617
957
227
990
894
581
82
794
900
112
264
77
823
827
331
807
968
729
327
354
949
262
407
473
83
527
623
898
112
726
384
135
544
944
739
359
718
542
545
660
52
891
532
438
986
193
544
56
670
60
843
234
428
826
285
633
895
158
628
944
158
11
713
686
256
698
511
68
8
4
805
938
215
943
596
163
686
308
8
469
912
640
570
168
933
830
377
312
638
964
442
101
358
51
430
969
448
681
430
825
166
775
997
9
580
874
161
800
159
596
503
532
927
962
529
318
384
581
134
405
332
658
449
481
638
37
71
537
538
31
214
273
690
946
367
355
25
930
239
641
221
595
183
827
307
813
870
42
790
14
509
102
432
77
958
591
808
466
899
833
524
227
347
723
262
617
533
797
474
712
316
60
434
402
542
236
886
562
72
345
675
353
57
508
991
569
495
115
327
227
311
487
650
9
306
912
640
911
106
367
838
361
400
974
551
652
123
554
269
686
782
283
204
741
434
121
761
112
403
743
711
484
254
777
169
332
577
511
149
186
188
773
575
561
675
541
609
856
871
653
549
911
608
499
999
140
639
127
498
321
128
606
444
843
174
170
304
822
394
159
554
803
328
555
175
347
610
875
319
87
755
666
805
95
130
672
327
972
829
97
185
361
915
990
789
993
373
205
719
962
359
684
454
16
337
730
48
255
969
876
747
39
113
67
545
236
931
353
247
216
595
838
461
323
287
374
125
470
315
960
635
957
861
395
803
422
586
757
771
286
497
710
565
120
922
982
348
893
795
773
362
495
482
109
183
245
966
129
641
624
927
635
644
934
470
610
724
814
967
141
402
296
691
398
482
858
682
536
472
9
136
311
924
570
594
201
939
782
289
137
463
860
786
883
144
592
434
290
13
765
315
49
646
491
726
229
851
397
731
451
832
34
916
181
142
55
300
502
163
801
483
795
810
342
895
157
121
750
596
445
953
253
832
22
412
48
465
192
344
202
574
188
592
226
1000
465
809
752
477
382
328
320
716
647
812
476
153
871
723
633
210
95
131
306
573
559
895
185
435
124
68
669
581
323
254
761
935
749
80
975
364
112
676
821
375
656
346
428
138
590
64
319
49
836
659
824
520
604
322
836
851
836
355
332
299
999
168
223
487
880
641
552
452
226
32
152
945
270
9
447
335
214
571
595
410
863
455
332
531
715
686
852
98
13
428
277
734
143
564
520
339
733
522
974
31
444
664
357
153
644
811
669
948
443
409
635
855
966
359
594
15
842
350
228
465
158
887
727
457
345
109
580
74
556
650
862
44
47
229
885
332
853
232
222
888
832
672
953
884
148
786
92
291
118
270
414
567
173
187
998
48
424
987
537
747
614
301
689
406
51
929
663
280
294
217
227
315
289
768
613
847
853
408
49
605
205
618
918
411
964
24
758
997
997
899
979
69
913
944
239
562
681
413
32
110
515
597
339
734
730
80
89
565
342
426
623
178
885
151
106
6
866
27
807
564
244
41
672
810
969
207
610
40
785
238
747
432
755
801
651
604
770
441
977
128
889
973
164
425
849
476
37
152
292
641
802
749
839
684
437
837
417
566
426
906
81
530
515
757
827
572
91
621
378
350
55
626
9
305
956
337
776
142
369
103
499
360
89
794
110
264
821
824
683
512
261
961
981
993
523
743
969
557
843
13
478
98
871
7
367
539
139
459
703
320
938
663
447
866
581
659
837
488
77
155
610
636
888
892
871
317
818
112
594
182
299
325
506
744
284
831
548
984
150
845
609
58
131
366
20
774
667
69
495
336
754
278
349
872
799
495
43
446
427
995
841
496
782
153
564
334
28
412
50
89
544
628
812
673
454
579
737
32
926
994
548
209
593
105
705
395
376
937
762
912
240
372
753
728
751
416
884
786
353
818
273
816
37
846
471
533
282
961
9
494
720
349
433
819
558
872
545
160
540
231
468
883
779
215
145
423
443
34
727
10
749
626
383
372
335
987
126
635
166
518
267
78
477
15
646
351
928
935
790
402
338
268
500
271
202
283
859
718
113
943
250
199
84
350
372
661
205
321
752
193
73
1000
310
152
468
711
631
861
583
445
336
174
896
275
589
966
716
505
14
682
920
813
921
774
752
221
579
464
885
125
522
935
441
664
539
884
79
587
326
991
431
977
933
830
988
726
551
144
314
217
101
230
299
897
844
298
645
371
740
888
842
811
331
151
856
194
952
824
845
353
962
331
333
830
281
647
482
353
337
252
718
627
500
712
837
55
426
635
289
914
77
462
350
382
783
374
604
763
952
142
535
745
245
367
801
322
944
495
994
194
837
635
869
907
155
717
550
622
194
411
521
292
749
52
972
438
230
170
953
105
870
510
865
376
122
358
940
804
301
759
208
208
219
199
408
367
357
812
232
134
807
174
722
680
241
231
564
257
450
594
359
123
188
835
813
760
908
467
419
169
473
910
680
422
289
575
42
345
927
392
305
52
313
97
511
461
272
353
142
782
968
308
838
827
939
543
349
928
765
771
22
120
894
877
251
955
935
540
467
321
149
618
523
704
216
481
845
488
559
450
187
481
744
743
555
180
8
265
866
810
96
195
39
148
226
84
249
477
872
571
140
652
89
830
862
382
636
463
722
267
428
722
827
790
383
989
888
850
341
943
956
450
740
349
557
153
24
11
159
281
781
441
472
316
619
440
345
76
644
86
778
768
602
895
601
634
38
94
649
804
157
874
951
277
570
147
788
780
161
159
334
644
297
864
970
128
933
549
35
233
368
908
890
205
608
518
274
639
752
108
642
566
227
888
348
655
968
968
876
972
119
747
466
733
159
355
600
733
265
740
193
549
514
855
899
713
305
902
587
418
701
390
266
795
280
616
684
8
323
313
341
545
47
200
921
617
830
140
778
333
710
276
473
673
918
483
294
740
495
832
698
3
147
439
521
417
840
450
306
354
479
646
724
974
380
988
446
657
946
557
482
490
971
784
640
182
563
59
386
425
312
101
303
413
751
718
263
623
795
446
435
987
985
125
871
141
461
332
768
56
173
621
589
262
173
412
247
662
256
228
676
26
38
500
81
603
290
25
174
424
534
41
811
571
736
337
567
122
818
901
134
216
717
832
33
995
446
547
55
915
439
158
363
951
807
438
558
246
237
611
17
578
217
228
575
972
297
439
552
70
995
770
679
448
801
125
708
851
584
263
110
955
657
947
640
597
81
159
293
143
401
783
668
142
670
680
225
13
401
682
786
828
956
620
202
111
489
813
356
417
471
915
367
136
912
644
774
933
736
274
116
836
465
271
376
72
378
867
379
751
429
269
877
788
715
597
25
88
930
626
22
209
173
205
455
449
35
163
331
145
790
872
944
176
750
984
39
378
81
439
593
223
606
728
423
360
66
774
263
449
372
39
126
175
753
869
367
35
785
995
541
246
705
171
580
938
240
355
427
668
549
137
161
77
481
104
985
836
680
87
529
183
454
891
263
515
280
389
669
223
139
631
920
514
702
445
591
580
331
447
347
852
288
1
469
878
998
56
754
780
154
784
448
732
661
673
947
529
61
102
911
669
672
202
979
306
988
858
451
326
838
347
707
804
3
712
196
360
402
759
261
561
288
219
417
190
771
219
743
742
827
848
390
611
943
415
663
587
791
754
557
611
724
186
448
696
877
159
957
156
223
17
954
447
7
216
909
998
288
411
454
9
154
984
454
690
246
201
482
577
632
139
184
833
337
520
579
508
435
559
953
256
61
510
313
356
882
356
800
875
307
168
740
309
893
139
827
629
550
185
161
381
668
73
995
22
94
316
699
428
560
432
656
310
384
287
119
873
197
503
69
588
410
474
269
795
737
110
411
270
709
948
801
601
424
86
963
95
630
895
38
957
294
349
732
140
520
378
902
301
279
476
912
792
130
416
662
219
300
652
993
8
309
459
209
767
608
73
187
316
662
405
243
139
93
147
204
417
894
485
406
939
360
893
325
948
825
486
165
202
914
922
322
132
484
252
296
53
293
757
750
22
479
624
629
629
109
26
305
437
913
976
772
185
464
474
974
497
309
36
140
157
730
310
668
445
392
432
479
754
17
182
898
451
463
139
221
791
108
87
912
830
998
594
593
922
819
542
45
549
953
442
55
955
892
75
55
291
618
603
422
413
606
888
200
971
283
861
777
976
80
854
103
798
681
543
387
88
80
619
482
904
771
384
806
945
867
504
215
221
442
691
803
883
755
356
607
30
734
409
20
877
61
437
176
41
538
846
232
989
795
386
590
932
695
145
361
741
950
562
28
386
149
958
543
20
225
385
655
220
246
783
9
480
842
631
293
534
982
420
73
136
599
747
196
737
388
841
153
460
807
376
669
109
173
182
176
871
175
542
731
652
644
395
761
665
367
37
137
327
901
55
116
35
927
398
769
847
17
706
687
558
626
161
50
90
89
585
520
451
71
453
757
123
782
558
859
856
289
438
155
565
954
989
639
779
831
723
926
323
518
216
19
801
644
255
951
691
402
632
34
647
885
125
833
861
855
392
475
826
982
771
487
42
897
579
986
857
175
272
512
41
218
224
478
483
240
100
845
867
580
294
921
102
41
934
177
957
209
656
308
951
277
293
409
962
624
298
943
101
357
263
790
418
61
200
431
626
16
132
872
5
19
603
57
808
131
431
694
162
546
557
284
61
928
118
533
80
768
322
18
519
582
845
832
158
982
75
769
722
400
543
730
209
451
708
510
802
563
223
115
168
993
75
754
424
609
383
99
339
869
247
127
498
477
595
186
979
88
906
436
581
168
829
566
420
682
483
565
824
112
431
421
697
884
874
742
561
742
462
285
564
485
882
359
832
650
334
444
656
278
680
975
185
596
993
398
323
968
291
913
477
437
963
989
260
31
716
298
615
957
84
27
844
101
231
57
922
65
768
178
955
278
853
513
82
956
535
729
715
103
569
968
849
99
748
642
272
244
141
475
630
634
589
799
333
391
123
535
586
405
453
541
438
829
887
781
652
71
383
43
168
492
158
581
930
860
403
686
93
467
226
225
534
837
24
378
871
335
605
120
561
931
711
831
745
744
510
928
802
775
149
256
718
457
482
562
683
330
866
615
77
135
119
904
236
713
10
5
661
444
89
966
788
987
975
809
771
674
422
669
409
470
14
658
603
802
78
211
513
653
750
991
171
930
56
781
412
211
354
673
709
166
205
108
55
454
55
666
541
641
964
490
363
352
535
85
799
666
736
633
506
15
519
286
451
112
702
24
210
703
597
350
119
199
69
396
871
345
583
171
381
425
162
758
171
589
568
84
337
304
758
969
315
664
802
834
290
932
786
73
254
130
619
221
101
377
717
870
808
218
695
875
312
975
686
408
296
604
241
612
481
680
35
477
818
716
148
560
355
792
39
598
552
675
6
963
19
565
575
906
661
846
291
303
280
194
846
493
229
913
361
907
40
132
203
399
803
606
137
192
172
667
991
23
310
630
251
740
362
725
963
685
797
557
49
236
425
961
244
208
127
371
786
7
165
408
960
484
923
146
169
532
716
549
835
344
129
719
206
651
8
974
858
718
321
952
944
964
524
56
961
812
471
391
41
452
516
643
580
570
259
296
222
679
170
347
171
983
161
781
857
392
246
161
704
708
538
387
427
722
60
630
138
405
502
973
44
940
478
595
552
634
85
29
940
381
357
828
772
646
534
634
155
736
553
890
634
176
876
988
607
275
859
959
390
811
582
656
383
839
595
846
513
953
559
423
454
560
719
220
478
913
872
354
952
163
806
771
195
790
749
579
981
553
836
245
942
537
15
620
998
677
25
792
789
723
718
961
241
852
130
553
351
591
836
172
29
213
649
974
229
746
768
880
350
164
380
847
496
53
323
56
996
582
609
194
690
663
419
556
885
572
396
682
828
70
149
23
989
49
641
787
688
302
578
940
803
602
73
623
903
950
411
672
894
347
289
881
710
26
836
381
676
781
594
863
997
52
470
325
399
777
270
137
7
591
514
361
907
55
163
787
42
697
822
56
279
816
833
813
836
484
139
325
776
429
476
215
268
914
188
5
1
854
510
702
559
817
621
306
127
143
96
327
138
678
261
146
20
84
354
767
903
917
732
942
99
873
576
551
329
435
912
166
678
696
191
69
128
398
875
948
424
238
562
260
258
702
421
405
275
553
881
705
99
327
673
277
642
68
108
318
474
955
674
403
30
630
318
409
726
126
171
47
890
52
29
903
735
773
867
406
862
598
622
77
45
822
228
885
473
911
39
899
41
1000
124
400
463
260
517
843
841
599
729
847
61
620
180
50
282
925
177
342
758
370
672
292
886
816
774
166
771
532
840
283
86
775
542
855
959
652
300
836
567
880
641
861
582
223
359
572
720
399
447
652
131
630
663
796
638
357
452
731
742
403
7
705
106
163
706
686
310
329
181
625
161
72
122
96
260
299
505
757
732
436
625
873
14
141
615
310
154
290
539
511
146
560
911
931
734
411
607
17
16
399
323
218
655
767
941
167
129
872
160
593
911
277
595
221
507
334
486
449
730
295
522
528
622
974
413
760
123
370
205
992
907
4
731
172
899
805
338
634
871
718
217
310
981
646
384
33
462
355
976
614
574
266
665
754
140
498
484
504
982
105
101
693
176
217
660
721
215
297
760
886
859
309
627
645
166
780
719
592
526
416
721
726
160
299
223
675
274
349
105
825
543
30
833
294
1000
527
375
266
740
552
422
350
213
118
272
281
152
220
892
849
558
297
773
222
18
603
311
820
597
573
482
220
588
77
20
257
863
239
811
700
907
585
197
307
90
924
593
259
824
98
674
321
930
599
539
539
399
956
56
267
43
697
541
481
864
165
324
345
938
524
391
413
975
971
982
381
196
18
729
10
656
945
483
255
560
126
108
848
858
968
340
470
827
815
184
729
611
50
377
143
653
781
515
279
711
782
157
143
443
715
21
679
372
70
873
12
690
93
141
801
574
85
55
8
260
579
732
438
925
669
398
781
800
289
719
155
898
650
52
547
763
990
179
836
718
765
746
880
595
168
761
174
65
913
636
122
410
409
285
760
924
958
973
597
286
156
528
550
950
571
836
639
254
445
85
263
40
33
690
678
651
989
839
600
260
586
649
604
500
766
950
812
21
285
941
406
237
132
966
496
512
419
503
60
4
349
728
640
929
820
346
170
62
93
713
405
362
183
135
985
658
293
137
591
268
128
124
746
745
624
658
213
971
702
480
99
588
193
729
506
878
188
581
825
17
948
100
999
650
257
362
831
917
641
465
459
763
504
550
887
645
234
885
152
73
728
302
367
958
947
465
589
17
621
890
508
597
363
728
280
807
352
607
802
123
55
433
171
59
52
378
325
872
604
614
700
106
917
8
142
765
194
819
72
956
665
346
672
228
93
917
227
161
349
961
79
425
158
13
772
979
942
906
603
862
829
980
680
649
342
970
247
377
544
833
486
153
444
963
720
403
164
140
223
273
801
361
854
207
782
499
287
10
697
714
158
688
433
688
630
797
229
15
720
719
424
325
933
222
666
546
816
910
77
772
242
991
681
536
161
408
258
593
22
538
619
191
983
413
657
759
894
469
220
793
146
716
689
337
129
243
789
59
509
474
608
162
424
40
767
345
356
974
928
204
914
896
136
145
548
339
487
504
257
634
299
735
614
335
15
28
536
694
747
109
131
487
124
501
669
36
544
491
286
618
817
136
942
134
108
903
828
308
772
90
878
387
999
870
790
911
884
417
41
97
154
823
763
541
382
149
342
770
152
897
41
890
917
854
759
690
421
415
271
545
753
986
134
890
829
521
763
612
713
52
511
447
690
518
728
566
341
492
741
953
760
648
679
405
872
44
400
963
423
535
655
787
999
25
937
894
333
135
538
272
97
446
105
65
563
710
905
885
289
838
256
975
699
418
740
183
719
448
913
396
423
604
279
634
716
613
606
564
207
456
95
142
1000
581
579
777
769
349
16
581
356
383
212
696
264
847
554
716
816
474
364
543
866
593
731
573
970
262
837
664
791
95
352
411
810
1000
225
534
786
737
415
456
413
406
48
755
476
396
86
897
845
568
521
968
916
437
32
906
912
44
277
263
90
165
850
543
536
733
91
529
555
402
233
23
707
412
890
144
289
215
616
744
538
823
196
68
507
481
676
678
998
333
189
701
635
83
731
133
551
509
706
657
257
925
138
9
630
220
600
426
494
377
633
925
354
711
613
804
801
582
166
650
858
272
337
514
487
485
394
562
225
714
352
490
582
722
396
501
393
331
694
605
848
783
489
706
782
70
559
471
571
444
24
677
436
345
742
34
754
242
69
756
323
238
125
892
344
6
239
531
751
519
47
968
63
962
612
691
882
73
680
768
108
124
994
335
725
583
895
186
308
511
960
903
406
367
595
704
666
856
368
170
822
996
620
120
337
34
423
605
700
84
664
13
247
996
600
653
408
426
342
261
769
830
997
1
669
291
22
279
473
831
511
853
869
344
770
457
591
108
168
805
755
906
569
85
950
966
896
627
501
660
909
46
318
163
199
391
643
827
985
116
791
864
47
460
824
6
828
551
809
108
980
351
614
533
93
662
759
262
623
351
665
838
869
988
559
184
46
675
390
41
250
1
378
984
686
213
988
723
400
48
34
904
202
592
199
688
798
848
239
726
806
773
380
318
110
699
557
702
672
908
62
712
338
95
375
183
796
579
703
601
251
635
90
151
321
972
369
314
918
946
693
448
474
98
328
674
261
528
536
301
121
910
405
798
316
182
989
906
680
675
700
717
932
235
529
474
103
268
952
751
27
953
949
666
198
624
757
297
839
288
884
795
128
553
25
61
497
471
97
222
528
967
50
939
535
259
5
229
84
156
342
850
83
192
583
730
90
700
538
644
41
56
976
832
687
912
448
780
555
968
930
537
606
841
144
409
230
929
708
11
957
180
445
888
380
165
309
342
706
405
301
715
297
596
623
159
67
407
295
623
760
313
780
577
259
732
513
126
689
837
748
426
133
521
918
744
881
252
609
154
245
57
53
614
632
137
617
451
65
417
761
20
891
10
711
503
728
22
921
346
895
138
736
566
228
637
452
554
636
985
310
927
608
310
208
984
818
998
499
263
489
139
559
692
957
935
265
112
717
727
762
461
854
892
25
184
579
984
240
51
304
901
527
603
692
294
431
434
517
744
903
114
855
616
395
119
131
767
245
794
726
370
204
464
954
41
136
108
350
50
78
590
298
30
510
61
216
720
583
814
680
959
247
538
412
887
351
759
616
569
333
310
233
170
306
608
998
713
702
950
531
612
260
908
494
429
134
19
379
94
70
480
751
404
479
137
976
625
345
78
595
402
239
223
621
437
591
988
286
964
974
370
103
697
383
24
316
19
549
760
354
40
553
626
246
628
817
930
625
302
862
423
141
585
487
230
117
751
830
748
966
534
78
8
178
614
628
106
746
926
1000
526
65
639
710
555
263
91
710
958
338
981
740
987
759
661
300
345
700
742
209
590
945
740
292
471
892
294
95
749
630
19
815
28
322
220
715
817
441
612
761
75
411
837
784
940
745
327
181
426
467
914
698
4
395
252
875
910
111
241
441
109
313
33
944
219
945
846
771
531
484
56
45
247
937
581
141
15
489
919
938
930
956
532
311
689
425
412
329
402
133
478
195
154
989
645
717
138
585
467
129
805
428
280
197
576
272
160
277
321
331
787
347
616
775
751
289
777
639
412
697
838
795
580
32
761
61
682
696
280
201
273
851
666
231
289
815
708
359
285
747
520
662
196
9
525
414
311
211
413
763
157
911
539
565
658
444
723
296
1000
374
643
215
819
933
589
465
676
465
320
645
467
770
825
495
261
441
717
703
480
633
814
438
86
556
627
631
553
352
272
149
137
736
62
455
527
678
134
916
716
669
848
836
459
987
530
84
452
570
673
557
987
292
716
12
755
665
579
271
411
176
310
662
680
52
632
500
900
343
580
979
119
429
360
89
404
211
421
300
654
604
445
471
397
892
715
842
297
50
170
845
284
546
292
758
360
829
155
418
660
631
184
272
320
653
138
361
576
505
695
824
671
10
617
381
845
574
372
246
699
612
4
815
290
311
596
839
575
497
889
32
796
882
410
262
419
118
115
85
363
371
950
109
283
986
409
482
939
209
719
718
548
302
958
731
485
698
739
324
297
627
763
712
493
174
591
535
968
847
926
855
992
226
88
325
163
137
728
450
894
221
436
227
956
812
293
929
319
289
507
564
848
766
17
520
473
520
116
186
132
776
321
569
474
684
68
56
115
682
397
352
148
575
995
986
952
182
172
777
109
197
307
238
112
119
466
614
98
222
622
24
22
944
564
94
238
696
59
45
171
767
406
153
601
785
365
699
141
721
108
299
292
43
384
309
985
448
734
182
737
732
977
261
363
129
847
679
123
308
446
856
118
604
472
665
637
223
638
559
261
705
668
515
709
204
851
243
427
103
690
784
564
831
858
244
102
736
292
18
20
501
263
782
906
717
720
156
729
779
71
923
122
586
1
983
165
723
589
307
144
974
168
960
530
526
965
311
648
714
940
804
911
924
267
75
763
364
384
788
948
905
50
301
615
127
175
996
118
745
911
757
532
457
997
424
961
837
230
50
968
804
202
528
208
966
338
713
570
866
962
875
989
876
693
753
488
254
19
830
45
727
619
33
844
711
687
971
290
784
217
425
266
439
25
153
189
675
202
564
823
890
250
973
761
636
5
833
926
832
451
975
871
637
977
789
892
868
255
985
570
545
882
695
577
296
654
378
842
895
767
363
13
938
171
274
471
491
670
658
252
368
56
559
469
328
968
618
402
678
179
915
200
804
965
704
351
363
275
697
659
774
719
666
180
950
78
256
167
988
792
753
815
447
272
982
496
58
96
986
289
521
67
83
776
527
413
593
363
677
392
939
163
339
23
723
657
614
193
880
192
401
631
583
67
520
722
585
110
854
737
271
6
710
526
969
85
898
81
662
570
851
707
522
372
86
596
583
771
733
289
777
879
714
155
667
187
472
267
308
468
434
802
233
501
86
357
365
141
12
68
266
626
42
266
293
611
329
76
699
589
83
150
163
661
968
439
794
610
617
975
781
589
503
833
435
984
584
229
958
869
209
979
795
384
616
875
918
924
204
871
224
937
754
600
539
224
575
436
956
871
210
836
882
621
925
66
417
288
219
199
409
852
397
964
953
221
223
475
767
495
864
956
589
950
188
685
481
71
197
350
673
102
219
670
794
231
368
469
231
540
396
814
174
931
743
748
878
462
818
406
935
3
978
881
779
133
931
422
286
653
367
744
694
999
420
706
271
644
729
202
413
774
164
206
952
173
83
177
381
540
832
318
266
748
205
851
506
529
241
124
454
840
178
256
770
317
204
461
948
334
226
254
410
345
42
743
138
661
117
330
883
822
705
169
604
953
276
745
390
697
402
238
901
367
754
748
802
554
978
111
974
772
103
263
43
167
62
304
499
194
679
78
219
269
806
403
83
621
530
587
582
796
476
314
599
262
199
507
597
139
837
413
23
270
894
667
540
109
997
410
376
165
136
825
336
442
342
22
844
947
238
310
449
457
790
161
449
940
814
562
558
177
767
781
842
22
341
354
926
887
202
692
439
646
682
670
666
985
544
171
935
581
760
489
208
903
210
560
309
603
431
738
988
561
969
668
362
377
800
401
911
392
694
320
352
441
10
620
493
167
729
19
448
593
77
818
896
267
461
392
816
908
820
591
616
932
702
639
594
536
645
18
289
641
144
818
145
130
557
366
168
515
754
811
574
555
823
254
617
680
833
630
140
726
758
277
921
322
197
448
248
745
536
598
713
974
376
579
819
138
400
630
254
700
938
856
949
181
493
161
31
665
610
517
250
411
446
140
60
766
23
309
232
930
634
640
908
590
236
714
210
556
679
694
764
933
652
73
430
585
784
404
238
706
363
254
92
220
1000
347
936
300
582
148
457
102
210
349
301
849
373
658
171
901
893
852
525
538
709
111
146
578
552
208
490
373
508
400
71
412
971
37
285
761
252
26
816
510
779
617
266
656
675
18
301
355
616
462
578
135
765
948
670
4
249
576
736
365
858
40
982
884
530
972
308
132
816
975
443
275
153
126
408
591
858
588
109
881
583
300
888
614
288
438
462
416
650
186
17
134
396
933
480
224
357
694
172
617
933
918
373
303
226
49
10
510
428
953
512
868
931
797
491
453
808
130
902
498
609
958
228
335
586
977
713
561
760
374
706
687
335
277
5
388
355
882
109
50
644
256
896
884
397
637
288
212
365
710
844
325
75
531
518
496
907
960
658
540
529
957
650
332
80
690
249
400
729
104
933
672
235
289
116
581
236
348
269
81
148
896
547
128
234
666
979
707
284
501
765
922
125
951
215
922
739
223
851
175
831
780
534
131
648
371
460
656
829
826
607
486
621
369
264
324
417
738
759
411
813
624
42
875
852
125
218
333
123
29
799
913
527
859
354
378
400
898
929
580
326
335
568
140
437
863
233
262
85
193
46
985
221
38
848
23
839
462
567
638
132
486
629
389
377
588
373
9
872
68
525
751
779
693
768
879
669
724
913
735
709
924
857
946
34
279
319
16
461
356
178
736
723
924
718
518
772
976
51
274
742
654
701
636
877
626
604
977
201
152
793
401
924
912
477
290
236
464
312
262
580
606
365
79
430
945
345
31
733
757
801
154
13
404
592
364
504
712
118
455
973
455
784
395
163
765
80
115
426
66
510
428
851
43
364
996
227
408
378
541
204
80
12
30
282
417
577
91
344
582
472
666
960
600
474
382
95
303
128
902
129
731
485
325
771
429
282
466
803
318
272
204
970
765
82
794
617
993
250
820
460
851
916
851
972
149
603
56
69
632
106
426
321
821
201
25
513
970
678
500
274
572
699
307
611
108
830
188
594
764
884
248
378
551
506
93
141
134
655
362
692
626
760
202
882
250
324
955
268
69
882
584
140
942
724
787
880
863
252
569
637
185
809
293
347
733
188
689
255
862
927
207
713
469
510
258
555
648
635
356
30
192
158
927
715
979
275
398
522
698
904
995
147
532
637
214
288
789
848
83
508
841
757
255
73
443
321
744
215
69
338
197
296
323
449
668
382
602
655
936
865
849
442
37
754
365
738
426
265
587
120
733
185
457
959
882
723
63
298
766
452
247
161
394
316
829
482
87
293
580
8
661
316
31
17
627
24
59
206
646
294
132
64
843
97
104
357
141
208
729
162
860
981
189
783
479
499
495
209
559
410
435
552
286
689
17
851
681
150
461
895
566
708
934
536
721
112
607
216
651
438
210
382
456
178
989
697
255
880
533
295
801
218
287
879
530
794
214
527
149
837
193
473
352
863
209
205
321
817
995
977
555
666
784
174
600
725
982
734
623
630
210
215
31
531
206
759
488
841
176
69
121
338
429
996
842
691
652
121
188
297
72
521
467
246
834
959
335
485
565
247
486
989
603
396
764
533
275
928
912
478
97
963
784
943
633
113
919
290
450
831
252
618
422
884
544
684
221
327
293
770
587
885
352
598
493
107
837
655
70
145
275
571
63
35
779
499
864
257
260
111
689
272
993
321
851
84
992
894
31
50
213
696
237
934
976
898
368
5
912
53
585
45
618
572
522
440
313
137
290
129
55
790
394
941
617
898
790
17
176
991
220
281
163
59
564
870
807
231
84
619
28
562
213
504
635
934
246
505
547
179
505
344
897
463
387
913
984
858
571
102
811
402
589
643
685
227
674
336
340
722
531
368
375
359
368
105
417
180
914
380
688
878
222
602
332
916
617
649
337
153
767
484
183
958
320
212
973
817
206
571
634
79
654
699
124
115
82
865
668
660
48
75
410
146
56
926
681
583
38
422
125
386
346
71
301
894
387
965
98
620
296
584
453
436
367
901
456
15
254
463
475
321
591
724
395
662
941
661
870
372
51
856
711
994
82
115
222
513
209
256
366
174
446
479
351
995
861
212
343
372
878
720
848
401
802
320
196
541
350
242
576
541
120
400
503
76
977
221
823
34
825
524
905
376
908
592
931
301
451
463
726
597
512
633
417
482
315
666
783
554
600
539
21
926
573
277
375
350
394
721
653
129
874
24
937
33
379
51
890
372
213
690
516
478
483
630
35
533
313
149
6
362
824
987
669
318
340
901
673
88
286
117
350
328
282
733
629
697
499
868
22
131
386
426
23
565
826
758
96
540
257
929
483
96
946
701
394
850
729
629
603
468
447
361
993
485
188
148
638
12
228
136
122
350
854
946
563
840
337
23
299
170
206
79
352
274
566
760
628
997
632
997
829
8
796
248
536
725
188
301
699
365
880
507
884
475
532
872
528
767
985
47
57
505
930
41
612
834
758
215
487
121
578
314
101
799
510
391
384
614
286
458
438
623
971
646
770
456
359
712
803
607
668
262
88
645
312
769
568
111
825
208
367
848
310
171
656
366
264
150
897
663
858
722
836
729
188
377
810
123
771
363
199
845
454
446
108
920
597
868
988
645
269
905
570
896
432
482
751
867
767
768
913
85
501
374
203
289
951
166
961
297
590
451
622
97
729
424
480
870
557
545
271
410
254
212
881
147
642
177
657
40
125
216
881
269
405
436
463
489
302
325
452
304
910
920
463
685
293
747
118
223
481
778
940
333
706
87
140
627
483
397
60
391
25
651
185
945
874
478
752
903
659
554
171
121
493
395
675
612
758
22
814
381
56
158
773
840
664
244
945
502
997
927
33
529
1000
880
160
250
222
691
672
663
804
396
847
545
130
682
86
929
474
981
963
146
336
304
467
687
156
760
713
295
142
659
486
971
308
66
61
315
134
279
320
33
442
923
435
469
606
439
146
420
35
141
96
509
146
58
722
653
35
87
439
31
477
821
949
184
397
903
883
722
541
118
561
72
929
726
384
647
163
376
589
68
587
923
986
590
888
713
761
172
133
118
520
431
366
410
640
52
77
454
755
10
513
293
817
469
966
335
123
855
631
733
324
504
284
660
520
768
6
666
952
373
645
142
403
460
580
770
50
649
36
996
480
577
816
504
679
943
663
678
493
968
346
571
951
40
730
276
434
738
978
270
323
495
592
577
521
137
333
440
566
387
230
840
930
148
822
312
978
10
353
9
196
600
334
876
934
531
641
158
155
135
986
958
645
914
189
864
145
703
869
693
684
69
700
388
317
682
232
734
170
96
579
761
311
914
780
100
234
341
195
438
13
703
684
417
676
192
965
470
4
983
679
880
528
943
977
950
964
219
5
201
581
30
322
759
875
697
739
522
179
26
632
411
96
980
83
519
580
739
293
15
262
63
167
162
953
844
341
528
596
787
239
355
398
503
957
824
595
913
16
891
109
619
167
475
947
637
124
19
985
679
112
960
585
252
302
613
750
707
694
610
134
120
772
444
376
260
8
891
632
88
679
537
190
878
777
119
519
34
560
325
51
992
381
455
397
350
71
833
691
683
637
777
635
988
272
279
938
392
467
715
638
59
852
967
452
762
224
687
243
553
781
474
389
188
105
831
323
1
570
161
247
349
756
621
875
58
563
300
948
917
272
444
7
872
386
540
659
597
367
942
368
720
517
202
14
577
629
97
913
721
925
226
536
481
564
248
886
52
480
661
572
638
804
573
93
896
829
420
513
46
440
259
584
799
250
104
833
545
944
774
948
739
657
717
715
439
987
722
428
652
70
46
780
560
193
195
735
702
107
726
509
918
57
634
322
592
553
508
503
159
743
500
26
285
100
110
473
386
284
2
999
352
742
17
807
171
335
953
100
687
840
42
769
351
544
618
278
838
354
780
296
751
338
271
275
708
702
707
332
480
98
51
202
140
479
607
750
167
981
339
467
55
600
686
193
458
817
238
331
467
576
187
342
664
250
524
806
787
994
107
314
995
470
474
837
31
138
885
530
717
197
672
196
265
563
838
372
195
241
822
436
419
811
431
126
169
171
597
757
890
261
8
661
552
73
612
394
562
825
584
859
207
513
232
54
157
764
36
273
109
795
669
701
207
51
112
580
468
964
809
454
692
542
581
158
647
810
318
854
159
425
760
984
642
327
22
196
963
359
751
976
496
154
933
549
890
886
163
597
864
33
142
898
542
463
638
245
435
731
599
415
167
202
388
232
387
231
935
778
759
98
283
587
749
907
714
638
280
972
664
533
178
990
250
365
659
347
521
299
972
35
219
653
558
736
935
156
678
363
556
182
904
394
540
499
404
474
234
674
671
401
207
888
427
565
985
48
19
464
987
207
206
726
360
528
183
129
238
600
688
350
634
398
830
178
356
440
535
507
656
625
847
783
649
212
257
329
614
659
237
348
749
18
908
266
944
240
914
566
598
835
17
725
273
873
295
755
318
696
844
70
24
368
612
913
913
650
636
833
243
295
49
246
883
830
418
70
336
330
480
407
677
623
885
408
649
628
126
76
950
342
789
976
556
389
207
477
43
364
821
222
449
386
797
928
239
683
405
249
197
428
39
311
23
841
700
833
535
955
758
677
611
548
891
731
554
982
521
471
428
440
932
809
175
319
835
442
171
831
329
313
674
198
434
802
900
7
94
97
3
608
116
522
481
980
179
725
1
823
289
621
170
284
771
43
926
112
319
849
768
625
212
287
416
87
632
672
51
168
358
76
171
946
470
454
816
720
122
832
486
988
273
199
463
789
344
951
353
586
879
947
55
165
804
651
729
488
842
741
389
385
159
932
992
510
425
520
246
451
698
499
564
644
590
464
124
150
79
566
840
12
730
252
936
599
606
504
823
773
746
217
713
210
399
147
503
131
226
342
140
731
737
239
586
302
210
568
171
644
208
937
476
111
755
237
373
183
596
285
587
631
796
979
897
65
323
424
96
862
857
997
903
783
774
25
483
232
33
635
772
290
452
760
748
34
663
118
720
884
868
17
393
248
668
42
643
689
295
202
115
68
179
778
866
378
748
508
518
812
341
38
746
900
241
866
6
626
435
234
778
617
554
657
493
556
628
810
342
392
607
613
592
705
214
310
5
586
483
113
492
646
122
207
379
999
11
509
904
611
921
925
561
149
82
74
56
557
495
167
505
585
710
93
138
967
926
933
925
526
7
633
166
611
39
53
522
969
595
947
537
768
40
428
64
891
174
790
446
485
404
146
821
27
227
128
949
147
441
11
944
918
583
581
20
609
571
351
257
853
295
546
210
694
190
7
315
856
865
741
490
767
182
472
373
403
859
987
971
802
232
41
184
773
576
127
511
657
918
763
872
267
649
884
29
501
549
241
257
731
560
807
994
158
952
142
81
423
444
508
770
896
792
156
976
39
433
349
511
331
665
177
370
997
851
361
843
726
930
851
534
28
31
229
250
500
869
156
59
205
268
153
67
797
817
64
328
440
327
344
386
171
831
416
466
722
318
107
596
55
23
949
117
939
521
872
102
969
708
33
610
614
811
961
531
733
416
985
198
659
686
269
913
615
929
336
480
463
917
135
338
601
764
799
438
739
880
47
705
9
747
418
843
73
642
400
398
790
819
545
444
440
188
214
830
661
972
292
473
504
241
140
938
755
875
581
733
459
277
591
856
14
383
643
172
263
244
582
12
722
29
374
834
264
699
592
992
292
868
656
309
212
613
195
64
737
936
699
453
326
712
961
138
655
785
191
332
194
698
564
353
855
307
639
979
971
802
875
940
622
71
910
357
119
500
461
56
620
802
591
116
516
854
328
656
839
622
886
394
532
524
392
542
419
587
328
705
307
151
540
724
70
639
855
586
519
178
374
368
1
673
719
146
575
867
405
34
714
849
708
327
460
729
225
931
57
638
836
960
54
397
867
632
303
546
114
765
404
219
975
831
299
764
409
54
525
287
322
797
841
208
677
713
462
914
584
272
516
568
525
755
985
955
232
307
673
417
632
726
67
451
336
466
551
397
88
914
989
63
221
316
272
801
900
128
132
842
974
290
148
498
192
81
929
474
702
35
729
106
721
253
233
577
224
783
177
913
771
319
793
664
462
129
219
836
941
316
763
850
528
483
904
944
251
190
553
640
970
225
886
986
552
277
702
117
444
740
747
364
741
140
552
796
945
511
928
666
688
635
996
53
270
31
856
643
948
892
805
288
37
943
411
611
879
867
543
51
859
305
409
411
581
718
296
666
614
368
97
581
892
59
137
321
547
668
51
510
40
562
463
577
271
659
202
520
760
471
210
901
183
934
596
748
308
736
661
411
924
873
996
581
655
239
708
104
731
725
173
318
956
19
476
276
956
404
30
397
487
187
842
150
132
705
948
517
408
838
341
205
500
761
319
805
128
815
237
114
92
765
421
410
135
528
651
755
294
571
744
942
124
103
288
370
618
802
411
499
399
16
819
874
240
148
234
75
158
788
284
934
580
773
564
426
155
191
9
61
994
497
659
712
916
242
973
995
355
503
623
295
129
655
800
157
3
407
496
293
160
984
208
742
241
142
664
832
143
678
351
857
450
975
636
873
734
317
381
320
55
61
614
145
165
814
581
786
299
340
209
234
398
560
664
778
360
22
983
131
240
848
831
553
584
362
845
235
120
370
745
394
972
206
368
82
297
980
525
937
829
760
466
191
172
285
785
579
254
198
521
511
35
435
501
265
980
624
546
569
642
473
394
770
457
36
757
935
605
997
454
903
773
7
816
955
723
594
685
748
277
246
783
708
421
714
647
536
165
823
961
109
319
523
370
765
517
705
115
839
789
877
593
341
421
152
722
987
973
354
158
420
191
574
279
518
722
438
445
484
596
336
864
927
856
654
593
328
432
990
841
251
298
668
994
861
109
163
781
363
532
767
345
888
27
863
52
121
124
476
535
53
670
787
3
694
934
414
973
553
316
360
122
385
3
766
415
767
606
448
228
720
369
623
23
143
400
612
487
33
363
613
622
892
309
3
627
449
65
174
325
793
937
243
782
168
508
173
553
200
755
409
364
763
557
362
563
921
928
193
722
940
163
534
686
466
150
59
192
197
297
595
607
357
344
501
506
651
486
583
258
388
568
365
182
916
74
554
132
895
817
381
95
586
541
152
456
218
639
630
77
511
792
954
694
606
838
434
342
840
777
279
807
288
21
246
260
667
8
823
727
156
526
42
312
935
989
652
871
954
200
383
848
380
772
521
463
550
545
145
985
963
861
77
71
182
465
926
524
142
335
420
300
72
775
418
692
958
410
364
796
879
100
303
169
897
178
352
848
510
279
543
535
146
203
303
541
321
463
496
714
927
10
658
497
133
502
986
598
24
11
939
865
544
381
421
929
419
592
624
241
888
554
815
499
615
478
744
640
353
10
250
297
224
808
207
903
313
186
47
319
759
690
827
816
791
562
193
319
596
687
442
881
586
260
858
773
221
49
955
533
829
740
437
364
588
359
224
267
969
24
983
140
797
367
533
392
117
611
507
855
722
719
307
933
976
824
395
539
316
563
836
348
29
122
460
96
889
141
212
958
759
953
49
731
537
371
119
677
126
58
281
879
278
738
262
673
428
914
698
948
954
432
12
759
747
410
83
235
535
484
514
511
496
384
584
317
21
767
866
621
277
416
839
405
924
328
968
292
65
518
370
838
707
874
996
603
425
194
528
578
597
570
87
958
396
355
966
941
723
968
370
494
713
128
645
736
909
675
327
598
101
789
248
156
421
135
584
917
886
376
322
453
711
350
930
104
860
659
960
524
774
515
123
179
175
481
274
893
1
347
434
539
790
845
357
381
188
444
820
779
277
797
152
702
285
159
126
279
275
400
113
593
93
917
375
49
288
596
629
879
197
976
14
896
970
423
770
498
706
722
512
636
615
795
604
928
102
383
832
672
734
33
379
609
834
218
420
411
987
126
783
614
641
101
198
617
144
249
16
107
578
242
336
571
964
323
289
805
297
666
387
118
861
915
491
339
568
339
413
390
498
552
52
570
417
15
414
340
763
9
569
336
411
580
890
689
94
210
756
761
167
526
147
224
402
432
476
951
319
374
829
170
208
80
643
764
70
550
928
335
1
233
1000
813
309
981
383
559
168
649
48
648
45
344
492
909
341
398
379
154
749
997
197
271
228
746
59
312
89
718
399
165
870
877
207
299
433
403
743
659
302
920
996
860
764
90
74
20
120
231
959
821
514
671
995
347
434
992
483
717
639
108
153
61
970
836
791
452
541
537
565
746
963
39
828
473
422
395
630
815
294
388
998
61
890
292
692
752
187
849
82
174
756
453
549
921
268
252
162
874
560
916
474
760
887
109
606
559
774
28
705
727
681
413
586
51
931
873
448
84
471
892
779
874
444
110
32
904
147
623
669
657
271
756
899
346
491
456
227
883
199
671
819
90
257
31
350
768
794
756
474
862
740
516
423
93
982
226
253
359
787
128
374
771
203
609
2
19
978
686
508
63
944
74
945
924
357
481
844
659
893
504
263
306
715
479
422
792
264
718
113
277
625
251
797
534
217
569
378
662
74
528
938
562
898
684
826
195
537
282
773
656
584
236
940
223
626
250
550
495
892
725
337
689
447
121
580
704
262
701
477
828
6
29
579
54
138
950
216
392
917
377
147
199
307
396
40
160
552
221
3
242
407
178
319
673
311
497
865
257
94
348
906
769
982
112
991
594
516
417
306
676
214
509
56
369
231
708
299
98
239
973
731
115
107
499
6
72
376
685
392
344
721
110
862
115
466
217
510
374
507
133
2
380
319
222
508
636
554
714
960
340
981
524
171
781
564
887
256
805
618
241
24
81
809
388
168
389
720
956
359
417
60
39
85
253
930
818
6
5
789
228
303
436
904
26
701
132
25
167
661
16
35
233
336
442
8
764
234
747
326
511
721
186
735
941
939
755
957
405
114
266
901
940
451
869
550
826
732
384
82
23
5
595
232
270
324
476
923
849
5
876
227
765
124
740
90
205
772
35
1000
355
673
655
926
430
827
425
60
518
796
722
809
668
422
515
130
946
701
234
680
445
582
151
300
595
751
574
217
597
468
319
181
566
401
403
747
208
592
971
555
834
883
910
27
201
434
654
426
533
958
154
153
971
171
127
114
502
595
196
230
326
304
643
853
763
209
606
436
381
60
956
643
162
201
499
921
589
291
914
46
158
892
684
157
581
851
550
942
765
553
830
969
768
612
353
446
924
765
469
20
970
205
602
485
221
134
281
685
170
140
505
402
433
291
853
886
837
706
574
950
249
845
366
366
251
928
244
922
30
135
468
637
851
235
237
544
747
399
593
843
511
807
366
857
805
987
217
235
704
760
29
960
382
529
193
141
478
766
556
66
367
591
841
37
936
662
255
102
531
91
296
972
212
258
100
472
297
457
552
585
324
654
304
232
182
76
687
517
615
176
389
395
543
745
814
208
741
714
49
624
179
325
856
121
812
865
351
588
269
244
517
58
632
482
171
724
371
499
752
292
789
651
661
159
685
541
786
857
82
431
822
972
645
974
467
312
761
806
225
890
614
727
539
75
337
417
273
679
70
780
934
439
538
539
184
283
198
315
260
627
419
899
449
25
271
638
899
16
288
689
126
275
252
909
573
932
249
231
465
13
602
741
8
685
208
822
659
972
661
308
262
649
891
709
165
208
145
50
874
465
294
790
861
844
797
720
380
334
511
928
311
782
201
535
945
153
265
877
624
302
685
589
714
898
600
585
913
650
929
458
417
493
972
466
281
578
561
236
692
956
963
86
745
686
459
100
923
494
17
248
443
191
434
325
866
687
975
760
620
999
693
599
283
116
424
140
753
296
991
910
324
764
206
717
751
780
63
932
255
142
763
455
453
616
674
360
371
938
333
763
425
164
556
727
276
611
419
948
807
455
977
641
68
915
144
898
358
48
39
212
213
330
295
455
937
862
844
223
47
690
548
829
979
320
826
905
162
288
424
60
2
344
313
315
997
519
864
861
332
256
356
185
995
775
491
188
777
475
467
494
330
606
927
335
210
248
942
715
247
971
251
220
937
646
215
911
217
991
539
410
13
505
875
295
546
478
198
315
680
923
796
400
907
494
637
548
576
894
1000
983
545
337
60
215
547
467
218
59
613
296
348
254
189
399
473
461
182
218
503
23
430
390
343
865
636
389
250
438
547
390
163
566
981
75
31
840
586
890
954
997
837
991
688
96
981
255
593
935
45
986
69
696
154
250
898
393
156
760
487
63
365
309
724
971
298
756
791
157
403
522
483
459
587
152
747
827
164
664
298
396
542
382
368
946
625
637
870
645
838
519
77
685
971
334
739
948
889
707
566
643
256
199
429
550
422
542
680
837
637
148
960
340
85
911
369
341
172
738
600
145
515
523
941
571
792
832
187
205
926
293
4
614
73
935
236
141
818
264
926
287
13
820
141
417
486
409
382
916
836
430
46
840
354
681
791
361
360
246
374
597
703
502
521
730
28
858
138
382
255
224
798
776
941
484
490
748
125
593
884
625
818
185
555
428
141
805
316
945
508
405
382
145
848
886
252
30
755
980
298
622
541
769
793
740
250
262
822
458
970
332
983
597
792
83
525
299
104
298
477
257
183
212
595
541
573
889
24
660
620
786
20
357
517
299
738
350
537
364
427
479
308
909
735
756
422
919
944
912
145
420
133
777
8
158
551
469
715
204
916
119
42
983
583
314
478
612
511
632
375
108
40
846
85
133
213
472
956
890
933
283
115
861
190
150
196
354
421
699
575
223
687
25
729
376
724
387
43
708
173
1000
772
226
827
564
265
245
27
684
250
448
867
922
760
46
26
686
345
679
50
463
542
523
732
820
204
620
492
699
318
247
113
549
7
27
340
835
472
865
206
461
271
611
96
601
89
799
399
837
208
587
548
957
989
251
921
556
240
613
274
50
732
228
602
999
279
189
948
434
443
363
364
532
637
82
604
205
211
132
407
241
43
41
673
266
526
388
740
469
965
427
941
27
142
620
988
841
16
292
167
435
878
161
393
168
45
987
400
259
606
473
261
457
621
92
490
24
153
423
797
897
922
364
723
221
79
696
784
981
609
78
529
995
521
398
944
911
379
761
568
212
275
660
120
405
33
957
20
374
964
137
217
171
668
753
303
885
90
966
343
338
119
954
152
965
741
931
304
501
909
136
355
652
490
971
229
145
931
562
855
489
791
837
63
723
25
564
739
733
326
344
806
715
855
297
576
915
150
418
999
639
350
425
44
694
878
244
279
73
432
444
448
831
408
986
336
115
847
938
971
921
216
437
786
138
901
362
884
111
173
36
976
558
949
57
622
184
445
571
743
275
778
514
552
629
741
887
531
339
462
490
359
492
134
894
298
50
119
358
250
358
446
915
185
371
130
647
932
852
686
283
650
355
991
748
247
38
232
158
760
97
497
504
710
844
425
631
720
461
234
152
996
804
161
717
359
209
792
383
900
450
386
200
369
653
811
695
552
227
803
437
348
397
621
225
400
813
513
476
420
703
850
958
198
992
755
470
853
233
64
388
38
476
182
503
724
681
290
475
312
527
403
43
867
193
31
504
788
527
757
559
968
517
497
804
892
336
220
972
164
835
501
999
574
122
310
430
372
837
598
762
839
156
876
115
347
121
134
180
305
920
212
863
209
432
333
775
575
131
405
496
454
168
253
950
580
85
491
548
589
864
787
744
999
152
694
805
107
237
724
687
203
288
614
502
515
696
734
698
381
968
1000
261
699
299
204
142
920
773
764
836
948
903
447
256
54
423
602
357
723
750
887
724
864
500
205
220
939
717
437
378
671
522
175
130
443
981
326
801
325
652
303
977
112
205
69
799
435
221
114
805
918
798
268
94
269
657
208
660
371
932
649
523
51
332
858
273
407
239
497
394
865
753
923
227
846
373
310
577
345
245
788
484
903
726
421
564
872
21
518
94
188
900
743
814
445
128
852
596
830
431
465
252
685
765
916
775
650
813
360
805
43
750
346
769
769
481
188
101
894
996
385
877
119
306
850
466
254
967
740
809
705
805
534
668
322
790
625
345
786
166
426
806
995
392
912
769
252
445
868
630
962
537
801
613
726
530
172
570
629
878
337
487
130
49
229
423
95
100
425
270
457
822
145
709
30
558
421
774
620
770
656
871
869
628
111
334
528
200
885
908
248
900
246
612
931
810
392
774
654
808
559
312
662
36
394
3
410
204
941
462
69
320
63
494
484
569
883
925
896
193
86
399
260
702
988
726
896
66
989
538
36
892
13
241
173
68
204
626
864
63
908
120
492
11
611
158
845
20
837
14
376
634
516
382
277
572
285
972
149
630
712
818
160
247
110
266
333
60
642
597
298
559
88
539
284
602
751
729
986
11
8
735
156
354
540
626
578
341
249
902
944
677
737
925
529
695
536
346
707
755
86
805
569
995
909
85
517
238
612
442
451
618
669
551
895
802
744
782
43
317
654
43
263
296
210
264
698
372
116
853
71
639
100
795
603
441
804
608
278
990
512
840
351
313
173
437
725
1000
357
329
74
413
930
281
542
553
669
661
347
282
485
472
294
875
842
519
891
760
234
864
353
509
728
451
637
269
601
209
332
257
788
528
787
425
121
831
509
334
86
239
110
731
869
810
99
42
500
808
16
835
991
715
670
339
887
285
523
960
16
519
368
949
541
930
946
996
481
465
394
717
804
315
651
64
51
506
356
236
356
889
854
126
993
288
187
154
368
855
232
811
741
563
389
195
8
6
389
251
31
399
315
831
492
570
498
720
213
316
433
450
599
206
670
168
759
963
314
390
444
574
575
659
371
752
805
263
555
46
571
402
834
22
964
760
841
259
299
793
638
246
534
302
980
163
443
333
251
540
298
306
799
880
704
631
717
56
212
208
610
176
70
361
657
13
785
342
698
125
757
940
729
466
286
757
683
736
918
96
800
501
462
366
351
992
957
28
636
753
147
520
428
77
771
571
226
664
693
698
713
892
855
576
374
486
427
731
119
26
945
226
749
42
145
294
329
811
750
95
775
363
801
498
951
66
389
988
654
516
847
976
523
50
422
190
121
985
903
964
293
959
227
881
243
202
150
744
420
443
689
231
954
166
957
157
122
121
855
6
931
924
393
867
395
924
875
951
686
828
585
447
89
913
839
927
685
449
35
466
541
854
814
586
734
651
495
921
416
515
623
39
215
708
757
565
850
133
301
819
458
845
410
484
211
414
65
763
108
203
280
184
642
493
681
896
508
501
792
804
309
208
346
948
482
412
859
872
478
708
915
13
570
621
83
805
318
146
867
456
522
406
300
497
195
165
387
77
480
75
603
367
214
908
495
836
652
868
296
635
193
618
333
231
776
902
332
807
137
3
687
716
434
492
61
679
632
929
159
796
170
825
783
439
489
443
235
32
478
832
108
219
295
765
994
340
75
270
224
843
152
222
580
558
404
556
983
616
113
927
66
62
736
705
531
586
487
144
528
457
372
266
776
656
340
23
316
389
506
718
500
460
575
844
389
919
691
781
801
85
911
484
176
322
348
121
128
708
188
322
865
700
676
35
875
732
319
778
998
32
960
131
836
472
229
980
620
144
186
335
395
344
518
936
473
489
517
410
796
390
893
893
970
27
282
711
587
348
928
93
688
272
627
255
88
351
743
889
824
536
307
273
614
404
183
784
625
965
118
909
219
899
860
127
576
269
604
663
861
384
220
954
178
484
945
507
355
404
376
112
935
520
884
122
479
235
698
647
3
994
130
13
365
809
805
724
345
331
863
174
687
562
222
319
161
202
13
670
275
916
910
556
930
682
526
792
723
796
846
840
38
770
754
593
166
143
676
288
768
437
84
8
236
460
622
292
178
377
628
251
22
655
300
169
973
179
449
834
408
770
162
307
310
959
319
662
864
962
486
405
971
387
76
552
406
357
419
118
87
495
484
796
458
139
353
265
542
343
318
681
563
76
176
198
17
979
921
475
452
347
67
641
756
288
817
869
825
638
285
56
90
821
449
766
310
350
593
362
451
83
480
658
33
166
125
79
657
688
886
301
983
820
25
139
982
139
747
503
842
249
762
401
587
307
566
990
541
532
73
858
239
803
382
754
663
844
126
918
354
61
555
33
829
742
114
269
246
467
933
650
353
445
656
177
266
972
222
995
665
562
893
476
376
161
189
226
38
355
984
876
440
65
848
370
615
771
424
248
186
699
24
789
279
317
848
308
441
540
942
139
955
28
879
146
615
699
744
644
274
759
970
636
924
525
342
714
111
865
615
1
308
518
588
573
952
174
910
350
914
301
171
804
265
517
915
13
900
521
829
134
567
252
358
859
105
529
966
299
951
20
626
780
424
661
579
908
173
935
933
977
682
272
502
221
462
470
897
801
893
996
951
426
689
230
584
915
723
961
115
927
199
484
755
57
49
456
618
539
540
28
72
137
84
735
345
592
691
700
786
669
202
52
892
890
356
821
756
5
584
315
717
985
973
374
103
50
162
1000
723
229
185
237
86
71
534
177
926
629
320
831
191
810
420
411
919
914
426
922
391
620
611
716
908
951
76
565
750
942
588
66
511
812
406
920
706
182
220
413
144
631
125
721
911
178
355
33
22
794
752
887
276
336
586
961
339
104
633
966
780
301
98
224
862
653
539
275
418
832
103
494
923
743
33
285
433
122
396
710
342
303
705
762
165
54
33
936
370
134
45
188
852
544
864
174
469
931
208
547
687
360
712
448
709
745
869
659
136
610
335
288
209
472
751
296
595
836
815
150
577
225
807
820
758
550
584
843
90
291
368
128
141
74
622
987
760
778
734
374
923
129
737
744
844
723
399
114
451
873
602
398
607
208
512
614
789
515
51
55
840
89
783
747
637
698
96
249
814
59
248
516
410
775
391
225
239
757
103
973
230
112
319
121
473
13
739
589
440
4
365
588
497
64
963
21
443
274
763
748
657
32
294
934
427
420
815
700
964
507
590
876
149
344
789
905
642
943
1
284
927
907
517
852
253
358
713
232
87
323
147
521
562
234
978
532
917
257
574
722
389
688
742
488
284
812
958
960
498
416
821
86
456
945
319
134
519
739
568
775
206
757
598
784
281
692
584
735
355
856
382
923
545
726
588
114
518
363
376
355
834
941
891
478
321
158
579
809
559
390
696
474
944
478
442
100
347
10
370
497
704
896
393
494
386
671
780
943
354
696
614
909
820
344
617
151
163
461
504
2
474
913
155
561
122
13
698
495
602
349
660
57
960
968
800
354
207
89
315
365
446
871
749
983
763
217
358
959
541
597
482
294
255
349
600
51
140
690
778
91
303
458
65
242
554
26
105
14
639
170
903
132
705
952
329
980
865
980
176
898
699
477
314
901
766
329
270
225
402
229
762
511
391
142
789
541
860
32
462
633
225
345
859
913
764
700
518
945
378
69
316
745
298
996
1000
715
787
43
938
349
213
870
4
423
461
778
323
552
814
198
659
680
581
813
167
803
470
112
892
734
381
418
999
931
93
87
278
303
327
221
928
234
910
206
81
221
63
640
341
175
899
119
184
548
876
784
434
22
20
576
259
569
805
332
629
611
728
823
5
646
278
542
930
187
459
103
948
877
411
527
415
314
79
306
767
629
48
865
512
729
144
494
318
247
164
822
16
803
767
891
612
629
684
879
788
946
356
211
297
56
194
78
541
10
970
476
327
653
923
79
318
287
642
184
742
789
362
911
696
484
161
701
924
430
274
396
488
825
342
487
599
419
618
662
495
271
638
228
182
930
502
951
21
769
193
873
681
960
547
30
606
218
495
422
726
566
85
398
536
707
279
224
655
914
554
688
400
366
627
284
52
103
868
206
18
831
462
797
343
652
383
544
287
756
665
419
904
503
331
395
623
330
839
252
706
730
632
641
927
847
830
894
508
977
121
33
220
325
31
433
541
102
649
257
753
505
89
917
150
367
282
830
638
327
976
568
968
389
677
221
570
827
668
735
242
948
451
409
568
743
752
663
978
495
322
116
347
285
937
673
255
968
257
310
467
916
610
160
632
297
19
326
165
710
362
847
299
26
596
816
35
248
115
654
177
429
477
752
472
976
967
259
750
699
659
961
92
113
935
787
925
332
637
558
523
730
378
923
558
392
950
851
61
355
48
414
417
137
302
267
338
768
246
435
169
506
656
495
452
9
706
378
102
264
809
948
689
829
582
182
607
365
518
933
36
876
223
286
260
72
913
65
688
425
841
113
23
76
111
351
752
450
771
558
409
965
697
818
991
811
251
424
587
361
793
879
739
659
774
33
484
318
317
121
157
267
502
215
875
774
481
223
842
16
167
790
552
132
348
791
788
67
634
423
104
473
572
376
147
416
168
31
5
446
673
408
81
900
224
448
576
844
423
698
98
616
983
802
113
293
50
419
849
575
362
807
896
92
374
181
582
339
390
730
108
373
271
86
368
654
616
990
441
94
203
291
120
898
286
823
788
417
874
751
24
347
452
219
560
230
285
878
924
860
362
291
188
19
481
750
277
332
11
479
933
727
238
216
530
893
766
129
381
917
362
315
635
976
660
771
662
583
389
648
244
738
911
535
333
255
169
894
740
636
367
960
827
968
851
851
43
598
729
568
513
339
100
348
245
148
789
397
512
490
582
16
41
972
96
644
163
558
519
56
304
436
1000
31
318
301
13
177
356
609
693
65
495
29
456
23
594
604
220
379
134
738
598
30
277
258
918
582
33
315
118
204
473
711
439
773
804
315
570
234
292
679
276
49
458
772
637
928
609
405
469
3
743
932
88
657
258
885
594
927
386
847
498
622
150
347
833
315
280
355
324
517
201
816
524
760
781
462
650
9
2
807
556
211
992
177
565
128
627
407
821
373
852
453
564
972
541
208
907
150
174
900
164
70
500
434
299
273
97
768
725
838
591
47
439
749
463
894
918
284
24
411
159
559
429
287
49
49
356
997
113
530
174
279
631
195
911
952
423
546
951
106
48
312
933
540
663
44
885
280
832
216
281
15
616
451
150
228
280
416
606
56
679
528
34
80
58
666
577
384
314
421
379
886
279
428
706
671
9
643
12
39
489
983
477
854
638
277
135
936
316
187
174
794
878
832
694
605
857
981
504
590
868
18
91
46
988
729
774
538
54
113
852
951
444
885
427
225
785
520
282
316
533
840
426
694
735
930
85
260
448
695
272
499
570
161
255
62
200
519
47
349
476
838
792
574
697
851
846
997
614
539
25
450
809
577
606
332
639
906
476
214
114
997
121
747
821
527
829
354
40
881
370
882
755
226
407
351
580
766
543
534
912
453
702
946
846
94
260
266
361
377
828
869
985
57
875
191
813
531
594
744
863
948
929
930
297
977
535
841
122
477
838
714
654
236
412
546
40
300
973
879
860
892
134
247
759
345
659
343
140
707
970
524
746
785
936
375
321
736
593
824
818
105
761
698
613
976
319
757
221
923
123
305
357
425
607
413
655
90
276
742
288
126
294
11
760
119
71
662
5
699
469
881
400
951
170
815
738
784
625
919
165
667
491
662
761
439
313
936
546
387
557
621
661
93
83
531
769
569
227
86
338
355
944
131
240
720
598
973
402
415
627
908
532
220
589
54
324
628
319
262
495
201
240
47
131
467
931
290
431
735
869
324
978
489
922
833
605
435
102
473
465
356
201
155
175
105
540
84
374
329
531
586
677
748
386
267
923
161
254
346
4
28
247
578
768
889
693
384
299
645
303
834
880
347
531
293
691
721
26
869
96
33
18
861
849
387
818
428
344
658
337
26
606
862
544
936
309
543
997
814
952
906
458
385
159
210
414
77
1
384
71
916
826
429
429
563
270
32
718
216
355
376
147
254
383
224
178
31
431
423
388
794
893
469
755
863
708
385
174
239
346
653
114
375
964
346
552
28
797
29
464
626
116
662
233
314
13
190
512
850
374
758
479
112
208
44
257
98
893
432
273
434
426
677
768
106
164
595
330
266
842
365
444
379
277
930
662
361
88
362
91
540
254
825
383
87
582
254
253
353
712
92
907
171
16
501
953
498
987
537
381
453
1000
749
418
433
76
305
489
531
114
958
550
22
251
426
894
793
621
53
116
394
29
523
377
939
748
270
490
36
349
178
142
979
1000
880
592
305
742
453
274
156
441
930
979
581
75
65
642
706
38
845
981
765
474
205
536
149
482
604
656
861
368
960
28
369
159
755
879
533
265
905
267
884
904
465
353
402
941
128
123
399
609
820
82
142
760
145
513
790
663
116
732
762
982
410
672
475
261
136
904
640
639
288
561
756
9
921
942
807
402
450
117
176
12
860
120
816
589
171
156
512
921
891
442
705
915
792
783
736
615
307
490
324
797
75
147
826
672
374
241
555
144
157
487
932
48
910
732
581
414
31
932
794
754
112
21
721
718
726
223
372
594
98
408
454
164
750
153
956
166
458
362
580
394
886
666
678
406
932
64
361
127
418
52
109
222
936
104
357
715
332
845
587
679
388
893
532
818
194
343
730
997
672
264
261
599
270
151
742
62
258
190
465
685
18
680
677
954
994
576
725
332
356
630
171
899
679
23
423
957
650
956
750
487
788
44
904
353
174
416
696
435
579
633
485
411
514
716
685
578
108
853
549
912
973
214
239
104
716
922
82
218
833
326
56
640
318
102
130
713
728
329
607
26
318
97
414
454
910
102
22
741
483
641
724
166
719
167
539
381
696
247
54
809
719
573
471
102
344
672
226
825
376
717
777
481
195
513
634
265
792
457
787
954
715
316
154
308
776
830
990
164
874
77
495
985
220
173
289
124
363
635
301
627
991
301
747
930
356
650
941
510
544
1000
283
759
269
754
150
321
698
198
761
885
182
504
854
509
72
412
793
114
322
678
112
38
131
211
703
10
79
554
919
305
323
209
267
308
795
833
46
113
174
718
932
272
158
484
349
440
538
398
187
465
385
757
610
179
712
444
504
335
669
830
445
372
231
437
611
467
153
676
266
916
407
797
726
193
870
682
896
602
394
722
245
67
326
798
929
222
910
25
960
228
86
345
931
672
93
948
274
259
674
874
535
947
567
941
246
31
333
777
132
904
321
716
533
830
828
972
899
458
476
759
426
473
325
922
298
55
65
871
117
262
182
595
309
253
281
669
403
766
283
84
530
965
283
421
110
441
692
654
436
400
85
47
437
244
397
717
489
771
886
910
398
768
890
783
331
682
606
105
899
872
216
730
435
736
593
377
587
454
127
739
890
270
31
189
434
898
952
683
208
826
106
329
459
76
356
235
241
360
646
143
56
294
944
442
621
210
753
681
561
120
690
467
655
518
861
547
954
993
604
268
372
877
690
879
866
634
143
739
536
53
951
794
204
944
959
975
906
825
563
61
903
644
240
848
358
613
564
409
900
660
431
713
71
781
761
733
572
563
579
632
91
54
914
11
767
601
194
567
791
158
631
887
420
769
356
404
656
241
505
768
407
622
967
755
902
412
746
910
731
432
722
709
180
719
567
92
853
59
731
694
327
227
994
907
373
958
356
981
445
654
405
399
171
699
995
2
343
397
624
123
182
772
899
504
786
814
165
15
868
651
487
59
593
114
699
194
589
511
351
562
634
161
773
596
985
956
836
547
979
482
56
623
686
809
493
494
648
378
607
861
193
57
272
238
892
724
822
197
489
964
687
266
582
122
307
72
45
728
430
107
936
201
67
737
216
406
591
470
993
7
285
682
850
87
855
844
580
765
286
110
653
869
583
375
575
364
628
140
127
787
538
564
198
12
138
664
78
93
870
237
249
657
533
844
868
512
65
539
1
418
63
545
787
725
603
936
2
327
108
826
432
352
966
594
105
58
454
10
700
20
726
354
141
324
674
823
3
14
436
589
14
692
838
956
393
66
851
920
601
290
586
443
667
319
817
414
101
65
323
676
440
40
258
908
300
148
110
181
102
27
706
76
791
616
269
235
931
676
418
900
223
700
309
959
543
286
873
965
927
878
777
136
279
39
973
201
162
358
596
839
263
259
372
801
999
153
426
386
905
37
925
845
633
203
474
73
452
638
795
306
769
606
175
168
332
531
336
654
264
88
674
442
798
218
955
934
692
1000
136
64
378
885
202
943
683
306
198
955
444
789
598
599
727
174
363
175
818
243
889
600
370
958
719
583
323
144
98
456
692
657
276
350
355
401
423
697
597
482
320
265
870
946
884
870
492
104
753
718
592
876
825
530
356
633
202
430
143
499
238
381
177
995
105
883
89
257
306
927
367
20
292
484
874
770
87
901
38
705
180
153
810
588
272
500
161
819
335
726
654
935
198
942
680
411
39
654
885
964
620
242
997
25
607
298
679
862
940
20
8
409
363
189
594
476
747
84
417
819
694
164
333
136
680
495
961
610
495
975
948
638
712
963
430
889
233
242
768
453
590
290
691
763
203
788
894
318
735
752
555
739
777
182
559
435
517
878
666
881
582
802
491
556
978
522
649
945
217
543
228
836
979
411
921
497
36
568
388
67
742
739
908
773
498
586
76
221
627
947
4
263
374
619
427
856
47
501
890
111
422
322
696
37
976
87
761
329
343
174
816
85
645
36
492
670
910
37
584
853
347
254
787
538
487
431
174
630
615
3
674
259
935
845
624
700
824
168
97
669
934
532
359
641
338
970
501
671
511
373
410
357
238
857
179
428
757
321
576
520
479
323
652
129
957
934
280
625
186
378
886
251
129
866
61
279
842
219
348
974
339
409
934
813
822
347
688
159
339
1
345
182
910
626
768
478
505
262
95
842
395
492
127
310
308
161
727
959
820
878
954
233
594
350
539
698
250
226
502
518
881
408
616
9
521
711
543
765
16
534
638
13
762
625
841
926
297
108
676
758
889
458
86
379
567
795
288
906
693
742
14
823
618
239
58
29
438
591
921
417
438
696
397
193
374
446
646
942
431
286
323
818
928
413
220
154
491
909
17
924
835
398
156
340
72
531
104
960
691
305
497
177
419
268
647
539
267
392
585
911
991
669
907
718
70
482
181
765
448
111
86
103
206
82
788
749
51
298
978
67
222
301
559
953
851
555
542
763
157
816
381
244
900
849
869
611
986
594
654
818
632
292
599
610
769
909
538
507
163
192
384
559
766
304
844
130
280
985
276
846
524
59
168
353
162
274
237
732
266
953
32
216
587
551
438
648
433
42
286
516
620
180
510
653
929
381
597
900
818
90
555
752
474
591
127
688
626
732
677
872
407
256
938
813
585
245
736
4
724
519
45
565
557
203
431
730
153
715
187
233
328
856
598
328
84
304
633
711
203
410
420
26
115
855
964
218
261
440
166
497
755
859
39
449
647
245
202
404
73
845
872
204
902
102
505
54
291
167
813
312
108
183
568
8
515
983
310
161
385
730
179
671
569
430
9
559
661
611
677
536
358
610
924
533
833
179
562
25
397
639
460
421
380
689
339
908
474
604
383
909
334
432
606
57
675
162
313
251
544
235
676
604
614
459
280
814
127
936
914
46
201
622
508
611
560
850
432
221
624
470
209
888
959
19
646
117
873
861
586
826
551
674
324
753
806
748
390
734
874
48
203
555
185
717
841
2
503
358
238
216
318
437
634
162
768
990
549
785
663
5
148
529
114
189
776
146
657
40
975
419
441
914
599
487
225
904
221
903
111
502
249
178
15
97
718
76
471
671
207
99
311
89
328
124
132
400
518
166
407
269
889
257
757
646
941
679
686
562
970
602
941
227
927
195
653
883
999
837
279
305
716
136
967
382
413
233
804
867
766
561
119
585
515
327
774
596
750
104
616
985
245
217
364
840
733
35
386
363
458
569
258
540
75
701
317
141
516
692
636
487
524
850
208
492
301
753
13
746
57
878
699
393
829
214
582
685
459
202
916
695
787
39
88
215
320
664
432
338
304
400
110
880
901
755
428
77
82
18
550
840
401
638
667
291
861
692
144
45
717
776
846
718
148
368
991
131
681
967
473
119
888
650
200
609
825
709
150
516
137
206
201
271
200
978
481
855
445
865
525
507
732
7
938
737
800
673
172
301
226
944
655
162
402
646
563
786
156
983
210
37
790
575
427
675
819
598
260
197
317
384
188
760
593
227
733
353
168
448
103
518
773
973
807
731
883
952
594
910
435
800
622
3
531
368
23
14
660
451
584
191
432
631
591
872
613
656
440
602
654
968
762
37
235
634
187
777
723
525
919
310
335
503
359
818
363
866
275
683
941
181
885
145
186
688
935
760
544
454
523
785
752
948
551
327
835
433
506
132
312
439
938
555
203
484
477
689
662
237
62
56
451
155
99
242
41
266
926
885
558
677
353
615
676
492
170
816
517
487
69
546
494
959
588
518
748
717
93
415
520
855
383
56
813
838
766
307
995
778
177
293
696
615
6
247
401
887
856
699
150
507
728
279
534
306
978
171
187
38
494
108
733
355
238
134
475
381
90
964
950
993
54
714
904
160
365
656
413
914
617
838
436
435
307
496
325
291
121
311
923
160
278
756
306
69
149
206
803
216
937
333
842
189
811
506
575
991
911
403
883
646
151
340
866
148
131
470
970
473
986
61
763
694
105
363
896
535
722
698
890
886
619
22
298
342
310
977
973
662
187
650
394
518
453
349
843
912
207
290
105
540
475
633
930
114
279
239
566
734
423
540
673
173
446
573
83
468
977
108
390
979
37
546
380
848
877
38
766
139
536
149
246
185
434
582
365
83
319
149
511
732
824
538
43
312
380
282
948
9
79
146
762
897
178
473
779
581
394
489
738
79
696
72
899
364
576
81
380
131
75
361
201
944
248
159
541
169
83
492
101
817
589
413
367
295
314
805
120
464
642
41
398
210
617
29
973
365
389
183
455
795
827
483
387
279
529
776
696
386
617
543
210
611
429
714
671
444
90
355
501
686
41
782
496
782
377
793
560
628
962
172
112
935
569
230
691
940
290
113
539
409
625
777
880
789
254
357
833
719
677
617
58
268
138
248
636
145
533
661
837
978
130
674
694
167
236
392
878
650
636
850
78
691
53
123
370
543
495
54
474
979
275
85
729
38
801
636
463
721
468
253
36
93
90
229
744
287
34
159
185
902
984
238
903
221
877
298
767
767
713
502
651
877
363
301
341
854
801
522
856
393
59
780
364
506
969
738
550
472
138
359
659
245
281
51
467
506
897
747
398
143
343
830
790
281
758
49
149
344
330
635
586
331
474
770
316
840
527
919
272
471
492
525
126
618
152
859
746
932
589
28
72
576
303
438
349
544
277
807
240
578
431
496
668
543
274
344
143
389
825
104
846
913
302
438
220
107
524
677
979
143
298
264
794
657
418
182
977
600
40
122
987
208
66
877
311
512
433
118
645
330
366
104
941
980
199
347
304
191
961
434
877
628
393
791
552
496
239
228
233
64
826
31
195
463
216
587
938
437
223
198
782
482
430
128
711
619
753
15
742
754
315
692
180
962
788
85
437
339
460
663
408
474
266
60
65
17
68
403
609
689
648
365
111
968
900
47
689
342
778
502
203
910
876
126
185
733
168
163
928
772
185
374
439
67
163
27
68
339
890
843
852
513
190
349
680
147
364
436
400
717
965
545
673
261
722
752
352
631
760
973
875
371
887
576
402
617
85
922
464
727
267
995
905
57
496
947
468
237
733
436
807
40
348
691
955
993
694
310
802
680
993
143
995
707
583
790
298
706
391
629
979
536
228
251
286
584
921
448
489
76
575
523
771
924
434
635
585
318
662
356
156
363
943
448
992
261
32
493
355
179
609
429
294
320
686
811
993
649
313
732
368
673
106
386
537
364
69
377
612
632
101
685
333
921
177
763
761
203
370
479
49
52
567
946
620
871
548
373
321
28
219
198
298
115
342
442
122
989
808
653
47
645
169
388
416
688
942
842
511
604
273
427
817
619
123
329
923
590
375
859
212
350
864
154
473
399
974
622
979
640
600
110
524
493
453
260
715
642
43
72
299
121
146
377
219
544
890
429
442
436
340
153
947
455
398
453
636
426
294
306
353
795
111
32
523
936
82
36
35
269
619
782
655
654
147
797
39
378
797
154
554
113
511
393
505
74
388
738
860
76
63
162
685
575
157
159
235
891
841
91
715
904
278
148
402
947
979
893
691
670
970
525
59
531
567
525
238
660
493
875
970
985
969
460
650
627
831
180
96
441
714
978
76
937
105
325
80
161
494
831
508
450
521
641
942
248
202
827
246
797
551
359
376
430
181
43
699
686
252
995
586
137
518
71
438
648
710
322
371
574
672
460
445
885
2
99
46
677
208
931
961
892
925
229
352
6
767
837
944
103
847
744
8
629
444
583
326
254
151
218
523
522
600
723
594
794
687
325
592
761
972
726
115
164
501
207
890
701
387
547
42
550
273
25
707
579
835
538
483
279
980
67
965
144
682
591
580
681
380
470
466
13
310
267
229
52
571
790
808
343
120
3
716
850
374
815
298
774
409
304
478
29
270
844
178
700
42
136
411
153
401
597
15
650
937
820
937
948
499
270
350
535
684
730
275
156
609
128
178
418
964
167
620
555
133
592
714
702
29
947
597
299
214
711
327
316
2
413
33
46
154
538
378
850
101
722
925
11
981
573
866
445
118
121
552
410
419
246
973
529
602
791
770
681
442
445
130
349
450
980
530
315
463
21
506
941
222
264
20
582
925
57
838
20
833
15
314
835
220
367
694
202
840
726
221
709
725
373
405
465
167
612
312
699
661
505
556
22
863
822
826
421
749
139
2
884
199
511
605
994
599
212
578
224
701
535
395
788
240
312
61
646
953
708
595
909
592
134
328
438
945
912
418
820
456
901
174
486
182
31
973
944
796
177
54
519
83
232
812
445
682
24
423
119
815
438
211
397
437
575
48
378
878
125
703
380
612
460
75
961
651
240
460
601
925
513
198
804
138
24
689
570
15
89
550
267
129
472
936
271
725
704
69
379
411
94
321
644
707
131
983
79
111
838
544
61
778
447
480
685
694
585
51
368
600
365
726
98
371
404
583
229
122
918
963
657
876
24
296
176
114
467
698
783
81
941
455
664
477
646
121
671
874
710
164
136
35
281
220
679
432
722
249
517
706
896
724
363
48
628
551
747
574
838
895
833
778
78
380
911
155
572
319
69
540
99
270
33
430
856
29
424
649
711
240
671
220
979
955
281
175
715
38
745
607
716
332
321
795
697
250
714
46
825
263
624
799
731
802
33
387
655
860
224
900
575
636
284
989
795
59
938
736
195
123
113
893
513
309
751
779
432
751
544
560
976
119
248
42
742
631
89
102
796
738
775
453
338
21
244
496
917
315
829
745
78
574
952
953
134
667
523
214
757
227
147
860
919
622
781
798
919
247
892
940
563
489
923
696
846
130
894
240
564
38
174
796
74
497
642
232
886
652
890
481
382
23
792
689
956
455
150
849
163
957
483
803
353
289
67
350
512
531
770
390
965
637
412
577
983
10
692
153
475
573
995
653
104
133
707
564
645
77
787
579
510
645
736
49
740
97
391
732
191
923
168
362
189
809
429
524
229
157
182
495
413
399
239
893
180
446
627
535
919
568
378
318
854
333
516
222
629
139
901
5
750
175
76
462
34
923
125
987
107
563
641
221
634
627
245
485
389
995
910
145
145
768
604
217
816
273
773
232
68
229
686
683
249
670
579
121
592
804
94
608
271
907
873
144
19
350
280
33
389
276
681
581
277
45
518
4
715
283
705
587
211
366
82
148
305
157
985
411
407
148
182
805
142
51
487
567
946
851
455
778
180
543
9
519
537
449
11
955
462
651
767
46
987
450
612
421
464
701
920
938
267
780
938
734
609
816
548
765
630
635
296
580
99
709
589
186
470
613
631
421
144
197
420
728
341
685
13
341
670
222
897
263
617
147
632
657
119
273
362
88
822
186
8
898
997
178
402
112
268
464
813
726
279
876
865
601
377
370
744
350
281
192
284
955
797
793
312
893
798
56
250
348
632
526
882
791
919
264
685
768
950
731
544
539
411
31
499
187
881
409
406
376
77
643
945
246
49
658
254
706
498
26
891
620
613
983
637
637
747
487
79
86
26
188
814
515
828
965
626
281
730
881
527
306
637
232
6
256
563
633
74
725
729
359
424
744
201
285
514
85
493
354
935
19
19
177
500
823
269
646
115
747
847
535
328
393
869
610
607
30
413
953
971
178
796
805
146
858
344
209
740
835
914
314
8
887
191
376
49
312
22
20
424
340
798
372
45
627
458
848
115
500
814
521
736
165
899
301
724
743
883
989
195
291
842
812
240
147
826
564
793
666
947
652
849
355
788
531
487
482
394
257
344
533
293
23
273
960
178
851
281
952
183
752
858
712
409
642
995
100
617
550
950
649
248
210
54
645
300
975
762
15
11
576
86
844
297
851
559
987
378
392
350
249
738
748
59
512
616
794
830
297
291
415
560
881
711
593
339
79
22
517
982
754
943
913
556
435
711
851
620
190
310
178
611
7
279
361
756
401
273
210
204
53
360
65
49
93
938
39
162
737
551
679
123
644
99
181
73
690
917
544
681
291
658
828
41
787
650
225
262
79
688
944
843
307
119
349
809
463
997
369
238
170
647
79
390
988
909
495
857
612
369
654
778
491
660
74
303
759
591
344
575
751
1000
216
698
192
21
66
812
253
352
391
161
1000
201
780
510
128
220
111
242
494
601
55
73
894
762
496
422
606
927
891
556
567
913
930
784
832
246
84
690
923
284
149
145
160
841
312
638
484
118
601
804
699
833
120
243
665
916
751
917
100
531
349
190
500
488
382
678
501
318
561
670
277
842
527
682
246
370
159
678
834
812
31
557
506
884
418
717
304
762
996
185
494
778
935
875
348
984
793
893
250
940
615
549
741
474
652
574
313
841
951
969
941
207
574
403
154
484
448
110
361
370
596
216
99
695
524
495
98
377
737
645
17
514
193
916
152
234
369
896
460
480
240
133
376
895
713
226
282
721
520
783
186
535
654
540
612
433
614
21
511
989
10
712
690
653
672
225
227
544
730
65
503
889
733
498
944
211
198
224
160
915
824
760
681
895
280
380
135
281
703
560
448
419
225
335
18
389
980
125
959
897
670
411
136
657
430
644
829
347
618
619
735
911
693
635
560
735
23
179
111
356
247
447
12
755
428
266
456
861
28
990
688
464
48
1
142
404
695
26
571
434
754
377
896
569
504
232
286
836
591
259
749
628
773
807
509
383
211
649
184
162
318
344
773
619
634
486
833
467
764
406
233
2
154
11
625
528
219
424
414
965
610
286
868
400
486
739
300
755
778
73
278
901
204
420
128
371
785
583
774
60
55
927
307
880
919
443
967
166
356
299
902
768
925
41
813
499
250
340
853
660
811
828
901
459
39
293
504
218
902
657
965
398
341
81
471
864
854
150
197
961
749
352
284
930
246
803
828
457
834
278
895
540
21
286
179
925
712
274
599
845
64
977
977
661
36
633
517
243
246
357
534
504
468
477
171
774
549
907
162
618
198
159
162
266
959
749
666
275
445
184
860
908
858
445
161
144
710
445
927
859
895
739
223
818
812
142
81
184
85
356
860
215
333
778
39
78
538
296
63
446
793
22
29
430
221
756
303
765
291
789
987
38
297
12
833
547
172
105
695
949
654
897
395
324
66
15
731
514
953
609
527
718
303
799
77
520
330
354
561
506
885
999
515
166
288
27
767
365
308
47
489
583
429
320
361
380
722
90
494
502
519
880
988
668
65
911
511
481
235
603
442
93
452
173
645
505
171
357
52
424
446
358
712
706
569
334
270
364
953
322
514
876
327
424
344
737
208
765
980
80
880
230
641
230
116
407
355
348
667
110
24
76
287
709
194
827
258
215
688
38
852
401
245
678
186
122
627
753
570
276
247
456
65
21
339
684
666
97
949
617
376
23
240
431
790
334
59
437
95
953
314
393
513
904
478
314
544
571
312
870
53
75
903
772
354
597
606
5
570
750
753
404
67
88
587
598
912
839
844
846
470
245
453
67
663
694
80
910
768
124
796
171
303
778
952
320
749
864
867
962
665
612
836
142
776
852
344
555
841
79
297
200
167
225
426
793
810
11
952
958
659
495
717
946
378
287
358
652
110
710
528
743
566
327
620
93
268
21
145
348
212
888
466
797
585
268
354
174
982
835
864
712
479
224
848
351
416
177
360
229
199
309
277
824
119
185
360
184
837
54
843
894
762
665
428
946
292
781
222
478
167
893
156
685
129
321
742
322
960
518
313
895
70
46
767
260
568
758
806
694
105
439
109
19
950
780
46
946
735
8
344
421
883
249
748
96
322
705
956
590
608
779
833
649
281
595
171
751
57
43
3
441
598
503
929
335
852
568
285
570
416
314
617
211
310
718
901
396
375
719
817
888
964
36
324
380
687
20
206
566
959
82
691
202
667
48
289
71
789
534
373
229
749
117
926
341
261
162
757
799
755
769
524
815
436
467
476
327
817
275
546
948
522
410
39
853
499
9
115
345
709
223
707
119
780
394
320
698
971
298
868
35
273
598
327
32
884
63
494
793
62
244
392
966
550
946
838
729
612
879
463
194
504
630
824
652
598
205
973
978
757
381
499
573
100
179
121
833
72
675
354
957
896
571
715
818
489
869
951
205
812
67
813
638
457
308
743
987
886
339
696
383
925
896
466
507
239
529
618
805
437
583
578
826
427
937
456
524
753
629
517
522
877
495
984
402
223
370
544
427
27
641
300
23
246
520
802
769
460
511
9
490
904
853
447
451
371
229
958
979
960
384
160
103
623
549
600
832
806
308
17
234
678
353
789
957
568
686
781
391
216
323
584
397
296
486
991
881
214
72
829
596
6
974
493
504
518
870
115
846
823
809
176
96
431
831
638
303
251
291
8
657
473
137
379
331
181
674
152
964
708
24
167
89
628
40
15
838
941
147
90
654
315
829
122
728
372
804
123
900
232
474
465
133
391
184
537
670
187
229
298
969
297
358
161
894
798
182
451
299
178
264
848
295
478
642
599
815
829
800
423
690
180
809
915
949
909
83
555
914
696
545
721
124
354
501
507
276
543
369
838
136
109
488
918
365
11
964
524
573
291
580
332
841
219
323
447
379
167
796
612
147
394
784
530
855
801
528
839
454
590
11
215
860
702
331
714
212
880
482
711
441
138
472
113
549
120
619
840
8
868
836
601
519
948
933
206
769
711
30
959
571
514
395
539
506
540
494
237
29
716
496
882
651
899
354
513
825
502
963
595
284
731
627
112
254
854
559
629
854
631
686
427
38
47
702
511
845
553
25
849
643
787
603
366
304
178
161
299
789
518
935
302
210
132
657
328
963
14
652
170
769
840
981
783
495
782
461
964
354
607
613
798
689
384
156
388
260
722
18
233
947
405
771
516
419
741
594
247
375
96
736
613
665
584
46
352
547
435
843
302
605
544
449
80
182
18
696
147
364
438
237
137
238
951
157
845
593
812
162
766
272
232
295
794
14
237
637
560
735
426
709
950
138
392
777
606
455
869
175
408
321
154
547
563
41
855
695
552
74
470
924
846
494
653
618
375
120
159
235
152
209
32
712
999
387
731
183
190
65
611
595
520
838
480
482
937
88
987
448
16
687
90
915
674
742
741
705
229
398
287
636
425
645
709
755
93
845
813
512
886
895
291
161
439
781
32
474
11
79
776
607
60
188
22
969
195
857
65
385
663
754
305
258
89
190
621
442
722
775
27
806
63
916
828
442
823
502
39
788
13
86
104
132
862
103
570
523
524
343
241
868
273
70
716
917
387
824
675
511
918
343
100
58
830
631
157
471
868
510
17
372
850
473
966
419
483
98
99
581
2
152
508
505
45
860
792
797
457
530
74
75
746
981
105
506
376
987
65
950
266
766
85
129
272
151
495
84
902
91
2
610
340
723
630
707
47
671
946
737
786
642
103
474
540
131
749
276
1
719
215
134
314
108
608
560
93
296
905
932
911
569
949
727
394
871
315
959
548
75
279
957
177
265
365
223
356
530
557
330
381
37
38
889
300
868
141
219
591
347
316
536
576
73
139
677
900
748
815
353
764
139
267
198
821
892
483
930
395
448
11
755
172
939
524
708
626
903
3
588
486
416
979
292
75
65
152
363
539
44
620
537
745
776
944
999
439
141
617
28
455
445
731
919
840
872
840
496
83
714
359
379
946
474
834
526
651
293
512
662
511
908
655
346
756
940
2
958
295
796
418
680
196
111
820
54
593
664
858
522
714
628
449
301
661
167
21
713
71
63
809
780
323
342
371
161
405
620
582
45
437
623
322
414
938
738
736
436
738
888
213
686
162
616
404
452
246
741
712
873
581
408
675
658
188
705
17
590
162
216
28
477
169
177
220
144
175
39
928
329
559
445
376
647
204
578
851
560
15
712
778
106
456
902
633
758
444
312
712
565
917
713
882
344
810
492
283
116
236
20
835
830
649
324
976
405
853
7
944
507
437
958
680
429
336
915
858
988
25
796
650
338
38
993
635
469
978
358
650
897
598
648
702
597
971
334
241
681
147
991
696
216
657
451
328
994
324
999
185
778
494
402
68
828
694
700
432
752
588
962
382
217
182
768
275
841
185
838
4
103
92
662
354
232
606
105
67
35
306
625
344
47
924
527
341
354
443
304
890
438
742
244
921
304
248
870
304
565
151
79
293
835
455
64
175
406
304
879
533
110
515
863
40
566
770
666
133
334
983
373
341
599
751
948
439
204
836
639
464
205
674
926
310
847
420
894
184
736
28
737
879
350
998
948
218
296
87
226
861
549
116
228
417
883
159
173
509
428
246
773
384
574
166
29
362
234
442
30
130
605
101
698
235
689
876
798
534
835
502
153
948
514
763
171
869
84
660
932
475
685
955
893
315
988
805
660
889
637
647
885
603
441
480
253
700
389
96
976
666
534
405
635
711
261
475
349
591
101
469
31
959
422
570
477
832
673
39
22
802
656
736
986
215
379
333
695
891
381
340
975
7
229
967
725
800
128
636
972
525
516
276
934
464
253
560
116
258
132
498
96
572
939
645
13
489
434
772
52
954
702
803
654
826
197
875
491
905
992
20
102
405
450
915
464
22
119
562
544
777
238
13
862
345
353
888
813
177
822
573
235
530
449
14
895
72
546
979
25
588
79
61
318
216
872
788
865
638
462
538
108
348
194
159
456
324
892
817
610
784
328
367
706
638
5
136
201
786
994
207
681
394
43
181
694
959
566
666
509
864
274
637
829
785
157
7
288
675
147
869
855
199
647
598
385
355
574
802
624
740
356
778
406
989
628
333
658
219
814
488
153
530
616
264
908
815
845
61
242
308
166
732
805
875
250
762
770
444
175
560
131
40
308
124
453
628
612
507
305
213
701
980
941
568
952
63
345
16
918
573
621
164
300
352
992
847
773
515
690
977
923
850
52
206
615
996
649
853
110
961
298
881
63
561
412
773
917
863
892
880
937
951
159
647
944
829
920
664
597
906
975
186
72
249
436
276
270
556
75
338
948
605
39
746
654
870
465
612
157
218
312
433
868
838
865
136
93
563
389
561
6
723
36
216
893
663
405
675
750
357
544
474
438
483
320
375
592
242
728
463
397
281
65
961
998
563
788
843
91
662
777
165
163
360
724
730
894
8
7
457
313
210
237
359
331
613
252
912
192
941
438
958
306
6
110
290
226
473
721
30
842
49
94
963
475
603
640
226
361
921
260
168
824
428
501
205
949
261
181
869
664
705
520
531
806
613
159
170
666
602
691
462
966
358
363
134
882
889
237
630
428
907
856
429
108
338
999
909
877
886
938
152
60
207
870
710
593
188
461
919
95
49
98
778
393
273
618
286
350
882
535
224
356
982
477
684
923
881
709
720
239
329
287
447
311
640
826
265
75
224
732
966
935
514
41
168
604
320
394
410
146
309
654
493
862
460
307
445
888
561
462
540
263
302
554
243
910
541
15
367
12
110
826
195
645
452
5
627
314
399
146
796
23
582
960
219
619
916
193
337
965
624
910
557
991
168
368
145
228
500
314
744
317
272
72
182
469
626
702
169
993
484
731
773
73
569
274
620
513
166
530
841
326
627
388
57
632
499
448
991
889
861
713
759
10
221
143
404
487
580
238
819
725
665
945
922
966
380
902
957
958
548
211
829
519
999
98
162
411
404
918
15
517
466
606
68
144
925
672
406
285
757
204
176
154
199
640
462
197
745
653
661
199
536
911
561
446
318
569
276
734
1000
212
394
288
297
969
213
585
238
96
523
14
922
23
314
779
219
952
394
220
878
420
981
992
53
649
293
343
143
662
811
847
392
597
745
709
19
11
489
584
848
775
195
820
895
330
428
982
750
62
344
401
187
42
395
913
657
751
882
748
27
174
796
198
33
498
426
861
923
794
377
429
715
551
642
618
942
449
834
643
206
69
567
707
565
19
805
921
877
43
353
488
733
984
73
496
655
582
169
84
233
919
756
908
412
260
47
532
422
393
817
402
28
482
819
63
479
401
402
787
605
554
377
629
211
802
242
949
218
751
807
902
528
810
848
511
11
47
551
263
382
666
513
433
268
758
722
608
709
543
296
817
651
938
190
3
911
996
46
20
282
159
702
503
615
751
501
64
861
490
783
684
797
217
886
982
83
575
290
795
842
250
573
667
600
755
381
122
549
916
50
649
804
236
781
413
386
162
693
318
248
673
582
723
466
672
699
488
993
932
235
661
582
286
642
1000
794
502
361
582
118
61
388
310
954
167
214
949
611
628
861
64
491
818
989
406
571
39
192
678
337
556
71
753
876
751
133
803
157
145
550
423
465
50
299
471
301
98
133
377
637
982
160
2
368
496
680
764
707
535
381
632
756
451
192
645
243
520
876
183
906
921
545
652
984
286
701
847
425
6
454
534
651
790
82
513
1
955
218
641
785
164
48
687
324
603
220
59
104
655
45
960
124
680
614
563
334
766
209
958
309
586
577
216
117
5
714
133
564
997
566
969
370
199
8
583
116
318
321
760
329
347
822
441
948
203
121
29
631
978
880
662
490
404
478
860
879
680
411
436
572
208
743
380
901
829
958
817
373
921
356
231
786
877
525
386
993
330
297
191
505
887
838
87
802
171
159
809
213
617
704
777
474
228
14
885
215
785
283
840
354
976
381
610
268
114
77
776
930
359
884
209
547
705
360
153
902
615
13
993
680
668
201
894
652
698
846
788
558
689
132
590
478
162
644
613
941
965
742
60
121
365
889
680
593
108
582
508
963
834
447
715
732
145
692
569
727
192
841
446
635
28
862
284
681
690
661
92
285
453
524
506
716
221
464
807
938
804
140
291
265
790
732
558
125
353
699
844
976
209
483
897
922
808
992
835
589
635
297
153
869
283
80
693
415
842
527
981
294
764
962
203
355
20
942
904
503
271
921
545
324
219
717
180
300
468
631
783
710
81
685
204
367
170
127
167
769
544
510
373
598
833
758
300
796
795
654
712
274
720
440
155
240
113
372
754
744
668
872
218
64
316
343
203
750
716
98
422
672
852
200
575
454
499
944
305
88
253
486
767
151
208
145
466
436
456
867
889
930
810
614
38
486
206
766
829
435
876
508
23
759
72
757
125
191
847
881
207
687
334
853
373
882
904
891
812
973
73
637
317
265
426
865
935
386
608
229
513
490
757
479
534
471
107
552
118
521
808
997
924
488
760
18
551
977
704
802
456
831
102
891
191
562
684
511
204
895
826
594
779
43
739
720
594
472
820
661
573
228
229
365
342
886
446
299
283
690
616
310
226
778
998
54
38
70
626
479
675
228
146
829
208
863
26
964
880
161
602
226
641
625
372
201
523
528
667
202
838
829
113
278
92
222
229
530
269
949
486
316
327
43
157
300
660
918
761
573
487
776
882
404
113
8
689
978
378
422
985
750
597
193
522
659
400
622
758
182
648
985
423
744
201
343
536
912
725
453
766
438
974
357
405
401
11
669
636
580
661
949
343
202
90
625
921
953
887
349
708
935
37
190
529
768
435
16
868
969
471
85
673
246
810
272
304
387
350
715
255
209
642
158
281
127
369
207
698
909
516
770
442
89
184
788
424
737
485
890
329
164
540
680
415
600
196
704
890
445
287
845
773
227
474
610
481
139
458
370
382
978
984
169
947
879
985
902
44
569
391
301
24
102
993
378
247
950
628
239
173
873
879
645
175
37
756
599
109
110
970
512
147
614
976
211
76
849
740
390
868
972
26
675
187
228
897
705
93
939
860
733
839
930
914
536
330
30
566
284
750
607
305
502
801
431
37
627
228
884
577
1000
621
402
783
122
6
602
458
519
920
658
587
960
847
18
991
912
906
487
366
149
580
837
90
756
423
616
202
961
989
4
310
613
767
682
382
600
430
953
416
198
108
685
398
123
219
657
76
117
436
164
443
380
45
146
106
921
427
801
513
153
577
371
839
118
240
716
452
192
658
901
620
461
254
243
600
578
266
803
298
323
405
739
557
212
600
91
101
42
405
608
187
810
780
439
647
521
392
612
421
224
398
245
663
220
87
850
460
298
513
336
658
791
400
726
692
85
809
355
948
461
791
895
413
8
528
41
781
510
10
713
232
52
658
142
439
759
852
455
953
840
769
504
4
523
703
581
547
784
523
256
621
53
423
958
864
644
481
239
177
830
707
848
83
599
8
351
25
116
504
505
782
749
365
313
186
471
569
411
998
960
621
175
823
845
104
315
926
122
264
165
495
103
887
354
206
299
600
69
362
764
143
714
243
576
34
174
39
733
801
220
859
844
6
565
555
603
436
483
350
854
495
670
920
627
434
219
979
364
735
126
144
722
587
831
553
746
407
43
682
823
354
168
384
832
458
465
281
609
889
858
637
801
657
204
146
426
770
70
94
321
67
663
447
839
667
301
563
300
435
433
522
596
525
527
146
184
952
146
451
819
433
454
723
830
528
126
781
182
950
977
968
786
331
484
121
901
479
67
855
822
686
38
437
587
625
337
977
2
369
297
392
816
334
778
838
368
342
698
978
854
642
334
160
295
394
41
938
667
888
554
61
354
97
781
273
22
637
131
371
402
107
224
524
590
475
479
493
912
110
808
71
443
937
575
749
784
553
152
854
65
824
193
81
532
664
76
14
351
184
598
178
195
250
653
954
870
79
972
463
129
805
944
594
439
745
443
830
426
409
338
573
743
145
23
348
824
979
819
31
203
605
195
369
134
444
1
99
156
151
288
890
698
330
593
811
80
869
905
325
142
433
611
22
841
721
966
506
413
507
286
834
870
905
872
500
447
608
36
952
627
309
172
339
655
615
234
545
441
81
385
798
454
864
677
292
568
55
867
635
591
439
936
64
731
442
825
920
984
529
598
461
144
563
253
610
879
21
942
553
801
565
538
4
553
397
802
953
88
427
827
295
725
187
140
110
178
558
220
514
152
385
798
107
681
852
60
71
410
129
438
83
203
471
181
555
525
670
771
384
449
582
526
641
95
222
592
556
916
57
994
22
722
169
113
863
528
236
974
579
952
4
800
722
498
89
386
978
879
140
863
319
938
700
732
275
75
400
715
589
775
339
922
561
177
144
638
950
225
498
313
987
545
245
722
586
366
991
585
41
471
467
178
417
59
971
199
562
627
327
185
859
103
417
816
786
511
174
195
980
800
500
910
383
968
235
402
301
793
625
543
651
822
421
11
974
704
308
525
102
520
425
421
153
374
585
377
219
869
30
373
449
660
527
163
389
295
666
362
679
244
733
755
575
926
996
402
790
100
950
668
817
580
40
812
568
7
391
892
284
354
9
49
477
669
901
849
23
707
67
120
867
296
263
106
649
450
534
938
438
857
893
5
850
195
793
246
672
576
775
676
590
244
228
805
828
951
231
454
529
181
873
80
277
435
767
439
658
196
258
790
60
300
232
662
428
491
838
661
519
709
439
800
767
143
474
679
226
7
515
633
886
540
492
66
424
45
553
960
383
179
153
822
248
299
765
684
757
494
537
110
6
938
823
170
353
790
203
26
70
492
72
381
105
283
978
428
403
517
957
599
477
479
141
777
874
203
239
791
358
929
182
601
257
86
102
393
553
521
68
50
730
726
603
458
958
530
661
51
743
711
142
726
106
915
591
90
111
206
373
494
450
576
756
538
740
757
924
661
518
937
74
648
284
590
187
622
942
284
56
300
330
904
793
987
585
659
581
899
501
93
114
346
698
574
376
78
132
136
748
362
398
442
261
686
820
177
299
822
400
746
338
550
423
752
857
213
66
711
515
271
985
20
966
442
544
942
652
305
479
214
198
357
22
742
785
950
266
405
576
936
17
496
223
812
493
578
240
514
559
514
532
221
905
868
367
603
811
497
241
101
347
665
628
121
189
317
69
365
996
545
699
825
322
845
634
935
873
62
842
562
749
753
730
813
980
658
306
676
1000
358
27
341
462
380
522
49
526
405
337
140
265
968
917
98
901
910
764
442
36
714
48
119
879
926
602
197
925
149
154
943
395
35
915
659
759
901
556
432
559
917
881
975
85
418
115
675
758
584
60
224
177
787
749
889
545
190
405
366
364
882
843
463
360
417
849
204
268
838
923
578
121
504
8
609
855
839
827
643
878
654
284
598
706
820
917
292
824
763
178
177
527
468
132
472
504
354
993
24
473
990
766
829
225
971
853
860
121
885
785
998
813
612
514
726
858
123
204
605
150
614
824
902
390
541
626
607
23
879
400
157
635
265
190
88
663
115
235
46
96
927
156
709
471
575
980
392
573
294
137
7
358
655
59
695
957
523
476
894
751
825
530
436
1000
779
904
501
390
403
262
271
154
949
68
816
624
729
75
604
481
343
941
264
477
839
283
871
816
841
566
432
543
67
87
960
940
247
589
936
258
986
307
56
304
590
299
17
492
214
848
799
587
548
335
846
123
984
608
832
679
215
877
125
386
145
401
51
99
351
9
523
992
950
588
587
952
367
777
483
704
81
308
141
604
351
88
6
897
963
994
989
621
421
136
94
421
876
36
887
738
273
81
35
595
530
252
423
628
638
990
491
361
480
372
670
176
305
814
591
560
4
101
848
728
719
532
700
664
498
489
368
159
494
333
175
681
666
298
34
493
376
771
747
689
244
307
689
864
72
112
969
670
721
619
7
589
486
609
207
265
209
770
951
623
499
172
19
498
129
402
583
300
272
701
765
499
327
38
277
409
95
229
684
215
325
880
138
52
868
696
418
857
904
146
30
601
778
733
149
408
117
295
843
562
320
652
914
661
933
398
865
751
551
458
776
649
691
6
653
437
959
990
665
356
897
713
203
183
957
589
515
729
196
930
693
313
953
974
823
399
274
291
331
979
725
336
243
220
803
946
388
959
412
409
786
683
924
709
155
11
848
116
821
431
214
989
816
498
857
15
744
871
748
533
293
689
204
769
848
658
698
40
339
381
134
645
798
643
968
692
571
16
558
55
584
997
783
79
993
985
214
836
115
91
909
956
307
811
933
133
53
225
315
473
482
710
951
989
246
286
484
354
811
646
417
994
659
440
716
371
372
397
425
397
186
113
220
100
820
401
384
694
33
267
279
164
436
387
786
937
645
720
203
459
718
869
245
175
175
837
522
184
164
256
642
589
899
591
996
57
198
744
207
31
276
49
835
868
754
313
436
760
997
339
105
836
848
108
894
236
329
272
198
73
951
122
453
149
594
769
224
802
28
217
690
236
274
139
70
414
249
988
826
105
529
263
727
822
670
537
454
278
831
171
552
81
142
479
680
207
709
499
15
356
701
6
421
842
772
183
436
471
777
410
995
823
880
504
46
413
803
72
560
397
209
692
846
269
303
954
336
152
965
702
623
432
452
898
661
83
955
428
919
423
4
353
425
906
803
441
596
628
254
762
438
378
484
945
453
394
715
783
114
332
130
354
655
218
312
122
587
255
258
922
634
530
469
346
36
449
532
949
472
762
999
657
266
441
199
626
708
687
697
781
727
314
259
535
870
423
192
925
611
508
120
979
371
882
466
364
992
314
11
791
479
663
361
880
555
706
395
529
277
965
446
853
670
857
651
804
277
208
691
425
720
794
957
304
685
416
515
237
661
43
741
425
103
959
870
654
562
392
353
260
263
725
91
151
566
794
247
763
363
207
733
687
859
323
202
278
798
504
650
755
870
552
245
326
215
267
99
117
710
940
87
387
735
551
742
575
639
13
270
250
320
69
217
261
323
776
546
163
706
886
198
166
579
295
134
35
882
667
770
817
366
286
142
881
140
860
127
629
146
106
585
509
273
426
971
847
537
329
983
935
560
657
351
890
455
321
580
79
90
740
273
432
898
957
221
485
457
976
891
551
404
132
565
867
475
665
398
300
881
72
44
453
477
708
354
838
311
522
386
766
653
239
132
741
219
453
914
60
537
129
709
328
163
32
388
234
416
774
174
150
929
910
60
47
283
948
336
173
823
973
358
185
381
496
110
548
78
173
34
369
392
178
332
60
30
77
92
343
936
860
298
86
981
983
933
47
805
899
391
265
417
703
670
130
495
652
203
570
524
546
64
618
582
641
382
875
648
506
28
686
261
424
729
890
103
206
801
737
571
729
393
645
470
803
515
979
434
965
613
660
417
583
322
503
302
767
463
360
399
552
808
681
142
150
634
808
64
401
360
393
951
961
353
953
735
794
1
70
15
513
596
771
989
451
104
229
529
664
89
973
364
809
423
592
340
195
806
74
636
648
485
701
983
900
70
239
32
831
338
209
665
264
855
695
911
175
657
798
7
311
429
374
787
264
839
262
647
153
107
42
344
492
472
969
107
443
818
897
836
855
233
550
732
866
367
532
116
401
519
937
103
370
485
986
758
175
390
125
508
435
910
591
533
279
75
480
519
455
524
660
202
704
46
933
886
512
464
735
790
260
404
242
843
725
859
72
427
416
140
918
561
118
710
23
483
564
493
34
926
509
525
389
711
683
595
419
227
550
427
66
413
388
522
597
975
209
817
48
668
344
879
14
528
102
703
706
407
732
856
501
459
610
361
567
571
23
672
414
771
37
999
556
895
110
913
580
779
871
781
247
858
639
177
916
231
71
914
329
661
184
459
660
260
930
467
829
435
537
32
350
224
489
616
958
643
750
72
808
366
693
310
219
750
575
847
768
176
367
63
235
960
729
120
608
908
375
604
174
397
271
41
450
569
274
469
115
80
449
298
730
846
945
190
31
694
111
460
913
31
170
406
412
360
820
299
875
303
942
47
593
603
67
943
84
302
355
354
748
355
960
372
615
513
833
658
871
906
169
644
213
136
524
997
930
861
359
55
414
487
471
525
623
192
852
738
574
89
393
416
44
439
208
66
999
812
236
406
159
794
373
952
858
16
818
579
458
628
445
433
938
900
329
777
240
108
795
367
390
622
782
93
319
558
787
412
583
794
215
849
670
519
754
752
256
765
730
236
269
204
40
890
491
981
441
453
115
178
706
734
682
738
497
887
654
862
930
719
632
557
364
941
269
568
633
678
440
131
41
907
504
492
16
286
191
651
753
760
514
495
190
755
622
223
71
856
640
352
61
641
940
695
716
879
457
572
207
801
534
265
680
83
268
255
792
279
187
242
340
393
363
639
814
247
542
697
494
58
365
669
843
173
462
558
691
242
866
400
578
935
321
784
827
3
178
899
17
665
891
548
860
448
219
242
543
619
226
344
600
47
853
894
903
391
265
431
88
397
839
425
600
480
681
295
533
114
762
172
670
348
920
397
99
555
553
465
661
580
484
732
691
179
979
571
350
386
470
772
186
768
876
670
891
127
528
15
658
552
272
852
751
634
197
412
144
765
910
105
263
126
264
332
733
417
498
656
692
477
940
930
928
601
50
245
985
916
431
333
25
364
150
559
613
102
163
973
632
316
902
634
140
529
938
729
371
749
334
234
531
34
499
333
646
354
815
555
43
387
453
106
414
869
639
471
958
995
410
774
697
517
377
819
556
397
211
459
803
572
586
764
997
673
61
269
802
327
467
911
439
298
543
565
898
76
349
694
997
88
755
504
563
564
983
812
513
325
422
296
711
773
133
816
832
411
937
385
139
765
590
702
180
805
478
316
97
736
396
115
276
355
939
271
190
336
779
95
282
605
332
717
21
838
674
483
196
27
718
745
470
825
915
528
17
560
515
842
824
410
821
6
829
697
689
198
219
497
249
500
593
376
415
464
576
125
793
984
636
526
196
257
880
604
75
497
836
191
284
318
205
774
801
767
337
504
714
786
768
780
901
565
93
634
5
711
776
910
833
408
2
521
328
407
810
879
560
369
303
995
774
296
510
613
261
9
847
140
107
41
902
601
653
542
525
590
39
401
610
916
303
118
715
6
153
721
44
678
450
211
268
384
164
395
368
543
729
803
665
547
485
485
991
737
447
311
62
328
989
635
885
174
502
921
827
486
135
800
999
718
598
169
497
982
250
496
252
230
827
555
425
935
381
369
705
538
589
163
834
855
830
443
282
630
593
615
189
979
537
768
592
649
951
830
989
559
308
966
749
311
11
350
758
646
113
138
552
433
42
637
213
162
550
213
566
294
108
737
107
691
954
74
409
108
556
550
971
620
638
865
829
754
954
566
534
596
206
427
669
737
498
325
356
154
653
821
41
432
409
22
960
512
879
329
417
932
890
466
175
535
698
461
30
605
50
58
253
455
24
706
672
616
60
490
620
897
401
78
188
570
246
182
688
494
984
810
382
660
542
913
450
195
203
193
268
614
457
987
808
288
599
897
620
8
772
686
473
959
809
163
468
338
191
569
163
605
585
862
940
513
512
383
140
839
987
65
748
525
477
218
621
814
430
135
658
900
828
78
577
210
191
726
206
270
459
513
306
143
246
979
797
76
45
965
84
913
335
190
968
743
679
329
548
560
152
457
599
356
252
636
780
396
864
567
397
902
990
927
780
852
640
268
14
400
96
694
491
649
85
217
817
67
824
113
305
469
72
203
501
304
743
833
926
908
554
18
491
706
765
677
468
287
972
565
32
996
641
990
229
597
63
452
616
28
960
833
743
299
595
49
887
375
715
38
732
648
637
18
345
766
787
659
732
55
483
346
679
868
693
765
383
44
238
417
552
975
62
942
5
836
74
321
570
295
837
557
840
153
188
502
191
753
355
311
700
459
464
961
862
16
380
973
795
506
672
653
184
484
805
509
285
656
245
424
186
36
743
255
893
230
724
973
102
849
485
524
816
229
386
738
649
938
610
489
427
875
13
741
980
417
61
393
471
201
708
102
27
398
614
104
671
80
790
279
357
898
877
620
778
942
909
225
839
141
893
639
671
839
576
489
402
599
346
183
721
268
219
159
774
729
527
731
598
195
696
154
592
846
178
602
795
932
666
589
343
625
559
706
965
648
986
827
641
884
942
560
948
552
252
541
808
334
759
764
558
496
556
565
409
86
747
869
288
952
409
504
777
194
118
184
123
676
424
530
110
589
973
836
896
487
107
671
248
44
950
698
770
906
961
715
377
409
948
65
782
127
878
805
571
710
648
766
574
741
303
588
945
726
515
299
485
331
858
36
474
28
144
804
535
753
73
379
277
745
572
706
341
631
909
595
811
470
328
361
817
806
7
647
16
361
555
582
146
454
747
421
471
510
705
897
504
963
807
720
305
56
680
837
168
309
50
660
955
661
343
432
37
928
206
904
32
402
184
815
798
777
293
171
820
623
505
10
751
236
658
30
413
694
688
88
982
940
782
987
70
62
296
126
361
49
35
990
499
447
635
229
482
939
456
513
853
463
861
583
682
57
836
463
333
359
77
73
403
793
693
111
686
503
296
602
14
262
585
666
194
484
76
850
87
821
494
128
610
503
358
181
643
958
73
871
200
406
210
191
928
365
411
792
489
108
543
126
980
189
484
588
966
239
267
765
721
441
488
664
877
112
483
200
402
783
675
846
495
16
805
522
189
123
836
739
177
114
385
245
443
869
238
761
240
3
556
133
970
831
793
431
164
502
749
857
53
760
679
815
723
67
349
621
414
741
976
8
986
680
374
155
43
94
871
944
645
577
878
746
660
859
261
550
819
308
438
284
876
540
97
727
630
590
951
214
725
362
84
71
902
857
165
277
319
950
664
487
283
776
849
98
436
175
876
839
264
467
438
301
168
579
426
712
363
601
649
415
441
862
661
573
735
377
814
113
558
11
872
130
465
168
516
986
882
226
809
67
679
541
785
697
795
429
825
410
179
352
285
508
462
870
501
376
594
783
755
585
984
596
751
484
390
545
355
358
980
548
885
681
186
903
441
442
954
664
198
28
429
642
409
179
186
929
668
669
398
739
46
90
105
22
989
594
876
770
93
839
553
783
978
394
100
974
492
481
246
624
824
739
888
972
739
422
54
572
762
446
579
104
558
509
901
54
335
233
68
452
197
300
635
429
501
120
382
929
629
660
241
94
941
969
757
147
636
710
619
625
648
218
236
928
405
772
98
9
538
423
889
885
76
104
230
226
605
665
434
809
725
608
173
349
74
40
337
274
844
176
97
37
499
21
887
226
211
457
156
793
98
149
829
679
152
998
722
479
250
184
817
961
492
290
941
623
953
944
300
906
266
790
580
22
910
479
664
812
286
281
643
92
687
586
460
594
234
768
640
918
894
211
667
248
62
268
517
277
946
524
443
441
394
404
173
777
311
918
432
615
525
781
123
223
476
345
511
170
915
615
146
858
873
179
849
555
445
525
288
775
298
85
785
175
527
216
80
527
379
829
709
457
646
246
899
257
931
335
772
778
463
877
411
118
248
680
236
945
192
910
852
956
339
932
265
683
733
381
672
874
309
319
670
652
659
151
139
375
602
289
128
739
843
283
531
591
608
843
308
834
475
854
339
711
383
685
173
308
30
46
763
392
145
686
586
313
37
614
726
674
877
317
625
693
186
14
18
550
218
819
36
143
637
809
329
995
622
71
582
354
676
40
593
1
692
741
239
953
945
396
35
482
561
508
622
119
200
238
687
986
483
942
879
918
486
331
73
968
953
33
252
101
37
104
354
546
476
250
349
895
806
263
268
964
193
567
892
284
921
605
170
458
118
835
358
884
582
772
812
348
737
608
531
247
753
236
324
615
817
334
213
531
676
692
994
538
908
756
304
431
385
581
133
432
708
792
127
157
733
917
158
990
525
140
501
764
417
433
921
130
442
964
655
925
669
383
924
689
43
839
8
900
953
590
333
117
220
818
326
819
124
44
325
800
840
243
104
708
58
706
341
751
124
837
721
919
221
509
714
348
818
937
441
764
391
897
900
301
45
918
552
884
995
147
908
602
581
898
716
935
826
358
850
316
886
61
101
359
921
80
481
975
103
873
814
476
484
673
977
725
170
162
571
405
284
197
838
670
523
519
460
632
841
650
531
958
309
554
786
821
69
668
990
634
701
566
327
935
860
467
737
934
672
869
493
585
173
219
843
155
109
467
498
929
848
113
884
87
879
760
971
292
81
394
768
222
451
100
702
212
17
592
842
72
723
744
313
387
420
81
437
240
851
201
444
605
922
204
674
516
794
417
511
440
725
94
775
676
618
824
445
135
608
887
208
907
200
711
848
570
933
789
42
275
940
663
801
221
760
349
961
791
688
621
528
189
624
589
860
520
18
378
759
4
653
31
267
390
880
685
70
260
669
708
487
827
936
950
922
450
410
751
862
982
508
635
847
689
553
919
714
398
917
787
714
798
199
398
115
152
950
306
596
926
936
967
931
190
49
977
839
223
489
503
949
588
518
941
265
349
470
653
374
936
10
395
579
667
255
228
540
571
613
459
534
499
791
299
964
565
659
485
90
157
616
624
749
136
283
934
449
191
58
938
958
583
832
518
511
758
529
778
960
883
197
133
483
281
879
334
461
920
45
238
65
530
353
847
589
367
879
565
565
243
585
501
257
881
946
45
154
107
491
529
188
819
317
979
179
119
843
642
129
307
684
238
927
877
888
132
8
877
360
337
262
910
122
66
275
640
348
985
269
340
366
954
654
786
45
852
15
879
637
199
239
91
127
681
716
768
916
61
932
446
660
489
193
511
120
116
624
441
974
661
342
903
639
336
667
856
639
294
884
488
154
81
408
212
385
437
553
772
196
791
525
829
463
482
383
618
369
385
198
524
35
233
773
908
341
393
314
354
809
414
117
715
788
415
832
707
443
450
675
93
249
587
945
369
707
714
864
693
323
350
798
917
973
584
628
848
883
637
260
75
779
427
138
313
386
866
679
861
632
608
585
879
578
924
247
291
817
441
663
791
313
107
190
497
286
183
318
107
476
979
238
192
207
738
65
353
973
166
153
307
994
729
136
884
421
125
644
62
651
856
612
511
946
58
881
934
527
638
733
63
314
671
989
607
38
800
135
943
527
651
492
835
654
173
978
16
896
146
443
137
157
195
700
56
634
653
256
39
980
666
65
279
228
828
62
677
932
43
275
486
118
634
630
819
962
624
158
483
739
742
716
389
516
261
91
584
387
422
374
849
697
84
185
152
670
728
587
834
347
480
498
107
545
308
902
705
993
275
85
669
464
998
171
255
915
833
904
755
270
346
482
724
638
705
203
830
25
326
534
832
97
673
395
8
685
578
663
429
344
318
877
438
350
451
222
199
81
280
893
191
641
59
32
263
423
285
205
62
198
2
884
187
743
974
644
372
251
465
955
610
470
132
629
754
443
278
973
317
176
504
455
1
82
453
160
737
697
7
398
938
193
146
721
885
979
463
721
695
623
959
850
43
499
200
199
311
396
632
155
552
412
671
907
439
877
545
91
405
609
370
732
689
479
249
268
700
966
390
26
724
433
260
640
972
28
685
859
404
80
281
742
960
657
246
947
463
243
92
513
631
178
975
659
728
904
498
493
727
49
831
953
724
708
643
116
334
416
849
845
300
432
600
310
289
369
164
254
992
964
557
963
82
453
633
222
246
75
851
577
223
641
526
391
730
155
950
511
822
704
893
998
769
143
931
739
425
258
107
673
148
866
500
697
59
469
897
206
183
383
397
740
980
175
97
496
123
437
771
828
515
698
583
508
413
909
780
298
779
101
615
574
508
423
33
613
821
759
651
611
9
34
52
979
980
976
994
892
825
413
231
429
931
357
831
825
94
562
248
309
56
126
473
702
126
378
157
252
928
795
413
386
320
71
152
759
163
991
548
792
423
722
914
521
355
263
416
30
98
392
472
131
390
824
74
252
575
438
954
169
782
155
212
863
501
216
832
731
374
474
158
878
880
566
492
194
943
755
414
788
436
113
880
459
125
782
595
84
429
422
53
305
554
766
300
222
887
89
351
940
73
618
829
59
508
274
336
111
298
166
958
220
742
631
498
841
898
662
538
480
416
331
941
100
101
479
379
583
17
993
80
977
702
872
445
32
11
953
26
165
989
296
184
463
847
668
917
830
588
965
753
394
183
978
521
816
150
845
366
650
495
122
906
271
785
874
312
646
886
540
417
524
621
388
305
202
784
198
639
130
165
975
108
86
266
716
396
514
548
133
348
554
872
622
815
17
604
605
39
187
154
305
590
598
946
307
441
973
173
953
710
945
478
123
989
558
17
336
446
226
818
388
444
321
186
258
609
742
360
769
918
99
460
628
913
301
175
765
687
283
430
431
211
86
998
125
57
267
386
306
212
714
31
350
514
301
776
962
62
425
209
694
48
879
983
880
352
398
879
866
40
845
304
149
709
611
956
116
991
187
360
795
803
160
928
121
290
269
832
551
70
322
349
816
15
522
53
516
971
496
901
488
236
475
661
568
730
65
590
265
29
370
26
434
710
742
437
687
520
377
328
935
101
779
857
961
514
130
273
559
474
859
518
404
719
336
428
814
685
380
873
224
838
688
606
923
244
793
741
979
189
951
893
584
201
902
384
569
814
860
902
482
34
113
987
721
205
755
696
469
839
91
936
211
407
913
132
207
670
420
324
840
526
313
633
463
113
612
133
121
402
546
101
719
618
218
9
264
507
745
50
870
219
283
344
97
101
904
934
533
515
782
363
69
9
207
739
740
365
249
505
437
844
481
452
711
307
617
139
93
609
749
20
619
48
266
965
666
229
126
845
997
297
922
665
749
6
369
226
401
365
88
141
127
289
469
639
597
961
132
803
899
595
989
942
57
15
796
506
208
723
695
348
301
234
49
236
823
332
343
469
717
774
114
480
18
813
507
529
752
456
218
947
506
87
244
445
979
590
783
645
923
159
59
785
190
802
868
753
49
700
453
611
508
463
554
705
843
588
281
145
117
105
250
387
122
558
623
81
350
173
990
366
640
90
351
414
984
818
387
362
265
161
579
681
743
821
941
126
471
310
99
108
206
685
736
527
937
927
540
481
657
122
748
680
409
791
176
92
295
11
792
780
909
17
24
50
451
70
861
807
148
576
746
398
653
850
407
911
429
904
155
131
563
840
280
112
813
854
184
652
529
125
884
417
25
567
33
453
70
72
760
565
834
742
315
409
4
779
93
928
876
55
378
952
619
495
447
146
673
935
38
846
110
868
976
172
195
788
874
397
717
445
881
204
46
413
953
189
599
568
793
829
925
323
771
524
978
547
724
253
805
341
829
338
537
423
230
821
139
92
972
762
737
620
317
64
127
166
131
210
749
497
435
448
344
265
962
774
425
449
309
809
920
481
774
280
43
892
263
766
115
886
983
325
830
975
43
327
573
147
394
706
772
643
765
376
881
951
172
405
604
899
92
293
636
142
467
227
432
607
635
957
280
840
716
845
93
271
267
202
988
121
629
130
63
418
193
297
58
695
781
180
430
935
90
379
320
822
894
979
611
512
990
133
158
588
84
530
429
239
472
55
162
776
791
353
323
115
450
969
872
748
140
104
843
925
393
910
702
10
79
990
971
876
103
981
500
550
831
271
921
677
698
326
723
370
567
666
493
800
93
372
87
419
961
552
202
755
253
826
471
681
929
169
935
105
388
486
699
163
236
748
222
980
312
967
658
131
187
966
207
222
306
159
840
598
331
795
216
251
373
942
603
912
680
874
114
525
550
626
937
490
833
248
546
737
252
78
459
479
124
701
754
6
247
693
864
244
868
752
732
220
339
420
630
169
57
428
51
674
324
202
713
822
116
862
286
399
68
899
82
881
159
621
657
932
891
552
50
458
527
246
31
218
578
68
755
466
653
540
732
299
50
491
879
145
28
569
160
100
202
352
258
835
352
168
954
299
414
243
334
994
230
897
559
172
113
552
486
718
995
319
409
926
547
900
707
687
276
189
988
44
547
305
249
618
243
963
297
215
295
454
984
456
714
376
358
530
756
691
893
285
273
797
668
254
735
857
36
624
769
544
551
227
459
338
810
528
782
476
851
888
542
938
243
306
534
92
40
793
707
98
692
945
537
821
270
713
926
820
62
462
836
445
413
840
206
957
355
946
516
26
635
107
639
311
73
930
430
669
274
233
908
222
728
207
723
380
218
602
520
851
632
656
343
46
415
501
44
130
867
581
827
298
774
571
694
13
26
840
720
294
264
724
208
815
573
380
196
811
676
797
751
248
76
737
146
186
537
629
75
605
270
692
721
222
887
4
56
799
258
568
479
383
414
836
416
705
158
121
569
822
115
251
145
979
39
456
855
105
866
454
773
211
502
806
430
407
218
8
451
680
669
783
394
215
814
674
136
247
728
189
159
700
143
187
269
642
938
507
603
558
495
134
628
438
208
447
568
68
319
490
722
568
272
991
807
225
535
413
505
391
943
407
774
109
913
56
329
332
467
188
715
315
26
357
534
439
720
189
842
528
996
23
231
495
136
649
192
700
711
575
552
499
474
674
372
721
589
344
237
798
417
832
709
19
889
476
473
847
255
711
589
602
982
932
216
531
994
853
520
366
520
533
454
252
791
34
560
318
672
164
403
616
391
198
238
63
926
21
829
138
28
505
442
635
480
533
333
585
474
407
420
655
675
844
2
19
493
162
463
590
585
531
429
84
465
644
759
601
76
908
37
30
172
74
107
636
886
109
860
423
484
84
132
641
481
497
60
198
182
486
271
698
719
961
162
619
563
287
343
644
455
275
458
966
373
454
824
16
110
422
611
570
929
288
371
461
895
611
233
482
584
118
90
908
1
317
385
845
953
490
858
187
472
967
733
917
821
606
965
150
535
365
783
97
63
466
12
112
467
176
380
337
304
764
58
815
48
832
135
959
673
380
732
59
330
284
384
508
300
631
106
359
708
675
252
97
186
7
840
67
520
103
280
73
885
219
844
540
887
213
242
496
919
279
287
248
104
293
665
595
258
841
834
81
671
937
761
544
780
651
188
672
861
571
359
225
563
735
250
884
410
808
858
657
353
792
128
84
953
973
704
465
849
50
738
9
766
371
581
199
405
884
731
911
957
393
777
928
36
525
295
452
13
535
793
101
16
14
416
409
286
278
46
124
677
493
710
701
785
487
155
76
520
411
964
999
762
91
422
9
908
998
295
320
323
545
212
949
676
676
348
7
308
437
592
96
130
38
313
229
556
935
56
131
915
833
75
176
828
817
936
785
920
196
570
844
463
258
986
305
957
927
554
518
472
119
883
692
366
449
438
376
344
793
198
982
831
130
927
975
709
388
673
592
495
124
465
929
139
310
584
810
974
723
889
199
402
215
184
369
764
628
164
793
400
531
823
341
616
813
358
502
917
957
300
124
16
513
995
950
728
267
372
984
569
935
25
286
184
141
519
186
739
705
577
208
674
709
8
716
696
348
49
403
157
117
505
64
68
233
319
228
768
919
91
145
689
802
824
172
405
417
117
750
340
83
617
181
46
702
120
527
180
896
959
152
325
790
62
410
584
167
110
509
956
994
297
209
461
752
496
59
423
166
380
232
302
630
847
474
894
771
465
782
289
297
604
976
70
319
851
59
995
565
633
985
939
35
253
134
911
353
915
83
292
367
238
160
843
763
778
784
283
485
767
15
655
187
697
68
187
582
625
535
794
724
170
514
959
54
412
664
786
170
108
106
846
35
540
585
167
527
674
491
601
567
720
671
758
536
132
727
413
475
164
94
344
663
335
717
650
980
49
812
591
196
882
795
311
957
374
434
325
860
526
322
248
12
385
660
189
220
646
352
479
470
448
652
745
420
963
478
175
963
776
680
598
127
549
731
601
457
83
77
129
610
478
615
623
127
955
859
301
543
286
353
743
184
90
781
378
686
96
22
838
147
843
62
987
461
831
310
833
15
706
273
814
615
211
906
918
953
460
840
432
630
231
810
194
693
806
227
971
494
497
70
925
204
986
978
526
343
984
391
288
199
162
492
505
716
257
121
841
544
510
453
507
337
604
511
758
985
925
921
735
93
241
42
250
519
176
816
794
245
679
560
271
204
283
49
860
214
960
139
776
414
432
917
846
417
507
842
561
614
941
526
840
485
613
448
614
85
554
719
77
690
397
342
342
812
434
504
682
449
611
133
742
545
535
291
743
2
154
445
258
530
342
158
855
104
588
747
595
795
920
127
458
397
85
2
972
870
998
510
179
724
1
475
366
298
77
22
916
689
325
905
709
644
66
549
158
292
610
521
739
396
34
583
777
46
205
223
509
15
618
522
602
411
510
965
627
919
450
865
589
96
786
611
914
221
653
383
445
139
901
709
352
280
39
57
72
203
691
249
411
968
596
363
518
339
300
395
666
40
686
907
731
142
690
186
560
414
805
9
514
570
130
762
503
395
308
225
740
294
814
474
661
498
351
535
819
193
218
830
503
233
695
722
11
83
151
741
450
633
921
501
973
359
795
462
891
115
755
522
681
463
192
258
846
806
932
817
245
302
868
939
997
552
790
905
4
103
714
353
349
980
676
684
724
962
940
58
182
646
640
575
402
890
345
998
608
866
773
147
839
152
619
377
814
630
777
1000
657
312
392
565
391
983
204
74
101
616
106
305
557
728
155
486
456
912
330
468
897
284
700
383
96
661
844
674
198
301
158
167
279
335
332
263
413
732
848
113
115
945
388
880
203
861
692
486
891
714
309
685
249
691
552
568
850
885
845
159
110
823
262
457
977
268
119
910
324
21
119
813
173
418
614
331
776
304
35
598
169
576
801
416
195
269
612
430
977
825
328
523
997
399
508
562
36
445
980
875
768
571
163
131
664
347
446
421
822
161
336
792
609
212
889
559
116
337
455
641
738
559
855
619
983
250
677
981
532
531
67
54
75
45
832
37
450
453
526
661
33
542
320
895
629
106
348
170
50
105
744
174
337
156
571
994
581
873
694
141
770
809
952
883
600
50
616
870
779
166
713
208
297
918
378
325
553
16
194
454
353
466
869
955
430
304
948
252
371
11
281
75
930
450
996
80
103
131
732
68
287
712
936
995
811
870
540
553
879
228
732
447
600
164
417
545
106
598
230
300
718
896
674
671
81
85
280
551
25
769
942
492
29
234
682
740
418
400
557
959
84
229
225
962
773
82
258
936
465
711
407
299
265
883
548
590
403
977
250
348
139
529
85
486
753
585
352
589
308
618
212
733
821
683
164
76
682
509
398
694
407
618
429
112
738
107
496
862
310
966
608
184
429
447
560
125
497
428
579
897
798
821
202
532
942
17
167
172
539
770
126
10
719
320
293
11
561
310
569
368
732
430
164
561
234
109
519
780
531
654
648
503
142
872
500
171
591
522
332
145
111
375
230
332
524
142
306
285
455
112
46
744
240
599
143
343
736
370
111
864
146
551
311
525
140
124
562
480
574
363
342
530
886
787
145
731
671
683
208
524
991
61
494
797
626
541
190
177
155
571
557
795
442
471
109
695
127
558
323
946
597
280
264
657
24
962
957
465
559
433
632
397
754
298
248
173
178
515
818
602
486
162
857
689
537
572
79
794
107
791
720
893
689
434
513
292
530
971
981
74
838
3
801
997
383
266
722
960
965
491
564
537
941
553
272
874
64
529
555
39
647
607
500
718
315
925
160
424
741
111
271
821
43
799
637
982
371
29
775
784
330
551
397
695
236
266
62
77
599
364
46
315
361
693
220
587
766
175
971
274
360
667
52
342
72
520
5
892
751
147
918
269
45
574
215
738
601
11
862
729
19
479
540
456
853
347
703
783
509
305
950
754
347
421
535
123
396
4
265
80
335
725
844
476
705
707
51
392
318
339
146
759
563
396
165
243
956
649
118
3
15
371
448
918
901
774
376
874
614
511
854
894
842
333
704
303
994
981
74
489
821
849
495
846
44
717
113
302
149
490
560
796
608
760
409
139
934
494
344
1
43
585
644
731
720
11
484
51
832
372
961
241
274
362
753
239
96
949
494
280
740
586
675
695
606
854
223
832
17
296
816
963
876
952
635
88
548
704
470
935
841
112
882
997
340
488
838
235
339
841
809
420
632
161
659
968
215
452
866
653
808
345
825
647
454
343
372
138
95
609
249
435
328
63
229
487
103
721
655
95
254
138
15
8
580
125
939
204
751
848
740
914
825
105
334
554
348
315
224
6
932
382
306
729
735
774
390
536
677
476
626
613
854
494
239
918
740
763
693
138
855
308
119
516
588
629
165
34
980
37
118
842
835
770
355
323
424
446
896
327
50
328
318
617
754
607
340
852
34
25
846
37
156
428
507
141
564
513
605
381
355
141
448
517
823
171
812
571
12
884
58
562
272
492
343
984
272
989
809
265
336
348
833
795
829
554
486
130
837
762
112
578
837
863
518
355
353
335
629
430
200
274
636
873
304
44
270
592
568
195
163
291
79
705
681
293
176
388
898
483
242
600
657
325
504
155
215
342
592
943
89
22
847
968
706
331
621
404
274
90
140
429
843
937
836
611
945
192
56
729
390
774
825
339
31
444
147
717
628
821
550
728
30
678
117
376
66
918
859
695
94
692
944
525
621
195
314
655
883
527
945
585
572
806
11
408
268
616
51
426
59
331
121
90
170
619
843
962
626
594
500
897
630
295
389
12
913
42
163
407
537
199
900
151
392
559
378
187
704
426
283
126
910
732
997
444
895
334
856
946
562
969
340
166
451
442
247
614
123
218
290
916
14
618
409
415
149
78
516
36
21
686
941
552
755
312
499
945
522
854
218
853
268
84
48
851
689
898
17
553
550
728
45
729
637
877
520
904
43
549
471
787
676
356
825
398
312
680
145
887
540
730
866
727
679
328
823
655
7
599
895
512
363
464
662
634
277
790
629
917
990
874
827
533
60
917
901
960
380
333
199
866
946
538
181
251
663
806
724
429
550
839
576
850
997
694
588
943
39
363
196
837
368
254
759
810
378
430
260
907
584
434
705
892
615
877
195
649
755
32
338
739
409
448
592
33
439
380
658
680
556
54
99
950
607
424
862
151
396
429
111
340
882
467
429
898
341
529
451
725
311
560
92
49
920
855
311
680
400
371
329
611
285
168
463
711
571
707
287
443
676
526
21
824
37
776
819
418
5
813
153
495
706
982
218
246
415
770
600
651
151
907
874
3
615
817
806
792
733
895
612
603
8
900
707
660
191
485
593
284
774
89
426
930
231
105
171
111
795
959
548
219
306
724
716
43
335
634
875
854
245
613
199
513
110
87
344
873
102
485
775
409
641
901
831
882
287
816
395
491
904
208
546
930
532
644
657
229
628
200
618
701
80
252
332
2
934
691
983
146
396
667
88
187
227
882
880
661
16
826
790
522
737
178
315
124
722
104
587
241
326
671
91
796
796
586
52
421
172
631
311
70
490
981
611
508
213
33
196
369
710
178
230
281
878
509
995
556
491
890
70
343
548
151
988
118
101
335
521
384
145
168
226
101
321
164
862
917
794
205
218
604
460
591
494
957
610
360
975
914
586
403
729
730
73
414
365
459
169
392
787
250
870
824
429
916
907
435
424
860
544
132
7
29
869
954
288
824
375
231
664
286
952
189
743
512
638
144
316
781
884
629
720
773
200
527
926
326
156
58
379
372
953
371
187
427
169
125
208
40
126
914
4
51
647
962
319
168
25
154
809
171
313
358
585
166
21
359
921
949
997
376
259
85
446
572
119
861
542
413
852
753
689
395
984
817
157
644
381
371
601
806
433
193
268
483
730
879
815
726
106
692
822
478
886
321
800
110
751
934
332
263
3
476
211
869
222
956
320
686
311
830
397
969
497
429
257
818
469
713
809
803
602
105
53
834
947
101
893
380
501
571
456
39
948
919
715
340
15
497
597
443
569
663
225
745
550
86
945
162
388
223
701
64
663
709
211
332
452
552
475
432
227
494
825
576
624
249
144
984
736
268
104
374
403
601
945
305
194
178
377
606
252
80
230
117
576
944
692
702
514
180
154
252
131
536
5
498
486
118
270
736
811
322
489
234
118
621
874
475
13
938
128
719
947
379
284
68
39
639
251
506
21
941
286
610
603
764
910
191
25
7
969
891
895
924
18
263
57
302
574
196
142
44
181
464
95
979
460
73
889
925
180
490
470
519
217
700
261
289
182
559
561
904
80
246
356
989
780
761
733
210
90
664
995
460
534
430
753
801
595
708
427
709
171
537
304
573
96
532
25
976
249
810
927
489
27
957
268
893
491
864
207
644
169
783
430
58
567
237
483
44
712
117
332
971
412
388
573
767
927
660
500
215
67
613
725
564
723
234
788
611
769
871
809
35
887
444
897
684
768
882
681
469
869
203
44
792
9
581
691
339
109
899
548
707
510
499
81
426
220
195
552
860
535
625
418
65
565
130
543
406
395
239
632
44
882
241
838
544
202
727
4
836
630
289
436
964
231
189
498
847
986
457
900
16
227
258
504
645
717
593
929
760
561
501
808
717
705
879
554
25
865
266
486
94
941
6
656
864
415
547
80
702
735
634
338
886
669
239
42
147
976
262
856
499
26
705
468
325
118
249
304
27
65
210
250
690
45
23
969
24
459
155
825
723
272
219
949
582
782
891
64
681
787
341
242
649
722
367
173
250
333
394
939
795
495
221
972
911
448
505
204
263
776
152
163
731
658
981
57
18
743
472
432
692
469
706
116
223
476
979
799
722
318
100
838
768
753
223
955
283
781
564
226
328
464
801
385
561
352
934
187
775
506
50
289
792
582
464
410
648
124
698
48
957
54
307
394
553
560
241
778
491
961
212
665
242
892
84
925
323
160
327
994
643
773
197
254
639
121
424
872
382
200
301
964
7
737
941
830
112
183
673
400
644
323
575
691
316
910
21
540
834
993
725
161
814
210
94
758
685
608
876
524
296
596
686
729
790
453
259
618
765
251
53
451
498
842
831
390
257
415
69
126
739
13
670
167
921
980
430
273
425
42
971
781
7
898
228
71
520
106
839
652
822
662
205
260
357
461
211
911
613
338
943
84
822
654
565
48
995
670
273
113
775
570
562
754
112
508
729
985
510
817
390
63
660
36
940
176
807
605
235
831
949
612
557
388
12
950
316
664
155
260
832
93
938
212
472
629
788
150
30
632
116
602
474
482
137
272
697
845
577
253
630
628
181
445
711
622
518
642
876
211
179
233
880
205
807
226
981
597
933
213
886
607
537
686
851
203
133
827
507
141
173
635
941
833
55
890
415
144
23
428
657
347
361
487
892
813
578
140
341
90
65
435
371
989
257
298
493
17
67
675
231
1
494
580
873
996
224
891
772
786
100
247
614
519
491
241
67
47
111
524
47
3
247
604
499
386
381
156
289
995
905
562
667
372
870
770
990
702
722
430
194
271
422
181
96
335
335
497
481
871
93
236
559
908
511
29
971
476
898
267
444
872
189
701
963
236
126
122
286
863
576
99
111
554
64
290
929
632
411
738
104
753
488
506
60
813
680
374
727
227
349
265
631
323
510
225
858
937
209
58
980
75
740
585
241
121
23
584
88
822
999
761
548
506
350
104
816
693
137
798
940
984
769
305
294
288
838
929
613
519
283
303
668
32
394
508
490
979
583
158
936
682
176
865
515
892
1000
35
329
876
994
525
928
530
485
300
290
868
380
777
600
643
403
853
856
840
838
103
57
690
445
756
903
474
541
899
376
478
893
511
440
487
396
172
196
224
275
147
119
855
958
75
222
798
228
842
754
444
534
677
872
556
724
902
388
323
475
109
725
727
864
990
808
369
850
696
566
801
203
817
909
625
99
164
671
103
529
790
331
751
88
305
585
335
825
514
200
73
595
941
939
63
507
379
286
671
183
514
181
70
863
286
555
927
638
853
773
411
704
528
925
494
46
543
641
975
68
218
865
145
199
633
690
543
280
894
46
896
888
852
419
122
299
676
48
172
20
858
608
443
950
799
127
186
717
542
881
899
538
512
895
950
218
908
848
351
825
625
260
842
130
811
211
373
985
152
180
528
422
79
427
899
740
821
532
811
895
139
551
233
808
530
877
827
604
915
886
279
835
774
624
816
219
765
307
984
948
181
614
263
648
554
955
304
110
14
459
117
131
2
733
475
808
724
632
536
308
848
630
597
529
422
29
910
656
790
322
383
384
954
967
432
596
10
58
311
6
452
848
576
753
678
142
533
78
688
442
882
733
421
310
811
572
607
686
947
647
665
958
346
582
48
941
673
780
167
136
877
83
514
188
494
121
650
443
293
365
926
9
301
366
27
634
994
162
126
832
571
762
593
314
845
908
687
333
320
742
424
284
194
685
721
882
385
482
640
768
518
817
880
382
23
233
681
681
618
409
958
630
15
938
130
658
676
248
257
884
353
379
743
272
646
197
926
741
291
966
262
864
170
861
207
910
65
577
699
660
456
425
860
467
648
102
777
11
837
667
691
205
570
428
765
998
101
51
239
905
772
596
123
147
621
179
679
55
976
483
350
240
804
286
199
267
264
558
240
6
238
326
922
97
711
185
278
690
385
773
915
974
546
325
766
611
372
879
313
385
939
606
812
780
450
327
864
359
705
463
974
409
114
92
299
621
976
5
998
110
743
744
852
724
548
928
95
486
846
963
761
973
8
544
514
21
445
712
705
785
316
914
959
786
424
289
388
218
228
133
471
409
238
793
869
183
242
868
266
981
537
431
980
873
546
92
919
988
801
42
268
728
213
501
226
867
466
434
173
361
73
989
565
726
407
758
520
943
207
565
410
457
498
125
769
711
412
716
308
963
844
178
517
661
227
791
571
99
35
228
834
110
185
225
541
642
241
152
983
117
335
424
449
96
386
369
787
524
976
501
11
849
371
959
23
415
202
899
593
681
409
329
278
316
784
431
535
675
760
578
521
235
802
992
647
893
65
10
849
922
68
930
313
833
522
236
371
833
961
386
72
506
52
420
34
641
964
940
167
468
419
130
321
617
987
623
774
429
359
3
74
558
42
279
518
349
182
154
130
183
628
271
341
936
838
892
44
816
978
329
929
813
231
658
491
38
286
764
808
763
773
266
319
536
839
405
537
992
610
176
467
21
334
393
495
177
900
38
995
643
223
492
241
792
405
247
33
776
904
943
750
139
660
585
696
390
926
730
886
81
960
248
296
605
266
416
905
551
642
81
441
627
989
347
554
695
307
220
899
966
913
908
654
908
424
458
747
545
713
144
968
967
123
810
847
129
979
601
941
517
662
454
879
788
626
318
543
317
322
850
654
101
5
402
234
777
465
974
270
88
512
658
261
827
666
838
537
898
468
209
933
533
565
197
747
743
597
29
251
72
623
354
232
840
688
190
272
991
213
753
96
42
675
818
328
266
677
524
296
382
551
532
347
94
724
944
402
294
898
70
739
372
322
760
715
628
663
855
153
837
331
131
22
195
504
765
967
243
688
175
927
140
425
310
135
431
141
818
553
855
54
53
527
81
31
965
1
708
795
863
969
211
338
396
183
368
718
181
849
662
332
240
814
931
473
776
100
323
612
372
871
253
197
938
664
507
763
80
796
232
947
700
492
891
828
892
111
155
142
820
429
696
304
815
540
401
715
20
876
403
751
847
777
285
182
111
942
969
833
156
40
956
75
956
506
904
457
259
336
250
324
625
582
420
175
527
572
377
46
174
801
914
905
901
994
112
179
138
991
112
742
740
797
60
609
387
517
959
423
382
95
187
458
154
157
98
191
388
877
601
904
316
227
298
302
241
664
338
15
307
979
670
380
698
994
172
621
553
539
901
297
621
599
942
870
9
239
993
161
896
288
309
554
639
782
445
858
581
280
534
955
87
8
259
266
705
663
291
361
931
949
156
67
516
88
45
351
837
221
520
890
572
63
550
48
892
420
87
262
987
244
558
755
282
855
751
410
472
159
795
69
590
943
935
582
305
6
219
923
523
840
803
918
849
541
25
279
348
976
91
404
182
612
248
378
641
106
568
34
870
229
329
750
885
773
675
210
913
139
203
106
32
276
279
344
699
927
306
645
188
527
875
418
441
567
256
760
414
554
189
694
112
681
427
532
442
585
242
852
6
697
537
895
79
31
917
404
492
799
135
636
932
341
754
173
422
994
499
275
788
339
8
451
591
723
941
666
239
501
565
138
711
333
776
306
219
917
21
229
729
466
866
840
339
952
427
234
442
525
954
326
371
46
55
431
860
603
764
711
981
619
79
818
547
577
347
885
146
26
490
73
923
286
153
262
711
575
91
14
391
496
981
17
373
576
571
928
109
842
224
548
395
825
142
529
179
409
856
598
957
180
709
309
560
631
766
893
871
750
661
648
690
822
6
624
866
874
854
580
472
448
306
191
749
863
27
373
333
266
444
68
599
469
325
276
973
954
72
239
524
593
730
619
965
258
528
549
798
493
280
760
4
980
255
796
920
772
75
282
534
308
139
588
738
924
94
435
93
327
596
729
25
92
670
731
588
72
467
53
140
879
659
872
218
722
289
721
32
415
146
732
578
385
505
236
312
793
885
549
989
894
531
617
388
425
823
281
60
309
843
262
705
736
639
198
472
83
296
790
43
392
535
894
713
716
14
290
72
462
133
169
745
288
610
397
870
317
636
916
137
965
453
38
930
928
438
956
310
484
132
554
318
74
358
591
981
418
9
360
638
226
340
476
394
455
992
620
744
889
425
332
101
393
675
731
987
742
917
664
433
55
274
130
144
854
867
54
286
646
240
423
250
120
438
869
110
514
652
806
689
626
590
24
551
377
490
266
287
929
721
185
176
270
160
473
654
242
360
607
150
570
644
349
434
169
54
75
109
193
507
669
706
863
324
982
476
977
725
185
891
625
703
847
316
776
761
363
702
857
958
432
638
795
774
961
456
386
206
166
585
606
603
774
573
898
445
711
794
952
409
477
876
22
548
754
238
608
874
261
934
634
972
205
280
968
735
674
552
808
962
940
524
754
81
294
978
270
340
298
605
929
422
492
80
91
140
728
848
824
447
846
149
819
103
633
495
986
31
409
93
28
19
645
98
494
555
802
57
17
482
999
781
59
22
716
485
796
800
488
452
595
739
680
901
971
42
394
410
644
28
770
972
146
132
713
920
283
745
417
683
762
567
128
560
534
248
560
315
227
312
905
342
209
75
971
537
932
573
498
952
590
828
904
234
774
192
17
593
14
541
578
254
53
428
193
45
451
775
29
190
730
84
861
553
603
71
303
49
896
317
471
486
3
676
508
332
450
594
134
363
668
209
311
464
876
865
733
245
124
323
415
814
257
400
153
499
596
125
905
78
296
664
322
55
899
135
492
828
226
594
675
757
693
150
230
530
969
21
383
411
111
338
508
997
123
320
414
295
864
577
185
222
32
706
563
87
930
132
663
964
365
786
623
672
765
615
225
702
266
563
73
885
976
540
146
915
910
608
716
284
510
572
322
317
815
713
522
40
762
933
910
580
468
164
191
2
516
720
25
969
939
325
686
615
802
640
348
785
532
697
899
548
609
688
996
904
466
613
726
343
78
706
788
242
679
739
202
886
643
300
485
922
658
82
245
328
626
111
6
953
83
458
567
407
971
325
702
668
159
726
198
464
111
622
922
1000
245
5
227
157
6
54
528
778
129
963
629
534
244
156
613
739
242
605
319
409
542
573
189
191
609
749
525
785
325
238
870
268
193
892
126
527
127
87
277
116
977
744
441
52
46
70
216
487
218
260
99
708
123
905
289
983
478
888
628
985
411
525
343
810
430
711
839
11
231
612
897
611
185
931
925
657
935
158
502
638
851
989
444
758
46
599
384
171
567
556
110
495
890
720
548
685
741
913
45
573
340
613
40
387
904
682
153
419
967
683
773
894
711
642
231
822
25
806
373
633
312
665
24
598
825
341
124
192
90
742
740
371
317
531
971
25
188
487
193
179
46
488
266
752
460
857
322
353
576
158
282
646
443
323
95
668
757
618
238
16
64
828
468
917
578
910
778
17
827
980
29
827
375
153
432
482
373
246
446
872
387
624
926
390
336
99
211
109
832
453
446
822
993
276
753
641
277
530
134
907
563
209
270
452
700
625
243
141
68
942
814
762
196
561
350
641
971
194
984
321
934
54
169
785
892
774
860
37
517
989
434
571
546
337
536
363
877
504
62
647
435
982
791
17
645
697
411
559
451
619
871
965
940
623
444
862
719
577
222
937
286
981
333
611
274
798
559
925
780
770
336
646
190
163
738
192
69
686
924
138
647
530
572
265
985
17
409
162
172
135
40
453
907
773
90
726
851
474
834
282
942
780
421
992
563
621
158
690
523
115
824
86
262
723
667
537
114
241
913
523
232
938
699
499
3
653
262
349
36
685
954
357
881
542
80
693
83
185
205
307
474
381
438
147
93
23
615
453
231
973
810
305
2
706
37
576
553
594
286
260
411
465
369
59
144
196
180
144
986
388
48
814
657
543
464
655
323
692
292
793
762
619
841
163
515
946
172
37
878
670
699
980
688
593
86
267
748
470
692
495
811
159
654
564
784
619
221
286
948
848
546
785
691
505
55
392
592
744
141
702
41
613
546
382
331
292
855
308
400
892
325
410
813
672
251
849
755
842
440
405
611
608
968
487
924
566
81
86
446
717
691
725
590
885
524
881
118
891
561
163
986
594
313
113
390
614
561
557
11
888
204
821
459
153
503
773
378
557
293
367
794
978
948
244
139
557
392
706
880
630
762
214
134
73
963
312
711
196
213
794
608
757
6
688
370
412
429
13
158
942
202
549
124
779
697
153
473
219
548
630
485
242
496
71
974
478
206
265
601
422
200
987
512
962
989
446
840
597
904
197
739
962
646
132
974
625
313
492
992
699
33
805
440
525
459
836
127
704
697
503
953
98
664
636
189
46
122
326
363
212
892
753
870
889
520
777
987
202
440
21
729
98
100
396
505
309
330
399
687
124
833
221
566
412
320
739
634
608
384
86
903
514
880
528
450
290
2
245
957
365
387
890
869
23
843
947
61
541
130
71
293
391
15
233
695
165
410
991
575
792
515
535
66
139
767
348
264
67
308
661
389
747
109
184
405
858
579
323
416
29
20
232
315
262
498
142
5
263
380
914
547
846
373
453
510
752
961
196
894
857
928
976
458
176
311
399
482
367
897
402
817
684
22
519
414
304
389
293
372
616
988
863
313
275
487
176
804
633
63
23
989
740
395
965
615
136
875
119
532
857
589
81
305
840
481
388
205
310
677
369
448
573
890
550
998
903
592
580
822
872
471
581
581
956
728
169
455
387
287
490
79
452
778
63
931
573
248
218
321
173
189
942
398
735
471
878
244
964
460
875
262
773
433
715
143
85
590
157
414
184
355
955
533
32
109
137
709
903
79
387
486
155
280
620
193
167
553
920
820
704
121
456
730
975
300
8
974
913
887
721
256
642
874
655
462
798
398
48
852
143
692
94
153
555
530
453
583
662
835
621
25
522
416
566
903
179
630
254
835
256
359
979
513
58
920
821
197
147
297
416
629
300
859
220
529
420
326
24
959
454
546
285
462
198
353
712
832
267
840
838
665
36
606
444
936
134
202
910
527
159
233
612
408
919
167
773
448
481
695
596
560
59
903
144
143
818
261
900
388
474
843
128
79
674
479
97
805
33
755
104
402
260
388
656
910
324
677
278
818
878
296
985
485
873
948
499
816
617
437
622
238
305
326
290
187
542
831
428
496
625
314
614
732
259
131
839
3
969
441
859
63
184
439
48
545
55
177
757
394
264
252
766
662
210
416
526
395
289
813
65
704
58
633
593
310
825
605
488
612
662
536
480
257
6
65
439
383
175
208
989
776
579
400
789
631
337
729
945
648
658
600
748
199
815
310
204
411
696
863
374
757
87
217
998
166
268
998
820
538
198
10
349
778
654
561
139
672
230
331
794
128
506
654
559
911
553
283
186
232
525
40
166
908
666
779
865
511
520
229
284
662
151
290
658
197
326
823
931
845
607
657
177
739
228
462
581
530
871
684
966
413
441
189
583
610
600
751
678
318
882
284
341
887
152
704
297
479
857
80
236
664
475
530
983
928
259
826
21
116
406
470
956
276
91
927
787
540
101
586
236
155
758
510
945
881
824
273
40
229
661
101
341
330
243
639
839
635
736
444
241
291
549
763
528
839
800
181
449
192
725
491
381
862
373
641
414
488
264
391
506
479
84
257
925
263
28
80
55
475
362
7
265
255
785
645
75
290
30
738
294
730
897
229
975
346
293
184
168
212
242
481
10
271
518
338
895
996
177
394
61
217
317
658
799
445
229
707
935
883
360
231
644
528
636
964
707
812
35
102
246
348
760
381
233
253
422
217
548
4
542
719
717
756
699
442
879
90
625
982
336
507
740
846
105
712
230
556
244
114
287
352
713
857
376
486
821
70
597
22
907
773
836
492
770
933
558
719
580
90
317
488
320
562
841
812
372
147
420
559
605
906
299
274
315
708
228
757
764
22
623
766
771
660
476
14
151
834
925
217
963
16
13
688
596
922
945
46
619
590
294
125
609
388
859
537
897
816
374
337
319
184
259
885
494
762
892
617
961
21
157
294
415
958
294
127
788
414
138
346
725
962
882
845
933
890
908
885
677
345
234
738
414
801
265
803
111
241
110
828
75
988
897
739
258
954
585
721
484
150
539
390
988
324
618
131
907
927
100
731
231
630
717
660
159
613
212
922
270
498
98
740
159
207
447
611
218
416
624
797
461
724
404
247
263
4
592
764
240
626
898
962
261
322
670
29
427
571
646
17
560
539
226
888
936
883
513
615
865
762
689
382
206
413
913
26
876
999
365
285
355
410
65
498
727
313
680
343
637
339
114
435
10
428
975
645
708
779
297
552
237
688
328
925
514
999
839
701
967
757
602
428
944
369
128
54
68
734
601
854
408
741
463
57
779
663
292
214
602
988
500
791
826
192
432
496
929
894
427
635
303
170
279
402
574
457
636
299
25
169
459
372
371
308
541
737
962
109
870
974
543
4
1
333
714
644
462
306
889
610
108
997
807
241
413
70
121
937
45
799
694
639
372
666
905
421
209
185
354
304
423
503
634
750
535
310
976
167
863
345
489
165
343
151
379
404
295
243
96
801
227
116
450
381
69
169
750
955
807
70
841
669
194
764
347
990
345
463
348
864
851
211
10
40
570
495
362
282
328
284
506
736
783
675
389
267
75
13
248
422
704
299
242
333
692
84
100
198
705
970
854
683
892
591
248
533
495
493
311
897
217
647
214
249
797
254
102
270
934
874
420
194
24
806
830
613
604
690
886
120
95
55
217
883
611
588
371
222
549
530
301
977
769
284
567
910
130
234
626
62
629
162
235
130
142
866
127
648
412
545
487
154
718
953
536
461
882
258
15
861
43
305
270
17
573
76
260
402
849
319
199
199
791
823
705
729
625
190
992
35
650
829
46
971
373
41
365
280
899
859
915
657
845
559
618
726
778
815
564
24
466
606
580
834
172
485
598
191
722
692
463
966
864
64
621
822
209
730
629
92
4
356
974
657
707
178
105
250
195
644
658
355
49
696
931
259
270
994
418
434
87
70
164
577
337
53
770
278
56
669
528
138
537
360
21
227
707
315
762
199
415
650
802
324
396
251
581
672
741
402
175
306
416
827
236
822
270
171
655
120
745
718
136
61
534
374
741
67
215
590
754
505
642
733
250
372
779
594
178
808
615
87
821
214
949
200
907
593
925
9
714
659
511
802
858
817
944
670
878
547
32
942
712
226
672
713
767
869
798
811
28
902
383
985
682
415
468
999
672
210
337
665
390
77
834
638
197
406
925
159
518
63
445
938
488
412
700
979
239
976
474
207
123
816
335
637
204
920
392
485
883
606
957
998
666
470
295
684
246
484
107
852
878
188
965
768
582
161
189
27
425
695
411
505
162
841
910
908
506
666
631
875
779
635
941
761
334
824
416
630
971
487
593
179
164
157
862
976
749
939
741
925
538
540
399
983
205
937
936
685
239
915
622
112
42
67
998
909
87
210
311
91
636
930
97
507
619
598
39
983
507
944
51
927
104
331
586
319
671
191
50
455
541
888
151
396
979
542
214
403
64
936
669
919
552
194
988
112
212
250
354
144
551
156
457
534
585
58
844
623
502
707
648
406
202
990
499
6
883
95
303
808
336
437
189
909
945
866
94
547
8
403
997
452
566
510
706
47
108
274
88
737
403
593
553
30
976
379
720
934
24
558
615
982
635
413
188
331
159
558
321
373
151
948
109
338
898
723
841
206
979
116
505
821
638
521
241
671
192
263
681
597
488
987
604
435
98
701
871
818
285
717
532
600
770
307
363
967
827
1000
472
845
303
535
796
650
657
281
880
108
109
286
46
304
14
597
983
104
651
366
915
185
169
276
817
654
117
504
260
475
438
322
803
685
467
218
14
287
509
586
280
396
415
499
845
899
112
52
598
783
561
522
819
219
813
393
16
92
134
506
822
390
17
383
768
472
22
295
315
274
128
23
410
610
902
767
355
310
47
983
146
176
71
342
846
201
287
908
665
500
671
668
103
826
415
960
736
780
692
154
207
46
932
536
943
33
766
167
63
203
123
328
7
531
459
712
432
113
756
409
422
23
707
573
220
347
519
23
880
488
155
553
677
303
788
970
570
369
961
438
194
158
153
606
193
957
526
547
630
352
23
362
497
749
14
57
525
395
443
497
596
618
581
628
736
577
657
159
892
202
343
784
443
609
393
443
327
811
462
478
954
226
97
985
73
556
878
657
523
651
532
1
996
318
782
926
213
763
950
929
251
784
618
967
72
718
248
822
47
254
860
334
591
580
620
505
307
473
549
324
384
55
323
576
814
368
141
816
352
175
59
822
738
533
427
192
319
190
555
833
296
980
515
886
932
689
176
264
172
586
642
847
334
204
62
419
498
752
832
177
32
723
409
520
554
560
4
964
331
566
564
991
791
60
203
349
571
798
785
225
477
342
575
63
443
736
143
208
368
161
188
528
300
863
784
167
423
905
30
784
937
546
268
61
112
225
442
537
708
369
494
765
436
695
11
902
103
548
693
686
330
509
972
593
657
66
30
796
380
493
819
711
100
202
621
696
678
176
474
821
227
758
685
965
705
148
809
759
558
601
614
329
690
424
526
693
386
790
578
173
489
275
145
520
55
730
977
364
800
851
458
740
587
8
499
916
725
421
516
678
96
970
416
796
832
249
268
702
31
827
823
287
447
695
344
35
833
819
789
477
728
721
830
75
502
542
374
13
338
132
593
981
295
293
225
962
885
544
996
717
167
620
272
484
170
173
859
84
172
50
453
103
990
97
616
869
384
153
726
387
906
986
643
491
385
76
718
152
16
131
292
622
834
308
90
287
827
329
191
871
352
818
25
494
830
855
680
852
745
418
424
681
626
904
616
745
347
557
324
278
768
934
929
15
592
244
202
209
611
908
177
525
921
937
294
953
91
465
886
540
561
289
629
745
648
254
916
981
556
118
752
394
536
147
354
127
826
985
256
516
224
706
804
345
13
797
95
978
520
743
169
983
444
997
975
984
729
829
414
312
883
564
289
859
759
267
799
477
579
274
59
407
428
914
861
470
443
476
353
453
90
86
92
392
78
761
337
725
976
923
988
996
142
858
306
420
380
843
699
677
888
446
799
239
833
947
374
447
483
796
333
448
547
279
891
232
847
402
4
244
878
692
753
334
524
609
60
241
116
404
793
862
620
891
827
208
601
169
432
431
900
485
148
947
528
116
501
277
434
96
323
629
368
931
778
541
320
424
247
574
27
373
770
147
199
944
403
938
630
901
538
386
807
164
987
21
399
313
810
631
401
592
121
892
301
746
991
612
862
708
162
394
712
836
472
206
680
560
631
898
737
941
46
998
216
431
510
505
880
190
729
339
670
179
509
690
124
640
49
636
312
379
849
859
475
441
107
166
391
851
215
943
942
420
29
765
66
61
114
579
768
685
55
531
687
462
129
748
326
919
995
952
42
22
927
432
163
772
828
572
557
977
103
406
779
11
998
985
880
751
626
630
863
74
669
752
894
730
535
966
4
558
507
950
452
492
560
560
239
35
19
254
984
289
634
49
890
115
545
630
934
14
777
287
884
183
351
617
161
826
370
833
493
71
681
445
725
769
466
383
109
926
549
130
85
291
1
46
550
179
215
578
778
878
914
175
630
745
309
675
679
844
519
162
825
823
3
955
670
662
373
321
735
20
85
398
561
651
184
921
280
578
643
105
920
391
129
711
831
608
860
563
231
374
784
278
739
51
793
532
983
615
943
667
829
615
574
364
566
103
771
553
640
778
282
194
345
363
182
873
948
590
982
790
966
928
407
931
336
83
634
429
569
185
327
461
824
980
792
178
711
80
143
595
584
191
921
340
978
447
901
319
393
951
228
100
930
588
804
901
260
113
166
324
278
418
126
940
854
391
439
129
829
249
75
654
871
829
52
203
727
419
29
362
445
59
632
241
519
477
226
815
458
438
660
342
836
892
328
647
387
795
617
546
568
927
730
363
767
650
758
969
717
692
116
9
456
560
105
982
590
921
189
664
718
905
264
451
227
934
268
807
90
346
800
418
862
816
968
755
422
559
997
785
365
879
187
191
395
309
547
703
586
72
515
710
381
53
522
825
514
867
934
549
766
766
116
645
205
690
631
881
441
607
331
253
882
25
115
558
596
831
815
707
264
521
551
492
781
800
482
567
813
701
465
296
120
683
199
918
243
469
893
709
160
321
643
849
251
831
367
396
746
844
996
315
858
575
868
377
905
540
169
967
640
521
33
895
356
270
955
974
488
345
163
175
343
122
308
243
609
892
255
648
979
537
501
60
188
735
765
152
806
651
857
215
132
606
907
672
731
928
590
512
516
784
321
948
988
947
978
53
484
915
475
344
120
276
146
691
623
817
54
783
366
472
560
270
536
58
132
455
226
417
611
644
643
149
905
899
787
691
672
791
745
691
783
4
615
174
912
118
772
904
106
728
732
953
9
803
73
734
456
123
539
107
210
182
404
799
247
289
145
302
758
342
118
115
778
680
476
155
532
412
368
622
1
408
1000
828
714
254
601
992
924
52
621
986
429
889
518
162
36
626
832
56
651
284
127
403
936
511
637
4
84
298
366
273
403
738
906
780
521
389
420
729
929
4
183
727
817
430
841
704
244
187
590
182
770
119
307
972
544
561
38
734
289
704
666
394
304
288
878
413
75
564
970
125
348
318
501
533
744
134
198
143
225
443
839
552
220
674
31
234
582
448
964
63
312
185
573
902
721
382
327
82
828
257
203
240
837
862
877
650
246
32
600
693
402
906
671
579
853
331
441
128
820
172
51
650
901
452
153
812
200
359
33
776
34
761
949
660
288
102
815
853
837
36
799
797
990
471
679
549
682
437
192
601
194
253
858
645
848
483
257
840
906
733
715
657
582
300
891
417
659
991
37
884
815
429
918
594
878
632
838
916
615
256
265
925
410
176
949
998
773
352
887
946
740
393
500
611
470
208
746
308
339
817
741
333
880
175
669
584
176
845
513
891
741
146
313
829
994
947
161
34
627
688
679
963
285
951
846
87
385
207
290
621
458
925
241
134
738
822
227
672
238
637
102
456
2
150
854
720
304
842
402
954
48
966
485
725
916
557
953
637
163
533
153
545
499
298
324
862
687
633
437
461
40
121
504
286
216
458
975
795
616
695
393
142
423
683
269
123
108
851
164
686
797
426
13
713
84
340
467
679
623
398
4
366
160
13
476
937
548
623
479
388
503
837
922
139
515
367
778
776
324
357
137
562
295
28
227
24
152
879
304
894
751
727
325
928
348
496
277
775
329
192
527
260
560
687
91
466
813
190
322
758
509
930
252
157
104
948
103
547
521
93
600
513
180
218
485
9
996
454
531
189
779
228
509
141
19
51
99
196
111
716
945
56
666
137
227
671
609
172
919
847
638
220
789
541
902
60
702
963
379
922
787
29
988
119
688
767
409
725
43
574
235
698
507
324
610
944
675
642
884
45
486
147
972
975
16
803
189
194
450
452
205
989
294
514
530
311
998
71
223
15
709
618
287
328
988
142
29
840
844
854
129
385
145
838
726
328
896
971
502
434
292
817
737
788
315
196
646
161
570
521
349
452
601
859
509
578
145
551
533
904
402
711
287
953
38
105
830
641
372
675
163
914
662
884
417
35
519
427
739
409
838
263
476
914
197
693
136
200
78
11
344
216
241
474
391
256
687
929
595
214
324
347
608
512
137
774
912
992
234
406
569
598
206
291
137
895
731
850
376
70
464
696
808
247
775
338
48
256
365
552
26
530
499
783
473
515
860
761
888
328
898
535
340
229
307
930
425
894
47
221
924
800
669
439
428
979
130
103
186
599
536
388
284
434
385
406
213
764
634
512
328
787
437
83
795
85
409
75
720
233
232
963
205
592
865
284
257
469
437
902
422
779
424
322
779
84
648
478
370
701
836
790
815
602
100
207
839
921
194
704
590
828
271
297
907
891
758
249
817
197
240
125
650
826
308
430
834
632
426
190
430
653
553
243
903
110
620
349
326
851
450
373
169
687
704
629
517
752
600
726
56
416
137
256
37
944
81
826
571
109
912
403
94
375
311
981
992
333
716
966
165
481
519
667
425
366
348
938
531
755
973
568
828
909
17
423
307
710
359
515
26
497
228
572
377
478
779
432
449
509
754
757
759
814
605
409
30
762
854
594
691
291
90
228
522
407
223
258
333
114
432
284
870
120
377
117
516
44
76
570
111
288
253
997
742
147
131
400
137
70
9
776
677
654
760
227
886
471
238
979
605
806
567
710
749
673
318
455
274
17
161
237
62
41
475
680
339
405
36
16
778
41
950
632
306
629
520
762
8
551
307
113
776
496
40
578
920
843
170
83
453
453
473
362
669
95
707
553
486
403
82
212
715
702
56
586
279
900
403
546
928
547
105
928
717
587
633
266
598
580
535
582
695
52
330
18
689
475
806
32
717
517
868
348
50
39
527
955
689
849
74
537
102
884
760
686
632
734
542
577
834
418
654
414
813
910
814
332
249
537
106
377
813
906
646
254
839
195
665
369
697
332
918
749
535
170
808
806
392
207
480
553
280
719
626
607
855
407
540
524
330
481
392
756
327
539
724
206
448
537
301
80
509
312
886
965
978
867
37
263
357
516
928
664
255
194
403
201
607
360
63
66
717
613
804
430
704
273
663
592
333
921
797
58
883
126
476
670
171
629
857
511
782
239
119
959
72
200
249
535
403
571
549
772
874
629
16
112
211
815
702
276
788
715
196
187
609
741
4
209
66
713
473
917
651
906
123
743
569
747
806
335
707
144
394
319
573
508
276
127
843
310
150
676
52
122
118
969
672
750
258
141
558
687
349
142
542
580
388
208
883
734
932
769
287
295
552
20
156
485
264
411
107
548
212
638
31
55
355
622
986
239
663
685
864
667
766
163
263
692
306
31
932
605
662
530
371
338
856
144
772
972
213
69
44
622
642
242
931
988
111
306
154
656
263
415
202
735
35
799
770
297
385
885
380
379
739
479
16
229
994
137
93
485
781
493
690
650
844
716
889
398
865
234
814
229
950
816
465
454
767
737
878
938
725
401
477
532
114
31
992
341
788
819
101
17
541
594
609
6
818
68
964
54
724
426
633
362
9
66
525
24
794
259
730
94
837
4
492
23
393
557
4
839
140
846
770
967
461
520
685
922
242
139
564
896
350
132
224
332
704
855
74
484
309
367
967
298
294
167
596
338
928
213
203
95
676
230
855
868
608
848
338
876
684
892
600
970
849
686
229
389
339
60
493
84
373
212
550
360
396
661
961
207
781
346
122
39
900
68
75
80
18
553
284
716
486
555
868
210
296
160
28
796
82
315
143
729
468
175
952
18
739
268
402
604
803
241
784
645
721
564
875
226
84
778
108
71
537
911
614
879
42
722
464
667
641
43
521
698
980
718
317
448
71
824
360
908
573
236
899
155
38
283
525
534
791
795
326
95
754
324
482
287
462
807
112
582
105
410
229
130
865
949
675
205
146
271
21
379
387
344
118
287
268
749
102
70
528
465
737
227
939
966
393
134
824
44
486
172
869
420
133
371
140
328
549
355
708
844
96
819
221
795
134
231
94
641
106
550
783
238
469
697
837
20
933
112
372
760
145
475
196
556
45
647
987
148
133
302
847
286
140
398
106
705
460
198
571
451
602
442
186
839
689
820
680
144
739
393
638
928
388
254
485
642
555
796
523
226
263
706
900
431
392
74
1
957
433
682
338
432
712
198
611
280
116
587
637
781
8
953
161
852
321
321
536
446
780
293
312
494
440
546
42
587
392
366
745
968
470
81
43
685
24
475
566
960
339
737
811
813
550
799
731
356
977
494
420
30
652
18
809
341
389
525
84
125
94
144
479
900
32
47
807
312
688
558
279
603
21
707
782
135
923
229
112
773
883
840
218
969
517
691
29
423
214
68
229
482
408
555
310
468
386
393
640
811
905
15
194
168
168
725
578
791
735
726
328
120
455
979
586
734
269
160
364
914
26
403
405
398
271
438
132
717
162
565
817
171
582
94
601
554
462
799
681
126
277
928
435
758
661
811
585
585
132
679
571
495
35
577
277
358
988
815
26
872
265
762
514
22
439
357
753
895
691
77
228
119
918
522
237
979
709
926
500
118
418
962
683
26
735
405
298
852
316
868
9
330
613
2
885
87
309
286
161
912
854
845
102
789
940
310
537
818
887
25
134
844
548
555
657
568
236
137
552
332
450
974
513
454
121
978
729
2
759
871
985
193
604
893
114
522
102
226
597
432
187
59
198
953
68
634
413
611
42
86
848
79
233
467
517
263
80
4
664
35
9
813
930
824
1000
954
619
608
372
406
505
597
216
124
905
518
940
415
952
309
819
555
631
777
235
471
708
1000
242
875
134
972
979
870
450
375
475
564
888
460
446
600
274
945
378
44
69
218
680
817
475
175
471
402
121
836
739
587
831
925
316
194
671
245
134
930
326
728
836
426
555
922
670
679
989
544
234
729
844
195
129
364
13
53
317
440
351
618
86
831
799
572
975
6
450
484
515
463
689
108
243
289
578
350
256
309
3
6
596
971
311
103
611
800
559
624
560
894
98
895
140
446
606
597
666
387
301
161
514
304
428
843
942
983
667
308
338
182
931
172
992
555
394
554
164
405
895
103
485
573
193
643
851
420
737
451
992
633
855
601
670
709
770
652
185
43
378
948
990
752
314
370
534
165
754
673
571
428
233
60
336
440
872
132
434
445
333
587
324
103
131
306
436
930
601
904
495
973
618
67
984
110
552
503
69
161
416
731
360
113
685
799
274
252
121
424
351
79
655
135
779
824
768
970
686
345
783
219
486
728
174
183
115
795
108
979
709
964
412
116
970
936
88
684
431
163
720
600
926
193
957
101
261
876
205
531
242
511
878
104
70
903
99
808
877
251
719
330
52
793
926
774
268
308
881
596
757
118
148
211
346
317
227
356
500
231
488
525
86
955
992
503
226
837
340
664
109
865
572
454
583
162
495
73
731
743
899
193
874
397
189
53
355
409
980
978
338
781
478
669
537
329
34
628
651
167
219
229
171
79
636
773
622
578
387
595
544
285
664
909
873
434
951
153
214
153
386
654
716
440
514
866
951
290
274
748
439
916
421
39
74
700
705
29
920
345
19
987
147
649
638
735
918
538
643
538
574
317
912
885
173
185
741
523
849
580
317
13
949
365
648
951
874
407
840
615
17
156
270
598
273
567
307
237
524
404
648
891
206
520
645
119
659
231
106
39
743
732
701
46
16
800
100
529
403
471
681
666
397
825
768
856
630
896
45
641
56
658
767
4
69
456
386
64
899
424
309
826
292
61
773
120
866
380
404
532
400
54
119
830
693
736
83
616
686
483
533
679
413
63
944
913
374
995
547
900
472
563
896
861
629
264
391
594
876
51
333
760
3
724
545
862
923
135
785
548
130
710
870
170
877
150
239
296
331
293
627
11
408
620
756
155
323
740
177
418
538
131
373
696
566
897
800
252
911
906
800
433
262
637
799
488
539
467
457
213
961
299
103
964
388
528
104
14
455
430
292
810
411
750
316
872
359
175
941
166
232
396
356
957
924
1000
92
185
512
758
567
735
255
84
726
65
981
177
333
158
930
960
861
422
693
261
23
518
38
340
414
470
564
840
931
306
22
937
37
797
22
990
723
48
167
619
234
233
478
807
116
602
239
578
886
942
595
513
414
26
518
69
386
278
489
256
429
118
66
346
327
570
865
351
431
548
665
299
409
569
46
924
256
696
591
165
584
731
562
728
93
880
793
110
239
830
312
594
544
559
68
948
14
982
18
855
656
973
629
99
786
31
107
987
594
470
590
790
52
612
182
256
524
23
89
210
353
20
181
90
730
763
184
290
419
663
756
673
397
112
752
412
882
98
890
960
183
411
765
987
650
187
525
571
727
251
227
838
248
429
706
131
904
642
344
995
627
881
804
390
208
592
634
157
994
681
45
408
261
956
193
614
973
173
986
477
237
63
305
278
909
828
680
42
969
995
494
666
955
950
555
355
746
917
616
381
512
408
846
261
38
152
532
355
843
517
132
525
554
23
352
429
519
572
741
368
183
98
876
418
390
410
585
726
730
801
735
608
799
42
708
180
360
725
468
878
932
476
191
224
66
87
647
331
233
310
567
396
109
340
713
106
87
494
681
817
643
965
209
953
264
723
136
67
193
853
986
800
956
996
484
917
793
584
125
130
768
654
1
965
720
774
121
397
668
244
119
225
368
473
138
968
266
440
994
492
632
807
64
815
765
77
685
792
957
19
366
623
617
187
346
703
326
579
292
193
553
299
213
761
91
174
529
634
5
928
731
752
935
29
46
626
235
651
415
911
453
499
910
680
857
805
859
84
249
337
233
963
974
299
414
247
7
148
201
472
225
587
223
134
444
191
335
330
708
538
570
124
533
767
235
457
672
340
104
930
244
34
987
276
886
223
553
887
924
645
628
959
976
5
834
426
409
242
79
600
351
502
386
382
146
324
543
608
661
305
590
698
642
180
511
861
852
214
798
525
462
296
968
734
85
449
568
140
985
55
157
420
654
979
813
853
752
205
486
453
67
581
28
379
110
738
600
868
296
547
26
741
193
776
744
334
526
225
413
216
437
228
217
710
703
351
709
744
551
432
37
880
585
344
866
75
450
297
81
482
166
618
277
68
424
490
258
67
74
137
91
965
595
234
805
835
822
260
551
847
812
105
235
144
65
39
882
645
602
292
822
80
766
877
529
136
948
754
437
211
785
870
339
754
27
257
888
824
214
136
572
387
67
742
724
490
482
127
550
324
446
27
367
873
792
216
442
69
511
631
162
139
335
937
308
749
740
392
893
912
318
309
894
945
954
479
556
468
731
505
994
878
409
639
527
642
787
146
889
646
511
974
76
625
189
614
324
157
895
722
430
944
224
328
993
336
907
61
823
110
822
70
959
112
339
434
682
392
830
795
177
446
833
633
344
683
73
35
772
434
112
938
820
134
239
93
38
387
308
157
130
312
681
307
490
383
452
94
90
722
765
696
711
404
515
756
387
735
438
558
197
479
267
59
80
538
924
392
252
534
625
68
859
912
478
694
157
941
231
149
310
663
914
836
84
8
278
376
976
168
108
684
556
203
855
953
498
687
375
656
356
986
843
312
470
688
605
255
824
721
506
787
351
942
576
186
568
173
836
105
285
254
512
4
223
325
45
770
974
694
666
244
688
37
722
686
57
271
878
357
650
525
727
382
255
113
538
46
796
122
625
512
651
179
759
265
595
61
93
683
262
319
54
57
847
848
859
449
560
333
986
339
232
323
677
485
937
599
809
285
73
499
856
990
877
565
663
102
733
777
547
698
450
498
66
616
944
923
974
268
754
916
336
967
392
985
48
840
684
765
811
752
621
412
289
907
261
128
849
561
310
360
395
677
145
531
980
532
931
30
12
445
535
346
966
469
743
137
41
172
94
487
607
811
848
127
650
613
378
760
897
717
91
240
126
904
636
729
817
741
59
365
559
772
17
502
580
963
997
529
654
593
632
674
606
302
318
509
433
315
411
709
344
171
902
30
530
615
562
442
665
760
887
170
350
134
75
498
597
722
354
813
447
220
667
656
133
82
77
667
743
328
22
490
860
127
936
360
218
58
863
932
18
182
610
71
482
47
792
992
92
354
878
205
574
552
405
821
268
437
93
980
124
384
502
675
212
595
113
576
640
85
35
425
513
730
885
503
770
428
963
374
512
641
225
191
163
553
489
353
607
842
888
517
82
552
568
451
603
715
904
104
855
608
566
424
949
542
639
188
999
310
994
314
341
557
465
998
823
970
411
643
462
534
475
899
144
82
76
117
798
834
521
303
722
198
689
521
478
884
307
713
649
444
441
87
436
612
640
75
620
452
269
857
108
813
770
691
433
228
212
538
441
815
219
377
195
723
194
533
664
689
927
426
665
407
382
912
925
374
799
319
13
528
245
400
60
4
999
777
474
386
325
551
819
54
694
106
969
908
209
628
820
454
701
13
752
153
215
637
176
4
342
697
271
166
631
416
283
809
163
673
60
852
43
438
528
682
218
858
567
784
467
235
221
227
464
259
750
514
276
675
618
860
922
258
900
927
695
477
473
612
408
153
958
156
512
181
206
858
627
634
999
202
795
587
377
248
316
614
787
799
302
169
357
262
734
757
395
312
13
321
906
589
292
175
888
495
774
637
453
226
743
242
212
818
268
470
549
254
862
440
364
392
125
215
244
682
97
991
142
461
224
788
246
127
264
402
134
133
689
288
139
114
297
321
460
242
569
374
812
309
840
675
787
166
721
848
820
906
600
362
180
385
386
379
502
100
577
373
953
935
641
643
129
87
630
456
861
939
585
595
772
784
950
804
826
778
159
365
955
824
86
757
941
147
495
215
990
939
505
345
639
148
635
344
529
975
408
529
540
383
970
309
110
670
315
171
517
9
627
729
947
438
23
685
240
248
24
518
36
331
213
800
993
532
482
719
852
840
500
443
604
145
552
613
199
939
217
57
753
448
678
548
975
825
267
376
788
420
100
600
732
519
110
707
793
1000
970
375
444
974
457
784
734
312
156
989
765
583
945
518
255
453
448
866
156
407
164
569
340
299
964
653
572
684
33
65
556
589
21
707
619
372
824
320
272
120
921
868
780
261
437
431
275
738
855
973
745
700
982
171
962
94
636
21
601
281
345
661
495
799
731
894
398
566
894
737
991
398
261
523
433
412
997
488
678
22
951
508
510
469
868
591
254
16
608
972
89
535
973
624
821
221
957
140
640
463
76
481
840
394
316
265
40
631
712
819
161
855
275
806
146
135
819
390
498
16
865
61
157
222
436
447
606
937
807
198
544
35
361
912
18
893
517
650
658
163
897
922
852
107
491
59
874
809
351
337
752
9
7
553
277
977
164
730
11
335
91
992
935
296
221
692
679
935
263
630
555
425
454
319
389
463
152
503
891
549
200
895
72
182
330
380
92
407
598
989
864
927
106
333
381
361
906
463
598
5
755
773
139
952
63
109
3
801
979
557
852
169
101
205
995
749
653
265
813
619
621
324
427
152
442
278
129
806
19
448
989
318
613
788
112
656
368
386
658
370
118
626
360
343
144
278
873
898
709
709
699
303
373
854
78
129
165
160
907
64
429
809
995
359
264
489
736
587
237
432
367
106
804
494
219
273
151
385
955
763
768
693
53
910
78
733
675
700
295
677
306
886
689
58
829
14
776
682
796
642
354
506
564
891
591
808
187
821
511
815
541
97
185
308
489
459
724
333
666
731
652
521
79
794
408
419
992
41
314
906
509
388
380
407
528
273
510
874
365
766
57
989
530
571
734
8
242
744
900
876
50
925
253
164
261
277
608
975
455
332
409
871
959
994
172
765
219
193
395
380
796
663
592
27
65
641
326
461
364
123
321
164
527
527
940
227
295
999
866
976
29
481
19
756
723
668
721
915
903
726
986
631
985
1000
183
87
429
475
120
600
17
748
586
915
49
592
981
759
993
11
643
535
278
95
362
16
514
82
121
525
436
764
25
303
141
115
541
262
518
325
712
724
916
853
884
559
809
995
476
579
171
581
277
500
108
253
815
547
958
17
772
598
558
435
550
442
673
555
219
371
696
521
29
12
860
84
834
803
863
482
74
913
893
90
310
948
486
767
1
361
165
525
488
209
119
929
450
693
784
196
554
83
413
866
785
473
786
980
759
616
262
416
799
496
930
223
173
149
754
253
170
514
803
956
870
994
476
902
83
477
292
700
595
715
51
895
969
343
945
546
908
19
914
219
131
840
850
153
397
788
30
261
268
464
470
433
467
430
371
683
945
701
38
235
92
936
763
718
419
660
959
19
433
398
918
835
441
300
301
954
132
94
305
224
12
290
344
133
445
836
714
555
502
239
755
517
891
340
786
801
884
320
24
968
15
558
908
713
6
378
59
523
660
211
116
624
247
436
804
628
936
14
868
985
405
243
75
724
289
557
77
504
974
766
444
356
853
918
650
709
715
496
299
886
611
826
365
663
259
546
751
961
682
827
620
81
845
404
259
338
866
775
892
985
729
817
476
819
626
541
925
90
393
213
135
50
649
315
763
905
394
655
35
675
103
133
505
611
525
924
753
683
293
926
245
816
772
247
13
616
758
623
816
600
53
375
653
68
249
617
50
42
430
505
91
616
537
511
529
927
205
656
85
694
805
595
18
711
66
961
602
797
708
979
76
119
619
372
552
104
999
162
690
250
392
355
999
530
49
343
485
770
424
472
932
722
210
937
595
688
554
270
139
203
41
619
797
129
421
640
276
195
137
535
998
217
212
953
587
946
675
563
803
171
567
230
763
862
734
631
551
109
244
7
840
860
53
272
45
356
947
336
398
610
75
284
809
525
438
283
754
9
540
871
346
621
620
595
706
775
12
990
151
583
505
954
333
294
810
180
736
355
805
233
970
255
683
492
294
92
133
238
200
360
675
893
920
272
735
490
25
402
656
614
413
721
216
28
328
268
72
91
967
277
237
511
250
81
339
84
292
828
620
350
915
714
230
429
673
28
691
246
551
702
509
349
217
459
653
950
47
394
859
618
738
657
823
850
701
411
19
722
432
615
286
785
444
353
82
119
195
44
426
136
507
608
892
687
26
477
836
479
269
660
629
488
623
537
465
540
848
277
517
163
51
336
677
338
206
353
629
5
438
909
468
742
203
187
860
483
521
146
413
687
140
660
885
858
535
417
257
465
871
250
490
891
610
741
417
910
733
51
473
607
391
37
297
699
975
989
880
232
467
166
524
541
325
937
637
979
138
234
696
477
154
202
443
79
2
490
369
11
766
597
814
593
386
520
716
372
193
509
891
160
533
825
507
484
166
443
403
88
830
58
792
245
71
250
548
868
329
370
855
598
546
657
810
511
584
909
496
12
51
951
523
887
656
116
190
129
150
721
489
375
743
425
600
587
532
758
480
257
767
441
360
408
168
777
69
986
775
683
731
852
242
452
28
551
389
452
967
514
832
387
801
331
145
473
644
88
535
885
662
606
712
615
950
904
783
171
668
398
242
326
88
140
899
607
651
838
277
269
577
890
867
638
368
376
570
685
827
834
74
182
665
475
197
955
456
699
975
758
848
462
80
941
306
936
586
588
831
1
857
482
943
73
193
50
515
692
582
734
880
236
233
156
949
980
895
274
167
391
187
942
519
543
722
553
44
141
285
738
178
466
503
707
247
518
215
62
938
60
707
586
16
313
980
155
292
759
854
530
837
891
299
994
761
351
537
220
706
679
401
581
493
791
522
716
577
292
807
303
529
117
348
193
570
849
664
504
287
971
16
125
920
121
594
662
34
972
506
160
520
321
209
802
251
252
421
775
117
29
638
51
449
750
320
910
613
480
190
476
878
722
36
209
292
537
643
264
108
672
859
648
881
670
218
155
20
130
944
698
141
721
57
535
581
170
739
151
308
894
894
871
582
498
906
517
612
139
516
730
239
464
564
221
605
500
39
105
363
750
445
939
788
699
363
759
818
796
284
511
20
365
400
24
587
173
627
35
183
632
906
976
571
750
747
921
260
722
162
43
805
341
294
911
406
445
549
729
993
844
55
906
830
463
325
508
712
454
26
685
396
633
655
205
543
910
397
109
941
729
607
806
606
422
194
588
34
516
207
523
656
547
60
120
270
529
498
423
938
80
480
562
877
986
431
70
385
56
279
80
665
952
112
719
804
659
515
67
636
199
657
585
841
188
830
29
23
419
393
879
197
840
330
539
565
114
368
635
236
922
746
938
213
528
432
918
471
542
542
328
842
194
237
7
397
573
547
949
590
524
566
760
345
117
62
709
376
447
909
911
549
981
125
588
61
25
742
175
883
233
653
941
716
924
946
489
298
374
913
632
561
822
200
703
524
403
859
767
582
266
562
436
64
227
841
612
245
345
608
812
524
752
95
184
47
266
790
793
271
933
929
797
517
859
452
415
822
391
636
958
234
620
145
997
350
128
702
956
964
579
337
726
878
563
559
855
728
966
825
206
122
337
713
704
624
602
432
224
622
706
837
967
7
498
90
555
322
54
389
819
587
179
722
335
522
916
131
901
575
971
783
219
395
653
591
310
623
699
622
604
214
476
896
984
386
898
973
86
692
411
632
748
957
564
76
555
348
484
791
286
552
775
986
426
603
741
280
404
997
672
633
463
445
222
32
788
692
79
589
756
616
373
229
441
460
75
730
245
160
959
688
404
902
10
283
211
765
481
346
156
435
857
759
146
200
885
875
91
872
454
295
472
235
5
864
210
257
948
994
951
840
926
174
660
239
764
760
368
744
827
692
757
330
713
576
107
433
765
477
29
442
314
245
904
686
814
189
767
181
986
660
442
915
599
522
414
906
137
269
270
398
154
246
101
463
149
686
619
526
142
882
502
469
565
870
499
588
102
562
656
163
672
558
298
49
822
468
409
229
108
711
309
314
730
938
7
97
925
805
106
637
101
514
923
336
289
45
471
200
426
955
288
434
664
878
98
820
307
902
703
11
48
241
421
112
526
602
119
679
153
143
478
24
373
380
597
127
289
345
556
160
527
766
329
762
109
409
102
129
847
761
158
267
55
428
459
647
82
427
757
982
668
13
383
915
82
740
187
404
948
647
353
412
608
1
970
766
358
702
391
820
130
526
530
771
63
933
662
526
940
52
280
444
903
767
332
626
669
234
183
898
193
580
845
997
998
642
276
563
318
454
647
481
56
218
972
319
26
548
990
371
148
993
859
134
914
486
114
745
446
714
220
954
637
208
775
780
287
511
403
517
696
153
875
127
822
4
638
398
831
698
657
949
429
79
142
109
495
839
313
979
362
127
978
455
389
921
970
938
732
564
491
299
462
511
232
1
595
936
983
625
134
199
862
804
523
9
365
93
681
767
449
356
539
411
186
18
402
888
898
506
897
523
856
265
462
297
891
410
689
811
210
225
2
380
498
772
853
686
310
268
202
197
46
844
560
324
962
335
957
105
944
551
765
295
947
98
228
32
697
17
343
631
339
468
400
946
823
574
125
161
28
982
481
83
104
951
266
866
101
79
388
762
815
592
388
582
347
395
815
745
126
933
549
975
189
466
508
579
860
253
834
165
184
644
68
955
652
543
985
935
983
119
925
300
630
54
27
366
870
156
793
558
602
799
449
329
787
28
969
669
75
222
595
335
371
517
56
569
917
121
934
133
748
130
926
819
678
815
609
388
685
97
124
714
851
188
185
940
35
945
646
472
660
14
305
261
127
930
702
384
54
86
971
836
896
145
195
952
159
981
87
590
528
808
276
200
415
265
791
515
924
548
401
126
164
173
545
271
705
493
583
976
344
133
419
881
69
156
489
521
959
286
411
46
273
770
983
879
300
228
839
982
838
1000
417
33
847
549
325
271
381
261
574
859
352
617
986
902
434
963
909
459
829
68
134
540
342
357
465
389
678
986
11
28
315
175
669
141
678
681
532
968
6
893
587
256
871
332
967
136
772
210
816
963
775
943
724
255
627
869
19
475
330
77
6
297
733
848
260
327
110
810
523
31
212
687
30
309
331
545
451
478
658
349
693
107
421
245
443
463
833
866
593
623
418
284
917
445
829
979
815
647
692
528
103
132
215
127
544
971
473
215
797
785
874
902
943
470
949
40
71
197
358
556
383
966
729
180
107
374
634
810
472
431
427
558
801
547
576
878
567
15
499
336
831
887
65
745
482
452
23
157
317
824
921
516
227
450
279
67
110
965
11
977
648
936
515
274
931
58
243
631
27
380
581
953
790
502
583
153
530
338
121
849
700
84
749
525
141
217
430
42
210
124
670
411
236
345
355
321
709
866
790
383
44
972
58
590
510
606
446
27
309
991
236
505
91
157
924
938
430
416
454
205
586
363
743
154
821
958
839
603
388
778
996
646
171
502
369
273
571
711
733
47
478
488
593
866
560
685
34
913
535
548
990
879
787
204
740
864
9
789
254
18
436
71
975
892
336
185
188
672
25
198
421
903
974
959
719
752
417
566
515
247
808
148
592
957
890
482
823
369
358
43
732
391
682
248
86
914
96
550
651
963
296
348
382
789
455
449
421
142
453
176
576
365
937
974
534
610
545
895
554
33
175
987
183
105
255
285
758
329
155
766
668
472
927
585
909
80
918
483
718
691
142
915
773
342
722
497
824
874
96
535
535
571
108
133
870
623
51
694
405
523
597
211
72
470
109
260
769
392
211
85
22
83
548
752
652
955
960
898
590
178
429
372
931
829
265
741
97
162
464
844
635
194
335
360
346
196
407
423
660
573
156
338
700
670
686
910
549
652
203
84
42
978
13
409
485
515
283
228
697
168
733
723
59
371
439
695
323
252
896
640
641
276
120
979
98
632
758
238
752
312
650
542
456
295
724
452
942
158
89
378
126
391
609
84
705
592
260
665
645
501
163
571
901
767
638
613
335
248
154
621
34
235
36
732
240
721
688
51
582
801
8
803
727
29
44
374
438
327
869
171
768
915
528
456
107
765
246
547
392
149
149
716
940
109
614
289
772
528
612
644
403
898
442
150
319
117
115
298
947
290
892
593
839
884
618
830
503
420
524
56
32
961
389
396
10
115
68
254
453
44
129
235
111
678
355
509
995
165
792
776
578
804
874
558
730
774
805
886
834
231
491
84
149
260
945
168
770
705
620
163
784
449
526
875
381
14
870
960
334
789
367
48
733
262
3
217
933
853
186
558
219
343
420
81
816
167
969
225
702
519
722
706
796
32
747
200
532
495
497
576
632
282
664
588
338
377
591
507
612
278
864
297
843
818
7
104
623
71
657
85
390
168
714
783
712
165
815
938
367
490
957
280
582
20
841
499
911
671
529
963
430
753
944
219
111
166
221
907
137
882
401
149
209
368
18
615
449
951
877
87
747
673
783
175
175
387
396
745
970
778
860
297
564
812
723
556
340
299
944
635
26
74
218
554
43
885
909
626
765
472
403
95
54
262
168
411
313
670
867
553
522
141
856
735
176
811
820
93
801
360
863
844
166
395
981
882
398
863
740
115
283
220
591
12
702
96
229
306
819
911
842
165
711
255
544
258
38
743
204
783
282
187
846
985
169
568
630
329
872
220
140
326
285
709
292
631
181
457
921
814
277
560
63
222
532
966
684
817
542
424
704
733
188
432
604
57
175
893
582
465
829
38
698
391
915
569
647
476
543
973
967
416
791
856
541
810
625
699
969
311
590
997
920
66
57
686
140
352
701
830
111
507
363
280
331
108
684
812
144
200
788
284
673
51
400
150
370
536
237
584
43
48
127
759
927
575
412
414
164
840
255
11
15
223
985
205
360
684
917
950
857
822
577
891
458
386
793
732
95
103
835
488
922
711
478
690
715
999
782
636
326
783
700
923
183
883
674
419
289
842
440
59
4
903
723
308
96
513
900
795
223
186
512
11
765
86
90
862
608
360
36
653
996
491
514
329
596
660
250
97
740
469
160
685
498
310
157
229
196
973
856
789
552
124
199
800
841
596
120
673
64
338
43
530
781
506
227
910
63
89
903
192
612
238
579
923
301
158
20
920
75
487
478
274
860
496
47
416
564
271
68
886
333
375
304
493
348
107
379
284
525
204
159
928
92
418
871
686
664
62
770
632
555
150
272
548
326
299
639
81
53
410
188
928
684
443
265
954
141
234
69
390
512
423
630
712
886
807
381
648
54
508
503
948
885
498
919
755
568
443
553
548
386
99
662
299
960
713
728
333
659
876
866
402
840
550
418
130
785
602
162
816
242
687
843
19
934
733
245
17
831
56
32
3
198
977
3
638
205
485
807
891
580
310
695
559
968
652
56
676
491
621
402
849
638
233
26
640
927
696
407
731
28
932
330
728
601
203
939
364
664
521
633
297
974
804
975
437
957
570
566
905
110
788
260
129
351
743
358
227
760
411
863
286
523
599
84
92
507
805
146
729
406
359
262
992
61
246
735
973
860
123
240
974
114
36
60
570
256
380
493
272
566
773
739
75
429
331
657
379
608
784
476
65
551
634
81
99
439
937
519
490
511
413
965
645
845
556
227
786
520
220
99
302
409
870
794
238
544
736
768
312
611
487
537
929
79
740
949
769
78
165
291
925
879
264
834
785
55
117
777
154
955
356
441
151
360
659
532
937
97
51
704
344
384
644
850
557
868
704
901
192
487
339
290
433
766
89
201
216
855
218
187
34
268
547
341
371
175
129
821
594
915
177
10
526
259
705
962
856
799
189
591
526
875
749
450
500
654
236
106
542
784
168
409
169
317
747
900
971
803
330
481
864
267
382
931
362
53
126
652
311
898
126
454
32
882
44
752
931
987
351
125
740
302
701
734
210
498
112
758
40
955
972
652
139
496
195
293
951
240
295
28
490
486
821
593
376
55
386
232
994
880
365
79
23
892
333
905
260
303
497
916
541
280
887
228
626
124
826
403
822
92
805
205
383
724
112
143
129
728
869
685
412
229
657
412
627
334
841
712
579
235
431
219
465
983
102
583
64
599
192
434
308
933
730
297
353
586
183
490
636
913
334
606
904
642
489
807
740
635
261
633
793
91
627
373
292
60
101
71
344
26
593
667
721
194
34
921
258
453
156
968
157
84
245
907
894
678
917
795
971
529
125
723
807
477
79
223
280
146
695
152
474
89
538
411
784
101
69
354
500
39
495
948
529
742
991
14
638
159
172
905
946
78
979
616
905
569
163
795
410
15
193
59
408
637
497
645
387
27
192
183
739
584
275
516
207
33
643
442
148
704
199
149
225
908
108
651
853
801
620
417
595
768
970
485
847
937
960
324
105
478
26
993
902
91
726
726
247
611
755
358
293
403
698
385
960
177
261
755
591
57
541
250
54
722
53
615
329
157
904
799
350
584
307
401
473
463
917
635
509
735
95
62
872
316
797
50
829
275
347
165
515
985
654
366
215
411
693
978
250
920
822
116
13
574
549
95
985
368
438
213
226
976
102
818
771
666
26
119
787
417
237
569
102
94
269
693
337
236
676
470
457
532
61
344
259
418
418
767
578
630
175
183
355
467
14
463
151
248
92
579
278
95
550
183
663
846
384
816
522
890
131
58
745
377
425
393
405
581
621
555
328
441
719
392
657
179
628
569
880
29
656
732
728
866
412
637
286
268
946
51
887
931
695
616
780
432
925
988
248
437
601
13
174
457
199
278
919
158
706
776
991
727
822
771
717
949
464
680
362
242
222
818
415
601
141
998
606
489
435
387
295
585
528
772
117
419
586
902
497
561
118
35
657
20
214
143
566
780
624
808
330
571
714
522
214
942
367
912
815
494
577
46
48
114
894
762
635
71
139
154
798
901
46
167
389
199
771
113
198
725
543
995
60
307
372
320
980
957
625
681
344
12
702
554
935
651
724
373
664
312
258
565
329
948
964
744
191
856
410
353
976
962
874
243
753
781
816
538
941
809
824
463
25
630
98
945
938
185
502
647
49
371
3
668
645
424
730
308
805
488
870
966
59
440
606
1
304
842
213
103
863
418
566
843
481
816
69
404
230
857
1
324
807
954
690
527
272
159
811
421
420
558
627
324
53
406
335
490
913
592
363
826
268
295
393
946
889
197
355
926
56
983
285
457
680
339
803
715
391
430
554
579
427
914
225
573
46
156
374
11
442
540
27
30
456
293
526
993
945
996
369
124
530
729
718
387
273
13
69
980
87
554
166
370
528
843
347
198
852
464
30
359
152
101
293
585
40
811
896
642
523
681
434
944
686
427
288
129
657
24
108
342
346
322
387
703
603
919
264
274
657
603
569
417
981
250
144
466
904
294
59
532
478
366
155
348
456
124
199
457
328
343
557
488
47
7
224
531
631
98
124
813
499
749
979
105
21
444
49
572
239
950
165
836
499
452
100
110
783
892
818
404
623
588
90
1000
319
899
669
569
343
570
174
737
534
825
611
818
116
705
642
650
868
248
930
429
90
802
32
605
645
511
5
859
425
520
352
930
626
743
189
632
674
160
145
64
264
69
740
384
753
690
741
289
386
987
405
887
988
90
48
202
906
559
333
838
597
141
843
490
306
146
266
162
188
84
535
227
846
465
389
384
4
135
5
866
846
146
40
192
540
569
406
787
227
325
188
402
597
660
534
27
23
731
946
435
367
865
926
302
832
479
84
61
100
218
661
633
970
44
739
538
277
828
700
283
663
969
947
689
307
740
327
638
107
969
439
45
674
337
678
834
738
513
779
810
707
892
420
944
952
803
939
637
977
38
9
981
896
295
169
440
303
909
589
73
682
63
417
351
175
570
332
975
353
857
346
971
20
951
281
48
350
667
632
227
761
574
508
716
479
184
632
436
251
633
987
868
862
641
541
689
318
984
860
275
428
672
864
196
637
786
334
229
347
731
596
531
143
205
538
43
657
236
268
662
52
21
448
590
551
383
365
198
208
497
287
968
472
704
389
260
906
688
354
618
390
116
276
75
783
845
23
929
134
347
632
767
640
259
81
807
111
196
106
147
579
941
612
621
745
420
188
3
697
324
825
666
721
640
153
287
407
830
297
704
115
269
307
799
642
149
164
350
828
710
864
310
566
367
399
178
175
852
564
264
563
304
580
60
458
203
819
444
207
461
467
786
213
833
904
86
23
5
359
544
427
539
98
907
884
43
680
51
444
170
852
251
376
547
386
17
706
6
97
898
511
819
5
636
230
594
502
886
599
29
600
490
438
134
986
988
677
558
739
710
165
331
325
694
116
169
118
850
32
446
798
699
268
994
100
624
593
337
2
222
435
687
453
872
864
490
23
535
332
841
113
18
945
8
20
688
289
985
538
944
69
435
461
881
691
81
486
909
921
990
424
261
587
252
786
961
910
487
806
972
33
1000
568
185
614
954
327
808
406
328
252
319
954
287
7
735
425
466
757
299
30
163
159
709
223
282
70
903
966
563
914
675
663
453
112
329
810
466
505
240
125
743
153
267
964
479
179
173
440
354
76
780
191
95
538
426
48
845
123
371
546
16
463
151
671
22
833
483
620
532
354
103
544
729
474
153
550
63
513
945
937
154
596
647
182
989
290
633
900
563
433
293
907
554
261
421
243
173
540
225
732
471
554
375
706
7
695
249
968
407
895
795
573
741
933
709
152
569
629
620
739
533
552
413
850
162
369
483
576
795
538
117
882
139
16
220
83
532
847
121
616
609
330
878
989
112
944
953
893
95
771
213
779
967
691
874
897
292
214
503
484
810
739
481
596
92
417
246
282
498
219
985
969
956
65
799
393
26
100
503
779
287
616
659
15
433
117
633
588
612
81
747
791
850
878
540
139
760
552
239
28
741
337
736
808
639
110
433
432
334
290
53
977
122
551
522
560
392
195
906
509
979
235
58
714
562
748
831
996
650
241
641
915
711
158
392
557
487
40
777
990
221
621
315
414
499
496
777
666
849
770
399
833
548
259
281
375
428
296
483
178
787
476
474
419
98
987
626
397
894
261
946
754
918
79
308
585
292
97
858
107
893
641
776
31
780
663
506
548
281
41
873
59
446
845
137
960
278
567
657
640
358
561
307
320
486
867
103
763
390
731
835
909
228
132
36
361
607
672
361
67
137
405
357
180
652
592
218
243
249
549
673
416
237
810
972
605
881
697
159
244
490
468
923
820
740
113
388
302
612
912
864
449
210
895
92
946
816
827
366
314
937
737
116
725
755
20
756
791
342
706
749
421
706
468
19
486
79
373
833
628
634
405
558
639
921
497
323
361
635
11
35
140
901
516
47
187
163
547
966
857
303
749
927
419
939
389
644
671
663
946
387
157
427
320
693
292
8
332
305
585
636
298
875
246
213
703
23
131
763
536
875
664
829
595
857
751
577
933
110
199
124
610
915
684
480
66
547
444
594
935
373
443
482
558
737
502
10
580
247
995
166
593
707
490
373
327
940
191
369
390
36
412
943
730
415
378
216
868
992
541
586
875
604
552
232
534
29
243
194
521
471
490
173
650
420
819
939
35
798
255
98
577
991
411
347
158
932
422
891
760
333
975
855
494
60
784
137
56
311
477
951
509
701
7
46
376
252
740
78
842
74
297
405
799
627
823
50
472
119
901
785
273
182
509
604
232
434
992
761
555
434
412
661
747
454
339
206
209
774
272
992
988
982
515
301
723
311
901
997
624
977
308
851
795
282
691
415
766
362
868
430
614
461
257
830
270
694
743
383
803
691
921
195
233
970
56
303
349
929
319
382
132
42
105
544
162
632
187
560
918
528
872
275
720
241
832
59
21
345
630
930
828
133
223
274
919
465
363
902
695
206
439
919
171
19
282
3
402
707
986
979
25
263
812
301
163
419
622
510
506
847
520
965
557
149
802
118
883
812
740
732
79
342
70
163
742
252
721
149
589
719
172
177
847
225
155
501
640
608
896
265
116
449
941
246
722
170
902
929
760
209
712
452
694
103
220
376
224
229
914
171
63
617
615
121
742
253
200
217
804
837
618
282
726
508
313
967
152
99
905
867
669
256
250
678
629
582
480
24
41
863
362
983
625
769
147
857
988
88
27
499
95
694
882
237
21
930
111
52
786
63
181
969
646
973
303
600
794
707
180
522
879
789
751
824
693
320
588
956
417
737
596
936
10
627
960
401
170
809
863
897
896
156
262
915
634
968
264
94
276
872
871
976
580
692
122
154
59
300
790
351
562
602
529
567
432
151
897
134
412
657
767
527
589
446
616
236
826
755
2
572
143
939
203
197
362
101
40
78
518
308
731
904
917
801
629
542
454
364
233
994
238
407
303
124
385
185
789
152
780
29
7
807
416
43
365
410
980
552
127
808
865
167
131
992
6
85
582
219
975
458
625
581
251
17
417
906
508
252
318
123
57
634
390
424
988
417
690
347
292
998
533
949
28
332
289
281
115
422
477
962
785
270
30
560
813
669
471
725
304
790
738
388
988
951
757
114
817
843
605
134
371
97
456
596
820
825
370
212
877
358
372
11
138
493
901
457
638
53
329
36
150
549
384
936
198
569
258
335
957
86
380
909
903
468
399
298
958
622
575
63
901
911
170
845
144
978
238
787
883
639
107
347
409
541
322
493
783
256
139
202
517
71
740
544
723
754
893
159
87
522
592
308
504
208
454
378
754
719
125
887
509
991
424
70
910
185
232
763
587
150
662
960
417
645
472
249
287
561
390
642
980
538
215
805
47
266
595
955
453
831
767
797
381
853
190
666
573
445
36
349
105
401
488
54
149
342
596
573
50
149
803
727
635
105
764
790
437
73
141
214
834
352
502
602
476
223
459
377
527
706
652
541
21
420
386
442
390
810
469
429
582
660
918
449
945
691
833
839
565
931
481
952
360
655
9
376
974
697
448
408
177
745
838
755
231
760
465
114
271
870
168
329
628
756
833
174
516
571
640
116
278
794
721
813
921
395
314
130
535
446
744
196
916
967
802
900
787
705
251
34
37
647
366
171
798
762
77
604
573
47
894
137
848
263
287
909
530
436
195
414
870
684
750
665
637
976
317
50
550
924
485
769
783
21
792
717
627
801
286
82
24
371
926
415
202
175
465
359
697
596
973
506
566
322
178
487
892
604
295
478
963
947
574
248
144
849
92
957
485
448
747
216
560
95
352
653
61
259
576
694
965
160
188
63
25
209
756
833
126
738
172
325
727
695
776
640
546
431
635
35
8
567
474
259
312
586
256
775
48
703
243
604
735
615
907
81
330
915
277
419
951
235
99
352
142
759
956
118
616
526
970
526
215
192
660
923
98
711
894
403
774
380
284
904
911
455
372
524
863
831
396
782
56
407
703
929
207
813
778
695
689
335
512
190
508
630
853
337
435
996
377
119
311
777
620
821
426
989
7
326
33
839
635
384
950
825
248
801
588
421
927
454
937
290
75
426
721
900
177
720
668
51
459
15
184
575
493
697
588
501
353
736
69
669
525
961
960
884
457
589
734
458
405
991
162
356
355
750
748
545
594
1000
769
127
876
360
418
731
622
415
938
149
489
504
568
891
775
162
602
212
214
708
352
145
523
471
20
671
621
217
264
932
128
533
13
142
834
301
83
2
365
33
178
146
20
495
680
463
813
776
931
369
49
913
536
393
423
924
888
585
181
198
478
412
647
619
540
4
633
907
47
191
24
990
609
980
648
807
229
172
749
388
612
710
320
132
310
868
456
155
910
258
329
300
836
285
180
507
241
453
527
954
531
26
124
596
669
72
627
281
756
954
509
287
161
414
644
595
212
470
258
502
987
663
997
501
216
256
402
159
830
203
486
118
957
549
590
837
190
171
274
941
22
650
665
553
957
679
408
791
331
241
72
847
245
184
650
292
794
1
719
979
224
321
80
595
150
832
808
356
275
617
408
288
838
877
7
773
621
30
555
11
595
285
457
367
789
645
313
856
997
4
12
83
431
656
62
524
102
693
596
330
810
294
67
481
36
914
898
980
224
194
76
407
827
621
761
23
513
658
259
775
270
829
833
525
426
244
861
768
713
579
137
682
807
696
160
182
353
759
662
822
374
210
750
110
904
670
576
24
477
679
965
551
538
908
849
375
463
22
443
877
344
893
393
780
814
894
464
798
312
715
637
172
170
294
847
839
646
32
346
598
558
12
307
709
227
331
352
527
510
702
476
52
281
238
760
863
90
774
324
742
440
675
19
712
483
943
514
648
196
809
678
861
498
773
400
611
29
20
493
83
485
136
558
31
547
574
654
524
490
651
670
760
787
979
498
106
671
764
834
689
899
397
340
929
2
353
441
749
9
250
234
181
680
647
756
504
996
389
777
207
666
952
659
204
792
626
785
255
562
645
220
588
183
485
553
913
623
529
363
280
986
123
598
986
712
769
822
511
269
204
437
761
12
612
847
322
974
526
94
392
569
272
585
748
933
595
414
526
548
299
750
564
396
481
77
760
759
24
779
207
654
933
719
716
46
611
91
225
31
777
190
14
539
35
853
59
535
641
471
160
963
684
277
973
955
200
360
584
60
713
75
118
691
930
772
712
476
255
620
257
64
676
776
454
356
45
373
687
309
121
20
969
760
269
258
990
820
564
576
44
503
478
682
544
14
808
941
353
193
224
946
126
873
210
453
160
493
570
397
470
635
215
618
268
316
661
588
577
405
9
428
853
314
217
277
934
326
589
727
454
157
125
995
831
134
223
918
277
828
193
339
815
528
410
809
10
803
796
547
363
833
326
584
762
723
261
418
857
424
733
392
781
280
407
912
307
739
859
743
130
185
314
907
770
377
322
120
40
280
456
110
691
608
832
84
41
445
666
878
66
571
857
969
570
973
589
79
497
823
840
641
548
706
448
895
836
187
898
396
350
563
18
297
195
4
163
676
315
704
142
789
748
841
420
113
322
771
552
548
327
942
166
925
292
538
130
618
469
342
14
45
201
339
153
911
792
123
746
208
397
422
374
631
811
73
570
204
958
932
131
922
659
759
116
662
590
238
433
885
655
625
558
915
917
546
79
197
169
531
419
178
221
780
770
671
225
651
778
97
614
990
244
385
187
451
565
220
951
110
817
814
49
440
740
131
438
396
43
92
513
171
474
360
4
11
693
844
539
612
446
491
959
877
587
87
906
286
529
119
325
243
585
733
679
836
340
800
394
313
791
182
461
285
505
409
136
1000
373
18
824
328
421
946
680
425
365
450
899
235
240
333
332
940
438
222
113
592
751
314
568
55
605
620
278
984
627
48
161
951
369
769
985
477
844
503
66
552
153
436
862
834
913
571
970
249
228
307
174
240
536
624
669
977
392
612
339
69
300
208
649
327
236
720
590
863
22
178
548
368
49
369
44
708
83
387
411
10
243
686
112
385
723
335
309
948
125
107
110
737
296
920
223
224
323
573
535
167
3
740
826
766
878
248
494
233
608
435
774
964
9
483
497
973
17
442
956
515
998
29
192
15
312
870
804
510
115
539
654
804
561
494
843
619
804
70
701
969
843
904
921
939
747
15
977
67
634
252
731
409
484
397
194
111
133
617
407
394
405
64
874
467
951
918
16
814
373
361
240
563
465
647
551
511
534
582
766
263
734
342
206
821
16
665
913
198
28
640
594
124
216
469
214
86
797
465
76
214
100
453
86
290
665
866
902
901
439
461
480
714
496
201
372
865
404
581
779
802
962
321
348
146
14
119
902
184
432
82
428
680
153
648
524
563
415
902
536
809
779
640
481
392
280
433
118
278
32
726
955
390
492
343
774
467
52
671
612
800
719
647
896
498
44
817
738
417
136
108
499
136
656
834
504
596
692
720
246
284
841
254
336
375
990
269
796
614
624
532
615
810
707
200
857
712
779
158
267
994
722
297
190
401
181
773
599
452
857
834
346
871
883
461
937
547
20
49
118
854
675
714
466
699
32
918
108
986
745
789
9
709
743
422
704
267
190
606
492
912
500
385
684
697
6
273
550
707
98
649
673
852
115
24
492
802
369
681
438
292
721
953
310
168
796
416
233
403
813
217
491
111
259
372
333
110
134
88
845
660
961
756
676
427
60
185
196
964
888
221
675
550
182
469
763
329
109
907
330
359
193
932
297
870
93
263
933
311
217
69
464
404
686
219
402
343
813
146
985
195
945
459
280
394
184
950
831
662
252
772
193
100
860
3
674
759
308
923
788
497
474
342
742
105
666
829
99
552
635
535
905
35
745
428
106
391
536
495
772
118
790
97
192
105
614
184
791
378
119
159
383
606
843
305
838
287
309
576
250
149
318
261
145
925
241
229
550
118
127
235
970
519
291
383
92
738
756
129
591
351
41
360
392
131
871
545
891
255
71
846
17
339
92
667
330
824
1000
140
281
405
860
232
384
898
822
278
813
331
272
779
295
960
6
779
634
714
516
900
388
895
910
472
33
533
861
840
556
981
17
120
596
809
166
446
967
350
998
898
774
25
308
873
229
141
948
531
380
612
867
918
111
166
799
688
136
869
195
977
271
416
861
286
918
825
284
547
946
442
688
821
405
917
622
579
915
266
981
889
651
386
932
314
254
693
451
820
386
135
573
502
803
503
595
547
815
175
929
814
966
978
654
836
99
54
844
481
208
944
752
291
281
754
154
268
554
826
166
611
791
477
12
215
307
922
648
750
250
462
3
64
149
969
666
265
754
116
244
236
243
90
617
149
254
707
663
371
368
740
680
242
287
242
659
988
319
239
735
894
723
288
697
889
899
846
648
839
676
178
913
292
63
322
7
135
42
258
100
534
914
79
397
495
597
628
299
108
934
15
110
384
801
6
134
468
573
33
977
385
697
779
456
229
539
773
523
867
902
41
48
550
175
131
515
217
131
878
260
684
51
25
262
774
914
621
88
941
749
992
153
21
380
434
282
100
321
476
912
246
640
553
686
85
39
913
765
469
17
282
606
567
389
210
665
616
358
180
777
27
173
770
708
439
913
347
449
850
826
44
441
144
444
628
916
250
615
795
409
921
659
813
792
304
525
413
897
923
535
582
38
247
764
209
171
553
965
837
103
760
93
303
551
974
861
474
743
550
809
403
908
668
811
889
263
225
824
474
867
389
751
594
281
472
898
528
283
619
65
154
893
898
946
597
66
475
684
548
499
707
614
564
676
955
153
198
43
886
344
957
296
150
915
939
161
971
886
351
176
394
731
320
508
184
852
927
350
986
101
483
977
749
81
451
785
222
963
640
502
210
856
814
11
523
8
299
161
66
557
399
192
964
574
409
626
763
745
890
939
413
838
814
357
413
349
965
40
475
622
54
555
788
762
840
368
204
701
63
219
550
415
774
213
933
677
728
795
522
541
588
952
307
498
876
96
901
890
103
717
951
296
654
392
385
278
511
155
170
705
962
135
33
930
19
516
265
693
23
697
44
320
53
614
346
959
983
8
400
226
311
385
937
992
339
85
350
113
360
627
348
429
727
607
279
853
285
974
585
667
4
359
834
858
970
119
445
338
960
649
531
882
609
638
43
263
212
544
299
238
678
446
789
770
878
741
423
86
258
467
597
29
351
458
269
257
313
347
208
813
826
796
649
837
185
998
749
943
313
643
424
771
472
235
37
391
138
243
193
811
623
878
542
144
504
371
334
3
292
412
527
52
735
590
693
53
780
446
701
252
301
88
583
434
1
325
115
969
156
337
281
468
725
898
186
260
235
802
861
154
650
319
693
360
514
128
114
732
507
270
478
670
424
502
310
574
509
83
372
487
109
204
241
479
4
224
534
921
291
372
847
64
817
413
126
161
493
370
237
167
692
928
538
181
636
369
151
123
232
494
636
460
256
862
134
670
498
825
62
667
247
638
410
605
384
470
37
502
163
357
659
240
924
618
807
216
458
170
790
457
446
468
891
453
724
894
381
294
34
287
389
715
54
27
785
27
643
515
52
823
871
800
908
81
181
757
512
13
574
844
353
986
26
140
949
184
339
132
957
724
947
728
384
958
393
740
288
320
348
399
869
534
295
694
47
938
822
776
165
11
279
860
250
551
433
210
834
99
31
674
719
430
536
788
532
695
271
508
988
32
309
30
457
279
789
240
497
208
401
622
414
938
55
413
486
830
837
358
276
193
126
560
387
383
143
859
757
43
204
998
813
64
634
140
581
472
872
621
784
661
761
379
729
949
890
701
870
818
704
94
723
342
962
189
794
489
40
587
68
545
691
162
40
908
538
71
215
794
356
961
750
495
747
381
956
293
708
903
744
59
859
39
997
10
545
811
705
50
330
388
159
348
267
139
350
121
206
615
248
923
705
383
24
511
146
996
680
968
266
376
616
977
208
882
516
107
630
80
549
820
899
368
26
825
244
365
649
70
513
255
819
925
985
95
242
783
375
225
751
830
722
222
45
430
495
474
956
510
626
749
887
360
752
497
391
77
466
198
915
21
254
557
300
205
11
729
373
379
143
500
675
760
570
895
622
49
106
754
893
439
796
136
786
74
905
880
794
754
62
803
464
609
773
584
228
549
182
29
396
829
470
24
818
246
31
265
398
461
574
57
299
365
359
214
629
119
444
968
873
334
850
757
352
4
274
217
822
867
795
256
707
173
535
397
217
741
415
707
9
72
552
736
683
321
220
268
775
763
469
893
854
375
70
145
683
470
587
547
626
444
264
219
386
897
209
551
776
240
221
817
539
45
900
5
283
677
204
763
940
771
928
330
896
888
855
991
833
126
410
543
827
931
209
552
14
287
279
201
697
474
208
967
466
474
205
516
960
138
875
449
634
296
191
101
418
567
868
398
71
448
161
495
701
536
977
767
51
715
900
184
995
217
212
295
264
607
140
743
264
166
756
707
645
612
331
864
317
689
387
4
849
335
10
899
153
182
449
999
332
121
192
392
265
340
749
165
201
63
656
160
913
103
41
459
374
974
417
128
569
405
472
108
496
218
355
258
482
979
604
561
341
454
198
940
81
894
500
679
427
232
52
502
715
607
611
405
214
669
971
874
4
824
539
890
19
542
98
407
370
832
82
44
261
490
538
348
766
927
865
94
470
971
168
963
604
527
480
729
879
694
464
37
953
302
463
856
652
298
916
188
996
934
713
982
243
510
789
533
722
629
223
670
503
675
317
272
170
138
829
597
466
349
673
444
757
745
766
483
316
244
1
247
836
842
119
69
840
186
905
220
632
633
462
922
944
202
946
967
125
954
500
713
293
797
871
478
498
676
144
354
813
818
687
961
517
721
991
928
199
444
118
684
265
694
696
670
819
132
316
290
451
771
788
460
424
863
393
585
523
793
629
818
346
965
451
4
461
811
935
704
263
363
714
622
514
850
915
965
313
623
208
428
522
896
956
351
648
917
11
558
556
237
611
831
628
782
682
1
198
993
623
795
46
585
857
457
51
766
183
315
913
736
541
340
831
266
903
274
682
39
594
527
353
415
94
265
388
689
672
355
670
299
659
230
646
311
703
609
260
692
134
172
244
841
132
917
889
997
832
653
315
518
96
944
350
611
998
353
287
526
569
768
375
675
628
105
66
908
765
103
965
165
290
907
421
901
249
32
988
407
656
221
38
755
145
789
621
760
514
169
786
294
780
671
33
652
987
865
956
259
670
637
448
573
989
734
113
454
249
530
536
976
442
527
793
347
568
11
987
33
106
411
737
72
621
236
979
755
628
573
989
586
284
672
256
691
136
49
836
743
753
435
681
982
44
98
729
162
520
632
47
329
466
998
330
722
431
911
583
971
296
511
153
625
656
710
329
548
119
712
303
214
150
211
51
981
567
894
112
758
721
237
225
903
682
204
277
971
592
322
818
155
895
542
594
607
464
403
950
313
60
478
58
917
588
720
302
82
733
564
259
960
376
628
36
916
992
469
980
398
534
980
65
293
579
581
421
132
679
167
569
340
900
726
889
529
438
422
899
287
247
858
129
41
688
913
563
969
883
236
478
285
681
544
321
13
687
132
428
668
832
650
421
634
527
601
618
290
92
653
14
258
320
91
106
252
67
71
941
893
15
184
200
811
334
402
339
189
429
783
229
155
665
347
958
352
998
777
901
407
509
145
119
120
39
234
812
578
961
707
292
600
550
561
755
312
627
220
559
145
5
296
433
877
433
414
899
934
202
616
941
982
357
793
392
988
512
795
860
162
736
388
263
81
663
973
45
492
513
221
391
12
691
146
750
522
363
969
102
826
803
294
152
369
833
232
159
366
282
998
495
360
51
676
430
130
924
903
101
9
323
640
26
747
787
164
577
810
831
268
572
720
185
504
277
895
773
313
642
169
455
521
82
734
158
37
438
675
326
535
577
953
655
805
622
827
935
39
3
520
988
728
713
209
511
567
594
242
515
670
372
176
437
283
404
886
108
147
134
885
873
606
86
313
2
83
970
838
450
419
923
21
988
666
596
871
787
494
174
450
937
249
406
597
253
57
477
150
138
593
98
362
957
161
648
996
500
136
767
657
317
800
459
96
83
468
302
731
848
592
876
32
662
30
115
841
367
261
599
708
722
845
858
611
75
322
266
623
308
77
886
783
117
554
912
600
26
692
858
353
64
242
490
427
880
184
290
729
872
314
418
746
472
372
509
542
317
637
544
773
831
2
47
366
822
600
81
121
201
461
290
443
358
257
208
245
319
542
950
766
297
892
97
634
290
526
743
273
841
453
954
449
779
473
529
665
823
928
930
304
701
448
146
901
793
606
852
207
529
148
280
618
421
808
324
866
772
426
414
16
219
999
816
126
262
836
735
454
736
597
930
329
799
305
896
426
805
702
215
211
77
136
781
650
972
434
110
206
389
225
66
559
771
209
433
130
173
212
913
924
138
937
842
612
73
136
635
6
217
51
814
311
933
298
786
934
178
636
146
10
889
644
599
908
874
849
970
285
808
875
791
309
447
637
600
418
85
902
930
996
68
695
506
229
443
224
109
77
612
350
496
619
849
904
947
381
557
577
426
150
451
745
174
136
732
381
705
325
165
44
67
997
963
630
252
659
812
931
497
698
413
763
709
119
470
372
349
483
281
975
96
304
680
223
85
978
876
324
241
320
967
58
624
846
164
543
677
719
942
995
258
527
812
940
681
556
235
121
682
167
711
827
303
807
635
584
229
745
444
392
632
287
332
388
895
791
579
211
1
796
557
994
648
45
503
513
288
93
834
675
831
854
990
214
261
468
106
147
361
575
808
392
155
79
417
716
608
171
484
129
724
654
807
349
780
730
56
401
923
849
758
22
130
367
989
422
172
459
479
90
603
61
453
30
619
147
523
767
752
404
318
966
572
994
158
312
141
884
868
71
816
189
435
31
203
299
147
246
148
474
759
2
941
39
83
39
607
954
289
195
124
967
519
984
868
297
99
772
192
332
193
428
10
883
641
967
29
273
772
740
597
360
820
325
792
461
883
328
905
687
795
703
930
865
79
944
984
354
520
733
138
145
366
696
892
586
297
10
28
461
880
131
434
727
253
491
165
585
358
959
606
732
418
169
769
959
803
673
806
887
331
265
969
868
273
333
744
73
236
587
515
391
406
202
611
998
539
817
654
673
728
665
6
111
749
251
374
602
522
68
191
93
371
707
493
996
252
512
174
614
246
653
427
423
677
826
81
363
611
1000
958
427
869
357
292
475
627
508
282
800
862
303
109
324
790
827
549
354
725
35
239
985
934
852
236
925
45
198
270
412
113
538
776
776
440
276
153
28
120
473
471
195
460
101
38
470
141
130
703
979
10
105
446
4
547
219
303
590
904
900
821
36
46
235
465
691
135
91
435
600
20
103
519
248
579
428
396
611
886
180
189
502
820
449
258
784
557
498
907
158
308
731
607
740
310
242
22
367
324
421
500
510
702
756
349
908
550
76
714
836
636
36
378
179
592
119
671
462
6
832
564
454
403
574
229
717
185
207
711
522
802
704
959
805
928
864
642
615
85
227
453
513
944
28
751
233
886
699
678
814
856
623
263
720
904
417
437
619
691
960
309
244
718
853
291
813
980
310
440
49
120
985
638
103
910
658
35
952
390
83
258
850
336
218
340
416
904
850
792
958
88
38
78
328
319
386
788
693
169
843
465
809
634
429
941
448
19
641
426
516
640
929
524
503
671
470
594
792
618
782
216
237
811
54
592
608
985
810
2
180
631
865
656
530
159
891
666
552
914
22
527
974
223
741
300
238
19
471
297
873
69
254
378
20
710
823
763
465
893
867
577
382
813
599
128
458
459
188
619
938
303
364
335
525
264
209
425
247
387
634
33
638
658
129
468
279
313
484
608
529
336
379
533
56
202
895
712
562
292
31
238
336
962
588
226
90
86
824
148
413
557
324
966
87
8
806
464
697
346
602
82
382
829
26
312
954
913
796
936
190
860
797
673
809
219
698
174
450
523
743
153
602
679
504
779
550
563
674
422
183
347
764
151
803
567
281
622
140
788
614
942
44
921
680
481
595
977
325
647
598
30
862
577
87
989
316
875
903
313
723
774
232
743
931
434
599
677
373
247
422
938
346
301
899
218
484
894
410
699
36
966
696
30
998
623
304
291
798
305
311
549
275
553
138
891
866
619
459
362
280
733
169
943
495
654
902
233
510
283
926
492
957
490
653
193
652
260
332
267
432
103
870
333
681
237
136
665
600
132
690
988
324
794
738
510
576
222
966
240
870
635
944
301
78
903
332
648
798
154
237
732
132
111
266
22
51
160
127
486
956
285
58
472
934
498
894
937
463
445
615
432
390
750
543
791
261
254
623
594
242
207
737
301
214
115
226
979
424
452
384
158
273
356
461
971
956
903
469
37
327
116
949
586
647
103
647
18
795
841
964
709
84
231
655
411
865
335
320
172
895
993
251
826
122
113
511
905
325
250
323
442
299
45
760
998
242
336
584
757
552
63
178
7
4
394
957
666
809
691
971
98
184
661
311
913
61
759
494
178
533
1
769
600
925
346
82
18
975
256
18
661
54
462
486
502
382
544
361
311
211
22
640
166
245
973
750
253
509
910
682
339
950
552
192
883
807
548
932
950
435
865
732
829
193
208
959
241
653
889
466
421
711
463
138
742
515
824
531
263
849
536
914
79
521
58
876
705
125
523
640
394
346
825
786
9
171
313
565
441
250
985
487
666
629
922
322
978
412
921
742
647
994
102
459
271
280
335
568
499
377
441
318
462
116
749
290
418
724
402
879
703
516
393
558
637
797
903
957
628
467
479
609
263
167
107
12
946
892
254
214
696
939
909
197
737
612
788
653
566
475
551
576
824
352
632
719
605
518
561
151
1
630
956
423
842
329
256
426
703
60
204
262
303
187
30
116
760
979
558
140
879
556
884
590
563
826
265
399
35
906
496
81
312
293
890
345
106
758
620
901
243
914
770
925
937
172
360
650
419
850
803
279
947
6
355
274
670
872
482
290
298
650
162
524
388
574
275
640
477
620
15
739
140
939
379
435
638
181
852
621
871
574
742
19
243
588
995
859
86
799
360
845
351
462
296
262
886
556
814
521
594
36
40
555
59
917
1
411
153
45
19
67
595
973
684
487
767
164
550
524
258
604
805
866
689
279
628
628
391
12
963
746
46
618
907
497
752
141
226
553
534
742
351
791
12
439
617
875
796
531
800
704
566
245
861
620
836
746
797
222
8
162
77
966
739
802
384
798
851
916
12
818
229
484
126
415
148
485
295
316
186
599
693
6
786
795
932
307
992
667
123
568
778
339
30
901
759
718
264
195
407
596
579
548
523
47
688
781
356
793
969
948
159
910
567
440
610
436
371
34
888
902
106
598
567
553
153
995
849
601
593
906
175
13
850
135
311
998
516
1000
667
681
199
984
371
237
335
438
237
757
739
572
949
273
933
242
468
970
151
633
564
658
710
697
640
679
534
608
276
752
102
453
673
423
170
165
163
478
436
541
414
684
547
826
432
868
281
122
154
332
320
510
652
312
238
289
913
297
327
51
51
480
345
975
853
68
250
669
615
705
572
820
791
793
846
99
213
877
209
83
28
479
687
378
127
532
255
750
667
737
350
109
804
223
118
350
358
781
257
888
127
944
614
489
566
271
877
966
80
70
573
386
164
273
615
413
263
737
950
84
183
185
783
27
756
843
697
204
805
236
795
428
806
789
344
39
822
516
830
831
304
418
188
13
39
141
496
894
406
56
33
555
648
939
812
645
214
878
971
55
670
63
822
637
152
723
209
509
989
149
965
973
598
41
637
544
193
950
426
176
388
644
657
901
107
340
438
992
483
531
159
542
612
56
349
877
850
404
605
522
524
391
978
799
147
333
411
926
37
623
607
106
224
371
527
771
945
271
214
161
677
173
75
920
486
121
495
73
123
628
304
174
976
703
164
180
784
626
136
377
646
226
201
572
744
791
49
536
195
458
511
488
137
194
859
827
591
473
343
929
367
280
543
478
606
387
270
724
298
709
450
625
591
368
690
124
542
325
988
27
907
710
968
405
941
162
327
46
279
7
192
912
411
514
160
742
401
600
999
282
151
466
585
965
981
69
908
657
597
271
592
231
866
197
207
243
403
786
253
288
181
425
220
690
880
62
697
531
583
58
664
399
913
292
218
106
71
638
800
712
633
504
25
452
412
665
663
596
297
237
936
272
678
204
436
386
272
993
815
828
949
39
692
754
872
922
576
390
37
955
98
200
394
225
550
360
817
283
729
670
985
631
483
787
963
381
436
415
935
606
3
786
27
921
805
168
851
132
513
407
513
74
360
238
166
615
460
52
591
413
181
8
371
86
828
494
634
494
319
761
650
883
955
768
19
982
337
770
54
635
923
266
555
216
13
635
733
760
837
112
14
32
530
836
503
231
369
270
451
115
55
234
758
430
26
57
55
986
573
367
789
932
803
555
364
127
153
516
162
491
962
482
123
873
369
327
101
748
462
294
489
719
66
483
407
313
983
470
66
27
561
865
971
826
187
82
646
891
633
334
451
726
492
478
428
722
700
74
944
546
452
614
883
430
300
350
894
290
292
985
448
668
437
371
904
155
172
92
693
753
582
92
128
885
611
21
167
21
363
575
372
840
456
592
944
481
752
672
611
675
149
458
36
333
812
94
540
743
270
60
568
495
74
590
687
188
720
654
360
22
17
595
329
281
339
408
962
999
500
721
789
821
143
198
925
125
967
265
391
599
596
769
981
993
845
246
846
392
225
116
864
23
918
974
35
579
448
20
553
20
758
184
415
543
832
423
677
396
182
124
625
957
402
175
680
74
130
991
488
618
107
621
182
4
241
397
432
230
747
630
611
757
194
841
849
91
9
281
372
467
588
577
894
364
389
301
226
188
831
770
567
149
813
795
379
92
481
43
697
662
389
739
241
660
432
581
132
845
176
593
600
833
404
816
251
128
585
216
251
272
316
529
651
658
446
416
451
477
815
100
566
147
283
671
302
990
445
661
58
475
204
283
856
518
144
421
785
694
880
933
75
804
628
708
487
535
332
121
159
801
349
127
830
424
243
682
439
659
944
253
152
626
520
774
828
582
523
152
462
878
44
809
389
631
903
806
915
139
869
640
878
663
591
232
905
589
819
508
485
271
254
930
867
130
834
693
542
87
910
518
363
551
342
847
19
263
562
212
32
551
600
273
70
721
946
195
699
315
75
699
623
537
397
99
134
63
680
781
310
264
459
548
194
427
668
355
425
720
17
675
659
274
681
969
886
572
290
79
535
593
218
757
795
948
168
573
117
227
243
719
659
83
167
997
43
268
995
790
881
438
494
715
122
753
733
821
329
121
409
395
2
685
342
256
524
147
315
814
144
263
388
757
890
209
57
57
515
618
743
559
536
842
541
164
252
189
538
753
248
745
638
413
867
582
163
358
818
329
983
953
421
574
872
104
225
859
906
605
436
460
155
743
583
14
215
387
340
299
849
586
972
409
272
178
804
463
446
275
72
742
817
860
622
201
486
587
20
142
294
234
1
887
491
913
862
380
966
996
706
205
665
797
747
904
859
585
547
362
779
367
301
578
3
809
918
382
30
490
563
875
916
134
912
647
808
281
425
639
915
307
186
966
240
128
493
532
457
16
404
664
861
42
486
258
42
791
432
150
532
939
95
156
618
884
591
778
528
402
313
847
324
935
175
167
240
571
835
347
583
936
18
485
39
387
374
846
19
163
65
698
815
237
373
232
215
175
995
799
596
906
831
455
270
29
975
824
211
85
318
652
643
226
929
58
200
976
205
558
860
447
711
989
519
625
455
994
567
929
958
186
622
176
508
1
736
740
113
767
386
275
640
773
977
44
7
59
740
997
176
825
288
761
947
9
95
31
784
117
674
695
698
431
348
146
391
363
610
143
449
587
355
377
278
918
438
236
227
143
735
633
975
349
889
735
522
983
947
581
98
624
905
666
25
192
747
999
118
996
140
890
780
678
165
115
664
626
575
714
680
507
77
676
254
383
712
24
174
527
724
684
462
943
648
459
762
581
330
479
351
355
570
896
239
521
992
765
277
996
312
109
139
34
288
625
684
817
896
50
172
832
965
249
588
735
419
619
809
144
190
555
297
460
546
700
359
418
979
359
906
303
207
282
967
149
37
868
101
158
896
270
704
394
774
553
374
498
343
543
52
689
739
336
48
859
488
322
660
935
583
834
931
971
298
386
329
591
619
845
588
277
839
507
587
604
668
454
14
216
239
481
561
559
78
670
764
858
505
237
551
471
443
876
310
339
998
935
872
757
204
578
402
175
770
406
332
206
149
62
779
159
968
167
333
622
480
562
337
70
371
370
686
616
795
93
592
471
602
828
432
573
121
95
975
493
674
523
873
346
7
860
787
931
28
845
487
245
494
839
743
748
279
874
255
488
561
575
509
270
414
665
175
270
642
650
123
366
165
907
639
872
546
833
139
672
507
532
282
718
633
480
97
719
181
185
437
668
963
157
126
854
527
858
258
220
166
646
296
528
972
952
746
382
433
6
21
904
767
719
774
65
18
255
898
463
613
948
558
153
144
925
489
977
734
656
244
315
114
847
608
243
268
948
802
906
863
862
968
265
560
403
80
116
843
417
34
163
886
588
400
964
956
14
437
205
741
2
710
996
389
248
991
976
277
492
971
675
879
737
268
200
746
95
133
118
43
99
985
392
312
12
319
881
120
275
880
39
233
230
532
867
375
683
466
853
220
392
82
882
201
367
270
735
752
348
55
483
658
388
789
942
661
928
809
659
633
786
863
515
734
791
322
338
348
193
142
784
44
404
316
313
998
949
681
408
82
707
668
44
385
297
829
26
726
391
811
617
400
814
535
2
974
925
828
471
553
884
672
461
73
554
41
418
817
800
484
65
564
466
730
679
669
306
155
378
275
853
20
604
303
770
270
236
477
680
933
274
140
481
799
504
833
595
181
343
874
122
309
142
946
567
635
826
133
421
954
473
745
889
558
975
649
582
964
463
822
830
110
317
580
862
601
692
52
496
227
584
90
710
326
2
30
34
389
409
790
847
471
716
920
544
329
37
42
950
2
902
408
936
149
543
347
954
104
713
314
899
972
67
182
803
821
516
431
548
457
164
145
806
388
644
270
457
452
498
239
282
393
343
145
222
519
105
348
358
40
725
879
651
49
13
412
36
324
747
308
925
522
14
761
455
750
982
806
244
572
128
434
597
268
353
192
128
696
53
906
757
305
823
535
262
912
467
713
580
380
596
642
816
760
574
522
933
289
854
720
476
16
916
190
856
988
812
904
270
395
519
538
800
139
282
844
537
912
913
594
349
721
521
84
685
794
247
151
927
374
974
904
88
741
856
112
236
518
537
481
208
313
361
468
793
922
695
628
307
551
499
831
485
592
779
191
512
341
791
591
645
340
475
43
700
876
540
733
333
211
849
188
972
690
181
653
46
127
932
100
704
487
814
240
536
693
344
849
57
45
553
873
738
928
712
785
459
449
984
834
380
64
167
339
280
413
294
975
829
52
765
807
10
620
662
731
780
391
32
273
530
791
32
777
594
269
24
157
665
99
201
424
457
836
597
80
323
393
835
736
32
611
932
817
217
825
994
702
832
818
183
87
460
667
722
875
664
502
768
743
369
823
163
569
735
494
130
881
609
94
684
311
449
983
774
662
464
558
529
448
325
458
293
503
526
653
845
103
767
298
310
358
383
670
658
420
580
84
537
697
629
623
427
851
976
654
359
713
15
31
370
386
431
124
297
559
579
16
307
677
945
959
896
13
49
394
730
616
196
756
942
441
953
808
347
820
818
990
668
342
73
992
261
132
86
519
891
528
323
819
665
296
532
743
654
531
854
808
803
899
161
334
537
152
651
564
756
933
511
661
101
635
850
521
417
350
790
184
690
979
555
633
679
449
607
326
602
290
133
991
733
888
196
923
460
916
39
249
895
561
74
897
863
297
410
611
173
941
191
495
954
675
315
686
274
771
993
959
836
858
745
168
618
125
890
219
333
489
902
117
196
236
891
878
854
709
307
371
801
174
165
849
286
615
423
437
778
112
265
627
384
933
863
166
828
105
924
517
908
512
87
688
946
50
215
183
123
602
576
803
708
324
188
562
137
532
887
347
697
54
920
700
103
324
463
728
781
343
141
318
766
214
69
976
223
324
608
546
141
248
208
395
603
101
55
798
696
295
145
364
378
409
14
634
822
175
179
991
277
845
378
287
922
419
117
757
632
214
949
26
513
95
2
832
499
21
227
349
884
588
140
976
158
81
52
690
1
126
387
784
223
392
407
363
283
127
404
180
610
732
323
296
330
454
277
153
28
502
685
197
526
137
988
407
774
211
776
677
2
692
773
394
325
66
486
23
696
132
116
261
595
215
626
307
463
623
428
48
81
990
169
561
191
608
317
998
587
563
783
434
549
242
541
908
221
33
299
685
704
312
999
362
472
976
276
484
908
381
343
134
781
495
750
982
372
784
378
522
822
207
199
671
817
704
783
785
106
826
637
290
463
357
692
326
567
871
281
707
591
773
770
40
207
606
39
659
306
158
448
181
292
435
631
616
545
627
942
351
697
718
817
485
167
281
429
1
281
687
38
442
462
748
72
612
188
777
834
775
77
151
658
67
642
685
148
334
194
541
455
939
429
737
24
752
212
340
159
676
673
662
583
478
87
546
502
689
195
396
208
598
573
35
197
568
323
536
480
142
483
106
650
924
861
265
286
666
764
928
618
858
139
585
416
138
784
754
472
366
560
900
725
114
46
830
724
784
343
651
719
172
458
334
920
88
141
728
40
143
186
113
766
450
962
487
403
396
774
272
493
64
710
516
156
644
392
954
399
39
268
43
536
596
535
746
5
187
909
557
98
425
568
210
574
310
206
779
477
354
154
627
643
541
795
192
685
979
849
834
861
497
350
316
964
821
542
2
599
474
665
520
523
214
260
896
812
36
103
88
935
762
680
462
584
135
110
902
658
693
257
393
439
660
589
128
376
726
548
881
971
836
982
299
285
172
727
327
410
753
927
272
860
665
207
468
514
658
810
989
428
541
531
708
956
332
906
822
103
560
829
125
698
673
411
337
966
377
329
462
102
911
954
37
825
590
127
726
272
671
94
888
996
204
686
77
130
282
31
273
201
83
362
398
154
55
43
608
499
867
313
28
701
789
640
314
568
311
836
730
535
175
525
412
625
194
369
235
583
53
681
383
41
607
390
582
56
26
184
638
638
717
917
963
819
294
120
584
782
827
547
904
650
708
604
828
216
137
510
900
379
147
774
535
979
694
329
145
503
746
684
703
311
528
860
848
69
903
624
843
337
861
411
821
371
759
348
250
160
878
185
14
1
603
420
820
157
918
972
340
113
63
315
904
177
490
971
831
522
605
936
916
56
192
153
576
110
947
851
892
110
582
318
667
954
281
652
586
383
375
731
735
369
422
466
823
814
956
486
889
783
598
606
613
104
540
525
140
705
992
523
949
850
51
893
459
4
964
108
532
896
132
637
905
706
725
590
320
103
853
486
944
633
568
359
544
605
503
592
708
998
699
176
896
932
73
526
75
119
756
776
7
1
746
980
361
239
488
378
751
905
592
88
236
148
530
761
806
840
520
843
710
54
31
170
911
144
5
710
787
931
951
578
331
229
798
980
206
547
646
398
473
706
201
727
642
356
499
566
29
551
225
881
789
246
64
658
366
785
335
936
469
911
386
823
940
15
916
902
450
965
490
215
581
121
822
375
485
966
411
929
632
775
911
422
18
283
977
527
339
787
776
87
324
379
706
592
219
700
324
440
156
394
42
29
146
797
740
954
555
931
588
822
199
551
924
687
682
557
882
182
316
64
366
354
248
246
212
280
901
332
837
185
444
384
534
18
844
864
160
342
475
977
53
670
642
379
473
563
604
525
650
297
112
67
256
844
583
952
586
734
204
750
21
438
71
221
657
150
468
244
241
20
53
384
83
698
86
766
107
982
734
457
279
648
652
817
401
16
899
798
658
905
164
408
609
134
80
17
536
654
534
446
595
387
547
962
833
572
70
34
19
516
862
460
525
801
435
723
324
170
388
580
179
502
64
62
549
142
793
142
931
154
46
890
7
793
695
919
112
85
38
199
628
185
492
752
448
495
401
34
878
962
349
613
459
847
497
223
726
675
166
338
47
695
862
693
195
481
856
664
899
604
894
991
280
633
445
703
520
383
578
930
919
738
993
752
332
816
763
543
130
868
716
48
838
804
555
383
853
28
107
653
957
673
525
721
786
846
743
563
402
330
902
32
708
816
881
491
92
868
58
826
467
932
453
637
219
280
225
404
604
373
757
88
734
449
105
945
976
456
817
657
115
741
860
779
44
191
208
193
43
877
617
856
520
404
411
674
893
308
249
716
621
20
412
69
312
201
446
756
686
357
815
400
634
976
296
415
737
666
302
969
393
558
861
185
223
348
559
90
902
192
597
448
96
572
453
555
569
142
629
164
877
753
433
788
591
258
866
538
911
567
644
299
802
745
116
230
239
789
675
318
574
455
446
592
502
856
548
543
149
365
651
504
518
684
894
908
568
688
395
440
136
409
29
34
109
927
624
957
275
756
535
34
783
853
383
684
954
784
422
595
594
378
310
805
527
129
851
57
715
727
501
254
672
141
110
10
12
510
183
557
177
191
331
369
496
284
737
144
33
540
684
573
955
369
412
121
100
480
815
491
334
197
356
686
837
43
624
169
322
255
626
339
971
462
639
257
479
998
783
600
717
472
273
658
173
334
95
284
767
391
416
490
681
891
332
350
334
73
495
628
350
676
685
473
460
931
10
705
367
302
106
789
470
822
793
719
763
138
897
878
328
534
136
862
627
307
59
334
856
979
743
826
345
211
210
242
591
696
769
720
655
909
328
62
728
381
342
825
29
717
11
715
602
888
679
514
171
682
926
684
935
76
533
96
907
644
293
609
716
663
993
856
617
107
809
766
853
718
887
389
694
373
182
78
17
639
208
720
2
673
138
20
605
487
695
266
266
763
145
910
379
777
313
18
396
701
901
74
470
247
524
664
43
580
146
824
88
101
962
383
597
277
626
381
578
909
125
102
431
479
850
870
409
330
457
277
51
841
458
877
648
695
261
789
233
375
872
516
327
331
558
406
641
447
480
773
237
524
26
293
961
792
540
669
562
348
105
332
612
223
890
246
112
509
212
512
533
636
119
526
989
562
241
517
360
335
395
290
8
887
503
469
259
315
878
225
327
439
423
786
916
72
515
579
580
865
554
26
255
786
239
218
290
220
126
736
249
600
168
202
84
665
859
25
997
460
412
698
79
628
207
548
160
796
954
997
896
820
954
476
711
596
768
509
524
394
154
898
787
11
867
74
401
1
656
693
272
882
499
557
445
609
355
389
497
885
628
910
131
20
940
930
319
207
356
801
2
102
121
1000
123
951
187
630
307
684
802
906
485
706
988
836
715
565
842
778
663
403
670
663
682
834
81
854
109
217
668
539
63
140
160
670
793
94
438
712
287
330
47
683
651
70
1000
316
66
101
885
195
686
632
528
26
143
415
482
472
737
308
315
435
39
960
326
948
618
49
728
642
790
214
358
140
727
501
58
362
49
859
789
606
910
60
259
985
423
663
521
425
640
252
53
866
415
676
879
850
607
363
681
47
96
786
515
798
891
186
224
486
28
19
918
953
973
39
385
552
835
290
491
8
313
332
779
173
841
354
84
667
126
398
860
22
410
536
162
966
197
339
774
650
873
591
358
790
531
251
53
709
831
555
553
999
922
400
788
635
710
160
291
947
754
897
596
439
935
187
58
471
729
690
84
284
804
389
352
24
533
736
26
252
223
598
592
968
316
922
68
948
355
619
639
717
232
772
308
535
423
568
362
964
308
463
139
10
113
925
895
547
620
701
967
43
314
970
670
108
77
899
25
255
390
408
1
170
984
817
722
364
746
766
928
172
147
959
251
243
752
641
190
50
789
749
582
447
50
788
26
436
553
333
225
828
845
430
482
908
966
460
811
667
63
604
374
298
28
620
494
961
10
396
255
469
619
19
354
249
385
598
781
951
220
717
141
764
729
99
732
744
164
456
561
594
766
650
907
550
858
448
167
160
187
139
273
332
630
880
432
108
921
367
297
14
800
796
137
70
244
505
706
579
890
779
312
316
138
858
756
587
95
709
187
891
790
219
329
580
136
433
908
852
500
218
175
605
866
497
187
487
853
863
976
3
793
15
570
73
301
503
298
904
839
112
452
564
354
334
976
127
620
719
933
838
286
678
843
856
699
566
682
689
562
920
670
803
694
22
531
772
329
207
678
184
735
171
239
73
930
652
131
578
101
582
197
402
991
981
604
898
292
291
380
367
372
575
637
705
151
590
684
663
704
246
880
113
735
555
566
912
409
54
788
939
952
7
617
451
94
901
130
629
614
95
289
53
273
778
352
426
758
891
700
881
220
659
786
389
251
640
568
866
421
251
774
246
191
725
111
896
893
74
620
267
594
867
542
817
172
661
532
283
935
909
126
1000
169
44
828
291
742
810
33
767
525
231
885
902
379
485
940
612
216
412
168
18
916
315
564
277
23
52
96
741
727
21
426
509
453
657
608
745
513
376
327
664
173
843
990
276
422
393
131
257
272
246
183
544
470
246
981
254
610
633
133
811
475
612
415
428
99
1000
791
895
283
685
981
136
602
926
712
636
62
119
933
652
4
244
468
91
787
259
38
155
51
304
561
512
766
766
311
178
75
922
463
105
200
241
703
890
629
957
772
463
165
966
481
275
136
16
156
95
998
243
56
188
802
56
506
881
208
816
184
202
562
487
778
329
182
692
426
845
946
280
445
245
344
413
853
591
155
745
692
159
630
683
644
816
283
854
95
159
748
694
494
691
59
38
397
923
168
296
137
470
97
578
761
86
186
772
735
992
131
924
118
325
461
421
278
497
353
441
8
803
628
401
309
11
362
792
271
715
568
119
340
205
485
672
542
185
963
41
693
915
695
62
33
979
597
36
340
921
636
796
147
955
336
519
672
51
802
706
343
717
164
883
975
280
937
78
939
794
558
82
723
838
106
928
824
712
856
12
683
838
517
729
152
733
91
788
928
490
860
569
277
711
191
128
13
980
131
20
81
803
6
281
586
564
51
891
333
48
193
594
482
464
444
35
897
181
676
572
304
762
970
150
885
632
965
339
515
536
433
794
3
885
848
350
140
58
924
694
540
922
317
631
768
600
672
751
115
499
527
947
526
515
536
17
677
590
766
199
364
582
243
288
969
117
687
210
880
947
386
827
568
316
888
286
383
856
241
185
779
236
5
186
186
571
948
914
724
706
797
373
939
85
38
455
980
74
407
190
188
455
2
6
808
472
614
374
820
780
281
972
44
605
1
157
566
947
447
325
236
731
692
442
152
23
564
681
297
562
592
988
85
792
171
727
874
562
568
120
725
435
958
828
893
185
946
822
553
346
967
710
25
604
842
107
285
13
8
212
149
322
761
500
793
320
833
931
452
851
534
829
183
534
664
509
807
488
117
308
544
592
610
677
540
893
164
760
711
108
50
491
840
710
89
880
699
804
779
718
457
962
650
526
735
780
747
363
24
682
986
455
805
420
448
778
87
789
584
401
416
187
150
365
726
697
632
121
687
609
793
267
561
199
331
991
309
43
328
993
61
172
715
617
878
220
338
347
28
152
94
329
927
716
19
177
749
533
424
633
910
471
923
494
604
340
635
230
768
145
631
810
278
130
521
960
388
168
410
868
46
732
446
105
97
928
380
646
249
211
725
964
198
880
524
233
7
635
533
281
938
121
387
11
615
895
777
460
150
748
570
76
938
930
31
319
723
62
19
401
127
337
777
213
183
448
318
530
267
314
33
322
314
883
246
832
243
913
252
443
563
186
935
560
721
379
184
836
683
716
404
189
894
800
105
557
689
333
986
717
304
100
403
910
215
171
80
42
576
724
651
641
196
742
245
323
527
31
214
24
989
910
885
599
176
947
659
271
200
48
757
710
304
698
121
310
26
518
301
200
227
573
552
207
36
708
705
985
738
432
998
192
218
446
682
324
46
899
891
821
462
192
427
813
594
89
481
801
333
348
389
39
452
207
860
116
356
54
143
147
749
22
323
266
299
55
42
843
330
814
526
26
474
781
359
818
890
236
694
617
11
972
761
34
804
167
861
446
907
624
214
810
793
902
139
956
488
165
116
381
610
727
296
873
75
419
272
324
209
410
466
179
233
45
183
754
621
461
323
546
880
455
573
395
483
745
303
676
928
547
883
751
922
482
407
210
701
458
117
984
849
852
515
940
583
941
992
504
426
350
398
498
401
155
142
450
602
289
105
770
53
189
905
206
244
124
180
438
693
149
144
296
770
547
65
812
631
444
928
591
341
141
693
108
166
848
93
930
414
21
567
105
231
949
159
873
506
170
389
171
197
207
706
760
37
968
793
40
111
240
257
880
760
172
735
953
714
54
268
47
948
132
145
386
702
690
167
629
954
951
841
776
155
676
527
874
684
11
941
245
136
584
868
79
262
196
209
644
376
364
116
993
743
870
653
344
649
6
251
2
312
547
400
390
735
593
775
166
434
376
658
568
994
891
299
265
742
572
179
41
565
345
424
415
39
61
163
847
856
797
786
474
805
934
852
509
935
542
922
742
78
671
154
147
740
245
85
81
354
635
516
906
168
956
605
461
403
749
564
440
685
71
869
897
388
634
629
839
448
395
709
62
296
479
224
901
843
764
388
178
187
863
642
503
604
185
743
891
162
300
344
198
132
592
56
924
550
428
8
982
204
287
780
823
421
123
472
329
783
500
894
443
837
273
206
778
365
573
221
113
63
630
337
232
178
93
937
331
834
802
484
259
57
40
142
103
670
757
981
723
229
413
511
57
513
522
783
475
151
228
161
72
790
115
408
521
166
422
691
222
897
854
374
350
508
644
402
931
835
553
351
973
402
968
253
416
877
371
469
736
425
316
306
595
340
394
129
564
15
362
695
432
428
382
395
752
65
664
597
305
521
617
361
958
525
196
332
808
930
131
334
876
574
62
103
748
52
628
50
693
659
27
234
849
423
643
878
26
210
770
101
656
385
751
74
531
977
58
749
973
201
97
252
527
253
794
656
31
80
237
306
768
196
760
726
945
632
669
324
320
387
432
991
999
720
859
192
65
477
617
564
412
789
633
995
843
978
107
88
711
47
333
973
931
995
692
397
752
394
750
147
882
208
827
786
533
613
430
321
365
591
386
53
831
948
90
373
689
233
561
460
592
526
966
290
580
612
923
371
81
61
977
872
198
47
782
579
497
774
224
168
672
624
60
538
138
456
804
180
908
332
685
563
702
203
119
562
709
612
676
192
40
78
364
70
2
577
648
847
898
789
59
795
244
611
522
799
173
920
379
44
959
938
229
597
102
977
977
229
127
660
295
137
407
515
457
809
119
382
501
551
210
600
899
272
683
556
916
137
543
899
240
556
630
814
883
235
155
350
15
275
197
63
895
532
8
297
44
353
546
661
164
370
12
276
458
37
997
373
276
803
65
590
204
964
206
281
691
696
861
619
251
12
728
115
5
205
312
647
609
111
775
766
754
239
816
842
1
619
901
754
360
867
204
1
730
338
183
944
86
380
541
298
569
1000
10
367
301
497
827
734
447
339
841
278
779
334
118
571
178
788
823
33
458
255
821
775
828
657
638
130
668
843
808
937
964
721
155
895
936
889
656
1000
694
124
854
283
435
85
759
449
686
430
519
267
624
592
155
63
822
264
253
92
186
648
756
465
725
734
603
605
122
50
228
891
881
171
269
936
735
769
119
411
661
701
907
6
197
802
11
386
415
905
610
69
980
427
787
283
263
221
746
204
651
882
159
245
705
703
250
822
169
564
811
254
896
163
727
739
354
712
445
52
408
356
958
756
963
503
603
534
296
568
403
933
2
230
820
691
687
137
527
583
105
405
228
108
299
895
801
980
932
771
622
121
67
539
870
310
955
645
339
396
253
279
98
685
853
495
975
563
901
979
310
412
13
437
227
831
304
491
228
297
973
718
165
227
708
849
512
116
925
360
177
183
510
548
709
971
682
105
68
843
60
273
334
366
498
924
447
992
592
533
406
646
624
719
569
517
461
185
249
180
69
655
160
49
385
647
149
918
454
947
69
83
79
572
901
918
744
51
660
102
716
119
29
430
799
701
24
693
15
266
373
521
141
510
210
584
238
893
203
949
461
43
294
53
772
278
369
678
805
295
310
346
324
59
688
498
461
362
820
797
923
807
59
347
540
64
284
257
301
953
300
913
212
531
280
899
899
319
546
462
785
38
131
91
348
139
983
459
446
435
236
854
577
534
406
193
531
538
680
694
66
912
308
735
286
479
861
229
272
180
350
900
378
116
91
705
715
692
688
69
433
412
434
939
267
490
325
668
236
217
168
39
149
256
217
282
3
396
166
206
29
263
457
228
902
266
931
488
605
296
682
102
76
764
44
703
61
923
198
50
572
739
282
603
690
191
251
488
722
333
212
696
369
408
260
603
130
157
561
287
664
901
901
644
817
686
695
223
515
283
210
987
230
524
13
606
796
295
537
647
604
982
603
312
727
713
646
370
472
657
64
129
638
272
907
984
508
192
421
858
289
726
7
419
704
984
80
983
312
547
32
407
583
633
833
730
859
762
123
625
550
71
99
104
672
216
375
750
559
617
889
214
208
83
680
908
431
753
672
248
348
594
455
869
101
854
455
368
977
97
791
289
88
307
332
237
38
988
723
756
281
717
746
428
36
330
864
365
306
635
405
886
296
702
785
519
654
37
58
699
446
979
593
661
333
947
297
267
452
434
969
961
878
514
986
860
996
95
871
493
409
736
637
691
169
321
812
969
415
707
4
397
91
944
661
79
861
282
909
619
172
503
267
615
486
954
612
562
633
553
524
753
290
545
253
622
751
350
449
87
451
28
186
431
910
593
99
941
443
332
775
549
398
62
845
922
703
705
167
179
106
383
122
99
696
118
291
106
141
580
914
991
588
719
195
545
313
348
754
890
855
882
1
797
652
767
544
540
169
997
971
468
579
664
182
80
664
247
309
437
328
536
500
825
746
737
666
61
614
228
685
567
234
591
963
652
79
974
979
187
848
360
440
26
887
150
324
184
192
298
783
898
54
214
569
997
784
217
754
566
909
250
111
575
654
593
533
54
541
987
15
299
520
638
982
180
641
225
299
310
84
161
613
85
453
886
240
53
557
844
702
229
328
229
201
233
615
372
259
900
322
149
462
818
83
70
188
505
595
901
505
250
834
598
374
728
512
756
142
647
514
195
268
630
922
227
49
437
841
34
468
790
35
919
572
49
592
89
11
448
828
730
11
366
429
469
60
172
143
216
424
623
940
229
208
187
611
990
66
414
859
482
890
908
662
436
464
399
465
92
206
285
388
148
509
855
291
89
142
288
277
559
29
319
830
830
238
60
309
349
916
387
204
631
287
289
278
456
977
286
348
478
566
709
459
38
659
732
292
797
163
977
315
506
656
63
349
451
483
80
965
741
52
749
954
555
36
397
840
692
55
468
739
114
698
367
189
924
485
416
943
642
401
443
641
106
788
104
580
822
412
481
858
960
539
889
984
906
909
350
549
674
924
319
62
515
563
352
916
435
898
547
37
135
44
419
329
369
135
635
692
969
752
466
56
750
934
926
274
651
585
147
779
151
809
978
764
923
211
139
961
763
393
464
866
268
589
252
967
325
732
449
325
955
150
809
964
167
189
937
156
473
651
159
23
477
962
581
285
806
987
757
678
519
873
161
368
209
442
97
699
704
255
64
633
2
950
636
655
11
918
798
439
926
453
864
71
154
389
405
275
780
242
913
797
763
850
39
809
206
840
611
566
629
424
445
472
347
303
871
268
944
62
698
68
621
83
795
662
848
278
231
704
714
675
394
274
883
35
815
993
656
528
180
619
296
379
662
10
466
181
67
679
546
727
90
252
50
161
725
153
574
188
564
434
4
610
5
837
730
330
530
720
322
743
146
568
989
872
529
142
557
126
113
442
23
201
719
979
320
243
60
126
919
424
598
130
64
95
106
822
810
275
617
268
67
583
159
411
565
301
904
552
573
259
864
18
147
704
305
174
378
578
345
164
667
845
796
305
240
30
527
514
168
492
698
219
942
577
795
287
383
546
302
550
7
875
188
816
68
943
320
172
386
562
197
921
439
194
939
910
302
865
729
20
223
981
227
786
378
187
213
446
841
942
635
894
676
411
548
67
666
161
419
872
264
330
712
964
919
563
129
405
301
160
345
894
393
541
351
236
359
784
694
435
432
875
512
724
161
477
570
404
507
788
383
210
908
620
284
927
812
87
593
622
368
553
435
976
856
320
579
729
90
674
408
958
377
584
316
484
396
439
770
25
639
48
243
461
252
509
669
477
310
425
927
492
39
689
889
372
410
56
230
311
806
40
344
184
779
609
64
52
676
642
499
294
591
310
714
770
951
161
714
630
169
43
523
370
435
284
69
367
964
858
446
607
535
927
570
720
749
8
435
916
716
840
89
243
944
927
136
604
547
946
493
950
880
931
991
463
444
759
98
728
115
205
689
128
816
76
317
536
701
248
32
956
871
448
545
181
797
9
855
890
185
538
549
180
570
237
217
38
736
708
290
987
300
888
879
665
233
590
1
358
731
887
773
228
435
866
109
377
449
702
282
710
862
634
179
445
176
554
136
469
871
467
266
439
434
61
65
972
641
776
204
161
519
630
279
265
564
526
986
581
961
791
956
578
364
577
635
595
854
166
536
312
309
374
731
496
123
106
791
79
277
726
544
848
184
70
767
44
428
705
755
568
512
970
951
565
435
293
66
72
611
888
230
846
930
561
415
595
751
69
182
325
196
506
81
750
637
795
656
219
705
381
754
841
134
824
344
932
218
647
604
154
274
936
159
994
912
914
627
86
130
720
682
605
780
671
306
949
478
684
609
700
607
921
820
640
464
993
594
971
458
894
220
729
773
464
480
336
466
14
219
253
258
423
623
742
342
482
86
896
450
191
514
984
285
44
459
925
886
775
649
264
956
730
533
808
952
17
839
694
161
574
134
967
476
937
727
864
993
302
422
984
156
926
461
249
93
994
823
673
753
928
198
868
935
632
373
211
319
403
461
204
988
896
667
147
179
393
139
665
729
575
169
295
282
433
264
476
216
283
783
515
442
802
664
514
165
483
541
517
750
930
953
953
162
220
361
233
837
668
581
403
147
883
994
472
43
168
100
205
210
813
503
567
522
112
854
985
249
927
555
376
501
186
60
136
498
466
761
125
321
507
499
957
797
396
446
516
80
967
310
331
320
98
797
12
473
225
506
411
749
253
279
130
834
621
329
666
487
870
300
255
627
651
498
604
373
761
73
347
233
386
893
108
569
808
482
639
966
544
490
882
521
652
699
375
208
495
264
651
176
834
393
690
933
44
93
67
654
445
66
579
268
432
148
176
97
371
201
784
365
903
615
288
416
747
887
997
782
962
266
539
976
512
838
233
369
409
882
148
164
761
132
274
747
957
253
22
865
850
585
950
919
529
409
28
984
358
211
328
350
45
79
95
872
781
340
361
716
661
572
841
35
568
122
902
139
661
683
512
909
764
292
931
827
732
363
866
683
535
11
823
443
594
628
667
847
106
422
528
555
513
869
517
753
664
610
830
626
366
747
10
289
369
303
54
774
563
500
442
635
145
265
980
803
758
611
70
766
749
726
321
845
18
558
503
887
839
582
545
362
712
756
60
25
685
9
595
359
498
971
470
146
730
609
126
717
503
644
609
50
528
64
459
310
817
11
52
692
861
672
194
17
723
869
742
164
757
343
495
892
446
93
551
358
179
683
56
287
589
727
157
872
930
738
165
507
814
512
387
861
176
308
664
400
772
197
36
286
471
24
307
905
48
793
273
270
131
386
410
728
88
851
106
215
632
669
214
243
219
406
404
464
899
514
139
949
974
687
350
251
278
555
48
543
10
409
394
48
704
630
643
345
759
478
565
214
994
988
454
626
871
406
327
23
682
982
667
133
593
824
212
194
950
901
776
929
289
29
570
511
233
804
282
284
118
411
830
792
437
745
675
379
405
383
95
909
814
825
650
397
409
584
496
245
274
910
486
19
620
370
72
643
497
977
658
564
889
230
910
332
406
548
685
603
440
767
275
632
165
393
430
122
722
470
759
819
314
945
544
333
843
414
998
11
188
38
794
217
8
843
609
172
396
745
195
932
522
672
431
131
426
419
164
327
315
653
938
726
184
795
487
690
388
399
399
575
576
82
82
302
969
645
85
524
169
638
114
74
396
12
277
896
925
111
181
885
1
889
821
480
67
649
827
652
652
606
19
441
954
367
163
459
269
410
605
528
747
734
253
764
230
993
675
63
619
446
354
935
177
537
337
413
631
83
599
6
99
423
397
324
588
901
350
445
444
962
273
450
28
142
418
524
385
513
246
604
31
714
826
264
354
113
425
597
315
141
202
836
868
246
714
461
15
515
605
801
647
720
310
31
365
313
578
306
817
633
131
249
959
184
820
134
574
557
575
919
636
499
395
283
885
30
45
736
388
768
525
496
393
233
932
437
788
320
958
552
248
601
955
804
741
41
653
656
36
736
737
587
325
127
43
167
53
939
119
103
136
132
158
781
346
840
106
868
942
315
500
784
525
588
6
336
170
884
144
901
548
608
360
828
261
630
774
27
778
285
23
838
286
710
935
893
691
982
629
325
938
348
328
897
223
306
710
500
971
525
12
97
201
926
587
707
768
212
177
451
550
10
682
116
263
521
980
229
154
859
381
601
316
66
401
712
877
397
264
231
387
809
48
234
825
33
642
122
778
637
896
396
217
824
562
174
80
953
656
163
313
56
214
426
338
635
247
823
549
620
204
870
220
714
753
267
734
876
128
310
837
142
465
581
950
13
689
361
542
895
968
490
17
471
921
1000
36
138
856
629
158
202
365
340
811
499
714
20
135
793
473
193
434
397
747
116
773
843
328
617
852
177
251
208
957
886
59
594
248
514
677
797
140
30
666
827
508
270
226
70
774
575
290
402
707
714
674
735
322
827
788
342
579
725
536
977
680
164
817
643
886
600
157
288
364
801
8
188
637
636
374
31
423
536
491
784
75
336
190
273
621
41
752
297
923
122
564
118
461
3
648
108
417
929
187
241
245
851
915
5
561
977
27
213
227
106
141
661
944
120
640
450
749
896
24
224
556
913
726
311
405
915
649
995
85
975
751
842
54
707
616
391
419
717
576
19
668
280
671
246
618
359
807
754
636
231
358
648
460
695
166
816
411
350
475
895
413
254
651
591
490
500
483
947
173
941
805
736
888
566
80
201
689
432
13
59
657
198
979
711
329
780
936
312
448
797
526
388
972
266
509
262
790
221
234
61
796
53
991
11
601
990
437
225
311
382
799
659
533
669
57
574
24
601
235
387
542
356
248
640
503
913
453
682
888
362
691
647
952
508
120
611
568
255
59
515
649
290
95
67
870
223
199
842
625
814
338
313
19
380
58
595
163
110
587
596
973
373
137
54
254
491
425
294
248
813
915
609
72
136
589
597
997
637
715
634
168
498
285
341
328
701
984
246
702
637
464
577
25
739
672
941
94
949
9
845
641
95
628
673
86
55
842
562
482
151
48
783
730
430
256
344
351
636
907
680
290
610
639
406
449
3
843
936
576
458
363
756
340
521
961
342
483
916
608
391
543
843
148
187
730
652
278
475
267
638
250
724
98
425
506
597
68
957
882
117
464
697
306
85
201
76
258
173
243
106
913
595
404
985
573
7
233
591
770
217
762
845
190
459
128
317
51
963
968
612
470
215
471
887
743
560
229
608
655
508
247
608
369
784
16
601
484
961
325
933
979
156
518
55
151
846
969
935
752
897
30
904
224
839
618
127
621
859
512
189
122
706
954
43
389
909
297
545
661
793
226
185
372
535
726
994
222
128
73
425
636
207
174
713
420
20
527
577
951
230
545
783
250
22
760
671
889
571
1
586
391
989
704
974
55
729
367
296
285
638
569
652
349
348
804
80
189
209
458
154
211
543
948
164
248
450
834
987
481
954
777
408
153
934
62
304
169
998
506
561
752
402
449
398
70
998
82
118
992
31
974
94
743
794
720
391
97
686
408
207
111
838
887
75
101
414
606
353
809
445
704
331
320
922
140
729
399
249
999
422
83
876
340
590
922
267
750
460
195
432
677
467
932
157
568
620
342
266
116
786
464
465
949
197
851
61
448
225
141
703
515
619
14
618
130
211
284
881
358
272
124
123
467
148
535
827
960
607
775
149
25
520
242
313
996
408
265
823
338
974
253
888
872
56
70
184
356
255
274
173
344
876
514
340
411
985
791
602
607
530
988
785
980
751
165
293
5
254
507
484
19
29
858
52
428
870
669
165
43
581
178
89
523
166
430
546
371
17
558
529
173
653
719
438
303
476
561
585
341
800
279
113
262
148
51
141
617
470
366
868
981
966
636
123
302
389
608
233
588
434
589
291
147
788
909
550
946
939
317
804
844
612
86
245
672
719
659
209
626
171
140
480
709
41
846
217
313
278
603
695
832
694
687
555
686
501
119
528
747
266
633
752
181
390
603
367
933
74
418
927
850
816
153
593
676
430
256
450
199
328
178
111
417
121
692
683
626
440
891
226
754
231
278
776
953
335
915
2
953
38
571
847
43
255
80
818
145
357
408
212
352
817
50
95
365
523
872
389
182
574
511
977
69
650
264
587
79
766
387
419
188
606
365
399
375
802
60
778
823
807
766
657
517
501
819
314
891
393
379
651
243
417
374
961
140
62
641
135
730
381
314
163
154
822
593
337
93
270
542
384
259
651
731
380
478
680
998
238
384
859
868
712
965
991
294
538
771
276
204
290
31
379
140
174
340
621
90
603
56
443
824
23
946
793
621
741
846
124
795
547
969
242
13
350
115
605
428
493
587
533
551
664
913
329
308
58
716
298
574
794
838
216
257
334
90
744
591
585
469
210
288
290
299
557
578
143
525
223
590
548
860
920
507
792
947
299
318
237
118
981
617
200
147
740
78
568
960
795
76
244
978
720
763
894
542
190
945
184
651
789
583
680
628
218
238
768
59
501
223
2
827
325
937
385
527
956
789
761
66
172
389
13
604
545
293
444
755
634
712
338
179
51
136
530
891
300
769
736
161
358
801
449
575
456
321
111
960
354
725
245
324
492
804
443
570
596
457
205
306
179
953
62
860
432
268
968
76
90
907
629
106
332
813
698
416
415
731
549
279
341
732
242
935
107
413
904
706
968
836
205
161
60
332
900
78
739
624
341
958
841
824
949
412
26
781
846
758
484
802
673
450
893
446
449
306
8
160
165
780
928
992
388
946
872
943
483
194
208
526
460
167
249
560
864
516
246
922
108
3
352
621
300
605
239
483
517
778
110
317
906
739
140
140
142
633
251
248
716
285
784
386
793
649
211
609
177
568
845
48
672
437
992
517
993
489
970
139
398
194
341
61
908
339
716
625
673
272
710
524
472
118
763
849
48
431
930
548
740
195
401
390
909
705
555
459
703
781
606
157
28
227
946
933
858
552
450
811
848
299
410
979
724
544
520
280
269
565
841
844
522
960
111
630
719
745
571
602
358
94
249
464
677
824
413
201
392
270
548
35
342
397
250
424
377
769
421
423
936
553
178
123
210
661
323
279
168
446
169
833
103
278
861
352
220
783
34
461
343
474
761
931
266
88
358
384
834
197
244
442
265
166
797
941
154
424
71
731
726
70
93
171
468
34
934
344
933
10
142
823
620
820
806
971
977
394
468
336
350
585
483
58
679
919
305
839
190
1
81
268
866
942
841
328
62
502
767
546
617
157
380
199
287
225
181
968
149
723
853
983
799
823
679
878
768
368
296
871
802
840
438
928
77
744
750
36
897
628
774
339
624
61
343
299
948
870
71
830
272
704
469
227
678
927
765
595
130
914
862
290
707
235
795
304
51
48
312
73
907
609
47
129
125
750
98
326
627
688
741
576
627
603
689
402
902
573
678
393
187
714
499
497
839
847
608
24
303
935
155
868
901
813
262
746
872
266
347
93
848
64
705
539
966
518
399
867
876
796
613
249
295
447
646
239
668
719
690
616
430
103
605
584
775
476
464
435
816
659
838
314
769
206
245
699
497
578
265
448
732
69
532
631
873
58
813
559
639
398
992
994
436
223
91
751
751
243
392
238
878
653
888
599
749
159
889
798
835
198
605
959
417
720
584
841
656
678
289
170
921
34
924
357
349
98
245
927
111
934
378
322
184
13
81
852
252
696
42
144
584
985
313
967
799
868
868
164
313
371
630
493
948
63
484
979
191
833
823
5
176
505
457
161
982
516
27
466
764
927
442
365
784
502
637
436
504
189
607
599
712
45
468
56
933
672
667
211
516
934
422
304
445
384
155
70
690
19
280
836
123
347
543
918
331
848
649
491
427
573
832
991
150
349
718
52
785
817
672
600
851
704
845
5
293
291
818
736
36
41
926
670
863
244
756
165
341
513
783
283
204
899
892
332
415
722
641
605
76
229
664
636
827
450
141
673
922
803
502
230
74
139
348
120
506
369
505
632
623
688
356
658
841
449
906
569
322
840
376
630
242
333
160
859
655
10
755
478
710
348
428
925
545
773
343
739
644
557
304
768
914
318
685
205
601
49
795
22
284
896
749
518
503
2
545
96
922
128
820
898
619
962
846
738
380
580
382
680
567
549
791
791
921
288
423
210
101
752
740
82
963
723
479
291
7
391
851
16
226
122
172
952
561
734
187
129
683
788
127
711
588
849
587
249
944
500
958
444
256
470
651
933
345
875
638
390
494
240
798
482
344
812
11
255
704
77
229
95
530
751
583
426
719
666
67
216
697
276
331
451
437
690
428
82
974
735
450
763
790
455
530
494
131
955
310
650
800
920
316
863
209
970
191
312
715
184
551
390
168
447
60
108
313
175
57
115
277
40
143
845
3
925
374
692
786
891
200
977
337
412
495
326
234
529
274
813
956
222
777
733
679
650
879
925
450
554
168
720
762
999
801
59
530
879
701
679
87
601
727
87
153
671
265
549
235
219
145
805
855
407
819
938
3
133
645
30
865
476
961
327
680
401
291
67
593
136
537
283
74
506
477
605
325
698
371
206
487
893
915
874
521
416
541
797
811
1000
926
689
665
992
167
308
572
970
839
759
870
538
762
715
125
246
169
103
583
828
732
830
493
121
889
648
371
445
895
274
631
952
464
313
588
206
953
322
676
206
96
116
25
903
22
931
97
142
406
439
737
677
778
335
833
46
46
908
653
937
33
821
656
835
27
945
824
296
601
389
799
551
654
388
28
344
884
255
429
348
852
862
733
534
455
632
293
51
533
349
411
888
628
403
327
461
794
598
74
559
878
143
44
515
805
626
289
461
115
582
449
45
426
388
31
445
616
92
259
112
688
634
788
576
69
529
895
841
763
279
640
948
863
165
201
202
636
206
864
909
309
901
895
707
770
687
920
381
415
341
224
860
40
85
547
687
704
234
706
169
423
373
706
160
606
852
911
845
571
337
368
271
942
404
504
336
247
117
982
564
476
924
100
68
704
486
184
428
587
863
507
938
858
375
370
257
808
317
793
761
529
507
49
348
307
682
487
875
873
510
932
549
471
232
138
501
431
643
607
126
912
297
30
373
51
682
518
802
641
21
726
747
712
702
573
335
1000
590
566
827
175
366
299
620
314
256
442
843
436
296
609
946
645
27
481
312
252
302
119
866
249
959
806
444
501
116
22
846
885
607
128
468
877
346
806
140
115
505
736
431
345
463
186
609
866
635
692
205
903
656
427
384
31
91
281
479
535
644
207
15
558
7
410
550
484
827
91
793
371
44
776
880
304
894
272
875
461
190
639
325
756
513
279
329
4
372
832
14
876
833
121
500
879
359
765
252
456
871
754
80
428
180
620
116
694
519
442
184
990
758
239
649
920
365
710
363
345
114
259
779
306
960
77
319
863
462
453
64
674
480
745
550
740
311
453
103
438
608
377
19
559
610
594
651
618
306
585
521
317
464
944
36
721
484
110
815
576
666
828
432
190
622
73
325
14
484
479
750
385
395
908
360
479
738
187
778
718
934
795
200
402
156
810
485
12
474
541
811
781
205
636
880
19
891
999
515
49
371
45
856
162
114
771
516
498
408
999
250
400
680
549
977
855
951
717
45
243
431
507
870
648
647
255
242
980
820
348
471
879
2
49
252
258
957
163
905
849
685
660
924
985
457
957
706
775
937
980
911
50
282
794
100
334
106
531
720
920
361
537
896
69
325
418
33
559
888
249
119
562
279
675
930
449
569
583
790
150
739
678
219
415
933
693
739
501
915
917
34
751
399
742
889
321
84
907
198
199
842
745
442
539
615
256
346
256
254
707
287
319
302
785
557
105
892
259
851
198
28
788
578
495
908
686
274
129
413
876
321
691
219
778
168
24
600
174
554
660
158
450
286
822
529
34
559
470
938
480
1
13
70
909
465
195
701
119
733
118
292
522
701
914
809
233
179
859
87
545
81
869
50
245
154
279
362
602
156
582
578
671
388
235
702
80
829
496
962
168
112
17
68
884
544
469
869
616
495
651
840
612
449
750
403
352
554
652
693
494
112
32
651
657
7
609
908
211
950
449
32
899
896
822
626
208
600
738
976
346
714
530
210
168
86
470
917
935
355
301
462
284
398
451
261
769
721
492
25
703
304
124
179
252
176
950
32
489
152
671
89
631
853
808
993
83
627
931
687
475
942
651
158
777
549
335
831
856
468
894
135
20
177
899
6
441
39
64
760
669
336
483
454
189
972
794
354
474
48
255
863
631
262
324
584
971
225
975
7
241
812
652
782
965
392
337
501
48
674
130
453
539
522
384
241
484
951
467
128
130
150
543
679
901
960
822
793
119
691
556
495
266
983
493
642
183
741
473
758
75
524
677
858
263
435
435
119
874
197
38
871
674
93
790
488
451
895
333
365
575
386
165
778
236
111
931
206
881
626
196
991
430
22
441
661
390
369
735
282
596
204
633
244
931
568
224
850
133
858
779
117
342
672
759
95
197
914
743
520
709
302
203
730
10
749
260
667
897
471
362
646
643
959
480
426
865
647
622
316
35
696
532
551
460
949
434
751
270
939
910
529
871
840
522
796
455
589
615
155
597
993
260
828
938
582
898
491
393
20
497
183
867
297
623
608
975
230
898
204
973
849
811
1000
502
114
555
261
720
768
250
63
471
600
560
936
790
501
408
913
682
300
726
300
504
393
72
690
112
534
587
989
996
353
313
242
374
984
188
304
609
809
393
673
32
216
989
879
924
177
652
662
312
203
804
996
242
79
507
164
496
110
198
325
418
838
180
527
589
784
279
352
202
723
193
322
344
998
979
892
705
528
922
478
786
370
785
496
429
256
849
489
6
208
692
420
462
962
646
299
885
652
677
830
38
652
306
748
312
51
852
30
974
599
137
1000
40
755
46
311
451
541
582
483
460
139
464
482
279
333
224
946
388
941
198
18
756
219
598
360
995
845
319
60
387
88
924
236
336
199
774
819
106
414
821
457
765
832
724
558
960
525
425
148
153
712
976
677
805
764
721
475
259
786
144
689
511
475
957
172
570
90
200
292
195
78
60
45
270
802
402
836
976
451
866
257
948
414
601
319
596
43
976
509
843
271
678
9
208
67
999
679
676
172
153
749
830
984
621
39
594
97
639
392
397
575
231
65
730
650
54
366
443
71
968
364
481
950
270
190
849
57
537
983
569
262
624
615
851
363
395
192
675
328
683
608
231
893
483
222
105
290
636
210
334
903
828
696
937
598
136
617
291
747
70
287
241
291
881
739
138
10
853
785
812
683
104
153
286
646
413
17
868
290
388
829
57
171
485
344
336
284
100
56
521
370
831
17
792
482
269
782
215
180
927
71
938
868
569
55
551
914
147
869
977
976
93
210
31
814
534
170
10
769
857
781
597
722
48
288
308
841
352
271
698
818
495
58
790
794
483
419
921
580
367
135
962
754
362
348
296
419
82
583
997
922
584
826
257
842
498
420
462
248
9
706
686
771
198
957
101
364
215
721
682
971
494
184
959
115
285
755
967
282
589
192
628
225
684
895
321
503
123
230
36
158
602
76
355
607
100
601
863
825
494
963
1
364
839
811
667
625
734
500
346
724
84
75
561
57
900
525
382
277
707
899
251
368
906
308
244
277
933
680
148
61
707
673
779
813
134
659
824
561
329
858
959
622
249
315
579
43
200
210
843
156
347
417
107
808
485
303
927
902
79
222
870
35
978
446
306
439
353
129
429
861
871
827
985
840
88
374
632
324
461
146
770
227
600
429
699
944
820
575
299
812
164
760
400
652
965
995
173
762
840
80
178
241
108
144
626
677
950
521
68
236
582
832
554
828
104
337
98
115
903
194
616
772
755
567
618
593
416
525
434
698
877
908
22
435
30
784
14
605
734
652
531
269
743
315
466
961
414
420
394
788
554
9
294
963
291
114
874
873
364
618
669
658
196
643
808
70
691
598
43
979
879
692
771
635
248
858
68
65
995
274
924
556
649
561
822
68
122
462
436
695
314
411
99
221
945
187
701
502
291
695
517
539
648
571
23
27
980
490
221
230
917
512
85
889
808
457
348
352
597
505
703
542
895
729
112
279
366
260
729
135
946
958
836
852
875
693
62
523
964
979
734
668
469
522
572
213
422
98
628
893
997
808
594
434
951
610
647
922
869
669
252
162
166
876
384
111
188
502
415
46
242
320
149
612
451
992
888
251
10
723
803
944
33
30
491
53
687
861
977
757
689
354
752
466
616
75
676
776
526
992
967
53
102
744
278
405
51
548
623
883
593
874
586
411
284
179
427
191
3
254
663
356
212
686
111
187
888
265
339
10
920
308
540
129
748
919
18
277
599
295
533
543
503
271
801
476
72
196
897
650
62
279
430
455
884
774
721
471
390
742
147
686
574
96
463
432
578
917
972
777
508
90
199
243
666
361
830
463
474
709
4
139
434
65
39
675
753
909
967
546
87
548
984
489
15
329
266
372
670
86
430
939
517
168
614
171
38
601
663
388
842
20
350
453
398
317
401
782
471
3
966
816
745
999
23
474
447
630
55
818
334
675
97
445
204
505
468
279
21
731
378
336
130
614
958
338
977
943
776
160
640
227
962
142
20
166
600
220
356
601
595
554
487
346
798
793
650
891
378
700
106
369
487
933
615
546
346
326
541
226
667
132
192
862
875
141
985
365
194
728
933
960
841
956
253
558
357
535
805
325
238
382
200
214
5
904
561
462
831
706
16
265
686
548
328
880
329
101
300
969
755
890
725
305
509
149
739
602
707
216
541
579
572
936
917
277
867
54
641
14
183
207
753
786
210
731
564
88
181
647
542
152
263
509
578
365
938
255
616
942
517
440
301
601
274
46
978
594
198
324
346
729
480
780
495
115
893
810
593
757
446
796
906
592
2
51
371
401
904
284
802
597
92
979
54
389
275
246
635
358
916
899
228
769
30
90
447
166
313
672
117
344
202
740
506
88
368
624
69
445
486
279
714
271
857
328
376
769
197
187
995
138
68
93
893
156
232
171
543
39
630
73
417
37
3
675
986
602
896
848
842
155
467
769
242
859
922
563
677
655
412
121
505
78
671
18
624
349
389
348
415
41
936
23
212
689
808
765
479
509
665
728
235
410
959
560
490
593
95
845
672
847
355
621
814
788
550
751
345
870
217
758
351
937
518
727
548
158
428
112
957
957
139
930
536
982
768
201
486
538
404
410
667
860
170
424
474
199
321
197
169
308
480
736
542
476
231
608
241
960
24
74
827
819
495
555
253
247
989
378
947
181
473
526
600
880
520
386
305
668
543
744
885
342
846
41
821
74
661
134
5
334
257
751
308
291
569
561
855
798
882
220
831
674
730
581
161
874
813
488
817
49
89
233
490
501
27
438
605
418
605
24
87
476
18
875
389
403
775
715
748
42
933
467
847
678
31
617
74
804
338
416
558
163
955
691
421
472
212
798
261
335
191
666
932
932
191
157
439
774
105
894
115
897
107
183
811
254
605
742
402
337
108
986
996
308
790
517
776
923
563
782
566
283
186
260
618
197
330
699
188
579
816
976
464
473
4
46
754
360
580
416
882
266
814
122
164
917
836
363
510
214
490
528
98
159
277
887
948
322
362
835
195
462
336
792
547
636
60
403
46
486
277
411
269
569
766
339
173
182
381
551
321
499
364
242
163
391
980
146
604
487
185
936
705
49
509
61
750
479
341
117
730
905
774
92
960
724
297
610
46
880
776
733
578
723
1
158
777
933
922
203
235
120
457
548
274
966
735
390
131
732
484
208
862
138
540
625
933
806
336
582
513
440
998
790
295
511
412
856
287
409
949
676
789
568
178
825
738
936
131
876
739
671
871
213
257
973
541
379
572
560
673
538
780
118
414
896
429
156
740
305
654
200
410
346
203
812
709
637
887
653
257
558
829
852
704
728
522
219
940
979
365
534
532
454
661
87
357
907
76
220
76
257
25
871
424
489
915
852
872
855
479
774
310
710
580
578
765
49
454
325
453
101
239
783
836
61
219
386
20
119
55
32
589
97
371
796
953
298
18
692
724
653
575
240
562
787
6
502
685
397
552
469
555
169
65
204
337
64
971
883
72
147
478
322
130
724
730
658
490
976
902
641
734
55
692
208
839
716
967
268
351
119
149
740
793
567
585
754
95
777
833
428
628
736
685
549
800
647
983
282
490
566
554
274
87
932
588
658
383
28
991
556
775
931
554
11
122
978
20
61
910
167
578
239
776
617
455
130
198
867
323
196
637
191
135
51
390
122
14
916
61
469
762
324
136
354
528
601
723
744
886
939
1
810
477
278
984
357
560
982
870
228
619
132
580
169
174
496
583
399
794
241
902
107
23
722
941
180
857
727
284
441
691
756
586
644
351
133
434
933
696
981
931
11
17
667
497
730
878
107
211
724
842
485
650
796
415
494
226
120
678
554
678
728
438
930
46
869
264
876
581
305
714
197
944
643
387
986
650
459
867
379
246
575
283
807
399
300
956
171
180
527
917
299
23
466
837
417
238
67
503
446
844
270
27
744
917
833
73
656
900
797
723
89
200
665
496
155
330
488
752
894
522
760
818
546
873
815
27
224
151
370
842
774
72
400
268
501
442
991
678
998
757
770
993
991
451
995
253
645
986
797
669
269
34
988
958
314
167
229
997
443
590
340
285
84
717
665
286
356
388
2
902
985
731
612
926
626
358
720
295
774
828
316
613
39
713
603
417
583
684
36
411
902
308
960
747
958
632
782
387
343
663
78
916
705
309
341
261
878
584
26
530
519
531
121
868
408
113
195
217
719
369
604
656
857
101
227
922
766
919
19
666
261
672
916
362
285
887
47
225
254
944
561
796
543
377
588
491
134
138
154
266
913
50
358
858
528
505
426
856
643
569
707
874
930
1000
594
414
764
899
210
14
594
232
5
155
668
771
728
895
110
969
706
842
82
98
956
126
782
400
688
218
648
134
705
963
844
485
663
356
117
220
920
322
561
912
782
109
709
122
531
72
911
934
417
432
759
156
513
222
402
619
367
306
930
49
226
708
576
546
985
956
667
423
215
677
822
841
557
812
509
294
665
305
33
50
149
260
180
61
861
382
60
111
383
591
988
22
523
881
51
398
718
300
918
150
525
963
409
836
570
269
170
957
879
678
198
871
842
130
766
266
423
763
645
12
596
643
951
203
548
930
848
982
452
421
486
384
68
57
967
193
652
864
951
881
365
341
563
588
409
61
644
721
739
524
515
537
181
474
271
328
95
242
281
221
820
990
254
575
628
67
190
702
984
665
739
798
2
732
663
957
738
667
695
155
672
850
550
35
178
133
632
578
850
510
586
177
176
968
947
461
156
236
982
782
862
293
998
358
448
788
345
592
265
512
320
548
861
660
665
903
255
544
198
133
775
911
762
706
955
661
627
534
415
820
596
210
138
93
618
487
492
306
276
348
624
571
51
648
124
641
246
905
320
251
814
673
81
922
254
415
462
652
418
990
117
374
589
188
902
521
609
145
215
62
59
31
82
810
283
480
348
678
127
260
542
254
262
796
246
778
100
156
927
36
503
690
58
330
759
210
39
524
363
210
889
435
5
351
794
228
619
529
434
497
234
40
743
711
599
985
465
251
466
64
252
135
733
655
734
139
758
931
611
457
997
347
95
240
831
813
688
873
315
496
89
144
799
437
155
710
923
943
558
493
548
216
74
784
874
216
228
98
571
185
260
592
865
535
221
900
408
782
737
565
652
819
963
19
762
99
836
636
559
371
46
127
29
512
485
57
643
270
449
500
193
834
935
60
949
739
171
499
676
897
204
5
202
390
291
315
478
66
686
443
640
900
872
799
240
822
937
66
696
234
558
370
679
856
656
150
29
179
108
640
318
188
231
176
207
153
914
256
404
776
966
873
505
356
481
16
306
260
636
328
380
676
427
857
435
18
934
142
258
333
823
662
785
840
8
540
329
385
916
406
102
101
482
789
229
287
247
951
307
115
369
880
586
629
156
843
262
829
909
267
770
341
641
175
273
444
233
285
732
184
613
402
61
322
131
903
987
418
402
373
438
63
780
417
8
516
562
150
51
676
893
574
778
894
728
869
899
979
888
259
617
145
984
551
396
304
389
530
650
17
212
419
349
670
185
762
670
870
310
823
422
595
389
552
234
591
743
571
449
984
248
197
213
617
173
138
971
772
88
897
448
628
995
963
291
151
190
491
71
750
824
70
980
42
152
758
703
86
794
58
547
36
907
62
213
657
781
930
698
244
376
666
266
399
988
155
769
352
325
301
409
240
783
813
945
382
320
357
148
608
159
847
412
359
117
527
227
78
744
625
227
249
883
401
378
973
233
609
241
892
362
383
499
321
417
82
174
922
79
774
697
56
299
228
25
829
45
58
646
74
672
503
176
619
334
945
448
620
602
678
62
555
204
584
481
305
263
266
578
963
588
302
26
331
214
541
385
105
673
806
651
31
625
314
139
877
73
825
671
411
500
382
41
467
761
419
138
127
749
527
47
828
843
349
924
239
810
398
231
555
940
201
457
586
192
954
701
478
209
191
940
892
778
842
506
412
273
67
682
228
257
606
275
484
366
189
911
166
314
541
751
984
919
682
553
504
132
688
460
854
827
349
520
474
286
98
843
379
91
735
868
848
616
874
663
867
703
14
200
204
719
382
719
797
17
137
483
276
778
514
623
132
86
214
590
811
668
468
528
336
682
671
228
193
488
816
231
911
963
126
629
567
459
882
516
484
246
864
369
960
821
727
506
777
7
572
294
434
642
410
888
899
958
654
468
835
703
613
509
994
944
671
832
457
725
238
139
694
964
600
963
825
360
319
515
516
572
508
552
17
292
795
911
446
997
622
911
689
896
470
339
733
754
84
292
24
679
814
62
655
739
791
472
745
58
230
520
319
270
585
368
57
713
231
374
180
70
875
875
253
209
38
526
910
196
365
717
9
695
851
907
637
499
79
865
952
104
448
508
619
50
344
52
932
386
398
725
264
831
849
407
748
815
460
985
72
771
462
580
138
775
368
731
864
856
141
744
142
339
924
598
29
549
220
942
903
304
568
592
211
720
777
26
127
105
119
50
221
971
907
794
965
682
4
436
70
629
474
101
740
853
613
329
348
531
276
367
36
439
869
865
250
466
562
648
319
262
175
705
444
80
404
952
644
164
374
276
170
212
763
256
239
955
917
128
301
157
805
607
770
477
735
413
352
81
97
821
23
858
368
531
684
308
809
220
161
155
833
757
590
124
26
333
450
430
770
354
462
657
146
478
276
783
114
895
963
564
485
635
829
364
242
497
723
752
777
263
783
24
605
426
138
488
608
500
69
377
664
746
623
548
913
469
174
771
892
978
991
36
881
569
367
548
31
436
337
676
647
167
220
387
992
689
737
496
244
538
71
313
455
90
632
618
585
567
275
112
406
192
433
355
188
315
737
34
152
739
516
298
892
214
223
858
784
221
456
79
793
638
978
973
66
353
133
605
443
323
784
78
770
268
518
687
916
997
408
555
550
563
683
575
975
291
592
189
468
201
609
675
731
545
364
194
289
553
54
460
634
323
191
654
128
94
337
755
748
828
403
822
376
66
297
594
523
16
757
973
729
277
382
312
56
223
690
277
369
160
332
702
532
34
977
305
109
109
993
715
388
652
498
352
496
588
199
147
801
110
890
2
790
403
810
905
917
575
961
408
793
820
713
45
86
85
245
167
610
8
970
723
30
929
243
59
966
415
528
60
686
68
239
481
161
601
198
837
300
984
76
715
380
891
76
740
233
216
368
698
829
959
217
681
633
963
658
667
23
6
454
860
147
32
940
18
179
243
73
539
618
646
432
387
593
840
276
669
872
467
520
781
20
320
47
581
968
982
719
893
570
897
22
642
695
382
600
218
291
421
333
727
95
918
246
806
476
531
53
734
754
276
544
593
867
360
458
115
758
451
96
138
633
914
800
127
280
992
617
566
898
194
715
298
659
458
866
457
19
859
10
8
453
663
77
371
291
946
743
511
499
794
586
951
106
172
478
913
357
61
965
569
118
633
331
580
168
247
940
277
76
34
933
996
396
971
819
815
281
550
909
288
813
985
715
87
838
946
801
818
500
418
974
330
656
466
752
263
455
546
41
97
977
401
749
698
683
652
780
170
447
838
671
588
149
512
691
778
823
807
810
224
783
562
360
502
810
966
119
292
757
400
834
506
539
429
215
640
983
105
336
318
714
642
661
4
628
859
546
304
480
550
254
293
65
699
112
305
905
209
660
406
18
330
581
149
394
234
416
769
383
653
584
938
702
780
314
407
749
368
250
922
846
953
879
477
886
346
259
914
228
858
539
24
948
786
418
801
844
375
917
706
945
96
868
520
924
240
260
167
198
324
453
333
251
569
271
397
998
143
533
850
474
567
368
402
31
987
530
87
536
969
678
820
229
41
898
733
914
900
907
401
175
478
351
426
975
186
971
265
127
466
393
190
466
399
584
702
834
40
241
344
206
871
515
496
355
821
48
631
59
675
971
768
906
198
85
92
388
277
244
823
847
701
128
705
117
893
14
839
436
531
493
930
444
201
503
913
864
235
348
574
480
331
609
10
191
111
698
38
23
346
771
782
897
858
758
639
977
283
303
125
544
286
500
532
746
761
358
38
317
371
33
926
449
599
836
729
571
468
401
289
183
608
426
749
405
835
495
325
590
442
639
373
85
893
334
966
753
567
254
771
716
940
726
34
198
800
620
634
17
235
239
341
851
753
226
780
137
960
633
53
662
557
429
146
111
93
5
474
393
970
595
732
801
67
264
499
841
489
233
568
201
456
959
237
469
786
66
806
124
424
635
757
414
78
507
606
951
53
758
169
397
886
451
152
407
27
853
290
500
373
582
896
274
609
89
620
628
695
286
2
177
95
711
212
419
765
151
768
704
909
199
589
182
55
296
412
117
469
103
346
115
853
650
819
242
32
457
399
194
487
861
286
815
479
736
408
377
384
695
918
686
179
415
780
366
300
959
958
310
266
457
902
939
880
861
158
211
994
133
888
235
187
506
51
888
184
341
74
673
935
912
973
763
415
386
140
840
745
793
985
702
446
990
177
701
470
760
700
320
171
735
888
154
697
60
195
209
142
712
816
321
235
961
297
694
582
202
190
276
681
932
992
914
520
865
575
358
438
711
788
807
700
509
366
222
366
503
875
790
478
200
759
444
585
262
319
93
22
207
521
999
383
762
697
12
662
536
267
199
319
194
552
691
71
363
382
122
300
598
179
364
715
581
664
634
59
254
876
972
249
282
55
408
585
206
202
643
180
370
672
641
227
205
143
646
47
830
579
42
463
514
894
244
215
31
889
558
631
341
390
936
401
288
615
290
388
971
738
476
134
50
155
148
214
925
342
562
416
798
274
917
662
782
239
829
500
844
516
462
54
369
466
59
897
295
979
480
198
850
32
705
986
181
516
319
379
315
50
450
794
320
957
675
632
857
982
942
802
764
523
124
950
790
804
314
685
153
699
81
494
800
504
276
986
860
197
449
267
474
356
221
214
7
794
884
729
480
22
296
906
976
115
940
80
79
498
737
532
588
340
594
559
51
727
404
240
753
119
788
533
442
591
732
664
265
401
194
299
981
160
569
390
728
113
312
725
992
622
895
802
929
624
260
206
157
485
507
117
102
213
480
352
883
440
599
238
941
286
286
843
645
347
52
27
44
385
846
594
654
643
200
166
956
79
938
407
826
543
671
215
459
141
729
234
113
882
45
162
37
135
556
348
880
360
436
319
798
284
516
693
140
93
865
814
346
283
17
765
873
513
979
993
605
306
84
694
105
217
303
36
312
167
244
436
754
806
615
654
744
148
357
682
28
54
76
750
757
804
675
951
646
162
63
426
969
979
258
711
257
502
784
557
89
62
708
217
67
758
704
450
386
154
413
302
297
130
910
572
921
19
680
781
989
731
681
414
64
275
769
19
564
993
52
246
894
18
246
569
558
724
495
309
146
383
684
761
633
742
278
592
891
584
809
287
89
71
71
217
676
651
577
101
461
305
794
104
930
179
368
787
975
717
341
396
422
482
579
634
314
920
578
372
448
786
814
845
746
469
194
947
338
895
431
731
439
113
656
635
818
266
811
248
880
137
703
498
37
463
172
87
370
831
856
905
35
838
522
185
143
660
67
381
399
220
786
442
102
800
203
89
66
652
421
273
29
584
299
459
240
274
850
77
856
783
508
109
591
413
350
757
980
296
965
354
498
406
64
146
314
502
471
232
118
689
142
574
313
331
478
589
464
623
292
664
291
892
44
37
99
565
27
136
64
576
421
798
136
566
98
518
812
685
818
244
250
79
378
947
361
500
659
122
999
144
461
504
312
503
524
39
17
224
869
861
307
329
791
692
915
804
659
761
891
164
788
84
413
450
183
881
8
143
529
40
263
375
718
115
58
900
856
72
141
792
731
839
100
555
21
1000
129
647
674
355
760
81
978
920
953
127
518
341
29
408
386
175
995
379
472
512
974
682
318
72
302
345
911
573
254
327
733
749
453
514
348
52
311
741
506
620
597
339
386
133
366
223
572
19
924
840
256
213
811
742
251
72
924
115
365
80
241
51
770
379
931
674
212
790
770
457
824
179
204
899
722
986
979
225
98
56
13
223
500
914
282
790
602
277
580
466
80
201
944
911
99
3
639
129
556
655
800
736
852
441
918
754
824
130
639
793
269
439
696
843
321
631
331
702
911
147
540
376
813
721
467
244
175
877
781
590
444
337
210
867
443
188
357
267
423
392
35
199
233
573
667
94
713
785
856
344
43
450
175
796
829
456
493
7
316
62
179
477
344
203
41
897
551
82
10
98
192
2
156
767
219
296
925
673
499
918
140
634
321
214
120
718
961
168
329
337
30
942
462
538
324
63
427
516
290
8
87
71
926
919
39
629
311
471
511
48
445
778
738
117
433
758
316
889
482
198
396
949
44
150
213
491
620
266
545
267
505
760
41
633
304
21
188
192
930
536
686
525
123
302
448
29
951
34
617
141
862
620
113
701
795
512
863
351
973
822
414
474
557
179
299
187
464
506
425
264
625
207
479
161
972
822
500
822
141
119
816
863
361
803
133
225
942
232
204
640
554
829
819
275
765
935
761
983
748
537
863
109
546
580
960
649
355
340
15
733
739
791
34
603
740
105
763
951
925
951
886
423
579
530
929
449
354
499
500
222
898
673
651
826
795
470
39
173
475
953
331
438
852
346
605
707
250
868
710
299
270
634
877
737
889
235
412
275
913
474
851
569
234
984
393
215
343
640
579
850
627
289
870
609
634
571
123
819
952
217
184
605
942
728
188
319
970
541
104
306
73
45
168
307
124
572
324
166
565
606
196
750
318
74
619
55
293
436
888
929
295
286
486
237
569
398
755
848
58
292
868
23
164
42
897
977
695
39
477
230
35
595
328
443
703
501
720
16
104
407
39
793
738
567
333
626
31
939
486
585
974
559
509
387
656
318
684
561
101
792
334
796
209
194
857
619
69
726
579
471
517
605
472
199
907
924
460
990
961
561
57
266
541
469
104
840
586
191
459
915
946
282
903
23
788
879
626
660
791
301
1
421
693
108
993
438
672
178
333
248
839
674
158
735
936
477
781
292
971
13
44
856
761
977
906
375
814
499
511
314
90
222
41
658
788
418
256
39
87
312
533
29
325
591
515
202
749
340
300
882
690
444
193
442
346
38
568
540
757
765
689
766
435
313
609
760
903
498
324
697
305
229
60
953
332
698
723
832
195
475
582
518
408
292
914
401
498
332
370
710
113
230
138
705
197
179
255
453
909
416
854
474
988
74
478
563
483
78
28
728
124
117
921
424
97
381
657
612
410
966
790
768
714
325
684
180
511
562
378
163
452
473
51
568
9
911
244
385
351
182
817
21
586
763
408
806
72
168
694
136
696
241
463
299
577
639
781
538
818
339
637
597
324
381
499
924
745
410
483
786
772
1
226
891
614
775
264
1
586
777
868
103
337
467
105
205
59
401
744
586
77
110
196
476
986
202
761
718
189
681
47
291
378
543
756
428
986
490
282
820
652
606
585
293
522
202
49
844
4
650
676
504
183
581
15
409
609
411
277
341
75
53
272
464
890
143
669
854
755
168
724
877
769
360
470
665
279
701
980
313
686
311
730
664
503
948
538
732
401
795
992
692
770
222
736
327
678
68
280
243
305
283
531
611
459
987
966
58
35
134
4
484
911
609
286
756
62
62
593
580
666
61
742
455
290
996
718
889
948
706
926
49
529
714
998
363
175
269
883
924
440
865
423
577
547
674
118
635
431
355
634
499
372
267
712
419
764
632
426
869
364
124
365
214
583
177
150
143
766
16
149
417
393
223
748
815
918
82
794
582
791
345
561
230
295
380
579
557
345
908
601
578
480
791
465
269
953
858
979
109
919
240
742
273
75
734
370
164
844
800
471
732
153
346
997
421
114
199
162
503
856
805
62
706
362
869
928
343
424
588
119
267
604
964
721
806
753
16
775
607
14
826
453
643
976
351
78
987
364
921
263
289
800
589
289
131
83
242
431
544
648
30
134
95
933
738
5
850
205
151
711
113
236
18
953
966
709
626
491
984
92
273
421
62
721
659
302
857
164
702
258
367
286
988
267
37
559
407
63
563
380
327
934
279
929
92
150
609
231
70
112
348
614
751
576
527
704
307
752
679
614
833
493
503
420
482
702
895
230
445
542
669
365
998
532
925
804
142
763
862
39
24
43
601
970
186
208
347
293
327
246
593
708
128
788
772
8
965
731
449
963
32
416
777
999
458
272
713
175
477
67
40
995
934
847
999
893
516
486
695
912
664
899
150
128
89
441
850
718
113
184
259
262
399
818
178
686
675
564
36
868
360
491
6
428
16
634
864
965
128
471
467
904
61
184
889
952
924
216
710
447
24
894
982
752
728
777
550
714
222
404
815
869
190
757
285
24
538
905
797
944
703
700
569
252
591
341
642
690
266
299
446
366
601
361
352
93
299
648
815
439
679
946
335
861
430
803
323
978
297
707
143
530
294
330
657
703
415
9
581
502
837
469
98
824
746
217
774
837
24
872
840
141
423
793
246
602
493
955
516
321
703
931
215
794
61
318
150
492
570
655
972
674
803
953
990
427
6
669
40
653
757
897
627
184
454
595
836
143
383
799
868
32
38
229
954
848
100
447
78
735
586
210
607
963
933
392
561
406
823
314
40
704
367
440
866
89
381
444
467
996
382
639
128
167
529
191
142
425
649
901
21
956
413
806
861
116
565
827
35
845
795
341
69
963
282
14
419
293
45
607
899
482
628
57
985
310
671
483
998
569
591
192
662
103
180
7
558
403
868
92
130
945
372
916
708
889
232
811
861
665
876
819
706
930
226
313
692
155
223
536
455
284
868
528
735
281
878
158
662
613
377
436
200
675
310
368
491
43
345
263
417
238
915
191
929
642
667
631
202
806
551
529
212
45
491
459
440
811
751
493
242
967
756
208
22
720
41
407
758
202
281
60
879
416
777
630
480
815
782
143
791
267
302
865
360
723
465
322
549
761
561
640
962
473
428
697
1000
392
176
332
990
90
20
55
962
105
702
897
687
229
616
158
739
715
895
892
227
890
993
204
178
980
698
103
970
175
367
816
797
297
499
745
355
460
491
759
753
879
263
440
461
641
323
375
602
656
898
428
145
438
961
133
964
381
472
949
986
989
802
486
744
214
871
13
405
856
122
525
175
116
95
857
183
614
740
34
692
265
404
316
375
307
646
564
188
171
95
795
614
729
766
35
203
583
48
533
675
698
407
76
255
929
731
107
119
642
929
245
756
741
222
182
84
435
773
807
841
786
636
807
327
937
123
149
946
70
175
236
34
18
233
500
573
181
150
164
639
62
232
287
497
367
287
703
27
569
344
668
706
77
761
127
533
11
134
154
752
129
342
834
435
628
366
301
746
551
87
291
333
990
901
972
318
959
974
868
927
477
25
628
428
44
564
555
829
704
22
628
456
678
74
732
209
59
707
604
729
724
412
69
248
591
833
839
653
138
754
583
68
715
797
901
73
605
684
538
686
275
204
861
855
797
665
148
672
20
228
54
78
826
46
873
61
357
935
859
610
144
434
259
636
976
668
859
726
778
325
147
103
2
216
281
870
621
946
31
419
503
699
915
704
73
891
765
45
862
785
722
135
752
352
299
934
349
367
11
402
961
340
231
590
1
305
792
485
725
736
917
499
343
961
340
626
507
925
156
105
779
534
180
635
738
426
248
323
180
70
629
555
378
152
404
709
840
146
73
309
304
308
111
459
836
526
334
918
817
925
481
266
601
609
542
471
150
12
728
623
640
878
102
815
489
65
409
939
539
574
736
793
308
31
568
20
523
284
203
297
943
17
415
489
161
564
509
292
709
990
893
193
303
957
345
822
343
554
455
323
15
235
60
242
968
234
289
984
532
114
449
147
979
484
240
396
867
499
129
692
40
280
794
798
214
801
33
492
226
830
780
997
880
585
309
27
579
298
568
45
51
693
226
391
461
186
176
425
719
249
159
356
526
596
858
70
27
634
450
438
210
511
739
671
877
723
338
274
830
517
772
925
735
9
764
404
502
401
628
360
132
557
677
813
505
419
247
120
840
213
908
335
137
232
993
335
934
237
680
796
429
519
899
362
503
900
166
995
502
404
832
372
835
319
391
202
316
368
273
747
143
381
752
869
991
158
427
14
710
988
803
915
109
923
547
51
157
808
450
960
237
420
955
280
351
708
506
554
44
971
592
67
161
5
693
352
881
770
762
10
345
657
823
27
699
225
700
78
575
383
876
774
625
295
745
86
679
484
966
630
784
897
139
615
153
810
953
710
553
320
573
565
833
573
652
760
708
191
467
473
548
77
369
756
622
23
819
346
611
86
439
12
227
8
439
911
57
308
234
72
958
409
747
345
339
738
981
765
707
250
416
490
318
407
106
392
144
309
402
347
160
158
81
574
598
33
173
948
999
716
604
761
101
788
240
414
5
552
748
508
422
662
869
210
497
433
319
785
754
210
759
200
76
284
666
188
567
732
775
506
214
871
666
858
605
698
315
647
642
279
50
907
227
802
339
417
222
981
504
258
758
606
18
60
487
71
279
355
52
222
563
366
180
807
836
966
984
118
154
163
899
453
552
124
757
892
582
697
678
361
545
212
313
735
243
431
450
684
924
573
139
138
907
300
267
437
778
686
148
401
75
990
569
317
997
885
742
654
680
997
596
770
340
240
990
335
203
602
76
694
142
711
651
930
113
26
844
136
502
154
34
278
611
504
117
775
812
943
437
569
6
272
343
676
790
913
820
314
999
366
279
240
40
835
513
528
572
877
650
325
994
948
919
562
876
936
73
738
844
311
675
813
320
885
973
712
681
220
962
565
63
949
182
148
102
525
475
653
359
20
14
13
584
512
631
952
573
35
285
202
673
554
800
171
220
906
363
86
711
46
295
659
554
149
384
375
128
212
742
623
822
960
930
781
809
631
866
44
361
929
637
981
698
341
818
916
186
787
278
723
754
514
371
879
616
490
232
911
925
634
377
870
840
216
407
181
876
756
449
540
876
188
266
144
166
48
853
46
475
478
734
267
569
393
106
804
444
800
776
827
931
664
692
162
139
956
998
150
469
394
276
14
250
708
801
634
85
686
445
48
434
46
224
452
613
538
329
537
467
667
661
504
758
411
225
668
524
862
716
883
786
636
858
554
969
278
654
942
446
85
957
950
638
66
651
666
351
596
905
372
641
169
373
517
375
84
488
282
760
437
127
22
566
678
656
220
323
772
800
117
176
237
83
973
540
897
412
762
756
338
308
959
647
865
565
972
15
652
20
956
721
485
270
515
185
601
34
599
173
711
531
297
236
578
596
997
783
589
454
936
81
765
869
182
280
780
66
364
136
805
599
952
532
973
504
7
588
13
633
379
102
68
812
588
919
39
183
694
172
774
322
677
846
111
502
391
920
666
118
45
335
523
996
329
491
460
202
899
509
685
65
213
699
93
378
671
101
508
811
843
83
684
138
72
567
214
200
46
932
82
827
481
886
575
681
374
374
521
766
334
48
781
918
820
700
827
601
164
711
516
327
58
462
240
288
189
695
826
330
506
511
449
923
668
208
561
390
821
480
60
483
382
724
23
637
649
15
218
348
385
298
146
813
620
606
316
765
909
555
593
452
521
217
159
766
911
450
820
838
503
87
950
891
718
318
880
339
62
862
811
909
388
230
908
160
68
963
730
106
920
227
460
591
716
831
769
849
72
201
663
123
858
183
415
299
507
367
191
635
719
137
16
58
472
516
138
15
753
546
946
426
809
56
37
951
71
546
460
547
112
471
49
626
847
852
605
262
486
226
763
35
413
675
350
848
477
876
784
510
496
769
900
298
860
776
686
634
947
713
810
316
441
253
628
565
360
258
903
541
510
385
896
336
961
243
988
985
992
596
293
474
316
2
407
776
89
156
352
451
617
389
678
555
613
245
953
546
881
464
251
800
86
369
522
589
358
356
265
19
92
173
924
905
941
705
571
858
581
321
485
757
814
470
661
749
490
44
146
522
492
444
218
709
711
589
928
802
686
692
923
757
200
644
826
792
860
713
697
511
636
528
101
37
209
322
357
487
123
263
220
623
741
744
304
895
850
325
479
893
132
368
307
554
156
152
88
291
478
317
543
253
893
501
14
274
716
856
849
660
382
690
837
252
413
349
105
328
728
749
306
913
725
225
598
660
761
895
211
17
16
509
633
584
905
735
23
207
688
471
928
554
517
305
688
188
456
126
740
927
681
102
837
761
948
414
618
288
910
551
892
768
705
754
972
448
761
20
201
71
845
74
636
332
228
32
838
740
998
224
972
959
693
347
814
370
424
723
878
985
3
799
955
726
945
742
528
318
389
819
865
688
695
748
206
344
234
642
185
101
385
416
797
485
853
26
581
35
447
143
653
573
859
668
946
726
347
678
991
79
641
883
631
32
439
41
872
501
371
984
508
892
213
633
93
21
468
213
128
60
162
870
750
150
956
338
949
282
695
830
707
848
31
429
513
249
625
417
658
494
287
807
51
227
981
11
640
805
453
293
551
749
623
8
337
61
444
359
282
577
329
585
600
543
366
238
538
614
29
194
335
697
254
67
706
75
126
470
512
241
705
617
830
302
581
754
96
177
759
81
562
713
566
614
199
152
713
583
69
887
540
99
823
409
706
606
658
942
8
958
545
241
992
652
38
760
5
418
622
812
157
475
278
214
677
939
346
474
220
901
729
571
335
102
80
282
871
384
426
367
737
29
949
641
9
240
388
295
755
647
356
105
810
389
546
221
383
248
698
28
451
458
898
116
176
560
949
721
2
150
31
329
614
165
234
975
29
770
436
589
423
500
150
481
896
306
784
814
88
150
952
782
843
98
366
447
413
989
266
862
101
509
260
540
232
613
896
222
142
522
366
462
356
205
697
139
120
111
642
183
551
259
638
575
219
668
168
516
132
492
321
198
963
994
453
420
862
824
583
933
382
97
966
292
72
758
144
826
575
432
127
132
135
531
534
375
581
79
275
295
742
102
266
764
425
798
860
702
787
641
881
541
332
291
517
297
748
402
821
995
26
513
869
68
897
982
852
995
699
471
344
135
580
579
241
189
627
36
790
291
457
884
861
805
120
286
920
697
994
89
840
807
236
113
448
623
638
469
910
617
580
874
23
631
96
476
12
129
728
776
696
671
149
721
58
801
63
77
103
346
29
413
177
408
238
316
547
497
247
830
360
542
436
748
605
412
822
468
153
10
233
247
888
565
511
747
582
721
480
19
741
497
955
460
701
619
908
58
389
594
470
710
413
384
128
197
58
268
268
226
321
926
48
845
990
306
976
554
756
204
865
306
690
91
167
356
769
863
362
846
49
752
908
588
579
63
462
420
895
366
977
959
353
173
66
420
578
148
472
394
211
44
476
934
337
817
275
303
874
61
418
651
276
130
929
582
553
788
704
911
620
558
475
278
719
348
901
76
124
293
181
634
36
858
90
766
580
816
455
412
787
207
212
982
882
496
160
37
124
717
316
506
192
219
589
755
706
227
835
515
461
333
644
198
966
617
499
721
564
481
12
507
879
613
214
118
696
185
463
511
465
68
996
462
49
72
696
161
599
756
732
551
976
184
894
546
364
116
474
707
504
356
267
746
955
912
43
911
155
212
869
755
421
717
564
861
871
300
696
224
691
466
165
948
526
605
934
278
354
431
185
307
701
620
390
484
976
817
448
96
101
471
508
740
660
69
616
827
849
838
755
92
146
877
173
657
480
570
182
569
580
296
915
436
64
709
209
611
567
395
911
252
509
787
511
827
512
405
988
870
156
907
266
240
807
864
783
466
546
954
195
318
362
125
4
274
670
736
953
58
740
758
738
906
87
62
452
380
274
197
848
678
648
618
906
407
170
657
311
182
431
657
473
153
671
562
957
9
614
959
675
583
482
792
1000
121
905
71
250
305
227
716
513
705
732
696
937
920
99
403
398
519
19
341
451
696
994
667
279
43
675
780
226
528
915
297
488
426
733
209
118
298
850
619
781
434
342
232
373
518
395
246
114
702
32
98
908
543
599
25
947
65
660
643
604
903
114
424
880
166
409
530
670
850
150
504
601
97
786
126
842
891
773
94
392
353
573
4
376
742
711
305
919
54
954
417
633
76
958
335
88
161
74
740
273
366
307
614
827
618
39
869
612
238
543
519
840
515
159
312
334
382
414
439
583
43
686
498
818
200
69
491
37
721
484
901
881
196
611
814
620
652
410
471
634
331
858
372
282
800
720
62
935
464
921
592
442
277
720
303
922
50
681
718
692
937
94
193
803
907
464
392
219
685
560
284
185
855
728
818
362
959
806
714
686
815
900
466
11
916
288
998
926
467
223
452
52
97
700
885
220
892
473
16
323
509
670
208
145
153
806
678
760
754
887
827
202
880
611
315
807
107
73
382
271
562
581
2
107
879
584
693
716
408
629
347
841
759
291
102
296
513
955
807
228
19
441
23
314
771
389
196
666
505
295
951
76
777
171
28
931
914
24
442
521
375
688
706
407
641
477
849
874
227
143
645
831
986
626
777
979
906
724
93
215
263
975
595
29
57
503
858
481
894
28
528
370
811
183
152
753
566
618
121
504
388
627
91
636
449
167
538
338
214
291
680
67
445
555
820
674
302
739
402
698
808
611
829
304
833
951
879
648
396
681
467
296
129
760
68
364
32
893
256
165
539
284
526
109
60
4
602
808
514
408
912
391
902
689
107
682
942
974
76
2
951
121
105
348
246
593
843
459
154
182
565
992
282
999
756
505
442
705
734
897
141
459
786
485
949
894
122
159
617
494
615
482
241
472
361
180
16
577
98
187
60
387
947
466
188
882
710
362
278
324
969
450
780
834
354
501
980
523
39
578
144
876
385
186
959
540
535
794
491
431
195
141
545
121
84
553
360
407
455
680
517
286
341
790
18
131
36
336
918
859
210
23
355
139
12
401
551
98
145
740
793
106
515
383
661
325
826
20
694
452
472
282
367
17
949
863
435
603
930
618
903
802
224
718
543
924
276
913
655
192
283
901
371
67
207
465
106
362
372
220
174
389
422
999
401
972
275
192
81
595
191
58
362
80
77
709
378
962
782
720
31
280
16
967
888
795
479
472
377
383
338
29
125
604
860
668
648
25
92
132
166
744
821
999
963
567
182
85
999
36
201
647
133
196
39
178
207
847
52
473
518
551
755
152
648
481
830
619
480
676
673
834
332
796
864
640
612
565
159
861
989
880
453
312
17
226
341
58
546
426
705
629
575
437
435
768
445
315
920
643
535
399
588
558
821
407
444
392
402
513
259
946
272
850
354
955
885
333
384
565
202
703
143
300
955
102
34
125
254
318
448
31
778
836
419
671
698
771
516
598
655
584
641
731
742
414
1
117
807
246
30
15
639
509
216
143
634
660
340
349
300
724
778
226
733
442
281
986
559
643
613
235
796
145
964
379
594
303
118
55
858
588
553
697
769
72
22
622
734
782
363
561
591
172
896
837
944
325
633
717
462
403
763
594
649
549
388
285
550
415
126
361
654
360
984
255
764
344
580
834
116
18
602
188
492
445
672
995
386
504
52
592
770
373
797
964
855
570
11
676
309
531
258
437
668
963
983
719
612
935
28
901
554
795
448
870
422
641
891
182
509
720
700
757
126
236
703
978
644
312
813
507
148
201
311
397
807
56
347
177
115
317
677
585
348
796
84
460
416
271
811
988
926
508
614
458
972
289
131
736
814
189
640
991
566
813
408
669
630
591
90
951
457
948
990
343
228
935
132
282
50
286
390
629
517
610
999
671
865
866
829
802
748
989
956
399
641
443
297
15
67
988
494
979
523
349
945
732
970
990
905
551
214
87
486
498
654
556
187
401
403
190
48
304
332
387
673
372
168
613
311
34
997
757
883
100
517
709
388
800
499
152
892
143
519
459
47
845
227
645
271
182
11
254
757
729
473
723
393
939
434
858
982
387
325
933
899
681
82
207
667
893
858
237
559
742
81
401
618
998
433
630
503
603
793
934
822
194
304
867
738
553
947
48
258
883
705
722
807
762
393
978
850
926
620
196
670
944
779
540
140
122
440
908
741
448
239
816
143
326
719
849
232
196
65
946
445
446
537
395
594
782
675
220
763
60
744
337
985
55
164
620
683
780
618
822
25
635
145
953
449
805
17
926
912
478
360
758
65
29
215
893
341
678
604
671
806
599
273
825
250
158
435
473
256
115
109
113
866
891
429
86
278
155
135
392
75
925
280
674
756
904
53
839
268
917
776
517
494
871
262
717
418
837
772
939
196
397
739
553
24
156
532
104
21
16
794
651
746
495
852
146
655
875
337
180
464
536
729
579
15
374
892
120
443
280
749
975
671
402
14
28
241
499
110
79
595
330
919
936
95
90
687
85
666
409
903
406
861
593
944
563
227
365
210
790
111
288
173
684
955
741
34
446
971
749
53
171
142
852
110
870
907
321
730
654
550
9
377
76
88
538
854
603
971
514
742
511
57
538
976
450
331
400
619
977
236
357
32
951
888
135
568
798
7
905
118
896
772
305
520
528
114
911
585
432
836
178
735
417
899
379
784
893
827
925
635
865
16
199
876
589
627
267
242
989
215
340
935
483
241
88
565
920
757
236
416
27
534
55
939
656
716
15
612
632
697
276
249
403
780
249
622
288
775
770
688
407
720
19
295
835
84
183
962
754
894
318
621
323
764
732
519
736
680
235
336
609
542
613
248
994
446
12
872
886
33
467
507
328
931
611
137
637
365
239
319
975
680
976
42
522
494
595
327
743
697
227
349
361
676
648
120
64
382
642
298
435
577
297
185
676
974
728
185
545
598
955
39
174
576
285
894
740
439
605
206
782
498
46
783
269
202
466
134
641
797
269
235
856
865
166
11
382
395
794
598
520
957
530
960
456
883
525
809
979
993
693
510
596
402
721
968
968
498
370
927
618
299
469
731
475
93
739
320
132
790
405
952
808
675
164
257
903
666
683
915
55
225
27
58
908
972
354
282
615
760
374
328
602
654
986
866
390
272
30
252
576
178
370
55
20
2
48
957
335
790
190
793
88
761
874
494
824
102
726
788
732
271
824
513
643
541
612
469
108
33
881
199
215
736
38
119
423
535
399
779
237
396
940
248
692
649
576
547
266
179
759
788
142
710
463
98
574
82
697
593
955
112
476
688
586
456
285
85
690
89
923
447
426
3
375
944
641
796
198
581
620
721
909
38
350
536
189
362
332
283
417
394
11
187
716
312
310
158
614
201
465
163
646
276
908
709
943
747
385
381
122
498
444
668
729
588
723
581
579
40
634
68
103
375
8
886
912
675
66
3
45
778
185
443
908
200
102
424
21
549
848
789
359
791
752
417
376
263
691
14
728
335
70
308
71
14
978
965
916
50
982
801
980
395
758
504
204
923
413
787
795
670
272
411
44
475
287
204
558
919
577
723
236
388
619
318
434
493
514
387
769
769
806
107
502
464
131
61
103
970
984
354
776
977
923
619
802
660
771
709
147
313
636
507
81
900
711
261
305
882
518
885
790
748
496
17
466
611
216
790
589
138
408
639
989
582
728
919
456
43
513
934
408
218
821
353
6
593
941
964
453
128
528
368
602
59
654
361
733
998
400
605
461
551
867
851
817
71
488
318
995
493
167
387
76
5
308
423
144
474
648
249
888
779
366
708
459
966
134
994
140
84
146
833
123
7
95
396
135
823
51
710
852
473
674
649
305
329
344
529
112
341
988
876
935
786
616
4
5
684
97
616
254
220
638
836
870
158
890
466
494
98
671
908
325
570
756
206
925
839
496
645
651
265
618
461
318
848
256
117
199
628
581
559
105
900
635
783
949
322
629
484
244
560
612
572
786
186
994
237
615
834
756
586
844
809
441
809
230
797
906
579
126
986
609
462
282
590
875
127
958
808
510
624
142
41
76
877
193
359
671
101
104
22
875
896
845
387
685
140
27
466
300
269
627
530
645
814
552
861
187
484
692
930
356
770
393
571
653
538
776
905
293
189
228
318
681
224
297
723
770
737
426
757
6
196
874
625
464
436
960
976
159
839
633
128
187
452
406
485
156
3
908
114
344
534
576
306
203
118
462
370
387
322
293
478
962
812
114
762
397
489
344
922
706
576
114
727
5
302
922
523
424
746
186
184
617
620
12
724
671
98
124
446
505
904
189
12
306
823
65
108
808
253
996
171
632
885
90
23
503
392
153
169
446
439
920
203
365
793
937
669
353
423
277
799
290
290
911
443
146
573
932
129
459
693
185
534
786
265
214
849
699
163
957
688
289
293
691
898
573
219
188
244
897
663
397
555
198
667
276
909
891
105
433
798
190
133
131
683
820
740
395
544
956
70
248
624
840
735
486
704
228
950
977
280
363
51
600
502
812
896
753
370
533
554
406
974
854
160
493
76
330
4
565
648
542
569
83
551
790
800
32
3
973
209
548
785
967
558
400
372
513
657
631
472
456
426
554
171
776
222
456
411
446
210
784
319
663
250
550
380
997
835
647
225
859
255
796
405
440
467
755
968
73
199
292
960
286
291
567
460
878
905
809
278
76
783
702
239
386
166
756
763
567
838
25
992
740
667
5
890
825
271
467
328
115
913
603
131
417
216
184
234
737
456
721
487
924
359
44
777
826
976
46
455
165
749
897
67
196
365
34
757
150
456
873
682
419
671
972
383
896
60
96
769
899
109
320
744
99
584
529
913
723
671
847
863
992
450
750
586
411
379
780
667
175
249
282
820
790
107
173
327
850
780
140
559
390
933
808
854
349
213
556
578
835
711
684
890
48
247
218
425
901
23
661
115
482
270
747
108
886
251
652
892
189
501
115
563
453
301
255
375
399
134
374
551
992
288
193
440
310
733
331
217
73
54
44
887
826
911
946
755
215
441
7
192
674
743
816
310
52
138
511
774
442
430
568
214
996
196
78
821
51
832
370
440
696
696
202
513
143
709
590
745
188
401
862
394
887
492
839
477
432
348
993
756
419
155
246
985
106
391
332
279
986
541
94
336
587
744
453
872
946
661
10
660
107
235
980
127
388
641
332
76
418
543
957
276
910
226
248
489
166
763
534
339
883
819
111
402
364
846
596
888
718
548
126
449
720
725
165
651
78
323
812
583
668
203
293
819
631
51
460
909
401
866
274
282
425
877
347
700
14
387
669
338
659
39
645
658
703
989
66
751
363
465
210
529
219
462
455
56
743
70
495
636
910
497
83
206
246
542
496
597
25
22
773
364
19
728
475
294
317
712
792
26
312
636
437
452
910
690
701
309
374
906
922
346
668
345
884
835
343
785
656
274
486
348
620
104
395
681
868
229
973
125
687
791
645
14
450
300
686
863
595
418
557
402
936
799
61
229
297
573
478
411
804
86
618
858
850
958
277
73
519
181
781
808
528
575
145
295
23
795
580
420
411
153
278
740
58
600
770
879
708
728
556
156
579
94
937
822
194
960
898
695
599
311
314
407
141
915
823
566
392
649
644
845
458
317
257
686
366
883
769
698
46
599
12
375
884
551
454
19
822
584
735
872
41
611
548
283
501
193
313
496
304
48
532
838
159
320
650
891
606
750
81
333
911
1
946
539
706
341
674
262
942
715
460
697
509
453
807
975
812
863
234
921
398
361
637
17
106
272
856
810
190
694
851
318
278
744
280
410
40
553
302
610
246
458
420
108
942
102
566
571
648
382
984
426
807
237
257
405
121
587
349
256
688
170
714
179
504
849
612
211
275
966
580
544
360
416
294
445
822
393
203
359
378
181
72
642
480
858
250
998
384
20
768
676
456
948
913
258
319
20
370
304
328
463
800
518
15
1
474
58
166
985
740
924
334
713
876
919
834
801
358
405
118
721
733
252
278
151
793
763
155
615
366
760
425
589
229
121
887
513
398
519
551
848
517
41
700
196
541
38
726
756
644
620
717
97
139
107
378
72
480
584
584
799
396
108
666
662
492
480
928
149
468
997
64
71
714
228
260
383
344
451
590
501
697
418
774
373
616
404
974
12
61
435
515
866
3
118
476
631
596
594
405
897
390
398
904
793
363
720
740
242
362
860
377
343
639
209
586
892
710
392
945
429
98
934
774
969
374
512
924
237
324
674
151
15
645
762
280
100
582
125
418
394
166
905
153
450
826
55
314
12
495
406
154
530
373
409
834
494
780
334
793
651
705
674
545
92
451
424
945
489
363
483
322
549
341
110
308
461
576
561
191
757
818
496
368
45
762
191
224
62
392
954
876
248
625
11
971
34
605
287
153
335
943
939
208
325
599
456
554
459
620
49
417
656
93
204
23
623
973
975
705
149
474
833
69
982
636
935
416
146
310
743
80
552
405
515
200
725
150
583
427
78
5
689
689
172
191
735
766
989
77
657
894
157
783
655
395
511
922
678
574
417
459
907
599
327
825
284
81
472
984
935
293
7
895
191
505
318
123
652
457
645
777
624
972
373
200
293
927
384
137
651
251
824
758
843
933
26
282
352
747
992
677
613
610
243
225
507
530
827
854
353
213
311
460
171
644
100
421
930
827
715
730
502
459
37
34
555
855
35
832
667
931
47
560
941
892
737
431
581
417
280
75
873
523
109
855
902
671
199
664
750
433
14
878
322
500
555
686
865
956
713
415
749
679
19
74
852
794
716
975
679
839
913
23
648
168
514
16
886
541
517
183
49
366
514
433
201
790
169
815
520
440
194
538
6
145
922
901
981
999
637
434
926
173
382
934
116
928
347
919
759
255
89
174
406
822
779
170
531
429
923
121
717
99
553
6
310
300
518
930
882
831
901
549
472
453
72
935
474
646
917
396
38
583
1000
934
959
554
972
287
217
760
503
573
518
176
989
577
91
202
714
779
911
279
9
968
772
143
89
879
745
285
457
107
670
571
997
920
804
509
812
953
627
772
605
447
513
986
469
350
509
934
861
934
171
590
595
809
219
40
328
897
475
779
436
451
319
801
166
578
880
377
149
573
183
229
848
204
407
4
577
400
909
776
736
816
231
226
478
64
254
381
929
102
783
299
250
149
927
882
402
271
262
30
137
633
176
23
183
213
923
951
482
74
99
495
828
237
856
19
328
795
863
776
702
670
550
809
953
828
411
113
71
766
960
228
33
657
267
454
776
193
241
171
264
226
524
397
503
586
59
805
901
414
84
444
45
26
570
746
673
117
374
75
461
32
127
403
501
251
661
826
336
137
402
984
846
519
92
621
321
816
266
829
711
461
826
135
295
684
480
437
401
741
140
54
578
731
242
761
74
22
794
826
36
575
796
946
324
479
308
352
294
300
81
27
901
507
909
871
936
72
131
950
231
963
699
52
837
759
405
454
595
48
667
243
956
848
730
645
602
775
732
204
520
336
998
294
566
133
761
188
858
898
35
68
667
886
285
121
462
229
357
622
346
83
398
782
625
94
363
948
463
717
874
642
489
419
593
455
147
740
230
758
790
45
123
241
513
20
347
162
673
13
569
688
736
452
625
713
49
891
267
455
520
356
550
21
152
695
785
15
424
353
224
16
404
45
647
370
871
236
318
27
367
749
663
890
153
299
926
980
358
128
952
709
910
876
20
665
141
449
718
789
559
452
361
297
934
81
267
607
832
156
516
523
611
918
133
545
9
137
447
999
480
999
13
614
647
429
911
99
443
390
250
660
388
198
245
323
432
537
979
742
73
394
677
41
79
92
138
498
63
214
312
199
350
617
722
977
266
803
973
268
128
769
414
895
892
933
527
728
309
583
958
911
199
997
669
487
323
377
41
158
840
953
617
472
34
434
117
634
738
76
705
346
702
580
58
753
768
614
451
343
198
102
89
588
193
512
905
538
446
678
636
168
460
172
132
729
889
554
474
449
821
964
472
566
568
61
536
473
817
535
256
702
547
921
235
424
612
451
973
216
629
798
490
305
918
640
393
10
203
194
654
338
650
518
468
69
873
675
972
102
71
849
410
373
70
331
211
938
546
211
614
896
114
259
11
797
126
205
243
174
837
66
775
571
276
651
153
781
320
276
822
457
778
215
214
165
640
973
685
514
784
691
497
624
50
421
402
707
650
250
915
427
705
536
350
613
839
488
559
985
269
709
146
386
671
836
150
641
967
686
116
826
244
293
250
113
285
50
484
367
358
989
318
223
946
281
333
588
353
344
867
421
454
670
677
606
148
390
904
628
623
57
171
612
106
746
410
824
261
439
796
701
309
306
610
651
976
942
1000
485
380
972
234
99
821
320
291
615
309
343
432
414
805
979
316
438
322
876
382
622
301
60
60
544
419
642
393
744
86
669
844
234
967
209
379
415
817
964
680
955
440
366
727
358
512
633
346
208
562
701
529
943
963
675
834
280
584
341
802
843
497
122
676
43
514
539
889
889
393
79
502
274
944
371
716
214
358
154
257
302
544
472
285
79
788
262
339
207
69
368
59
359
718
928
960
787
385
752
137
252
66
768
29
555
455
756
770
325
478
562
193
151
940
909
656
185
912
671
54
834
260
814
872
252
962
774
648
111
789
553
526
469
510
631
18
399
811
184
634
770
94
30
545
991
474
649
130
594
292
523
903
142
364
555
58
102
376
657
212
665
434
478
548
925
564
904
883
813
112
194
688
269
917
515
284
554
742
730
523
218
941
22
556
94
603
689
964
973
657
111
533
614
196
605
799
908
724
83
122
488
251
209
237
619
221
336
433
121
358
787
570
210
823
135
527
434
359
774
587
31
523
521
802
127
121
87
925
107
128
907
861
217
611
358
502
472
151
129
756
571
368
2
466
551
116
544
821
166
369
18
207
631
99
898
147
283
884
628
358
312
948
19
235
381
412
639
289
982
24
899
31
321
227
566
144
207
514
627
587
739
230
628
951
982
373
852
658
271
427
839
57
339
791
204
780
280
920
683
138
252
495
688
484
132
566
708
18
738
724
933
376
448
34
970
694
506
184
606
149
351
854
498
671
844
913
214
20
262
534
226
269
215
443
77
956
964
739
972
254
59
618
207
19
292
585
108
719
165
440
439
538
442
351
635
986
644
161
157
566
337
703
90
565
521
239
409
71
253
762
952
2
574
782
287
106
580
978
374
467
889
73
445
983
575
22
715
492
289
278
640
526
664
296
1
356
788
706
679
302
910
328
105
161
297
59
253
194
355
165
278
402
315
397
690
355
590
704
734
859
264
651
192
280
214
896
8
538
203
842
546
36
785
904
329
141
351
566
334
681
205
207
559
243
274
159
883
81
716
163
666
78
924
830
170
667
68
786
765
998
213
472
896
985
72
311
34
965
746
275
314
273
532
777
357
184
29
476
470
536
912
195
558
618
491
363
883
759
461
186
145
253
12
959
820
940
659
506
234
196
473
548
15
89
265
365
264
89
550
325
305
608
210
243
931
202
610
865
544
78
391
497
46
32
948
19
214
363
535
611
699
929
687
842
509
462
574
486
895
459
397
620
427
928
513
95
598
918
156
794
137
407
250
527
818
595
455
69
898
733
973
340
50
611
939
38
533
335
935
424
770
941
700
662
788
651
297
448
925
277
399
230
344
78
914
733
310
832
490
18
369
836
408
994
920
231
495
677
522
948
583
147
305
453
185
795
567
853
500
45
71
735
99
394
202
230
510
80
522
200
169
907
227
261
167
652
648
654
653
640
156
828
755
268
61
254
790
630
429
991
368
668
83
880
468
953
304
111
204
515
502
269
705
465
24
709
842
151
51
277
611
82
243
612
626
373
847
596
970
751
162
852
577
140
255
510
166
327
936
664
624
172
374
996
422
882
481
369
603
23
754
681
427
129
664
380
500
697
378
512
728
951
267
719
10
791
883
383
145
845
811
724
538
138
739
1000
146
403
116
646
834
116
707
617
434
931
37
93
72
260
391
441
715
283
454
189
608
730
491
916
813
10
96
604
822
548
84
79
364
379
603
392
96
342
255
993
40
98
173
766
954
903
23
938
304
402
195
703
35
971
980
846
744
204
610
719
616
305
215
379
543
951
756
466
361
91
436
8
432
197
105
724
135
808
123
701
70
73
924
13
769
632
441
133
525
396
118
611
86
557
842
45
862
327
250
6
458
335
353
607
239
694
973
658
42
713
964
534
380
601
550
699
271
685
345
513
314
503
280
747
712
859
589
278
503
243
387
438
511
70
447
9
470
33
651
815
14
737
622
985
939
319
772
978
886
943
107
982
361
916
97
748
705
500
680
930
952
266
917
635
293
254
236
778
707
453
845
395
801
437
376
921
784
868
839
407
272
984
56
828
823
324
437
664
341
282
731
870
710
486
358
753
80
481
283
177
974
950
269
854
131
427
618
822
652
481
733
632
863
148
740
820
577
701
396
64
96
410
433
395
117
711
355
459
937
675
765
802
947
118
590
22
705
254
175
439
316
4
486
897
846
132
75
830
410
32
258
51
888
801
826
342
287
340
358
890
125
900
264
667
454
428
359
565
941
297
555
127
398
391
709
559
671
600
689
533
553
855
31
721
53
933
260
889
628
38
397
740
434
346
601
328
837
777
511
301
187
832
743
806
189
274
222
19
913
327
247
106
404
954
162
630
799
222
210
274
896
468
749
43
446
756
486
831
307
835
760
419
249
262
820
516
202
935
922
504
418
70
52
83
131
834
799
694
239
196
982
830
765
388
596
443
662
626
919
404
963
624
807
932
353
888
121
272
252
657
321
527
425
380
787
542
370
297
662
807
322
7
837
121
876
937
137
777
115
722
512
994
990
575
773
612
431
853
278
74
109
901
465
813
428
539
677
888
1000
453
314
760
979
660
602
492
22
734
628
758
335
674
986
319
552
636
242
865
302
408
7
160
959
534
74
231
701
653
480
567
128
627
455
584
718
450
243
560
29
861
568
775
692
1
421
362
513
848
533
96
186
600
972
508
42
397
773
286
292
756
319
828
123
113
335
469
268
978
977
742
222
708
43
489
805
755
972
248
299
775
823
180
976
166
521
643
909
180
744
611
199
538
850
605
241
534
201
785
525
998
427
648
663
526
154
584
911
157
354
948
472
268
191
518
243
419
979
845
441
910
69
881
852
944
63
43
543
227
319
228
852
346
278
931
675
273
244
932
1000
943
965
100
585
699
709
691
592
315
631
592
835
588
853
416
211
100
922
138
905
718
813
153
95
653
703
681
22
113
680
468
336
747
708
806
89
241
84
841
295
885
961
694
417
722
811
138
350
143
553
177
890
351
687
928
382
649
325
617
928
88
258
508
920
87
217
193
436
79
586
200
410
145
782
944
951
714
820
658
62
23
244
821
384
397
309
166
764
523
565
188
266
427
220
782
265
262
955
859
323
707
788
305
472
323
542
320
991
736
629
83
231
636
793
571
73
889
980
548
458
516
384
583
563
30
591
832
225
231
846
811
194
403
933
37
297
888
400
608
132
114
808
161
333
734
121
666
744
861
883
753
441
159
269
746
238
508
252
758
719
749
884
199
845
421
644
651
935
949
588
948
784
28
786
330
656
925
435
285
451
134
752
690
457
23
254
990
877
742
664
185
259
771
815
77
761
112
381
777
199
713
847
527
112
764
373
913
297
301
567
536
208
561
796
672
114
429
425
536
41
850
41
733
343
136
860
170
804
210
603
419
876
226
858
946
759
186
374
317
529
761
687
944
603
824
67
45
960
18
241
701
590
500
924
864
683
861
159
549
282
531
536
983
960
350
994
729
949
468
938
306
231
800
382
671
592
71
336
574
962
209
784
411
577
981
505
362
633
867
281
373
170
304
358
467
319
92
597
850
295
428
278
362
777
396
77
420
459
90
866
159
389
681
759
730
44
615
359
314
573
128
140
905
432
286
243
99
102
939
871
950
840
602
547
613
176
91
13
271
365
653
96
636
380
192
923
723
631
161
663
360
11
265
412
843
181
563
700
780
628
214
810
274
235
26
278
667
6
925
653
630
88
461
749
781
552
452
944
255
143
583
427
457
767
593
371
538
166
490
794
73
216
978
979
897
213
39
95
562
490
79
655
101
978
403
511
296
639
613
723
678
742
548
401
157
479
789
470
546
870
189
985
803
540
894
190
948
425
553
390
570
367
887
640
125
483
305
163
472
128
522
176
683
806
792
975
677
485
243
315
72
878
478
300
905
589
486
620
604
35
141
214
542
500
760
801
555
501
428
376
664
483
440
91
756
585
461
642
961
729
936
815
264
191
987
479
100
350
252
94
16
206
998
694
780
129
397
345
398
777
160
603
612
169
732
551
480
350
384
934
47
332
435
972
926
265
742
471
16
480
146
260
918
691
18
539
951
748
534
231
438
263
194
372
70
399
777
880
418
343
62
567
970
268
908
673
462
560
247
582
36
388
815
573
83
755
813
857
305
32
353
448
129
408
503
134
44
597
510
106
563
958
727
331
194
447
581
913
141
560
733
71
64
987
716
720
23
99
957
745
840
47
182
744
355
820
938
344
938
903
892
741
340
755
245
691
731
897
517
333
262
434
589
320
583
903
12
490
606
150
89
33
368
283
627
386
238
997
859
381
944
293
992
202
951
120
61
317
851
998
951
828
322
2
164
547
569
421
11
551
55
716
445
66
626
752
126
881
595
462
442
766
1000
812
822
900
91
826
829
906
214
433
152
902
706
976
776
599
320
219
634
410
712
253
834
969
159
865
724
437
233
290
571
29
717
149
204
673
421
18
895
323
169
785
720
15
749
854
365
18
235
778
444
884
776
722
3
980
329
118
953
462
781
717
61
828
505
32
623
318
324
492
189
631
582
776
211
926
42
449
900
759
923
952
195
831
907
628
596
706
168
729
583
367
416
629
655
314
766
360
129
889
485
340
735
636
146
818
513
473
889
666
344
137
705
761
854
934
42
786
414
439
377
167
33
329
443
666
850
889
241
567
810
760
545
666
193
702
835
538
146
434
309
442
445
635
780
513
602
623
10
992
190
18
516
266
227
880
156
888
357
125
513
712
862
845
607
74
59
682
180
191
553
43
764
140
411
955
840
359
875
285
536
32
70
635
408
993
940
353
128
910
942
669
923
817
259
467
865
44
785
297
905
926
731
364
354
794
833
261
395
663
566
1
559
65
601
43
16
999
213
509
312
143
259
985
252
334
265
616
15
834
715
266
574
696
507
182
790
570
437
27
962
731
366
872
203
560
543
488
126
3
296
645
20
212
808
373
617
906
543
472
769
289
260
806
279
896
285
228
845
722
786
75
258
377
802
791
905
238
686
309
423
828
281
419
715
666
217
633
715
103
754
83
628
745
403
209
64
242
795
435
191
760
798
486
79
100
154
323
429
745
729
593
165
367
389
304
746
582
88
970
675
204
634
795
975
409
344
264
156
873
342
278
350
698
955
505
16
718
825
462
113
92
27
529
186
740
17
592
530
699
960
261
792
823
45
935
238
471
765
766
242
241
745
601
792
580
26
300
493
215
52
350
614
283
3
274
824
518
86
813
620
577
787
680
683
76
159
198
354
539
45
249
534
680
400
452
227
947
737
334
68
585
944
157
599
488
141
697
985
257
971
464
839
68
177
806
457
31
438
449
624
536
718
864
512
681
990
122
670
157
449
6
983
687
960
635
891
174
265
470
867
879
662
636
787
613
395
774
177
944
572
235
113
874
232
463
370
229
4
440
83
13
749
317
628
893
122
410
236
932
143
124
410
791
719
818
367
708
255
503
812
818
739
970
457
275
78
107
139
911
914
962
87
534
66
100
363
291
711
929
678
756
786
240
643
488
381
350
208
265
234
709
23
607
466
180
263
636
600
765
798
645
941
33
50
55
737
892
782
579
877
841
990
408
516
325
69
995
993
653
396
434
845
991
514
716
81
422
890
985
269
790
728
137
349
460
897
187
897
847
388
307
791
526
208
775
312
654
755
243
665
786
659
496
305
804
35
962
394
27
856
746
680
288
275
94
703
921
755
196
637
853
659
394
877
768
43
60
802
155
316
194
464
681
153
420
781
616
939
449
559
869
676
209
642
640
956
20
190
203
983
643
151
625
792
707
613
583
123
734
657
988
144
458
963
660
46
438
797
395
790
886
766
41
231
734
640
547
599
499
956
187
376
578
757
773
280
949
576
331
787
706
739
645
914
162
214
579
156
106
294
337
590
111
227
727
975
201
542
335
665
283
25
192
267
845
468
552
231
132
430
451
336
990
61
268
36
996
754
197
848
90
128
769
913
570
951
604
709
797
809
531
569
999
646
658
773
714
708
131
436
695
153
184
372
482
933
278
144
948
869
504
146
739
157
124
881
326
950
819
656
225
681
838
479
887
642
229
116
290
390
850
215
514
183
258
367
867
321
266
394
518
733
104
453
856
145
694
965
673
390
84
68
372
575
504
947
743
232
356
690
971
32
340
103
521
274
571
376
781
738
835
510
779
773
77
980
234
820
416
690
835
495
283
919
405
769
576
869
606
749
238
283
83
553
601
747
3
387
633
882
382
614
804
931
717
682
172
388
187
494
931
329
680
78
956
18
517
828
775
452
885
82
897
691
901
642
602
337
335
148
555
119
99
223
915
990
300
110
65
546
670
162
155
846
352
835
50
111
477
968
996
431
834
336
451
500
582
164
426
665
866
905
578
761
153
888
285
140
145
162
677
691
312
62
666
922
996
328
629
575
320
295
77
614
461
433
934
390
452
396
139
119
416
976
242
861
477
300
923
930
765
854
917
721
454
135
139
663
707
211
952
408
63
30
59
692
971
382
913
374
95
892
425
216
785
439
974
659
313
395
608
154
768
983
629
987
425
321
186
52
99
814
191
129
269
999
391
390
863
239
549
824
711
266
743
644
26
890
492
403
354
597
118
684
41
515
614
881
248
628
497
615
115
306
551
469
219
881
657
130
953
420
544
257
87
228
497
975
767
870
49
685
756
363
55
687
977
798
710
766
776
658
386
88
651
80
975
353
522
910
638
981
184
927
891
595
673
408
474
32
827
863
359
572
712
741
886
260
630
558
232
695
884
301
719
378
937
113
704
162
132
485
179
721
625
53
11
148
53
108
446
631
483
995
673
223
59
53
691
764
414
280
589
126
477
495
288
740
537
939
441
145
437
224
173
349
904
659
118
278
441
120
779
708
174
406
920
802
741
511
804
400
843
123
165
426
44
246
429
907
830
752
48
990
26
594
528
550
327
975
816
665
643
615
377
628
566
788
156
468
98
153
804
871
183
749
312
363
823
136
452
927
131
321
818
765
57
975
397
690
404
112
942
654
933
609
686
848
715
596
232
433
636
89
131
705
534
330
227
420
806
777
518
772
336
614
875
973
242
464
876
140
725
721
822
891
632
222
421
604
377
632
68
432
508
245
285
611
567
538
771
917
72
914
47
406
608
218
23
799
205
312
831
101
820
389
97
456
356
628
930
432
862
380
311
798
551
513
750
402
455
132
643
528
30
443
822
315
80
578
612
242
522
583
202
519
667
732
350
406
773
581
342
785
400
946
517
206
857
435
212
878
962
120
562
26
323
807
979
17
930
219
955
204
917
52
837
471
352
412
767
582
691
878
641
388
568
641
192
945
96
553
978
112
50
129
819
435
246
967
210
216
252
520
934
330
576
511
864
839
150
750
606
944
33
79
715
775
575
390
425
891
543
562
821
982
306
230
866
51
46
933
111
808
319
171
6
476
984
562
746
240
536
410
294
220
882
357
622
140
605
943
787
777
244
300
179
142
216
915
979
475
775
668
132
507
682
123
75
33
575
641
180
760
957
773
930
981
826
120
544
587
680
499
965
602
852
297
356
426
943
464
761
327
959
710
514
178
966
887
953
450
283
646
659
321
521
404
714
93
892
778
984
321
576
879
271
83
939
772
160
76
460
812
661
412
628
717
538
355
98
321
262
167
954
430
803
21
193
577
690
294
42
882
242
794
349
900
562
984
874
44
807
937
965
765
473
767
167
202
787
942
519
7
991
721
556
459
726
582
460
16
262
913
942
504
742
401
160
664
667
644
900
575
673
497
969
975
559
223
504
411
181
745
66
102
677
364
505
151
27
701
348
901
110
66
182
455
696
634
285
492
761
215
95
523
760
148
684
57
56
404
686
400
636
130
280
635
334
312
970
787
889
205
950
580
434
897
446
51
26
304
182
300
280
478
922
572
517
535
923
544
321
939
631
528
807
900
332
697
769
775
549
798
654
671
545
831
382
69
915
245
26
195
84
676
643
757
663
756
144
208
266
137
493
776
993
892
744
498
566
737
2
885
998
524
796
786
540
26
328
748
822
68
795
826
55
677
631
598
511
800
89
71
61
612
64
517
603
131
227
66
160
174
88
601
208
431
193
228
336
595
974
75
31
511
259
609
800
159
161
217
481
560
908
8
722
260
810
988
115
147
86
723
408
782
763
653
325
265
481
123
600
176
3
186
665
541
294
819
710
754
535
602
1000
917
671
568
92
283
983
352
668
783
797
786
851
909
739
147
926
465
1
998
548
298
590
311
379
389
933
625
333
37
167
880
63
178
962
754
315
644
137
987
216
152
11
237
695
399
850
835
939
490
933
466
404
479
441
456
990
766
235
661
150
769
371
882
557
613
926
827
843
12
197
855
725
928
850
612
557
686
775
325
382
978
896
323
706
304
879
304
181
590
343
891
297
91
847
617
398
188
455
756
895
887
207
220
91
878
179
87
600
112
457
257
809
694
953
57
80
711
758
574
384
506
197
412
391
657
895
203
713
450
957
256
67
766
221
908
212
106
629
501
350
230
147
640
128
443
511
291
579
676
637
185
119
670
233
707
94
44
763
660
262
630
619
349
332
755
429
160
974
528
693
723
145
88
262
38
213
127
43
781
116
334
679
623
505
509
738
825
842
588
932
623
175
402
917
681
378
102
208
515
44
35
463
1
55
414
804
48
141
574
377
803
668
834
182
168
137
3
527
291
430
533
633
986
546
428
843
130
392
93
204
912
87
111
518
780
165
599
590
56
340
545
224
840
885
22
100
58
766
107
764
362
931
394
203
990
662
602
511
49
634
388
680
638
461
390
631
681
67
809
503
303
604
351
504
722
262
901
221
526
588
292
526
349
68
653
246
231
607
709
633
918
38
890
387
470
484
789
325
483
1
421
47
928
15
739
375
920
31
825
510
321
506
406
5
974
928
738
980
839
501
378
946
321
528
97
373
113
394
251
47
156
437
120
203
943
60
792
697
77
236
659
464
669
434
306
62
498
825
976
811
499
539
784
989
910
611
524
419
371
721
963
39
924
89
15
990
31
23
717
595
854
251
543
72
611
7
571
550
131
565
537
535
284
540
218
296
57
264
809
109
828
655
773
744
906
449
71
78
971
800
809
599
769
921
386
603
815
858
60
767
527
995
515
919
107
631
433
851
730
112
105
434
580
651
442
100
318
973
549
626
437
472
620
372
32
835
780
688
920
221
413
941
748
475
697
931
259
982
866
335
664
798
294
650
591
813
615
282
354
810
710
765
736
300
298
697
454
360
574
769
492
557
521
382
361
612
406
425
466
744
677
191
20
207
153
233
241
869
494
933
562
528
492
861
4
394
485
813
335
877
711
441
623
354
114
149
438
520
715
328
993
497
167
835
44
158
212
286
786
753
531
962
897
333
629
413
819
673
821
4
311
9
589
389
857
127
674
102
141
632
164
20
137
67
626
830
124
114
694
152
214
747
619
967
697
359
467
580
201
28
174
324
907
10
668
47
634
64
98
317
672
593
356
374
277
136
488
733
192
399
888
505
101
14
540
317
241
976
874
969
283
426
169
424
482
917
227
163
548
310
845
766
527
533
8
9
700
738
88
763
879
588
505
57
708
225
633
373
771
532
844
39
579
348
886
600
664
121
142
603
549
760
954
838
302
39
505
504
926
700
785
708
470
137
748
508
992
412
789
260
371
692
655
920
501
821
60
749
326
795
177
285
659
393
284
120
249
718
941
787
230
391
100
993
99
5
532
402
739
962
912
103
514
516
441
727
277
829
763
460
763
218
473
210
771
926
739
191
115
677
413
271
389
512
25
141
705
706
194
768
656
349
495
510
18
511
231
701
852
916
339
393
278
454
908
355
727
548
719
798
919
679
342
589
811
160
468
616
895
703
741
929
58
452
936
495
667
99
623
496
815
545
937
995
165
911
520
907
493
594
466
306
5
755
711
881
215
915
202
864
686
89
253
642
50
516
616
146
849
196
484
80
405
638
703
621
448
826
974
924
396
527
840
43
764
679
956
982
937
311
238
890
551
213
249
702
566
654
805
88
588
512
7
561
198
545
435
858
986
375
26
618
367
694
785
661
758
186
448
174
35
746
636
820
334
153
437
329
413
113
883
327
228
203
696
742
593
97
482
456
660
729
602
780
156
619
614
118
653
821
941
443
90
169
815
773
195
377
832
894
364
63
403
354
56
165
223
424
2
665
230
260
1
790
204
859
748
81
33
811
863
458
471
47
861
244
165
949
312
788
799
730
672
529
689
819
660
417
957
927
695
460
767
330
25
673
753
957
115
310
886
169
296
805
331
249
501
765
455
10
613
395
464
836
161
791
224
424
606
36
330
182
542
320
439
247
866
49
52
140
50
21
5
972
402
840
599
286
821
7
641
205
893
301
297
457
285
77
352
600
339
929
329
883
48
998
791
670
998
713
773
746
155
402
837
501
226
19
703
122
877
913
7
996
494
325
158
803
866
908
540
768
794
533
820
218
443
766
692
677
169
999
820
826
657
722
190
585
185
284
878
201
438
711
205
235
510
854
767
790
876
20
457
939
69
746
544
787
42
28
987
66
342
898
43
590
172
978
231
156
483
705
615
218
278
849
643
969
646
621
799
715
147
658
748
484
716
250
329
508
71
46
375
951
55
934
414
799
95
22
124
925
317
320
237
195
833
844
282
188
480
630
732
617
292
806
75
337
778
764
287
425
474
54
444
559
456
140
491
185
606
3
582
614
770
740
158
883
910
868
337
223
928
12
800
948
537
966
821
840
782
300
447
680
699
678
974
36
960
409
573
567
619
630
595
363
494
912
654
605
988
638
278
188
905
882
640
43
356
712
829
766
979
647
593
549
676
779
79
525
880
468
434
125
935
122
269
425
447
385
677
658
924
893
954
721
332
788
644
2
862
897
826
698
543
820
735
1
610
179
276
973
739
253
35
563
34
299
33
999
869
108
207
4
412
32
275
620
824
783
593
158
267
447
15
830
183
910
220
33
614
210
994
472
940
110
124
317
595
578
437
565
972
68
419
861
623
165
923
426
235
584
644
90
687
880
157
642
388
985
692
696
383
809
361
293
905
379
815
450
625
254
113
512
316
719
351
706
754
732
965
400
275
526
66
421
199
360
487
322
585
497
660
223
819
216
274
841
251
457
428
63
991
697
87
560
196
492
465
1
564
366
614
398
783
187
271
77
25
648
225
89
194
611
112
542
152
259
41
899
119
64
255
200
325
107
30
637
833
832
273
368
489
553
884
668
987
501
380
534
74
239
814
692
429
983
393
606
60
519
977
552
782
124
770
511
659
812
15
413
329
858
683
805
687
983
229
101
637
103
217
394
502
764
909
969
283
202
156
680
730
894
565
330
474
50
380
853
593
530
947
946
887
989
601
204
657
381
151
375
444
611
848
27
464
217
660
231
281
789
591
198
904
932
560
246
237
610
838
912
853
876
556
597
250
605
782
91
421
307
194
821
8
232
283
352
559
99
895
619
267
637
847
645
277
502
368
472
954
561
43
131
283
702
595
15
393
988
51
968
749
513
490
794
473
141
578
947
994
339
749
874
510
566
284
809
901
923
546
599
657
853
232
655
827
730
786
907
458
358
607
479
749
801
141
415
69
57
634
225
903
450
502
270
975
976
296
381
904
580
205
993
831
855
627
132
581
163
74
11
853
30
329
694
498
663
636
328
905
657
355
186
26
994
325
730
788
645
85
539
952
961
54
912
563
599
251
708
86
650
83
314
557
305
749
84
780
423
282
147
749
775
497
992
833
318
382
842
627
974
866
916
506
169
60
543
978
569
556
306
946
938
741
634
424
315
637
47
125
493
389
719
636
474
914
235
516
485
559
428
300
859
401
544
254
443
856
246
632
457
337
142
410
224
586
898
340
291
214
645
759
508
663
434
299
293
556
414
909
697
634
379
416
976
30
355
321
481
867
547
656
659
628
546
26
424
810
837
668
982
179
45
779
608
34
940
745
893
243
230
426
960
707
920
147
733
443
909
235
967
533
781
973
852
445
931
683
753
182
110
583
688
99
378
505
613
690
140
816
421
996
2
904
332
892
819
274
672
18
178
720
948
335
127
187
1
937
458
875
520
5
478
915
275
146
773
56
866
811
817
77
874
247
411
669
228
460
168
184
641
711
845
371
761
425
934
902
730
609
683
911
327
639
784
591
503
62
675
508
721
20
894
196
142
128
583
431
276
618
254
471
62
530
212
976
548
257
2
234
393
153
245
988
963
792
363
707
169
303
653
264
446
401
427
967
975
445
323
140
334
519
329
147
363
318
730
547
426
566
725
413
728
342
873
603
928
155
171
894
109
919
112
773
180
11
417
17
40
623
601
733
403
493
858
382
666
776
701
508
962
627
378
959
79
367
183
990
472
981
371
424
974
634
398
425
788
796
603
770
790
808
413
251
78
430
937
635
78
573
797
963
364
620
559
924
238
31
68
198
534
377
101
147
608
940
659
64
222
679
840
725
45
788
832
98
521
183
441
383
145
557
762
524
328
130
635
715
615
370
226
773
313
681
363
234
329
270
394
472
254
940
437
428
407
27
127
514
899
683
692
686
242
989
547
525
20
846
419
239
981
123
196
543
828
301
688
222
271
122
762
815
2
972
191
71
989
217
943
282
293
486
255
95
90
945
371
996
760
268
293
30
626
713
984
1
16
25
159
945
776
490
756
831
862
216
970
150
807
777
301
979
613
320
570
236
282
865
237
115
538
970
132
663
315
490
779
233
508
109
271
898
447
804
273
412
528
960
528
36
932
871
376
738
907
631
35
427
213
702
611
117
181
963
327
34
733
462
249
707
966
230
511
649
318
552
210
327
854
951
320
114
522
902
466
696
260
737
705
874
816
14
235
588
190
361
415
888
287
285
263
517
536
327
667
513
773
557
621
568
331
329
400
611
725
260
673
44
677
573
981
400
115
777
578
280
430
553
603
917
231
561
800
225
180
819
397
987
952
211
522
171
928
764
544
950
792
204
974
847
755
832
174
81
290
188
378
261
887
691
901
152
916
435
479
509
356
425
884
914
788
947
278
249
393
817
771
927
283
960
296
874
728
482
596
345
748
870
489
825
107
218
710
786
563
601
681
942
490
603
713
905
809
68
569
241
260
35
713
835
607
279
637
266
358
146
885
639
355
642
905
77
58
490
304
80
287
398
709
591
191
899
467
388
662
509
516
915
434
325
180
998
927
803
930
395
707
305
340
583
378
752
647
368
616
70
527
463
867
977
995
475
839
930
183
151
1000
821
601
927
416
54
770
733
148
277
120
125
432
225
337
966
634
83
518
537
247
903
775
161
370
304
191
778
937
103
707
348
901
537
887
554
695
731
943
502
282
993
758
334
638
491
511
519
58
744
409
317
319
876
540
134
740
635
789
807
116
762
65
164
141
993
201
526
659
542
283
833
564
865
253
829
839
849
131
859
640
167
68
736
212
746
162
668
562
944
716
147
403
935
409
28
801
577
656
490
285
812
670
496
697
795
123
709
154
957
468
601
627
73
598
965
316
673
813
795
253
143
564
93
570
645
766
645
679
773
348
305
896
707
173
612
40
564
461
561
636
43
459
236
400
237
359
290
40
961
415
542
563
417
178
726
652
640
868
800
537
90
556
327
273
997
95
266
557
196
417
948
352
22
603
246
652
542
195
312
100
607
975
527
546
354
960
468
42
870
699
144
74
181
174
776
231
8
315
938
145
150
448
59
656
566
29
896
509
321
372
485
672
330
90
540
703
371
490
918
615
608
880
9
354
124
839
621
90
932
713
275
294
243
839
894
968
208
814
100
495
332
821
402
170
161
620
695
512
383
832
996
259
606
302
115
230
89
802
7
925
282
597
286
977
44
215
317
849
623
167
928
934
758
628
104
389
334
669
934
12
437
782
590
513
713
114
874
615
183
884
197
400
889
114
507
372
538
943
625
488
311
613
737
972
759
823
690
246
897
892
831
274
944
761
218
482
179
854
876
468
794
19
272
321
304
775
242
697
435
270
247
173
521
849
884
854
301
321
288
863
14
77
290
838
620
233
654
469
686
650
250
738
896
283
756
669
204
849
161
360
915
969
41
520
517
809
478
791
791
254
621
345
345
949
186
592
263
936
682
35
692
418
746
562
547
155
370
481
697
332
969
91
975
57
486
645
527
219
722
115
376
509
545
280
321
374
34
536
317
753
382
555
46
747
501
801
832
473
907
803
516
961
152
69
17
683
683
152
6
681
596
226
707
710
334
37
154
26
226
823
965
265
942
376
91
139
882
722
734
41
321
163
217
973
573
325
508
454
193
398
5
140
162
900
683
197
884
783
600
735
872
975
29
89
456
13
964
89
145
914
157
846
748
155
72
412
383
11
713
749
745
987
695
401
487
404
168
25
693
681
624
237
546
16
306
616
564
614
343
480
102
992
475
997
63
404
861
378
660
369
376
930
585
541
394
69
990
907
220
476
210
605
308
305
861
173
813
128
476
553
101
892
160
256
914
125
791
796
599
610
969
956
99
314
113
129
894
45
601
999
441
994
91
305
543
60
934
732
754
144
885
906
998
765
799
634
773
245
511
90
607
140
317
684
594
864
760
316
50
191
157
382
639
707
466
32
477
403
679
567
957
343
914
680
725
149
130
190
203
331
994
856
849
31
531
10
129
837
490
788
141
958
525
728
474
598
93
813
731
614
983
206
877
622
803
257
149
514
514
816
458
651
852
917
517
726
270
43
108
999
660
74
780
953
180
905
91
791
376
261
283
591
933
556
640
616
495
155
906
160
560
63
145
198
688
270
420
832
40
662
681
919
293
349
207
898
902
688
762
773
303
409
143
717
551
388
532
66
657
618
997
644
88
641
994
512
691
398
693
970
485
982
746
730
655
127
247
32
731
109
436
600
504
398
933
609
219
988
266
32
999
568
318
55
789
865
104
718
632
44
447
459
135
27
126
213
340
954
326
825
693
471
881
633
901
63
530
609
595
986
496
44
941
592
863
698
479
811
381
442
741
866
139
530
118
48
22
291
856
644
219
996
850
101
503
430
840
603
753
720
769
137
572
563
913
850
627
859
909
904
482
667
582
609
839
697
376
695
404
344
844
197
141
642
958
136
792
988
285
184
206
327
799
882
327
222
896
432
412
125
891
152
35
57
321
598
814
743
647
83
664
132
744
454
456
890
487
993
760
719
476
385
140
880
872
69
108
671
227
859
673
952
131
523
786
128
300
980
61
710
864
849
397
683
70
788
269
816
800
980
582
815
888
603
337
137
173
118
87
34
967
996
616
797
188
198
73
579
765
401
653
299
832
506
719
456
542
323
418
912
120
653
788
913
66
487
36
210
180
876
994
939
869
419
616
55
363
82
540
575
866
709
763
24
147
216
673
692
901
5
899
105
43
207
196
63
719
13
537
383
981
290
482
907
493
865
352
669
826
431
506
953
339
669
865
783
169
470
892
492
426
740
579
296
500
324
266
980
394
489
477
925
882
423
343
755
767
785
697
172
742
997
131
678
636
294
540
450
960
649
13
449
689
85
291
857
100
613
620
677
796
476
846
772
508
403
80
275
803
596
832
232
245
700
16
956
451
157
177
800
740
768
961
441
87
878
997
154
831
15
932
469
924
450
655
488
522
324
662
838
610
457
819
13
745
611
870
964
231
279
38
688
213
368
828
306
951
483
628
686
473
162
253
728
422
819
439
388
804
705
660
634
264
360
895
170
850
745
403
864
608
917
526
860
775
609
138
199
793
891
703
935
132
817
851
377
2
687
706
547
257
587
826
645
486
13
787
450
135
580
515
996
388
580
678
395
577
624
663
239
182
668
81
920
828
299
907
637
703
731
842
319
841
276
560
781
13
139
182
73
194
810
985
553
450
72
986
826
68
293
88
543
772
790
237
94
519
948
438
921
604
713
4
950
951
395
18
887
744
578
765
989
103
59
231
602
833
749
286
552
849
747
259
509
547
188
358
993
363
1000
380
796
34
510
718
819
540
301
619
932
826
182
177
18
447
58
669
161
505
103
491
228
337
793
377
656
752
693
700
80
755
829
820
507
419
647
470
660
189
353
67
165
162
53
287
824
324
501
359
955
435
614
677
132
628
281
276
747
742
186
575
335
476
971
165
385
610
490
996
14
324
926
319
31
609
740
984
301
551
704
393
136
816
727
715
341
517
312
776
184
828
91
640
325
999
841
674
379
761
595
403
890
711
557
703
34
990
814
846
913
964
804
606
509
953
597
319
156
772
478
432
199
308
831
507
608
802
176
884
703
847
909
53
553
152
51
22
908
209
272
993
486
115
431
672
575
855
39
630
295
710
936
326
626
937
494
528
616
66
169
273
893
137
807
428
151
950
888
355
738
338
545
212
165
457
450
446
340
849
656
639
166
308
828
561
92
337
197
140
520
766
388
359
939
870
795
478
379
343
6
298
971
464
835
958
925
617
441
592
228
325
56
34
807
164
91
14
63
124
778
583
475
679
182
926
622
194
410
798
310
34
653
190
25
235
58
364
779
931
126
814
792
186
528
235
137
127
370
944
408
93
222
329
467
148
276
275
65
429
876
208
956
949
126
367
831
928
245
226
364
208
526
276
701
448
484
274
546
206
460
411
65
645
580
128
801
354
145
936
113
914
529
356
445
183
899
283
351
666
17
845
637
48
295
133
921
351
63
30
176
960
307
69
26
902
978
379
187
158
554
484
661
583
259
643
752
555
666
211
656
347
701
326
537
650
149
170
318
233
700
386
299
792
698
512
543
42
991
739
533
381
100
791
324
555
178
359
709
488
430
849
815
518
836
659
513
551
707
154
344
724
902
116
730
896
248
836
282
264
737
764
307
348
388
78
517
181
422
111
228
66
835
699
818
928
270
668
22
837
468
239
206
163
179
823
605
144
401
329
876
935
682
637
291
256
861
120
52
339
246
251
973
265
787
17
639
615
517
692
904
965
894
264
522
128
148
441
55
669
752
274
109
868
868
235
282
234
314
960
394
802
119
273
590
588
909
287
252
559
655
223
496
750
576
627
902
644
260
262
230
369
361
822
203
745
977
84
796
232
95
979
380
896
556
479
400
773
955
244
869
609
964
938
448
920
192
172
195
352
82
884
818
139
118
150
185
677
824
945
870
1
569
354
147
865
272
641
461
142
977
489
812
589
925
9
535
781
214
143
268
710
841
609
558
626
675
627
301
689
432
931
938
417
594
514
921
960
737
562
867
657
689
677
632
346
364
272
815
326
269
170
499
963
417
770
193
774
276
373
57
72
473
458
643
537
156
313
465
102
898
23
22
945
140
830
247
52
412
193
591
649
899
152
555
337
233
923
350
108
195
914
7
277
758
440
683
20
159
599
290
357
90
380
894
159
870
568
645
498
700
83
433
686
361
143
794
205
459
837
541
761
968
799
813
933
921
341
772
742
19
50
455
250
733
679
440
195
789
151
462
623
675
327
821
827
59
708
790
790
826
336
928
339
429
221
502
599
423
244
701
649
514
10
494
760
982
845
604
752
451
677
300
660
871
432
352
331
933
517
899
687
203
170
398
554
998
556
813
619
89
25
107
322
928
861
454
136
104
171
387
178
719
336
730
329
589
201
417
689
202
118
628
463
28
61
613
33
337
934
78
581
457
479
461
894
235
331
324
959
394
956
484
875
781
720
941
601
272
904
961
877
5
390
312
233
843
322
634
622
869
579
285
926
273
832
532
856
656
246
431
98
153
95
390
44
470
459
469
412
236
421
440
193
920
443
353
100
668
213
148
956
118
148
329
882
688
413
393
665
176
675
940
587
766
150
605
182
103
255
209
304
222
807
5
424
857
445
932
604
54
397
14
907
773
584
942
974
413
410
825
848
477
774
684
930
261
940
753
444
575
851
819
624
743
463
242
764
211
668
385
554
660
806
529
394
236
130
272
96
666
20
983
933
64
179
570
741
864
75
896
695
970
983
68
154
489
772
92
212
767
184
655
728
336
108
154
621
392
394
860
161
520
778
678
687
821
278
855
308
691
886
916
152
612
592
529
320
154
997
227
898
16
702
336
791
820
219
925
446
128
302
850
958
94
25
136
355
294
396
582
735
670
628
334
62
293
763
401
930
926
145
766
536
929
131
163
117
535
19
828
880
397
575
228
143
842
312
408
920
820
775
503
572
936
348
361
746
219
586
267
497
827
90
781
146
493
90
489
249
537
367
983
557
191
810
634
323
938
231
411
139
761
179
607
515
715
165
376
39
448
984
373
767
949
505
232
652
741
15
448
50
724
514
798
815
738
463
606
919
588
133
329
200
276
559
931
590
258
97
220
120
650
677
498
199
915
391
180
857
556
518
708
80
362
909
647
771
490
895
676
973
652
639
969
371
205
831
772
351
322
223
88
967
771
196
267
192
283
938
733
795
856
972
131
281
556
63
717
271
79
917
314
609
535
551
475
202
594
665
845
812
766
826
915
265
499
692
896
100
312
58
856
151
791
559
276
542
702
338
15
132
117
136
535
264
527
653
466
500
987
327
838
692
508
755
750
946
865
39
302
603
62
107
523
288
631
281
906
120
667
437
862
632
561
885
187
446
456
952
5
166
290
785
812
108
272
500
546
565
935
538
551
898
850
585
655
255
186
346
598
314
99
432
624
855
415
129
41
432
304
979
380
790
121
524
116
318
517
643
94
750
477
131
804
894
28
573
740
206
675
102
97
864
11
863
832
353
599
97
170
47
27
891
372
212
541
746
5
200
530
175
421
841
348
182
662
770
922
570
694
210
176
673
597
467
177
833
358
340
134
282
940
619
353
790
643
43
1000
149
734
994
220
268
91
683
974
765
188
959
151
265
878
382
806
523
1000
169
111
434
453
60
280
197
402
973
305
798
212
561
793
320
482
196
757
810
667
791
598
809
957
799
158
615
446
846
294
958
445
757
520
869
734
201
474
510
73
913
616
607
862
56
110
148
580
379
257
952
835
437
251
291
531
435
240
832
270
858
552
923
141
297
924
299
196
500
792
902
342
464
262
471
451
242
974
187
70
816
341
333
864
987
685
144
207
104
627
647
133
121
736
87
704
396
363
839
944
406
756
388
215
76
380
556
666
141
71
601
962
55
441
360
656
734
73
326
62
569
926
330
247
338
52
738
277
305
147
722
790
376
526
877
762
102
26
885
556
767
853
62
444
468
697
165
55
639
24
143
227
376
662
944
197
465
410
237
94
680
77
663
713
895
894
873
74
995
706
636
979
474
993
348
531
192
831
124
799
267
453
873
987
670
181
663
96
918
500
191
448
699
64
58
379
945
574
645
924
137
836
148
666
994
79
108
996
870
934
869
852
423
572
623
521
160
180
688
337
30
930
180
700
544
418
19
431
167
71
513
535
555
325
285
654
580
454
304
265
882
260
255
586
781
108
963
787
911
658
22
532
750
526
224
582
584
289
279
195
422
540
769
639
34
90
466
767
759
22
782
642
757
663
986
182
385
490
350
458
17
180
983
919
95
324
594
871
373
816
375
731
958
425
150
245
974
714
812
742
759
724
566
843
875
324
472
713
425
967
56
466
608
549
482
98
78
815
622
629
429
999
882
98
521
987
186
327
851
461
171
928
543
799
183
27
212
903
218
847
871
832
9
546
358
136
279
238
770
990
823
233
397
425
262
645
892
308
667
870
468
999
653
273
760
41
46
470
130
442
565
503
682
695
96
652
72
490
502
345
620
757
266
659
309
519
353
65
275
639
962
198
930
614
49
418
685
828
247
554
752
512
129
576
882
525
769
678
877
364
82
482
310
357
276
719
232
237
864
136
63
228
515
323
904
399
579
38
96
884
941
187
943
478
444
742
786
207
350
398
703
762
152
145
692
874
773
884
454
267
195
939
182
830
406
611
106
422
343
91
370
796
731
800
181
72
126
540
543
809
514
124
701
264
229
928
761
808
35
450
798
49
71
956
231
949
649
22
507
547
669
700
283
806
66
164
947
219
995
557
558
401
989
64
38
857
432
220
361
564
144
344
146
562
17
68
65
320
503
689
138
518
517
219
654
321
486
93
287
106
844
809
147
828
651
634
713
606
259
716
898
108
881
144
258
918
674
697
811
742
749
807
555
77
210
112
249
647
678
358
494
544
313
502
289
273
796
67
673
106
703
772
868
486
223
572
25
546
776
65
96
183
421
89
255
862
439
500
337
782
999
91
602
362
516
45
872
37
467
617
849
814
407
894
305
235
268
499
138
806
499
816
403
67
635
380
919
16
452
730
185
353
10
542
510
707
911
468
343
37
516
943
985
792
379
227
698
401
578
162
771
659
475
59
664
342
616
288
161
402
186
145
124
59
483
249
558
375
499
496
262
272
203
465
215
202
557
154
898
60
961
58
386
233
640
209
418
922
899
913
391
883
578
14
23
480
921
945
784
258
26
529
710
312
653
845
130
411
74
170
124
216
857
363
157
436
803
444
167
104
210
81
546
130
218
343
500
893
205
427
399
740
322
738
928
511
468
724
126
693
230
465
110
35
182
846
267
121
20
485
239
655
922
840
77
872
822
447
669
857
104
289
137
722
554
177
117
652
740
938
926
887
198
274
175
856
731
511
838
917
719
465
325
703
221
802
626
672
344
827
972
330
452
299
865
404
469
302
779
658
702
510
662
119
570
277
258
581
57
188
897
751
913
582
79
327
552
81
340
460
923
186
589
593
446
755
109
330
255
305
758
419
344
427
697
522
493
479
439
186
758
795
863
708
802
605
658
684
759
716
599
430
26
407
190
413
369
367
65
209
241
646
217
401
862
222
946
863
416
290
59
186
843
882
781
581
802
133
966
903
122
262
750
456
24
553
490
176
490
209
201
770
353
726
874
801
188
555
783
512
398
459
155
951
598
22
669
367
495
37
672
227
176
643
932
647
777
494
454
49
459
902
325
55
456
706
479
824
394
630
255
967
139
328
199
841
853
64
989
589
485
48
120
545
252
708
794
855
111
843
39
127
665
651
511
201
600
974
445
241
274
205
492
507
15
411
787
881
26
176
658
250
586
262
913
411
527
255
423
297
315
374
159
856
440
464
554
907
31
887
741
487
956
776
840
898
679
407
990
427
676
987
657
560
330
53
80
643
626
627
344
714
265
810
104
89
375
887
128
936
221
362
758
498
696
982
556
651
653
265
311
947
437
863
69
104
472
115
626
881
682
577
193
560
805
206
710
60
516
307
101
120
367
679
654
905
377
197
760
466
889
434
990
913
698
16
973
609
402
256
510
778
115
95
316
419
874
961
571
540
782
526
722
758
52
851
613
106
333
306
144
412
471
152
751
961
728
518
651
931
118
418
631
970
728
534
512
397
27
594
645
848
191
228
531
768
115
314
217
431
564
612
551
696
139
715
897
175
856
988
259
483
860
850
134
868
49
539
567
329
291
637
594
522
484
938
694
430
144
661
73
32
403
892
758
754
679
402
615
607
447
734
28
916
852
462
61
597
581
503
214
928
453
107
937
768
784
835
914
349
289
687
305
465
705
60
479
483
39
535
518
956
879
26
514
850
356
404
577
178
434
686
68
369
144
289
798
921
488
112
134
21
841
38
333
765
157
689
179
982
205
987
537
793
65
65
370
903
815
336
348
913
660
351
545
256
9
657
995
347
805
682
284
920
426
33
329
559
432
298
371
783
204
716
475
241
94
825
485
389
557
710
391
40
640
472
574
855
851
781
694
933
823
581
551
803
318
141
177
529
477
313
613
746
7
997
873
690
341
385
776
37
107
737
741
895
500
693
211
698
343
874
389
828
249
445
858
374
479
996
343
710
281
105
1
265
861
315
253
865
668
328
624
275
831
205
515
154
936
967
822
807
862
795
165
259
496
146
662
275
35
751
297
790
899
856
784
625
607
300
496
461
317
13
969
509
640
593
207
499
988
777
999
912
850
813
66
893
154
773
124
481
491
299
117
189
699
957
889
219
731
774
596
989
82
551
15
271
857
497
915
132
866
909
939
393
894
766
412
630
791
107
380
195
315
369
909
683
692
628
430
820
76
690
965
570
275
405
756
317
239
195
777
59
840
588
335
106
479
83
324
999
561
900
941
417
60
439
279
161
520
286
164
145
876
448
176
940
863
41
349
783
915
434
287
12
479
285
613
198
32
916
880
172
728
628
490
113
824
642
5
757
776
949
108
465
587
614
495
418
139
243
255
52
274
202
604
438
946
979
512
987
319
87
449
837
376
47
342
709
539
14
268
480
252
659
901
767
78
705
644
207
517
716
277
262
690
679
57
404
394
235
810
3
136
722
999
781
822
830
484
949
246
586
306
349
434
264
19
804
282
219
967
564
137
419
385
232
749
165
359
718
628
385
394
175
65
655
451
750
63
746
305
45
181
51
461
688
351
583
806
446
748
369
909
380
393
607
847
470
260
957
504
530
112
878
830
844
653
654
323
694
869
254
338
612
614
966
145
466
61
33
528
710
368
13
348
179
594
540
727
656
872
838
25
640
167
690
679
612
382
5
634
369
617
765
154
169
975
247
617
944
577
2
595
637
191
907
15
847
676
349
922
933
453
57
920
715
154
677
133
298
916
873
261
591
473
581
542
539
399
199
731
829
48
880
119
371
378
578
253
50
683
589
480
591
384
484
511
744
709
830
209
507
254
203
316
894
528
127
944
24
146
89
651
684
611
472
656
909
15
696
469
685
838
208
7
150
508
348
96
261
512
805
82
877
557
437
334
543
728
72
917
153
627
743
347
425
677
105
211
282
300
53
157
440
127
703
104
942
898
888
510
584
108
581
681
188
573
681
991
480
737
201
357
801
530
989
726
845
660
48
674
83
366
547
589
979
589
722
536
592
935
802
286
76
114
641
660
198
831
62
296
552
105
660
383
59
333
181
147
62
636
561
15
906
998
481
128
478
349
229
388
993
449
853
514
814
245
92
847
411
713
574
744
397
398
620
520
697
837
771
199
812
527
744
809
953
687
900
206
10
685
630
37
790
910
461
463
592
389
870
681
632
718
910
352
955
531
978
706
157
576
650
524
215
569
217
959
17
956
863
995
728
574
993
696
444
831
155
347
303
803
954
965
701
300
819
914
70
59
207
507
689
511
836
279
950
559
203
954
86
711
203
35
246
898
689
594
179
589
438
429
132
859
594
247
35
781
893
832
445
989
352
573
625
812
380
759
270
449
882
418
641
668
210
782
279
431
310
986
651
406
968
819
161
284
808
357
27
615
606
623
458
330
920
349
117
248
171
585
221
230
951
481
532
417
120
533
234
604
316
207
227
264
571
892
784
204
260
803
536
336
677
718
58
523
655
922
179
141
297
283
16
373
170
918
487
179
853
521
404
225
492
685
117
920
934
417
15
764
93
236
952
651
37
280
678
302
926
860
820
536
645
108
289
921
467
296
107
892
184
84
778
820
923
710
409
869
339
798
894
584
858
836
112
94
137
3
969
183
624
504
785
599
648
510
972
424
229
375
87
777
345
54
357
187
584
364
221
931
985
552
342
523
662
621
418
924
621
603
78
968
89
626
100
212
507
100
230
625
5
137
786
923
708
291
957
706
949
113
859
49
54
448
808
32
303
371
762
15
802
202
959
585
845
328
38
655
828
981
647
159
912
362
173
203
181
963
790
509
655
540
332
839
728
807
969
177
732
967
165
68
425
282
515
303
318
425
349
276
963
932
514
622
652
107
955
176
669
166
127
296
457
734
399
745
449
177
3
588
526
439
197
459
368
204
824
638
498
821
119
763
120
517
308
342
873
162
646
980
82
176
740
405
742
512
552
369
110
238
441
95
948
127
288
130
363
571
850
94
641
367
747
605
834
4
494
371
758
845
718
649
593
243
16
820
684
832
617
276
862
276
785
904
846
441
761
599
423
821
863
851
764
951
285
917
973
831
43
788
403
141
187
331
92
927
498
486
127
796
919
749
122
354
233
715
358
152
73
971
272
722
712
97
752
189
975
449
117
449
806
346
377
172
432
540
513
784
221
370
646
727
134
468
510
640
57
890
538
590
637
466
248
50
133
464
324
541
186
301
560
504
40
932
992
903
570
684
125
38
738
254
548
960
646
392
383
825
51
33
364
269
378
414
396
794
352
786
84
458
668
588
956
642
100
290
378
794
281
276
721
89
906
603
169
134
36
960
812
501
64
232
598
909
479
728
233
691
183
814
94
602
556
439
182
578
4
701
713
782
122
484
803
100
67
897
579
275
937
444
81
481
140
262
342
320
79
717
690
974
26
947
963
7
470
511
640
794
922
341
674
594
203
620
953
218
564
642
974
47
294
721
74
779
830
866
713
865
240
651
767
412
305
370
256
128
949
154
100
333
620
649
804
22
700
851
871
177
263
97
920
426
711
323
790
266
677
311
879
814
879
548
619
465
89
368
901
951
681
997
521
729
102
603
588
953
609
960
495
654
108
527
988
425
914
843
244
94
914
195
891
822
191
237
223
791
339
580
974
963
857
186
983
508
955
194
999
585
102
698
542
990
316
122
292
31
780
840
377
679
187
886
959
528
622
672
798
632
323
445
51
869
118
403
981
698
829
118
63
210
323
532
321
481
837
632
505
138
195
615
942
203
656
741
481
803
650
49
923
91
915
801
492
329
213
335
555
680
93
572
153
190
297
678
39
998
8
229
832
57
511
983
454
869
242
668
968
192
90
797
438
873
266
461
458
56
300
612
383
731
867
476
97
169
626
29
354
393
85
467
94
647
362
962
306
87
520
725
607
665
927
527
245
676
776
487
478
707
22
751
133
818
455
375
334
738
501
235
786
942
724
790
587
419
228
157
83
304
447
990
37
913
186
569
39
289
396
246
624
807
753
499
444
773
593
896
913
891
943
572
696
78
122
48
15
27
31
127
518
78
164
886
459
376
167
949
603
707
883
112
875
637
384
29
289
73
604
135
489
782
633
465
533
741
391
483
934
830
649
274
487
253
248
354
124
912
229
323
746
620
578
319
376
984
220
664
944
504
432
197
543
246
459
189
978
811
569
396
687
219
750
579
89
116
290
278
735
301
42
413
446
794
775
525
39
662
328
666
91
925
609
731
102
486
571
569
944
221
183
807
457
21
603
312
836
235
759
509
791
525
690
990
202
64
484
422
129
883
120
183
4
333
214
662
305
723
563
126
737
660
912
339
336
613
921
486
673
960
22
171
152
63
573
38
417
347
138
212
354
540
495
192
832
197
439
826
461
31
193
849
939
467
38
166
491
576
207
64
946
451
480
307
991
297
260
295
25
5
184
220
18
492
85
762
218
917
88
328
35
507
837
630
216
431
146
114
412
188
298
396
549
325
735
165
888
869
968
608
722
747
949
397
737
173
270
937
138
109
801
695
392
558
124
16
807
120
329
651
911
287
662
408
496
188
419
67
336
75
254
533
95
915
256
452
558
196
209
771
14
169
688
143
140
671
224
259
573
13
390
766
595
845
640
555
624
298
834
529
969
836
628
733
341
781
951
290
935
913
527
960
924
182
288
351
844
100
936
246
913
906
252
86
238
38
496
708
817
735
698
375
519
63
880
944
78
46
160
587
908
546
477
706
4
946
306
187
672
557
497
630
488
287
462
710
933
526
547
203
950
604
886
778
357
431
774
56
215
361
238
239
988
988
25
905
639
914
125
86
648
175
527
289
25
176
158
541
904
693
269
422
132
23
661
554
187
871
239
806
80
18
643
607
700
258
346
66
618
65
386
540
924
421
207
553
787
571
127
972
376
963
313
755
805
594
914
601
398
953
339
963
270
365
912
974
818
815
772
880
59
128
286
210
162
558
810
469
282
145
740
417
290
201
231
161
626
680
879
238
898
153
658
687
289
604
993
858
396
680
693
505
374
290
156
404
877
341
25
665
589
688
419
508
522
685
130
635
771
824
321
993
805
735
858
941
154
356
604
298
814
55
534
406
865
657
742
497
909
512
121
812
653
808
73
716
117
70
883
765
444
761
708
987
821
732
133
567
70
751
906
153
296
711
152
521
955
700
850
179
321
4
358
768
597
840
899
533
71
863
929
811
137
905
48
556
118
351
286
316
397
328
375
781
224
859
505
880
130
65
448
805
857
235
819
731
772
756
412
325
784
7
146
422
826
873
813
353
718
165
375
888
808
14
375
407
872
162
336
339
242
703
320
385
784
168
986
394
399
131
974
524
458
546
406
541
988
496
161
813
777
596
953
594
767
438
854
293
176
687
859
601
465
943
573
382
387
143
140
120
291
112
219
430
248
787
850
658
467
512
413
616
396
602
711
251
328
124
70
161
711
231
245
282
952
383
850
680
641
897
18
843
503
147
626
498
851
830
747
125
778
378
313
539
220
99
969
428
407
326
325
201
539
728
44
855
879
609
259
305
402
929
655
607
457
626
792
964
648
167
248
543
205
785
711
352
700
881
966
90
462
670
469
517
305
130
125
436
128
441
909
237
976
887
520
767
433
805
912
391
247
757
462
673
914
505
407
619
553
628
856
25
901
659
563
32
842
213
778
965
481
698
938
802
916
399
128
671
712
544
75
973
286
920
234
129
370
178
253
384
226
798
986
35
34
550
809
175
502
304
27
165
606
795
875
172
567
413
835
978
927
299
187
231
208
458
570
530
526
264
863
747
414
955
818
107
509
212
447
548
189
371
262
168
112
54
105
838
251
265
8
926
685
315
541
229
150
422
94
767
834
153
183
924
678
183
314
478
18
208
613
752
258
661
871
785
530
676
370
432
494
527
376
343
404
308
659
711
841
967
16
161
203
605
903
701
529
257
515
873
788
57
659
777
132
123
439
924
483
195
376
338
43
394
75
607
598
964
852
608
334
664
693
856
765
18
775
144
271
608
799
958
368
995
4
921
486
199
281
915
960
220
372
114
928
746
101
308
411
294
818
492
832
668
596
168
595
720
431
931
849
728
208
722
748
498
150
622
65
693
724
481
247
436
720
480
836
135
486
245
15
54
101
601
39
2
303
911
406
375
169
550
391
679
362
980
246
65
865
857
7
837
252
857
948
983
619
824
932
736
398
191
408
332
598
253
146
997
833
114
411
4
900
347
297
186
232
45
154
958
13
74
38
691
739
312
549
178
51
981
870
271
54
369
826
610
823
216
984
8
394
844
58
909
723
358
232
467
672
76
142
15
13
879
608
82
461
937
955
971
69
236
351
457
367
122
947
509
586
257
432
964
963
490
447
471
376
448
521
408
663
49
337
393
796
431
697
164
64
360
438
180
228
932
955
25
271
527
659
126
161
326
866
874
770
997
101
491
106
662
561
992
486
683
295
591
846
877
51
106
348
815
612
295
674
563
800
413
652
617
644
617
798
873
870
293
881
86
375
882
489
170
552
412
397
963
914
45
204
678
533
493
46
790
13
826
348
127
950
414
962
453
63
380
397
922
266
238
231
855
499
516
109
575
633
334
396
389
87
74
591
353
434
956
758
995
752
81
273
663
901
594
521
343
724
521
254
697
137
824
264
906
749
752
982
155
481
63
897
751
165
894
917
176
773
948
678
848
368
3
873
98
227
931
493
960
269
763
578
201
809
307
266
58
255
284
750
44
320
517
699
394
736
904
565
116
627
782
761
29
108
400
132
668
61
762
454
604
913
554
676
807
587
287
575
322
470
983
728
371
627
404
537
241
949
679
747
57
704
907
709
3
776
817
162
357
187
493
435
593
345
820
562
751
195
59
913
572
63
395
820
60
424
474
156
659
475
288
609
947
675
303
49
211
608
339
549
269
304
873
107
472
286
518
953
480
289
489
123
727
941
692
176
242
819
355
295
385
10
494
780
440
99
522
268
877
447
498
516
530
829
44
61
912
605
637
638
628
592
931
529
679
958
366
867
550
541
19
66
8
352
34
277
814
992
490
316
788
6
234
508
628
28
456
872
365
438
608
28
502
644
533
41
731
402
169
395
573
709
182
13
820
568
305
677
176
519
532
40
66
543
35
131
567
100
941
678
126
461
633
96
967
926
637
269
681
81
344
51
589
26
331
631
145
365
38
87
536
99
405
666
281
903
437
84
115
221
805
482
55
296
956
188
905
116
278
566
466
3
952
488
980
428
918
470
684
707
233
42
137
232
852
590
405
284
834
920
946
519
221
774
676
841
790
59
547
628
990
337
852
568
520
388
948
721
537
810
544
988
964
294
580
278
409
598
660
808
898
722
997
309
482
587
287
262
946
962
689
389
236
692
721
922
43
679
652
901
99
147
61
468
381
573
18
391
998
763
743
669
390
980
923
725
388
292
189
241
64
908
197
542
828
12
636
374
610
502
615
294
596
46
440
431
903
201
214
868
600
413
680
462
150
733
851
236
465
987
450
431
288
886
823
629
862
1000
721
86
873
688
318
761
554
608
920
473
405
772
557
351
233
836
409
764
200
28
727
917
120
441
148
996
699
873
749
731
804
807
739
691
162
481
628
739
467
235
205
784
273
153
819
92
58
867
88
823
442
72
529
389
211
882
739
795
118
193
889
716
489
606
108
774
224
695
395
96
54
87
16
720
633
645
396
140
452
500
128
74
225
460
353
984
154
795
219
539
312
230
180
221
141
285
94
645
60
925
483
757
261
578
42
339
263
676
954
109
566
492
327
290
111
48
476
845
959
929
900
853
721
487
765
741
752
29
714
372
291
428
235
816
841
125
496
431
386
259
378
634
672
599
200
440
620
41
332
774
76
279
494
195
331
122
368
277
379
193
75
722
823
606
873
266
890
399
908
574
495
129
672
974
613
811
396
499
937
788
733
820
262
768
482
329
123
159
588
335
290
729
834
880
89
185
126
5
469
98
601
399
570
258
539
138
619
100
218
460
858
590
829
467
451
738
741
728
418
588
547
596
807
426
131
10
354
829
623
628
832
977
680
267
50
313
805
869
612
763
147
582
336
126
749
802
586
410
122
907
572
144
984
760
143
389
386
781
980
555
500
471
977
206
918
541
656
507
447
789
572
563
673
709
768
272
78
651
198
470
742
148
233
594
502
87
336
373
786
363
71
370
965
442
905
26
154
922
725
887
834
14
672
881
426
597
742
423
484
33
724
525
513
442
832
897
911
229
58
686
349
797
504
731
163
254
849
107
554
818
520
355
627
906
348
20
304
318
335
487
559
1
680
301
680
128
693
405
743
719
28
384
240
604
45
157
185
547
662
996
281
356
939
958
156
207
280
987
13
37
251
578
265
61
373
142
894
554
248
724
680
287
567
453
359
995
122
581
632
379
383
90
567
377
501
20
76
100
635
970
81
804
674
852
100
191
138
752
775
627
687
980
276
930
680
612
23
600
265
868
152
8
411
382
792
176
970
340
783
810
208
829
296
526
453
758
437
47
739
849
58
314
587
615
508
321
500
492
288
718
144
438
995
320
368
977
844
846
220
469
237
352
603
354
494
919
511
465
178
862
641
369
337
59
72
755
148
813
532
484
959
937
980
966
802
598
122
469
108
2
497
214
841
891
458
222
14
523
930
199
649
908
148
516
749
143
316
869
589
319
684
654
445
932
875
990
297
41
988
77
349
824
522
916
250
264
867
329
483
558
748
824
570
689
965
29
909
613
984
181
967
698
513
755
922
655
734
89
807
752
506
613
637
526
317
225
270
745
24
230
560
476
855
796
806
321
22
783
250
188
915
32
766
253
342
741
882
298
799
82
258
932
684
817
810
767
603
393
181
429
101
976
416
894
482
181
402
708
281
858
92
296
463
284
827
480
452
294
836
566
360
829
179
941
26
392
190
968
725
502
971
855
85
713
815
917
54
63
813
606
656
912
135
947
99
145
786
489
865
788
817
142
80
280
560
749
356
829
577
27
846
236
154
181
117
577
724
470
315
123
258
65
444
269
998
249
794
943
424
858
801
453
753
730
983
212
517
43
394
340
215
683
844
492
218
11
686
412
474
104
115
695
742
71
909
672
327
247
914
469
756
232
903
619
964
187
948
801
350
55
217
241
181
764
309
24
803
725
567
61
233
96
739
816
567
761
739
897
614
388
922
595
614
193
640
760
395
948
667
945
338
145
908
765
226
325
835
152
408
560
299
446
211
312
755
134
565
909
937
31
402
778
854
386
757
793
616
551
425
795
639
804
844
916
1
424
944
136
735
469
92
910
57
861
41
212
480
74
335
65
727
145
546
894
30
812
650
347
635
884
940
495
970
603
98
982
253
189
108
221
181
211
762
950
963
917
354
90
489
913
955
483
313
710
267
192
787
529
950
507
318
699
391
678
299
340
537
592
301
734
235
99
839
845
857
334
709
825
811
803
3
588
839
948
682
182
829
338
73
587
884
858
666
377
538
589
794
552
475
11
458
196
211
379
865
244
479
413
494
268
302
273
5
824
697
701
509
117
390
299
920
211
25
725
755
739
738
799
955
833
55
109
85
639
160
5
178
99
630
17
100
653
440
588
85
802
149
484
516
357
708
65
46
106
986
945
613
35
342
302
931
78
695
767
731
825
231
617
544
257
698
787
529
330
267
534
961
648
63
609
673
514
310
188
630
359
52
596
272
594
214
364
9
995
375
263
89
475
188
721
684
975
821
817
230
686
736
249
78
810
121
912
667
689
174
82
153
595
628
371
234
43
625
355
512
399
670
185
538
565
981
906
876
566
871
337
542
190
950
403
841
889
637
358
635
769
782
997
50
65
893
935
562
942
970
176
563
518
173
469
428
4
773
330
506
455
802
892
323
332
448
204
425
594
686
787
94
877
570
931
898
997
5
422
822
817
93
333
654
956
717
76
221
740
308
527
504
83
81
378
50
898
379
236
304
784
983
68
763
530
398
539
498
633
99
84
345
658
378
864
227
123
730
197
603
369
387
460
379
877
623
971
598
166
456
832
279
475
454
727
890
362
47
514
954
65
730
804
504
51
777
534
44
421
341
556
925
325
382
170
905
664
596
590
658
100
914
167
86
624
365
360
151
98
337
373
879
809
1
525
579
405
693
795
851
223
646
673
657
196
242
279
317
747
250
290
9
54
976
305
897
193
605
151
354
834
672
98
369
150
623
588
149
628
344
370
313
515
771
112
777
3
276
768
442
512
906
817
86
543
100
987
805
779
828
181
81
503
604
797
856
826
948
554
132
787
331
740
695
180
885
492
843
220
918
47
449
320
241
265
536
10
27
987
299
695
696
896
319
313
749
29
559
472
7
295
660
906
473
965
212
760
222
967
949
543
293
868
263
579
162
757
882
762
530
383
617
197
689
274
27
298
255
998
801
986
375
467
71
969
171
276
293
177
904
531
522
935
702
273
842
922
920
843
236
710
139
803
751
449
868
961
105
795
961
868
992
855
168
198
408
531
116
214
235
112
107
509
708
384
109
994
449
759
678
942
763
944
754
589
617
315
528
788
261
768
520
352
386
883
379
50
471
580
123
89
884
644
721
960
233
905
162
742
208
727
218
477
845
17
295
933
830
479
689
855
181
843
472
723
7
813
831
14
984
965
162
178
146
285
716
152
906
711
651
342
921
279
596
882
774
323
243
680
677
969
26
480
607
329
497
27
342
774
227
300
634
251
828
965
768
166
793
974
118
74
186
448
797
74
54
102
691
25
745
182
652
29
683
506
110
250
472
877
634
79
244
150
95
779
393
344
311
361
890
631
162
801
969
616
146
574
438
628
324
271
377
273
125
109
287
766
643
814
65
751
380
249
177
351
40
524
424
925
586
351
779
634
15
587
875
751
849
60
990
188
359
627
147
860
31
511
418
837
976
367
828
804
450
253
979
35
845
816
651
505
143
916
454
548
478
333
6
974
950
944
712
842
556
126
38
705
182
829
226
812
236
179
464
946
908
302
600
505
422
285
173
424
409
487
620
143
183
218
476
978
528
734
970
633
543
394
335
678
184
881
630
740
237
962
949
910
5
463
327
721
535
222
165
722
998
823
858
312
135
575
513
460
215
714
935
665
769
668
798
858
767
372
419
902
634
8
204
989
731
944
787
548
861
890
768
988
484
382
967
144
698
218
479
280
216
639
126
445
722
657
544
501
569
409
87
221
520
779
353
661
697
580
542
422
83
189
329
180
150
974
406
186
288
946
422
351
315
353
332
683
579
742
868
60
956
83
507
64
142
646
327
938
295
211
983
957
725
319
530
777
412
480
169
778
637
481
769
145
774
169
763
506
558
589
888
637
524
615
269
567
547
429
65
123
473
12
847
251
590
940
23
128
502
807
876
760
613
857
891
327
641
160
236
750
45
582
511
599
908
327
30
793
421
465
47
179
735
122
719
208
847
597
609
221
312
368
163
345
616
735
660
50
820
771
724
793
921
318
896
712
543
356
389
982
147
738
971
638
955
555
970
244
799
411
956
728
446
949
67
505
187
924
611
233
161
186
912
226
308
444
132
940
141
504
374
197
190
326
499
946
619
144
395
143
569
851
135
796
906
406
572
228
672
83
873
543
769
633
286
991
100
349
364
472
138
776
405
335
453
261
368
127
61
703
336
137
288
577
160
77
946
177
148
279
434
174
276
913
981
565
381
809
836
274
354
645
137
832
380
236
170
44
450
262
279
828
872
757
488
776
160
892
330
541
508
523
618
794
956
172
966
860
942
324
851
423
447
748
837
616
86
661
658
658
972
244
901
549
259
672
207
61
940
563
411
430
183
431
478
135
845
876
734
882
58
651
259
287
119
294
307
327
558
627
8
224
157
662
952
683
220
740
688
110
410
554
1
354
647
730
731
457
278
654
895
69
714
783
777
527
324
911
89
1000
187
886
882
282
375
55
50
37
694
560
612
555
959
525
407
565
965
814
97
190
510
29
223
763
192
368
727
523
708
506
287
588
3
758
220
626
984
296
787
793
536
553
103
151
340
236
146
4
482
330
72
20
399
246
738
142
41
151
849
727
912
237
9
151
688
423
351
188
342
271
811
860
229
995
57
684
336
376
708
855
153
133
406
257
640
628
247
70
565
754
511
647
176
152
657
311
653
505
145
383
906
715
36
284
176
498
572
257
795
930
895
86
628
468
525
302
99
540
656
471
118
272
968
57
996
173
104
594
779
516
50
435
702
627
376
728
521
156
312
918
625
110
638
8
122
935
448
317
737
78
755
661
406
747
424
361
861
97
140
67
402
837
247
526
579
968
265
29
690
505
552
366
351
648
727
551
686
933
503
576
328
38
212
956
277
632
6
190
678
800
602
756
940
161
423
283
785
369
160
270
62
422
9
858
438
569
314
659
398
349
456
651
427
69
544
440
823
332
982
999
741
899
344
751
982
614
707
19
512
868
856
737
979
152
393
478
479
314
74
89
960
583
418
591
348
453
465
482
939
548
318
273
136
12
32
460
86
13
909
690
270
695
609
696
531
206
458
126
681
287
371
926
412
242
718
502
436
779
16
224
60
262
185
666
203
758
43
45
643
33
253
383
588
367
896
883
174
82
231
478
380
78
237
466
794
363
41
786
732
670
940
357
775
224
409
402
379
876
276
757
952
105
232
136
406
507
334
250
798
858
842
817
548
425
496
165
341
46
856
512
836
309
74
73
216
685
709
696
308
706
140
160
159
209
138
103
960
642
115
40
517
989
45
296
40
683
572
311
102
63
277
832
215
598
408
335
475
97
66
122
714
922
980
506
123
253
67
484
745
376
846
953
666
29
545
315
505
205
97
263
209
264
691
125
395
103
716
972
608
414
324
93
130
150
365
205
373
407
126
736
923
645
602
29
514
389
582
73
142
373
753
503
128
75
155
786
467
207
474
235
152
352
185
13
31
35
901
804
38
22
703
621
806
568
93
854
232
504
640
444
344
381
590
704
735
386
699
672
429
499
587
110
783
121
883
278
95
396
279
51
19
28
682
353
232
719
327
843
741
136
285
210
33
830
765
286
479
375
397
689
623
557
510
956
541
54
782
936
641
128
342
151
698
654
451
244
723
765
621
282
5
156
553
709
302
883
521
231
317
659
17
48
711
497
999
448
120
206
800
6
152
224
573
950
359
94
627
719
744
881
19
281
556
945
148
877
255
205
469
27
537
939
135
529
46
701
891
974
189
927
422
111
356
59
896
678
138
729
882
429
658
848
312
851
892
63
448
679
772
553
672
581
631
639
301
713
90
875
153
794
407
168
921
655
681
487
108
734
48
536
62
985
75
497
686
533
31
504
101
131
823
538
366
328
47
414
187
258
320
585
380
430
530
239
469
593
543
315
178
750
389
929
228
942
883
841
329
754
230
686
668
950
963
855
670
477
808
95
583
751
208
189
871
794
394
107
303
878
876
741
506
237
890
988
375
684
848
827
428
566
595
691
251
462
498
327
36
684
414
187
171
252
832
729
702
253
865
158
635
774
970
26
624
453
770
709
714
112
217
280
760
640
24
227
559
589
357
202
75
691
875
822
851
15
323
810
321
487
274
685
156
619
311
400
863
521
800
20
267
361
471
142
560
728
98
349
735
798
9
478
640
88
806
326
417
760
186
485
60
929
328
5
264
502
692
141
169
204
469
379
637
651
656
509
325
207
539
426
689
149
177
769
148
903
433
617
791
317
218
468
733
649
820
95
654
53
505
77
662
22
708
990
337
167
1
165
643
582
880
1000
879
783
857
729
103
895
553
177
220
305
114
318
396
60
208
110
817
445
640
800
390
337
826
444
934
833
680
861
679
865
221
519
565
233
824
970
198
239
307
170
251
695
554
270
256
952
307
978
69
893
831
438
534
235
618
144
521
809
630
995
862
55
901
291
565
677
656
771
620
238
194
721
217
157
800
165
878
408
170
737
731
130
656
121
385
308
3
148
959
244
686
50
681
137
903
831
789
409
958
380
643
398
341
730
982
316
109
5
254
717
24
854
480
372
868
729
511
176
467
963
993
406
943
972
4
313
731
731
862
852
595
407
349
77
861
166
401
523
47
849
755
581
115
114
660
986
978
247
13
736
991
730
293
786
193
274
423
615
444
77
72
951
961
267
155
215
981
996
987
345
640
500
180
71
809
676
325
878
3
72
111
941
950
258
471
894
267
476
835
56
329
364
212
890
353
556
18
106
15
38
863
940
145
160
192
676
6
105
621
280
322
554
359
404
390
998
375
10
366
533
434
781
370
414
644
295
897
627
893
148
912
142
733
688
312
427
967
706
360
145
539
520
994
898
559
803
830
802
217
939
222
29
926
908
400
644
336
406
467
21
273
7
296
52
885
181
62
480
716
477
918
903
663
673
877
921
70
357
817
313
923
344
469
775
117
66
38
983
707
58
276
497
708
174
275
462
651
271
534
346
577
712
153
261
710
201
366
340
116
730
613
621
793
689
275
527
258
608
189
253
531
149
625
906
246
939
476
182
95
590
87
647
879
929
288
13
734
587
83
105
38
292
780
575
786
789
713
97
733
675
924
90
111
7
37
260
603
147
840
705
416
629
63
346
135
523
63
271
977
839
96
803
280
515
42
915
623
869
707
442
54
419
99
611
531
76
380
138
359
920
426
353
343
136
776
76
379
716
419
122
78
31
776
554
715
406
792
798
511
537
178
573
3
836
51
550
942
936
479
268
585
607
768
208
307
438
706
124
811
453
169
79
726
677
77
183
583
880
728
547
156
97
450
503
219
719
160
871
171
222
158
457
74
75
827
183
499
272
866
537
726
326
675
753
491
840
751
924
632
321
704
669
119
530
474
844
642
574
174
52
702
29
359
982
184
591
731
164
166
412
992
738
789
62
980
419
784
894
678
183
827
473
617
959
560
339
600
256
94
739
909
417
130
184
141
237
321
980
534
376
726
246
321
305
978
494
242
468
599
749
224
855
289
170
99
301
497
617
699
52
200
821
472
251
734
835
679
759
290
294
737
303
371
39
87
296
202
418
707
828
625
236
973
810
675
876
205
723
347
922
167
10
754
21
845
185
10
283
870
266
963
886
464
565
384
441
661
469
223
390
856
776
796
794
654
317
187
429
275
620
245
602
849
58
184
805
427
779
695
201
940
316
271
162
500
426
643
212
661
552
411
662
924
236
647
425
395
708
831
707
804
418
29
650
713
727
299
80
503
830
368
748
933
57
536
965
43
566
669
185
317
74
158
601
116
898
686
265
831
174
755
857
950
482
204
619
277
662
621
9
532
943
608
967
318
901
297
874
393
735
183
35
825
895
699
922
117
837
583
234
539
441
394
818
573
414
105
485
946
826
252
168
383
240
250
786
694
815
855
898
79
515
675
106
526
846
259
379
474
943
91
445
671
646
929
407
414
217
602
256
357
728
994
23
26
234
641
487
231
885
776
433
46
164
467
922
200
683
9
695
434
653
248
69
486
785
21
60
779
376
777
394
573
973
347
667
229
283
104
233
448
646
308
175
400
858
329
837
603
689
42
601
305
489
844
171
513
26
79
951
596
681
310
159
530
251
428
832
104
968
307
274
38
84
548
177
960
471
615
640
91
551
622
425
77
683
700
215
27
695
877
116
844
826
679
526
944
436
668
943
365
804
680
668
618
624
418
594
349
62
978
527
870
132
142
36
915
938
490
16
923
218
835
109
792
878
997
709
820
552
139
706
131
863
202
322
85
611
46
571
849
397
432
842
212
599
687
95
719
604
801
983
884
200
530
361
219
443
803
937
55
302
123
965
720
833
51
668
511
636
847
283
548
51
375
970
443
586
979
188
631
356
70
612
846
177
526
749
101
919
660
373
203
658
352
242
977
981
675
468
959
936
337
444
496
518
436
928
680
430
381
864
637
72
247
624
738
136
939
556
288
654
426
198
87
564
682
633
143
3
627
145
615
148
255
856
346
494
101
20
774
301
126
46
698
449
737
658
984
17
879
479
349
685
428
215
924
905
454
820
137
604
593
766
212
925
884
587
756
56
449
560
432
529
858
495
466
688
192
412
18
419
338
389
11
888
155
175
424
890
910
404
323
97
819
101
681
591
430
129
446
57
20
993
263
622
232
830
905
606
122
385
960
495
338
107
493
473
466
224
913
840
540
779
945
545
551
976
32
952
915
419
179
763
835
527
510
159
744
348
166
308
800
177
219
890
928
788
201
632
77
540
854
487
947
514
645
491
577
654
789
209
322
270
138
766
801
650
987
721
16
349
411
936
548
402
513
31
550
845
726
315
947
14
59
854
552
492
668
53
162
885
569
432
753
121
709
473
142
639
853
339
701
171
905
439
52
825
614
373
66
192
659
332
606
238
426
116
556
779
227
286
992
538
450
640
133
884
734
354
341
638
551
132
525
795
907
333
220
46
176
313
81
411
338
54
492
959
982
11
702
662
74
877
457
818
958
846
187
824
728
478
864
440
263
982
613
924
895
978
349
541
823
172
378
596
882
71
951
721
871
996
552
586
161
42
286
337
229
976
345
763
103
76
873
510
29
47
421
669
408
182
460
955
120
245
957
946
638
86
829
56
230
331
892
860
90
250
531
373
596
166
183
782
569
216
262
593
484
538
997
292
310
52
935
983
586
842
486
257
4
90
724
865
526
520
745
569
627
636
158
824
520
301
824
166
590
485
356
556
581
195
209
724
874
171
214
910
502
862
889
591
103
243
208
659
303
59
923
338
522
259
946
269
276
403
61
912
988
583
521
988
996
16
681
217
482
583
529
346
8
392
166
132
741
471
963
214
616
841
721
881
234
655
136
198
468
501
267
453
515
960
733
188
804
267
955
587
109
936
753
99
984
759
483
411
823
594
497
587
264
413
178
89
68
701
284
114
913
288
525
596
405
867
482
453
93
411
276
854
486
865
175
908
533
812
277
738
741
612
973
485
330
204
5
465
908
560
85
557
889
303
103
140
820
474
651
92
90
273
643
578
292
261
927
139
684
952
401
218
332
336
556
958
678
47
285
339
345
134
715
613
970
889
177
461
282
884
712
921
795
994
180
291
464
31
503
505
969
694
924
736
925
280
96
777
739
558
54
155
435
886
94
91
313
935
517
556
161
886
322
102
623
136
576
789
592
844
884
851
165
177
998
293
345
353
717
628
764
609
773
63
37
788
981
381
611
916
479
70
417
860
156
623
121
823
716
833
770
890
563
750
703
130
265
636
486
166
410
902
642
936
902
764
148
510
882
789
778
761
21
612
602
725
418
372
848
830
884
600
902
36
165
224
615
189
207
24
817
643
785
175
684
440
164
167
313
538
962
230
353
41
286
355
992
371
276
74
341
126
779
240
174
644
419
83
557
189
948
677
166
407
294
507
970
761
150
645
48
945
110
245
842
5
516
15
112
934
199
180
505
654
659
637
960
403
779
896
540
313
365
704
305
893
496
824
212
533
719
639
858
772
506
585
77
321
501
55
949
653
385
129
264
117
61
331
47
816
211
321
469
193
275
174
705
215
457
767
54
890
249
547
357
391
369
206
745
450
118
536
291
594
345
838
992
78
260
266
769
580
731
487
314
681
132
104
348
548
592
460
763
36
719
456
532
953
241
394
275
531
39
701
317
495
803
168
757
444
666
726
801
593
223
292
312
245
363
148
622
653
31
224
634
359
153
656
193
674
79
959
575
722
375
503
860
85
250
86
331
198
785
228
733
787
362
230
719
502
793
349
567
131
918
496
987
735
247
468
434
928
659
26
345
776
306
380
658
572
608
739
468
872
750
786
975
856
235
52
499
100
980
252
646
530
511
643
229
986
874
719
268
678
24
757
564
909
555
817
504
51
643
137
421
929
806
290
717
380
901
397
993
57
111
68
759
849
652
789
678
594
377
28
939
474
520
384
525
908
856
586
740
287
787
706
665
892
788
868
123
892
28
820
167
800
363
888
465
549
169
711
108
158
7
109
854
634
112
295
918
775
993
450
591
296
746
881
876
60
904
668
39
223
917
523
858
696
142
911
228
899
738
229
823
729
905
816
270
92
101
61
119
724
995
682
250
743
58
333
566
987
214
501
268
747
370
706
67
230
490
75
23
735
124
856
83
189
914
288
472
889
773
341
195
411
336
311
299
834
869
701
785
695
133
315
490
920
322
468
692
649
588
362
815
175
797
816
703
181
135
421
385
493
859
313
527
604
365
278
994
578
938
271
921
138
132
10
168
816
370
66
15
163
333
297
394
822
600
422
301
797
762
592
895
310
510
392
519
746
465
839
899
428
885
541
34
355
314
244
86
946
366
210
805
160
351
287
647
850
302
70
287
117
131
200
449
857
911
590
424
498
467
269
687
211
318
652
247
323
299
304
659
694
849
581
633
493
7
769
152
430
839
819
824
767
217
938
644
820
408
899
268
892
841
335
577
797
476
490
531
189
402
306
799
672
596
877
71
675
408
342
834
347
666
100
293
318
500
757
931
588
863
637
293
623
697
344
548
488
479
731
498
461
242
828
888
403
908
801
528
78
412
665
675
273
915
582
819
595
369
63
662
529
666
506
781
757
683
724
711
863
272
955
460
697
625
865
535
392
708
875
369
640
976
610
463
921
530
769
487
11
372
205
600
544
271
583
543
405
795
364
76
290
160
678
697
634
561
159
284
655
645
243
693
812
174
170
556
522
859
616
653
781
855
746
87
685
683
987
598
151
945
147
614
770
24
629
256
545
226
118
712
558
59
168
69
769
146
141
766
773
966
174
532
209
581
390
639
729
520
634
542
608
842
281
801
718
600
36
67
264
679
713
685
867
952
271
599
83
43
762
245
563
491
394
153
974
801
849
234
220
951
178
41
523
83
253
558
394
520
514
427
242
629
571
544
121
882
19
595
478
507
932
404
476
166
524
356
253
891
578
157
795
271
401
570
469
613
955
767
678
282
993
305
211
708
705
2
116
520
226
405
767
18
901
191
867
489
673
483
746
987
708
882
30
551
595
619
88
24
94
152
272
328
132
541
859
934
733
390
364
886
852
308
869
759
884
632
428
658
435
113
242
2
298
987
923
269
92
35
161
8
197
280
456
274
433
844
125
1
60
272
322
483
430
391
418
883
531
44
115
359
823
181
511
480
58
434
67
184
80
89
84
824
27
31
289
899
609
755
549
443
503
253
563
146
581
477
790
1000
349
576
909
68
397
680
803
964
982
24
578
785
822
597
945
57
586
262
709
829
105
994
599
857
511
278
313
165
429
348
19
953
700
561
488
166
897
665
997
950
406
102
760
227
720
69
180
669
507
255
31
984
410
786
138
970
555
584
80
813
720
545
148
885
524
329
289
937
493
694
911
319
650
610
631
828
337
459
26
989
722
791
375
186
869
478
71
433
660
858
193
423
402
776
154
518
347
18
248
319
133
623
13
426
629
554
498
65
785
674
858
663
735
444
942
269
234
389
319
373
423
80
559
59
256
727
12
690
477
912
715
568
323
871
388
161
97
72
205
238
44
618
815
34
862
679
57
924
863
307
777
523
844
335
925
412
984
606
509
287
744
844
644
725
556
579
963
82
11
283
846
32
865
162
612
68
185
295
289
325
995
666
858
412
219
762
670
737
706
2
809
492
119
804
473
100
283
658
172
898
377
891
4
492
382
645
314
913
977
908
76
451
945
839
265
410
625
502
885
214
510
261
240
400
139
45
778
242
79
14
549
806
763
652
969
193
693
25
988
830
47
142
740
312
307
681
654
988
621
82
494
2
190
349
76
217
572
410
389
684
54
351
651
477
654
169
792
804
33
337
615
848
644
87
996
611
859
762
931
787
686
768
391
660
175
662
650
881
761
761
433
460
909
401
330
690
564
357
487
943
922
919
861
513
569
56
942
198
726
980
772
59
373
866
565
478
862
689
611
212
177
132
412
523
469
944
524
173
903
841
296
459
428
889
369
505
500
717
873
981
950
448
390
643
875
898
511
129
491
230
966
189
409
324
789
951
431
46
640
364
182
429
469
702
777
527
974
880
711
585
823
629
935
685
503
377
476
616
242
785
140
288
508
709
798
678
530
208
547
277
543
720
768
710
437
757
720
647
197
119
795
623
458
700
795
276
568
741
905
973
769
470
728
15
87
872
642
825
479
70
933
558
302
14
897
26
194
686
94
861
534
382
358
600
841
9
822
698
680
74
468
628
9
725
754
990
997
998
704
592
46
731
971
256
564
524
806
175
510
92
515
921
703
160
923
14
641
324
8
502
351
687
166
933
691
626
944
593
917
750
320
990
118
491
818
775
794
295
951
12
133
946
58
645
825
922
242
792
411
747
766
484
867
90
849
292
719
916
925
750
469
740
333
816
714
500
140
660
270
845
392
879
381
816
215
745
389
24
636
377
83
626
697
585
541
841
335
838
696
502
346
426
536
617
114
964
568
3
197
871
430
181
376
294
818
665
39
494
873
104
358
742
839
982
915
349
322
600
164
895
504
719
231
378
824
152
169
892
702
390
745
409
956
960
149
927
922
632
631
744
427
176
445
121
570
942
638
843
46
226
555
183
896
5
970
527
933
19
75
180
119
174
120
53
49
836
743
459
191
416
762
823
352
835
145
128
351
470
165
310
617
402
125
346
792
486
525
997
29
133
566
389
657
243
999
420
406
867
86
387
336
140
875
767
910
446
868
411
377
959
886
977
177
151
136
273
690
114
162
221
701
595
98
552
356
297
309
937
656
996
738
423
888
15
648
582
815
757
981
786
46
551
882
600
677
536
17
703
450
379
960
525
956
40
839
973
990
819
579
923
578
658
580
538
653
294
497
163
564
715
595
294
499
681
77
32
522
45
860
239
155
521
1
55
37
65
669
948
129
768
109
173
490
763
398
167
97
467
898
240
327
453
250
259
131
75
438
832
924
928
700
271
866
579
195
78
33
240
781
980
890
877
522
299
220
263
12
381
442
129
673
560
397
801
277
267
468
353
208
242
367
564
304
431
167
681
262
858
949
308
802
348
241
666
729
403
23
728
70
755
389
621
316
932
638
246
665
315
876
963
85
695
445
250
16
139
377
748
146
867
551
119
458
874
883
912
707
214
607
974
638
544
14
11
116
219
178
518
720
684
135
357
517
285
818
207
181
518
17
658
830
533
283
144
746
601
266
109
410
233
297
452
616
930
302
49
780
902
960
485
617
63
246
954
24
732
895
575
506
62
648
950
171
506
169
319
956
942
482
379
698
481
347
531
688
632
143
645
239
259
185
971
98
705
85
931
211
409
664
480
828
389
377
299
136
977
175
838
389
158
709
430
388
974
155
189
450
927
347
866
671
874
637
258
265
58
280
922
467
424
774
733
783
246
345
782
523
612
64
704
902
66
225
193
305
141
439
491
46
574
133
801
758
247
147
41
556
307
460
9
45
403
981
972
144
918
614
642
192
855
547
679
385
809
247
391
789
962
964
300
838
419
584
341
741
509
885
949
632
502
159
23
516
287
3
880
440
463
222
290
653
711
403
356
849
341
956
941
130
417
403
798
753
379
706
612
353
554
568
857
779
797
48
642
410
362
702
903
123
283
450
740
887
6
975
297
511
304
874
845
294
747
941
639
281
192
254
642
599
739
200
194
530
814
76
420
723
21
969
754
518
912
727
829
303
67
979
184
705
176
152
215
347
224
338
269
817
852
918
234
236
507
558
408
138
282
192
814
786
470
394
485
223
793
245
848
669
728
76
276
510
302
701
919
488
230
538
554
626
583
322
252
770
588
945
469
815
29
143
761
35
834
414
565
177
712
207
900
439
745
532
414
553
259
602
948
192
256
194
726
3
519
430
805
129
497
516
587
930
482
138
357
9
659
152
836
803
929
784
523
11
828
800
881
353
208
505
569
326
869
19
764
17
447
977
648
97
231
158
224
904
527
435
126
13
144
255
852
747
466
931
374
190
346
13
73
654
728
320
39
422
676
370
123
320
2
154
45
585
908
885
340
690
474
18
391
7
212
619
625
836
103
610
565
493
972
351
923
998
645
927
536
248
867
869
299
441
928
251
802
213
697
714
963
896
885
59
655
102
407
220
38
378
215
283
651
442
684
576
618
890
755
763
535
145
587
634
372
796
229
171
185
196
732
535
307
405
770
267
889
940
855
855
805
664
987
520
366
240
7
191
498
582
328
965
154
384
711
383
164
419
233
333
579
90
364
154
296
91
818
514
960
584
598
581
372
415
588
726
934
433
791
664
953
150
194
940
82
560
439
807
406
440
661
986
364
80
504
58
588
452
310
897
337
316
359
122
876
776
378
933
828
876
416
511
139
945
414
770
785
27
840
3
224
727
10
173
899
424
805
116
57
716
411
883
413
649
858
546
174
655
59
750
295
366
278
348
960
564
765
659
305
780
400
66
252
373
485
340
85
510
544
395
6
565
877
139
257
733
180
487
987
762
119
993
639
69
145
568
872
706
844
208
285
902
952
118
539
861
34
424
866
568
634
27
476
79
487
15
265
647
462
91
888
70
910
823
372
354
120
413
335
229
626
280
78
275
813
689
928
688
85
581
56
894
646
642
555
176
356
91
738
908
160
533
215
629
146
299
513
225
26
390
783
234
10
141
80
797
851
679
833
646
206
16
937
40
839
651
719
548
312
124
541
68
603
763
34
982
317
916
108
554
589
118
730
724
112
457
489
409
945
555
432
137
789
166
840
225
538
647
761
500
463
562
255
906
470
359
619
248
197
838
515
498
152
247
689
357
159
820
446
378
857
369
852
879
822
796
876
978
749
907
333
387
743
346
867
175
863
163
862
152
165
158
339
442
451
182
135
923
605
569
448
696
250
851
527
757
900
740
13
821
135
64
646
468
128
311
889
106
975
268
548
479
874
346
171
347
508
523
5
160
321
492
617
904
67
237
677
779
156
278
632
53
829
124
640
396
723
486
777
896
638
874
557
496
201
662
532
249
718
976
381
758
188
42
251
957
857
285
759
497
328
708
874
195
131
601
390
438
395
543
833
464
193
898
346
876
694
631
237
463
478
164
236
152
96
931
745
935
567
112
577
732
657
898
780
26
898
387
534
768
468
395
891
436
76
855
462
553
769
687
15
970
866
860
820
221
394
699
943
143
202
77
572
78
472
419
529
295
947
502
883
163
996
833
650
854
613
989
113
380
801
312
131
44
921
631
208
1000
956
879
519
76
435
429
22
205
278
992
183
275
48
610
531
592
111
847
83
863
443
732
379
160
816
918
667
910
500
940
976
874
200
297
720
263
140
912
778
784
734
679
267
149
763
396
486
59
388
33
141
787
326
781
664
984
479
643
875
936
141
432
245
811
92
455
948
792
577
765
141
589
824
404
946
884
953
277
963
896
28
829
700
190
687
126
753
513
968
392
980
19
512
202
742
173
38
218
576
584
204
858
321
808
428
450
561
182
812
648
322
533
475
783
312
446
793
246
657
182
554
193
785
53
60
723
610
754
75
25
34
949
374
96
699
406
409
15
249
245
302
290
888
812
337
52
774
616
281
77
623
141
217
697
982
637
659
730
351
606
926
455
357
57
934
845
965
768
822
630
883
365
466
318
723
473
157
770
396
942
852
229
492
53
152
952
199
783
356
187
992
740
520
4
868
670
572
142
987
253
378
697
414
741
468
878
415
17
327
600
527
617
420
263
242
304
244
851
277
344
47
38
229
26
732
36
126
885
939
271
201
86
659
999
915
588
156
260
652
171
925
788
455
712
939
578
824
582
819
354
375
617
408
982
214
137
304
997
304
142
203
314
833
106
397
124
555
928
330
742
546
273
286
356
517
434
851
402
441
896
508
611
828
540
115
958
946
693
8
325
668
233
991
423
411
57
524
92
398
53
333
317
221
75
245
199
778
636
860
349
582
520
917
898
732
535
570
175
425
15
547
511
694
591
506
426
476
393
611
776
914
354
560
325
133
547
294
291
780
586
502
371
896
235
389
267
544
604
96
510
617
793
57
389
606
618
166
882
906
4
907
974
487
778
645
58
446
239
353
224
9
87
95
832
559
636
792
315
454
291
611
344
147
160
830
620
218
532
868
317
150
20
838
118
174
288
254
299
838
104
514
605
397
701
1000
164
77
126
924
507
562
268
949
240
802
839
226
469
941
941
261
475
372
156
133
29
838
560
944
160
787
457
958
335
991
690
539
378
75
331
494
866
269
416
496
511
807
987
309
842
134
107
153
948
458
520
935
25
168
887
734
502
510
611
433
364
331
354
556
777
34
963
381
881
538
194
201
122
184
561
922
496
933
924
860
886
814
470
431
249
478
92
180
980
968
966
673
187
4
957
278
908
857
188
831
634
364
58
101
397
460
82
577
894
647
43
491
951
481
673
430
441
355
1000
360
373
818
151
779
587
60
251
722
441
670
884
646
819
72
106
577
133
14
595
344
642
767
341
533
783
443
745
853
908
345
769
765
795
918
566
269
545
840
757
43
932
410
754
156
680
993
977
90
920
993
535
316
762
966
812
643
269
773
698
517
413
296
306
508
318
626
966
487
728
23
391
300
771
949
633
131
725
568
791
141
25
100
273
62
320
678
308
998
637
595
319
16
449
937
27
198
968
446
283
863
49
698
581
663
694
421
977
282
827
430
853
831
363
175
1000
603
10
286
158
616
119
525
216
740
193
36
168
493
355
792
596
703
942
305
336
407
109
690
931
112
598
177
230
350
613
304
579
496
310
443
467
386
493
488
91
732
806
738
969
646
910
170
893
343
452
161
209
765
766
968
534
850
217
742
374
356
73
44
84
458
273
717
17
70
724
725
542
784
182
149
624
223
938
202
523
370
734
259
736
207
466
161
234
184
921
959
699
541
457
171
690
680
545
570
180
229
470
891
874
365
620
946
536
599
960
507
602
167
232
311
638
471
161
464
172
68
718
438
272
807
930
934
127
131
253
920
691
519
796
733
296
541
788
419
267
595
173
609
164
333
935
557
855
274
633
669
592
260
329
101
730
60
805
811
67
268
824
233
85
96
587
181
636
39
89
672
439
776
586
343
344
326
237
685
851
969
285
432
825
461
992
275
444
245
957
488
118
57
438
118
253
836
912
331
249
77
680
316
743
987
894
672
343
168
129
263
169
61
552
853
672
293
863
470
522
205
811
308
355
435
572
287
518
503
671
864
495
383
33
971
770
510
411
152
825
572
124
852
764
219
842
17
256
47
883
123
517
975
308
48
588
419
962
304
181
277
80
344
304
918
483
439
611
834
824
565
13
223
787
862
251
137
550
667
387
90
159
912
720
902
655
387
224
411
156
395
121
484
947
948
35
857
497
588
917
173
745
15
425
837
649
416
527
452
906
283
954
26
760
365
523
872
577
132
954
392
279
147
162
226
753
698
703
920
349
876
261
213
411
916
11
152
827
231
301
446
971
598
634
145
881
401
152
651
231
694
256
6
470
637
647
362
817
292
293
376
673
581
280
972
159
441
153
972
229
704
563
184
874
777
478
243
975
277
905
604
383
288
828
350
79
606
257
342
383
793
85
452
845
346
732
733
589
111
547
823
459
55
677
451
459
185
565
183
156
975
534
979
611
371
243
923
625
521
968
782
619
546
998
904
51
949
251
300
550
841
429
833
878
809
703
352
796
381
203
843
226
6
473
254
548
97
288
728
823
69
110
861
122
12
711
522
636
514
338
932
596
808
368
245
251
40
105
616
778
778
408
99
338
278
750
777
514
858
869
776
881
808
292
819
592
376
146
787
829
644
551
276
560
723
231
666
28
119
400
478
929
682
889
317
756
348
416
861
32
35
508
147
145
356
422
856
750
389
722
810
30
318
746
416
131
435
875
449
186
448
440
528
446
927
834
603
333
870
246
421
67
751
373
300
860
297
865
56
923
521
189
141
177
965
857
76
126
338
418
106
739
488
641
95
397
954
52
86
293
434
423
634
75
827
529
597
531
959
138
983
140
172
124
921
484
755
214
510
186
526
793
179
862
25
867
296
1000
721
277
912
997
770
314
823
534
659
697
380
299
848
299
650
86
837
230
468
97
979
782
657
386
473
935
539
619
272
656
943
955
712
744
51
663
207
167
362
892
528
518
824
211
876
630
940
353
30
379
448
88
318
144
545
757
456
122
548
650
972
934
803
205
29
26
952
197
499
424
56
787
254
725
568
288
65
923
830
188
936
788
106
954
999
758
456
823
850
899
555
420
398
328
432
192
838
491
729
969
997
9
929
568
620
705
953
543
926
625
823
569
521
904
95
826
925
786
483
553
80
955
765
848
441
37
945
463
501
588
755
683
341
331
164
722
743
43
885
484
362
554
251
633
472
584
268
686
379
179
135
26
871
403
966
332
87
234
864
825
899
607
339
659
971
445
171
412
254
304
912
177
926
388
643
640
214
976
553
123
451
432
285
778
899
15
530
670
645
339
580
407
301
408
192
54
706
609
990
362
213
373
502
176
295
252
69
103
710
646
811
942
137
192
475
632
471
315
448
399
917
312
535
177
334
671
295
543
598
220
195
358
568
241
249
403
989
89
508
629
435
384
384
425
679
241
942
592
329
859
261
985
370
300
404
357
389
34
330
66
295
597
573
405
582
985
956
791
626
160
660
504
9
54
296
865
45
294
218
503
820
730
755
859
744
157
658
435
303
377
354
165
958
961
50
147
88
118
662
610
58
481
169
708
301
772
989
170
232
435
801
568
904
213
818
339
487
220
521
537
414
838
452
978
21
304
491
415
488
521
626
823
710
544
663
171
134
263
281
669
265
418
329
334
609
891
410
392
633
237
313
522
123
79
903
2
508
973
361
701
332
168
200
701
14
533
929
750
555
675
992
225
989
128
555
76
486
430
740
459
125
270
34
325
114
378
926
616
70
462
723
683
21
977
780
445
48
602
961
725
285
418
467
863
578
240
768
783
984
476
820
841
632
744
613
173
525
580
823
997
764
391
541
641
750
640
809
445
554
867
968
874
355
594
863
61
816
88
172
231
60
440
333
889
431
433
430
611
986
386
568
852
245
237
33
699
991
427
436
258
758
978
301
550
375
293
784
701
863
554
139
747
369
65
869
845
984
975
607
463
11
270
363
914
216
708
991
894
419
316
486
142
114
842
221
720
617
638
591
892
679
309
379
177
300
335
115
287
45
980
592
347
689
176
843
477
687
811
299
172
673
575
977
23
159
610
500
278
486
56
436
228
409
886
114
920
875
374
799
147
830
479
177
172
336
714
691
844
576
846
8
1
891
670
814
843
818
506
648
752
834
371
666
438
780
335
595
48
577
781
98
369
474
373
680
629
750
18
59
690
49
245
393
14
394
184
406
929
286
897
297
198
306
15
656
532
949
401
644
214
691
924
415
980
712
68
203
896
797
753
265
562
676
8
754
29
755
991
321
70
636
605
342
946
126
65
597
588
288
606
450
868
872
537
305
784
902
880
515
901
662
124
230
284
959
912
733
528
581
532
14
683
588
422
368
263
348
922
832
562
108
529
609
771
385
952
658
664
18
708
725
194
617
880
828
17
874
286
452
46
69
227
550
85
463
886
274
45
141
843
655
703
495
85
63
634
118
882
340
861
612
864
524
516
990
553
631
522
352
173
576
499
331
425
715
738
779
342
838
266
381
27
69
696
527
922
621
890
492
486
364
785
976
214
749
509
880
958
866
432
635
738
987
43
498
565
557
624
246
258
585
971
193
180
85
7
75
761
473
294
302
398
774
772
924
946
618
491
9
222
394
718
701
570
230
509
574
946
579
288
423
126
69
542
270
662
169
595
755
858
409
20
641
713
97
776
814
506
331
564
250
420
35
288
396
433
595
512
814
474
451
95
379
544
997
714
469
801
481
157
697
811
130
50
101
815
377
328
783
469
574
587
259
563
669
488
316
791
228
512
486
49
57
31
81
971
647
146
243
547
342
586
542
600
745
396
137
277
511
376
301
136
374
217
136
737
805
561
282
213
162
830
293
663
874
805
211
800
675
25
929
614
98
139
414
949
275
762
796
456
83
566
870
451
57
352
941
471
383
845
267
196
938
774
391
333
763
379
594
202
136
448
805
762
873
636
656
62
567
15
838
261
765
994
301
312
985
714
282
995
494
198
427
234
256
941
728
181
336
966
93
860
866
311
963
780
322
428
934
482
844
804
454
505
593
598
536
722
348
624
842
305
913
369
337
346
809
800
85
541
144
370
105
681
978
21
49
957
765
11
150
965
642
847
790
315
979
621
90
527
740
993
589
785
827
300
498
440
165
33
743
314
96
160
930
390
743
746
506
566
527
2
489
110
267
92
183
326
118
992
501
100
573
428
287
669
951
558
614
692
252
447
38
738
772
180
517
693
468
526
255
589
344
86
839
651
557
707
537
726
905
770
498
83
280
507
633
478
35
631
589
727
27
275
265
560
208
833
663
907
440
438
434
915
869
272
18
144
904
207
642
574
535
614
340
620
365
106
402
971
503
409
446
646
403
518
271
418
19
703
975
458
957
752
514
681
22
38
35
365
71
116
539
145
424
690
606
587
385
75
643
198
286
502
274
673
147
2
665
496
421
170
845
233
195
990
741
446
683
988
91
217
751
841
912
301
189
431
271
214
179
277
948
23
162
162
516
449
471
202
981
470
554
554
35
41
705
507
321
6
666
1000
570
262
607
291
704
150
919
540
645
107
461
687
421
106
193
937
650
266
740
134
218
940
735
182
159
955
883
450
964
730
599
615
304
384
823
886
900
523
2
590
310
708
792
610
643
651
229
529
657
789
666
496
806
267
634
642
752
66
409
359
738
617
436
503
631
352
243
266
721
782
935
560
293
225
338
259
228
479
384
69
835
679
255
633
491
712
660
913
726
802
601
901
141
2
940
603
575
761
255
647
967
624
799
265
109
453
331
248
930
855
540
999
828
965
553
562
49
905
815
337
91
867
954
363
937
527
300
530
27
561
308
723
702
721
691
741
791
505
898
388
153
120
234
493
41
945
724
127
678
830
486
506
362
173
203
902
846
708
23
86
457
447
153
859
431
364
284
701
567
470
931
324
569
977
687
66
323
284
841
812
549
23
463
553
67
788
684
411
631
5
517
628
806
132
195
397
625
265
27
215
44
173
747
174
484
682
422
99
400
39
273
969
328
148
742
610
855
600
679
602
154
875
276
508
183
118
337
801
403
370
917
307
491
530
381
541
346
285
385
393
516
394
384
101
51
144
211
135
364
402
220
165
114
167
540
159
791
754
425
747
916
659
450
174
245
37
159
727
264
765
587
147
502
883
972
195
975
691
306
693
627
443
119
454
99
87
918
617
625
931
495
113
554
938
943
970
442
944
897
749
132
528
382
807
288
217
319
996
311
598
205
746
588
791
196
610
159
202
1000
951
35
639
27
34
52
627
394
502
227
44
285
418
453
205
290
728
519
878
373
155
420
392
48
494
445
605
916
584
744
66
372
874
942
262
140
118
407
511
946
546
713
431
747
712
804
157
809
549
421
456
448
519
934
234
904
45
851
950
218
333
426
108
97
907
447
226
993
636
969
311
133
567
964
206
983
310
399
311
974
181
768
417
167
92
246
858
523
107
984
571
622
430
94
380
108
249
760
33
833
411
81
46
111
686
252
976
476
905
719
181
974
796
887
977
698
679
518
881
648
613
44
333
981
772
897
937
469
976
482
895
604
80
647
76
111
417
740
134
448
396
900
21
907
808
612
595
503
516
4
597
518
294
629
245
493
382
721
184
983
491
64
781
749
611
673
78
83
914
182
306
977
756
472
383
589
391
527
19
9
251
678
143
780
909
954
554
225
661
518
745
52
472
240
221
364
298
85
210
231
680
322
284
646
87
942
492
401
3
560
623
220
113
996
879
899
129
601
570
547
783
827
512
699
422
138
335
317
819
58
89
63
522
480
886
90
802
664
186
188
666
675
504
705
138
512
725
575
510
397
695
442
171
186
364
715
865
410
564
958
404
744
113
693
626
138
185
745
590
767
140
177
827
136
271
401
715
893
299
549
806
101
151
302
603
632
708
514
396
940
126
47
731
382
525
367
69
739
982
559
759
626
749
399
194
423
148
991
927
308
901
957
704
651
993
80
738
870
767
420
579
863
885
263
408
446
361
873
39
783
320
735
872
282
279
920
292
652
42
210
824
296
296
570
542
836
294
384
938
848
524
222
587
170
676
813
123
52
363
596
431
984
620
867
261
478
239
776
120
995
75
324
818
9
196
969
580
754
170
56
578
647
594
956
949
201
532
836
97
154
647
54
343
666
823
833
73
407
503
907
244
655
727
72
117
630
394
343
551
328
384
696
769
555
884
79
349
104
853
817
148
327
59
415
889
741
391
207
670
734
229
61
516
519
62
817
850
430
780
837
327
7
171
750
544
305
506
283
876
344
796
377
297
856
538
840
784
897
96
953
42
689
32
921
297
771
196
301
906
188
98
863
465
86
185
402
31
875
927
58
929
62
531
624
290
36
961
984
78
267
157
706
584
41
927
963
114
841
717
267
267
652
518
47
131
339
400
371
479
106
534
867
462
591
988
448
804
983
898
496
504
408
240
324
723
1000
862
778
968
923
224
759
383
152
502
968
508
9
821
858
317
393
410
475
949
505
486
144
916
360
464
906
154
519
418
818
218
679
229
134
645
883
398
939
305
99
771
328
122
573
654
144
317
978
305
285
405
246
665
470
95
422
278
360
653
812
968
357
928
215
761
877
49
891
126
284
707
508
583
299
199
978
722
800
976
833
595
12
575
197
661
915
70
98
224
261
786
690
171
27
880
51
200
296
332
83
679
746
976
589
115
686
312
195
324
767
703
355
130
256
752
735
382
376
347
599
897
49
909
356
894
130
142
801
160
466
885
416
439
878
407
18
681
166
976
130
971
22
790
462
928
511
998
403
279
640
242
134
393
874
860
923
381
227
764
504
796
729
178
918
217
502
463
535
160
520
613
864
515
869
77
354
80
384
495
40
856
377
267
862
226
683
308
838
867
412
283
902
69
634
328
181
62
902
544
467
662
130
171
383
268
592
482
623
354
409
140
212
808
694
355
621
652
972
891
327
531
756
646
290
733
618
520
729
931
126
774
938
714
940
731
951
913
290
199
948
280
729
604
119
756
294
456
911
246
800
841
266
746
78
341
381
613
595
666
442
31
806
589
205
384
349
308
278
131
38
701
264
927
967
412
819
533
871
323
545
646
698
778
855
310
204
26
715
223
227
589
144
85
285
994
140
657
536
163
945
507
158
776
358
870
75
642
372
258
817
601
95
321
286
39
938
335
109
82
822
553
593
634
652
303
81
834
180
165
76
474
605
138
945
640
186
819
741
567
360
982
846
939
366
791
38
371
85
200
296
736
741
529
105
898
21
940
166
893
961
937
836
540
599
378
754
677
670
315
181
301
980
676
375
11
407
611
41
319
615
670
758
958
112
240
364
976
253
862
294
663
758
321
586
236
490
824
941
112
631
287
989
622
803
482
271
426
77
710
722
496
409
336
374
621
33
903
50
379
722
195
819
400
961
175
142
56
909
683
258
540
734
110
824
397
881
81
425
44
490
919
244
632
573
238
397
378
306
900
541
470
479
215
181
332
116
152
52
726
783
982
373
387
773
669
873
502
89
898
92
168
251
517
253
22
5
211
956
127
621
300
391
130
721
438
101
507
657
203
857
218
306
577
431
914
5
759
771
345
497
230
153
718
992
420
249
807
71
701
565
165
718
465
393
190
902
110
45
111
757
77
903
695
755
238
85
185
453
689
631
177
570
933
189
117
784
681
712
86
263
168
595
384
77
125
386
588
535
597
376
749
365
947
777
67
930
911
633
537
988
683
771
538
986
713
24
838
549
123
636
806
171
262
942
78
462
658
695
821
231
849
641
199
886
781
875
718
655
778
834
881
311
437
872
907
561
540
8
537
223
126
899
789
425
611
405
678
79
35
125
707
789
863
715
979
608
981
989
417
163
854
799
927
32
311
985
171
618
618
61
217
307
984
583
165
569
830
598
490
821
179
868
826
765
270
15
870
768
125
777
363
249
25
903
152
985
613
684
428
745
517
419
407
64
179
243
307
384
402
79
551
740
987
834
469
199
733
241
757
313
753
466
569
733
321
829
45
439
960
847
129
354
95
707
67
115
234
265
663
150
74
334
379
683
864
461
345
493
851
180
69
288
735
617
775
95
660
784
390
548
37
129
246
622
431
925
190
322
365
679
504
169
789
734
86
444
28
522
537
986
42
56
122
871
714
785
327
960
701
262
662
152
827
426
11
344
243
572
825
976
897
860
856
521
741
382
881
234
635
107
753
780
22
93
11
466
951
842
735
607
306
528
466
386
253
616
758
160
646
163
205
902
661
254
388
791
484
555
44
650
717
634
442
777
520
298
598
44
46
144
48
828
126
617
907
570
673
53
460
659
859
867
200
587
704
861
848
832
449
489
434
699
305
601
769
564
995
918
708
599
325
660
184
59
858
983
681
190
315
211
640
745
726
931
630
309
148
409
341
80
756
165
297
68
415
298
657
910
851
577
152
930
240
754
283
221
941
652
374
781
810
169
127
794
860
61
37
527
198
963
781
304
1
249
704
46
674
920
525
128
223
686
959
971
636
411
269
653
999
244
289
123
858
171
504
814
564
757
879
274
380
5
192
733
272
484
68
205
345
522
982
268
141
590
688
470
982
45
404
186
133
954
982
559
53
346
730
81
923
15
742
1000
911
401
637
952
791
318
399
987
884
341
40
836
242
826
13
279
220
607
858
855
838
842
850
515
350
511
444
931
265
417
104
989
994
347
584
517
281
54
713
185
280
706
167
685
901
25
664
612
397
840
58
332
700
482
15
839
350
353
217
237
946
30
307
229
339
334
513
58
779
804
600
675
39
974
384
583
708
268
173
46
996
532
54
683
232
476
197
72
567
54
879
209
191
114
766
982
47
531
872
889
588
542
652
918
785
798
445
875
646
868
540
147
183
172
681
579
248
915
260
721
500
86
627
526
198
850
515
598
363
81
552
441
164
433
800
949
223
556
246
262
879
858
556
476
970
814
250
932
883
701
246
453
13
95
195
266
477
425
86
646
57
850
889
379
904
726
241
753
552
843
830
122
598
691
118
406
230
803
49
676
829
860
348
710
220
148
634
22
648
829
825
575
826
167
398
972
929
560
818
223
858
23
177
243
622
621
866
548
305
188
315
323
907
534
405
392
672
443
581
621
977
200
351
387
744
230
125
583
647
910
566
812
421
181
770
980
649
844
411
184
682
919
723
856
836
754
622
257
268
266
911
653
547
116
923
574
967
18
502
214
225
29
381
168
645
934
962
784
201
101
551
588
691
445
984
575
468
529
275
377
821
990
258
851
777
459
488
847
824
931
835
677
205
669
421
409
829
378
807
3
7
725
978
319
66
866
759
507
398
37
289
938
342
113
571
905
656
797
846
348
398
856
700
827
827
864
720
152
685
179
864
775
236
979
828
542
586
440
926
616
683
152
271
795
739
49
219
546
15
590
600
45
888
206
807
161
751
826
708
336
154
99
174
516
650
498
784
959
447
274
954
631
737
735
897
950
968
652
667
831
127
233
927
445
967
147
723
754
451
858
663
440
306
422
221
604
166
36
100
93
472
437
296
709
742
176
474
652
38
844
799
41
990
503
5
212
490
970
262
995
492
643
795
425
66
217
329
662
419
123
237
836
824
170
492
819
939
633
306
955
994
301
202
540
366
652
434
438
573
401
713
242
513
530
729
549
308
780
667
450
979
244
137
262
813
162
619
751
936
696
489
170
790
511
34
968
178
162
529
208
896
39
358
155
801
891
616
434
809
135
143
688
915
709
117
313
576
137
604
868
587
529
537
687
323
751
851
573
838
81
527
455
182
14
767
695
502
27
427
671
919
375
865
276
198
854
961
998
657
349
934
82
639
768
623
688
380
249
653
131
464
946
593
227
772
219
842
767
683
169
544
594
90
224
142
923
31
341
259
139
456
551
676
532
288
712
943
318
753
764
593
960
394
437
835
338
693
190
451
929
54
16
94
341
657
996
593
621
638
597
838
717
718
457
416
685
888
79
159
702
641
259
679
772
971
864
755
343
214
605
65
130
300
629
582
342
422
401
526
244
314
721
109
543
366
275
388
288
762
331
369
897
109
668
673
347
110
248
364
90
810
368
478
40
910
537
173
784
883
59
304
468
528
585
543
788
880
794
479
204
489
642
120
427
527
874
57
294
553
66
875
175
775
357
719
513
794
775
280
866
953
697
167
156
17
639
65
224
585
208
108
923
770
721
951
529
114
160
722
411
113
202
308
66
395
231
156
328
427
441
41
821
839
614
57
240
467
412
192
476
310
211
257
611
875
724
151
472
557
142
876
585
400
683
625
378
957
786
701
835
765
862
744
9
976
451
538
109
93
422
769
779
858
632
322
349
219
626
184
230
565
827
913
338
582
10
958
413
782
36
19
993
413
379
594
467
694
628
290
300
614
871
804
478
251
540
410
54
823
924
792
529
629
886
818
334
570
929
767
911
919
524
633
944
123
457
453
871
430
697
759
24
684
715
332
477
950
404
878
42
165
493
700
463
722
762
414
362
880
785
719
66
360
528
40
555
499
398
526
842
518
267
125
770
774
497
896
129
754
476
662
391
34
248
505
68
500
643
915
493
742
688
574
386
594
439
317
785
782
134
142
411
24
867
680
688
327
205
504
886
654
626
61
410
915
580
717
431
612
106
245
565
959
651
302
873
296
7
401
984
294
132
185
345
545
112
441
301
901
264
975
141
905
117
671
207
671
621
6
769
850
205
104
34
647
373
415
103
306
783
371
363
885
738
591
742
554
164
591
647
675
887
582
766
562
306
434
158
675
475
169
621
697
479
408
758
513
319
85
25
922
899
78
888
339
22
438
503
855
314
297
400
704
750
77
998
366
265
795
233
121
537
273
907
977
597
977
75
490
911
801
347
861
904
56
344
60
356
518
876
615
278
381
994
647
723
667
498
560
110
252
74
257
366
509
974
590
293
119
281
117
48
190
541
449
810
155
58
563
446
375
370
277
775
2
873
675
178
364
449
283
569
121
759
81
359
192
982
962
611
123
808
449
104
107
453
612
873
376
265
17
658
325
944
748
373
23
532
692
562
997
492
549
663
466
326
129
31
844
640
910
732
841
459
211
478
883
420
877
507
915
152
437
270
903
360
448
60
567
573
522
688
868
481
888
993
290
190
416
381
131
835
51
245
979
600
369
16
436
996
842
321
629
142
662
853
605
576
428
968
184
262
566
211
262
154
235
226
425
354
880
938
83
995
679
580
110
228
175
872
798
878
140
276
773
454
409
675
678
499
462
212
680
25
207
958
729
439
461
723
372
899
770
876
606
645
690
922
882
547
648
269
94
138
87
241
931
796
689
349
129
338
241
114
350
688
748
772
712
371
179
517
688
725
821
82
278
160
264
769
951
790
162
802
447
400
495
933
443
453
642
681
140
269
273
354
664
755
55
847
845
34
405
138
296
724
780
589
295
369
914
826
148
534
542
724
179
780
646
262
272
936
272
913
738
408
610
357
309
452
576
196
141
112
355
526
16
693
149
982
263
194
50
566
114
56
22
534
334
22
689
949
432
642
394
223
368
421
543
363
582
932
503
621
4
655
332
227
320
19
427
672
630
723
499
474
241
303
879
362
841
850
447
946
313
510
477
856
416
489
216
801
925
826
584
856
527
190
948
190
128
122
437
846
96
725
714
300
437
462
870
452
815
101
657
319
880
412
376
227
112
190
834
765
54
101
116
245
38
25
207
985
252
660
300
779
157
527
952
50
291
675
323
354
172
362
262
406
367
771
460
386
298
63
412
194
761
705
108
431
918
801
654
389
719
371
320
735
348
800
637
46
350
33
345
548
587
569
579
156
428
667
775
564
257
566
984
149
134
719
218
854
390
969
502
608
684
842
271
902
889
832
150
36
694
941
519
51
750
342
313
952
126
528
956
77
372
681
521
581
670
877
588
143
706
71
454
436
251
807
251
402
505
380
348
130
211
314
150
723
935
965
806
441
435
659
785
803
939
954
2
946
272
628
533
193
476
390
998
182
277
553
930
582
17
805
586
376
65
193
624
738
103
365
907
531
895
295
620
189
766
289
825
163
144
613
557
485
214
217
904
794
330
457
48
639
328
182
881
911
58
666
382
335
152
120
639
649
596
345
363
158
536
661
916
537
986
113
695
647
558
823
883
897
910
860
27
574
98
166
149
157
820
366
834
613
380
446
672
197
936
806
684
826
2
625
473
357
930
429
246
331
953
143
240
540
157
308
509
755
436
327
959
954
444
178
443
341
878
938
222
573
934
24
6
901
568
830
224
156
921
513
578
32
560
567
585
684
223
192
2
531
375
730
383
615
689
443
856
853
408
340
346
102
590
941
814
672
355
306
381
437
202
982
417
82
976
149
811
21
453
758
397
88
640
585
116
5
980
927
904
422
742
714
840
824
315
73
617
504
524
320
351
268
14
329
366
163
917
229
934
652
39
903
779
602
34
794
178
648
808
561
420
748
90
810
977
93
289
396
485
392
590
51
239
326
280
825
983
40
705
709
66
390
829
337
362
9
717
356
855
782
808
914
20
608
260
309
165
165
278
590
688
461
117
22
524
18
893
194
56
447
52
602
24
494
508
832
241
190
810
227
280
689
725
863
941
16
745
810
260
65
171
348
824
902
553
13
300
518
409
563
13
982
64
628
129
240
630
595
42
343
921
754
235
904
617
620
990
971
932
38
278
193
883
119
996
110
53
203
713
872
171
602
282
268
620
42
101
178
299
667
153
121
763
956
952
54
192
49
239
920
214
292
994
279
865
509
775
197
539
243
247
261
689
520
395
686
67
387
313
65
603
210
856
576
558
697
589
275
200
764
219
327
434
895
288
835
583
939
862
312
24
80
751
264
672
440
430
135
613
735
888
191
737
244
220
554
218
528
854
243
589
766
618
615
885
779
261
625
365
93
918
922
718
803
625
1000
987
545
43
83
551
22
580
408
95
205
257
694
581
837
768
732
448
77
847
240
365
480
904
691
753
99
547
950
435
465
989
784
973
795
362
82
776
692
444
457
993
839
305
31
736
958
683
902
671
986
164
208
27
636
263
400
255
11
349
935
145
632
163
243
442
119
577
340
387
58
467
710
856
946
840
438
957
465
571
637
936
90
968
101
922
137
399
525
642
171
372
415
152
63
283
50
429
54
570
62
492
879
177
891
566
130
664
316
288
737
513
43
940
162
448
665
867
956
605
332
715
129
433
360
376
440
355
243
57
929
330
923
339
899
370
108
251
570
87
821
93
875
803
996
242
107
686
982
150
760
136
225
450
40
297
618
842
856
198
357
882
645
656
918
888
324
261
340
759
686
839
882
538
582
194
509
507
514
525
164
388
750
482
644
907
975
548
224
526
471
581
120
473
805
112
89
558
963
360
380
405
299
470
699
191
195
651
897
620
535
82
969
718
473
543
903
94
673
861
555
442
349
84
281
974
340
577
207
213
702
302
929
178
592
321
75
901
438
350
706
405
589
210
3
768
134
804
939
288
122
394
387
354
561
779
262
411
472
712
507
701
387
956
918
321
88
75
512
87
498
697
964
79
54
866
76
568
600
187
23
37
159
369
520
87
74
929
203
614
635
722
948
349
67
528
191
893
307
249
611
217
482
118
391
676
505
42
552
578
557
617
816
811
98
52
578
269
934
275
824
865
780
102
307
228
13
96
520
732
400
781
215
733
488
90
555
559
672
830
388
536
407
369
169
21
189
827
367
270
972
551
924
376
964
249
763
412
881
15
393
184
488
969
820
792
763
55
491
193
482
965
432
190
972
408
672
80
833
177
899
564
982
482
177
62
239
581
188
653
824
364
843
115
47
992
350
221
964
670
362
704
499
264
220
238
799
205
294
385
275
443
719
248
512
192
507
883
777
406
507
844
476
118
423
575
58
44
763
227
672
588
139
774
312
209
182
640
720
144
392
225
549
1
66
757
837
258
683
641
402
999
362
961
335
616
599
285
891
315
587
445
955
529
675
378
41
125
650
709
379
17
823
890
312
929
550
612
768
374
821
941
541
103
889
535
741
416
231
300
267
471
240
712
974
470
270
563
388
127
342
851
953
748
387
777
875
904
209
33
676
156
216
833
649
240
100
489
10
268
889
295
269
752
253
802
740
78
757
281
124
259
892
391
446
418
628
974
536
60
890
187
455
439
748
440
355
295
256
752
901
957
506
470
291
433
675
779
268
108
696
484
936
206
617
830
143
994
404
540
101
247
675
406
627
167
753
455
422
237
932
416
159
205
580
711
307
844
152
766
447
974
337
440
59
645
20
248
548
850
925
922
475
154
66
856
71
430
770
209
21
263
108
252
796
196
225
532
106
127
194
237
457
877
109
71
890
459
983
237
108
955
464
857
425
341
879
934
961
441
218
773
644
565
739
192
58
763
343
421
435
128
188
104
194
347
912
523
720
382
791
710
448
158
189
80
328
654
910
973
620
431
705
827
118
743
523
295
281
226
44
968
594
885
165
682
958
477
68
401
256
326
493
889
484
845
961
738
848
323
64
132
151
345
843
404
12
332
852
335
848
170
442
188
661
984
158
792
840
166
390
550
573
900
494
108
893
61
363
592
844
188
416
296
77
802
227
236
797
142
391
776
462
929
49
531
597
245
462
987
602
175
372
550
261
575
411
475
427
133
316
367
209
532
803
690
609
44
114
324
526
273
105
675
720
889
537
778
912
432
434
839
577
40
866
396
714
68
480
101
447
824
624
932
78
32
858
510
914
858
410
334
430
171
626
579
708
174
379
994
949
183
681
100
648
244
537
15
588
258
673
976
239
776
894
179
940
626
539
420
435
74
279
675
590
81
764
402
412
75
848
174
179
903
840
526
88
9
351
41
511
313
587
268
37
34
681
408
37
515
184
501
619
141
997
596
120
916
496
484
168
778
876
165
671
858
912
881
445
538
135
177
260
570
602
30
828
69
700
523
57
972
292
455
638
297
838
232
625
929
34
470
53
385
67
719
614
891
479
755
861
934
324
916
2
623
681
538
611
692
61
765
986
788
382
256
74
24
210
815
969
635
83
41
612
333
606
127
38
711
386
124
66
566
541
856
548
644
786
736
54
866
862
337
791
277
681
790
697
3
815
909
804
124
691
928
46
242
124
329
172
276
462
642
299
591
693
96
431
823
304
900
774
186
970
236
788
755
62
750
74
359
746
681
695
996
818
176
201
717
843
277
253
776
649
550
19
26
32
560
273
121
463
194
779
93
875
324
205
662
519
542
140
6
836
229
189
651
665
548
603
868
863
979
126
370
954
364
777
583
481
112
915
293
464
572
544
356
545
363
766
428
189
192
295
330
300
911
122
344
426
857
677
416
466
297
676
708
576
688
832
298
503
447
884
437
92
557
50
54
786
706
286
381
529
323
752
525
869
170
495
358
725
828
462
7
322
417
58
793
462
231
860
615
943
550
413
668
847
587
628
749
272
218
60
791
305
76
170
151
559
406
499
742
357
264
232
566
767
531
254
98
554
579
641
422
941
828
394
656
15
931
949
444
214
414
778
821
478
461
215
428
622
798
458
925
75
231
355
841
649
124
928
422
10
900
234
530
150
338
43
222
695
415
187
370
332
967
405
62
430
434
52
198
342
812
48
15
195
574
676
567
69
642
393
522
605
867
226
272
355
393
588
749
753
435
575
360
679
563
892
12
980
686
637
153
585
581
983
257
164
322
561
646
520
226
761
672
54
182
806
406
906
915
968
487
807
329
827
578
675
363
571
177
183
600
515
975
43
22
105
355
297
492
213
797
899
756
789
970
984
377
335
137
25
485
487
363
42
69
39
452
798
582
506
28
61
541
457
167
275
788
684
49
642
971
391
997
603
776
565
545
284
310
285
563
527
694
817
875
579
185
447
107
354
614
122
101
17
93
859
173
356
957
352
28
635
564
132
434
532
494
587
441
707
922
216
233
400
248
343
4
785
349
759
317
92
177
850
157
123
175
671
218
746
530
404
27
886
52
775
348
221
440
320
439
99
767
104
417
559
790
148
938
790
525
673
253
63
270
619
200
520
135
774
445
879
855
215
262
496
219
416
952
885
75
211
486
284
234
576
633
514
199
515
981
704
579
488
564
11
905
283
264
696
624
188
949
205
468
956
677
911
246
22
126
696
857
111
50
856
835
49
577
746
998
986
479
169
366
78
877
375
259
542
553
580
945
516
344
574
424
637
415
966
511
508
176
822
319
285
622
577
102
97
764
988
874
101
334
646
299
134
451
11
199
153
333
786
79
962
301
643
654
409
133
207
950
769
228
426
609
134
618
47
179
823
710
936
651
983
540
423
704
730
109
820
514
256
945
468
906
395
279
812
365
61
334
612
407
705
118
178
876
800
615
555
411
618
889
90
699
401
719
494
993
97
890
861
894
517
244
929
513
483
55
150
156
904
975
413
33
48
21
995
385
879
457
987
555
631
747
903
516
782
577
654
982
984
737
909
996
410
729
949
88
890
940
238
7
259
192
790
435
500
117
923
25
428
303
316
697
49
999
743
612
212
199
163
807
776
275
622
524
403
568
643
354
98
991
990
459
783
103
85
962
874
130
864
240
631
30
534
443
92
803
17
266
757
983
651
291
497
460
930
954
398
350
108
32
307
922
395
718
90
485
537
847
532
853
702
851
987
508
610
860
916
779
187
467
906
868
71
722
67
591
520
497
533
735
882
597
207
854
676
597
400
322
624
526
911
603
684
726
987
496
244
110
215
16
523
591
118
390
342
702
587
289
966
691
777
397
324
842
159
722
236
317
692
530
424
151
599
535
400
387
463
156
43
103
115
198
431
885
682
369
241
210
505
418
325
868
589
608
566
973
870
514
801
674
104
316
965
239
188
394
765
895
267
317
996
584
490
724
132
373
726
479
351
44
96
931
795
384
991
269
985
869
972
124
899
779
902
705
233
592
165
403
944
754
860
259
57
291
736
624
652
446
798
554
610
707
521
486
432
484
470
374
397
23
325
604
165
983
592
820
765
716
172
253
957
374
380
960
241
467
306
297
814
152
291
654
124
536
521
209
600
726
319
988
570
703
812
488
718
156
126
557
2
356
573
149
1
661
806
886
958
634
417
726
748
143
756
510
643
67
180
420
155
397
365
250
604
597
452
443
222
478
534
513
727
149
934
339
503
551
654
136
430
738
152
134
77
79
620
346
435
341
91
274
863
817
787
843
422
661
446
198
831
668
752
409
425
38
481
584
64
438
218
237
523
239
201
131
354
806
354
409
56
780
338
454
807
628
474
601
543
432
864
560
906
725
154
978
976
313
897
860
702
94
669
605
34
239
674
587
486
341
905
313
762
790
147
675
223
825
649
34
965
788
256
670
690
30
385
121
151
787
669
943
160
14
516
362
653
167
60
491
488
37
46
716
552
781
652
662
613
41
378
90
156
360
894
189
577
204
608
848
3
365
106
353
712
622
286
706
713
343
400
414
800
643
978
116
669
871
501
476
258
985
855
697
800
648
390
134
403
191
469
27
849
743
328
223
147
589
800
813
495
944
201
263
738
170
719
6
379
759
140
66
553
606
560
26
605
261
807
242
59
471
678
580
658
449
778
115
363
392
943
100
346
129
597
340
771
316
555
634
536
957
774
773
373
268
599
965
633
843
523
273
66
256
304
677
951
981
431
684
873
22
42
239
300
407
618
332
587
967
503
168
261
229
438
101
918
227
895
585
1
713
767
692
966
655
837
235
736
826
526
17
644
51
64
184
247
558
913
760
213
454
965
559
358
86
834
821
616
972
150
621
318
217
528
776
282
486
430
352
586
917
306
14
304
434
587
781
356
446
958
451
247
453
328
606
795
155
573
167
364
732
790
159
3
531
417
448
739
561
27
215
603
872
876
552
640
369
11
782
392
716
248
274
889
133
32
679
48
281
289
51
178
113
915
585
808
328
292
506
728
223
642
137
885
933
63
950
869
843
799
951
565
45
109
325
332
807
526
292
640
923
513
244
945
866
722
636
150
647
215
229
266
685
830
455
845
163
264
454
776
337
934
474
29
383
422
483
588
899
650
535
258
566
610
755
830
614
699
796
291
863
315
759
959
661
694
549
939
158
952
243
96
225
673
198
807
397
282
873
366
626
399
849
536
25
265
276
459
707
620
352
144
651
949
67
339
78
609
455
942
175
214
739
530
73
727
930
271
675
997
583
306
196
945
5
141
154
185
900
365
996
416
543
715
949
837
487
636
433
33
574
707
779
499
240
156
443
175
737
62
821
489
444
760
190
558
172
724
961
859
100
393
363
75
664
475
704
820
334
109
283
956
294
676
70
197
83
375
307
339
365
382
840
283
423
711
435
833
727
673
771
621
139
89
601
33
580
207
740
501
186
908
382
837
25
486
243
535
505
372
865
17
230
327
107
521
773
254
965
358
869
193
408
552
918
627
324
60
453
625
418
761
462
329
558
68
957
408
562
170
111
812
30
705
245
587
995
250
318
900
81
700
480
505
320
701
836
746
527
783
789
564
471
969
731
121
793
207
914
969
459
8
570
302
844
629
868
906
832
291
37
413
183
308
546
853
656
546
125
674
390
410
310
383
159
253
207
894
402
40
409
241
573
941
121
595
126
383
137
4
15
660
218
352
433
44
713
789
272
556
244
273
196
184
3
80
46
726
340
458
67
606
569
175
111
575
940
18
328
121
64
606
212
500
905
792
945
470
807
657
747
62
55
111
988
603
219
297
87
360
755
948
205
21
6
12
645
609
254
907
998
60
473
708
187
388
806
294
374
777
603
884
502
230
278
195
954
217
681
218
991
475
600
113
323
940
938
28
402
939
447
263
261
988
825
72
164
628
277
318
107
177
266
122
851
236
403
649
549
864
735
641
79
580
812
459
742
955
315
60
976
458
453
517
48
540
236
373
976
105
135
690
99
151
996
933
357
291
817
905
278
405
669
222
5
826
406
543
579
114
955
86
795
710
34
885
638
65
701
186
410
586
134
878
777
477
417
283
964
509
876
659
861
131
410
189
59
21
502
804
768
430
193
472
473
688
525
490
530
538
387
955
276
56
705
33
632
533
193
371
109
393
281
242
724
727
617
124
772
541
254
894
406
432
89
564
556
932
415
127
102
853
645
454
326
570
927
607
755
555
489
102
751
506
98
362
498
132
272
482
202
231
32
813
602
191
695
429
658
999
2
942
89
390
833
142
953
730
672
712
615
562
911
891
383
374
748
850
724
800
195
256
485
159
876
908
7
18
97
437
266
656
316
852
514
755
912
607
482
60
265
160
332
580
340
288
555
475
396
817
480
212
729
251
262
820
370
422
61
168
199
921
509
924
873
492
445
737
983
360
725
407
822
286
773
513
311
208
357
365
20
996
421
707
658
99
442
975
439
105
496
353
942
575
846
165
376
552
494
410
69
436
716
825
437
378
963
991
817
256
217
905
356
484
581
221
686
425
851
243
318
873
468
882
396
860
740
854
21
215
575
94
854
29
270
418
414
556
650
929
778
144
727
323
352
544
878
767
278
321
482
961
715
825
229
302
145
459
773
829
882
777
329
926
298
485
324
960
656
295
131
290
404
174
464
10
215
7
135
372
638
821
30
195
744
53
568
173
764
656
810
527
247
798
665
604
834
47
160
514
906
689
263
763
918
624
75
114
454
147
992
860
80
353
976
931
989
456
52
913
418
373
926
93
242
537
838
43
326
388
950
586
342
969
825
337
555
677
533
699
127
93
682
986
555
223
468
103
434
155
43
147
315
672
601
523
54
427
931
844
297
469
555
971
275
56
805
918
304
282
582
754
543
599
469
373
56
342
64
538
947
338
950
241
713
917
285
452
128
206
47
660
512
341
102
651
923
1000
884
349
910
931
123
808
307
5
166
578
673
200
828
998
350
49
725
740
596
390
940
447
805
647
141
779
528
655
215
657
164
384
89
900
538
823
449
9
520
661
380
298
555
78
186
206
125
771
861
234
290
649
681
510
941
313
911
822
105
609
84
792
238
212
492
709
2
627
460
904
724
550
470
494
676
627
570
518
121
868
643
450
354
180
901
503
790
151
482
537
887
436
702
752
891
630
425
309
579
640
921
291
442
652
997
23
376
442
587
406
947
826
745
452
821
536
557
661
209
209
349
939
140
248
608
261
49
274
605
215
834
759
119
729
129
842
393
384
491
145
128
604
147
91
418
526
342
292
324
982
546
584
354
168
853
353
655
622
736
716
503
763
863
107
206
3
11
568
632
72
614
99
793
648
329
854
909
302
731
28
584
703
840
115
799
774
799
912
112
81
688
130
441
563
153
712
218
125
116
475
895
205
475
84
468
437
85
707
385
468
266
509
604
950
862
631
815
402
410
826
539
957
707
576
105
641
843
392
323
154
588
22
182
63
627
85
816
693
1
759
837
387
222
124
854
110
236
265
980
237
78
800
575
173
599
127
551
69
301
744
855
442
441
803
617
745
798
908
244
603
183
686
953
703
281
269
954
70
526
435
667
507
12
1
545
965
482
694
135
499
745
464
594
597
225
991
985
953
536
279
362
752
211
298
860
119
226
643
945
191
887
789
675
551
802
234
865
186
300
243
950
346
354
602
565
866
575
114
497
667
477
7
436
742
771
23
378
302
860
392
367
135
451
567
639
27
559
244
447
76
841
704
708
403
598
804
755
969
181
477
763
951
801
309
754
616
126
433
260
683
455
428
455
538
965
209
457
878
278
933
800
589
518
25
852
675
178
198
705
978
546
664
790
736
421
25
103
747
242
486
901
451
489
832
532
220
218
95
485
759
819
140
875
675
39
857
954
627
489
287
657
862
859
749
839
705
280
301
593
503
259
425
845
657
345
280
388
257
329
723
104
384
417
273
492
235
260
443
683
474
946
371
943
736
475
970
410
16
288
433
562
722
820
520
329
502
82
539
57
507
912
96
191
802
392
637
329
515
479
405
517
255
585
684
359
765
428
151
113
565
350
420
533
17
129
412
576
381
334
202
323
554
372
497
624
567
493
838
361
917
256
767
874
117
241
661
863
949
328
856
252
385
556
382
503
686
193
581
611
552
77
834
117
136
120
811
527
361
442
121
755
309
727
701
146
577
35
871
643
467
178
723
14
534
106
387
998
38
955
105
364
35
11
92
815
465
98
603
927
285
786
635
416
105
505
659
958
736
980
841
615
370
773
411
601
171
845
956
703
596
18
655
841
947
981
187
989
887
652
863
766
601
65
779
301
63
826
723
60
546
988
8
950
527
463
356
237
713
100
417
388
319
797
506
242
463
418
227
699
643
254
430
168
3
177
661
768
925
583
598
664
638
675
97
883
887
832
196
273
638
850
158
638
673
44
174
469
187
239
716
859
987
845
404
45
138
844
301
28
689
191
395
156
262
584
487
527
497
353
543
264
122
49
108
962
827
402
146
981
504
163
212
76
252
203
525
957
878
484
418
890
154
848
720
312
550
447
254
16
846
703
337
266
573
799
447
322
868
408
393
613
271
102
929
475
558
896
36
252
231
780
442
768
103
293
345
911
33
651
106
698
870
226
329
426
937
795
731
251
360
989
673
91
775
321
745
93
332
766
527
988
519
545
278
49
790
461
958
632
352
95
867
83
507
950
558
388
323
41
953
143
762
994
295
67
973
594
828
505
711
753
390
1000
999
192
726
399
561
75
512
99
976
112
379
383
122
504
708
308
673
958
652
965
784
88
879
482
810
442
561
922
659
249
599
97
207
702
381
498
50
992
132
261
282
361
185
566
449
35
485
654
692
711
788
336
828
153
92
847
39
304
727
788
735
781
167
102
312
992
162
355
263
591
882
591
184
214
55
232
31
313
416
231
637
474
377
284
628
920
844
222
460
1000
242
643
414
995
832
801
387
258
457
298
525
434
565
264
111
553
720
504
354
272
134
102
47
438
800
1
180
725
467
145
831
743
927
808
941
85
235
302
328
844
977
213
366
725
468
80
717
819
616
831
695
939
742
584
820
655
90
291
951
71
673
708
786
783
191
351
544
554
13
915
501
61
964
237
498
572
371
88
884
477
392
676
890
692
332
956
898
367
922
743
591
558
571
916
806
280
347
882
145
113
282
34
750
679
5
95
526
201
621
201
58
127
481
538
874
45
623
398
168
927
374
732
887
851
322
298
928
968
741
653
916
713
244
77
509
920
797
888
86
286
230
441
526
479
571
181
680
227
322
52
910
67
460
854
862
684
341
682
259
957
967
237
282
999
196
121
953
827
379
399
964
593
79
343
628
601
232
43
791
761
814
953
741
937
24
134
554
197
388
69
23
488
981
494
642
534
57
502
306
687
390
885
525
305
751
65
950
39
79
8
898
195
249
952
253
950
415
551
65
275
419
122
927
700
854
349
686
290
843
69
806
654
398
651
317
377
915
843
68
820
459
136
328
190
369
569
367
716
638
523
516
181
570
792
882
661
667
451
335
621
1000
227
270
769
280
729
875
84
771
526
16
821
886
529
461
811
5
495
88
156
649
84
205
819
851
234
335
858
293
622
834
933
727
66
853
117
105
140
531
406
808
630
67
884
297
76
962
950
699
35
664
887
794
239
258
362
168
941
556
960
462
213
899
265
952
174
702
381
972
776
680
234
304
356
162
696
673
818
359
141
58
511
535
755
863
255
355
88
111
971
494
616
903
285
509
703
143
264
541
178
584
766
383
119
967
558
864
589
244
883
935
80
912
194
828
344
731
652
666
637
630
75
186
583
600
291
225
996
660
429
966
996
372
940
713
18
927
943
827
518
210
673
802
383
535
399
807
457
525
161
351
418
581
452
209
14
606
199
50
685
641
231
507
803
209
162
978
775
813
928
296
607
248
620
465
676
824
759
985
610
747
264
158
374
763
313
883
437
708
421
263
107
77
885
728
109
244
707
822
858
839
962
690
837
745
510
535
474
38
634
27
645
419
426
383
905
365
739
859
659
390
691
564
978
931
915
385
833
935
913
318
435
496
567
724
120
775
340
566
502
44
485
737
313
85
758
141
997
138
900
927
556
133
797
498
197
184
95
872
458
969
371
814
133
881
16
414
180
34
462
839
354
572
420
795
243
591
667
168
332
17
286
401
985
155
302
8
420
376
556
480
795
889
351
20
1000
227
588
929
835
445
451
723
989
650
561
114
813
651
616
181
260
488
760
487
270
245
67
648
217
199
247
857
740
818
40
654
924
23
399
692
281
662
338
730
796
27
84
387
242
373
72
859
549
422
945
284
764
154
745
545
999
682
637
478
720
207
727
891
470
192
821
755
548
633
273
810
565
28
307
864
109
674
300
320
393
124
769
974
679
925
476
463
172
778
502
141
78
105
702
598
838
339
458
82
228
798
23
314
755
505
892
534
356
111
334
532
197
549
258
610
224
770
184
302
541
758
516
129
225
943
719
663
631
71
362
500
637
170
543
644
799
467
125
277
497
304
760
372
687
975
993
983
440
239
792
547
631
179
371
629
307
480
825
346
642
130
150
772
291
279
841
412
803
872
969
235
206
446
787
823
430
988
890
68
942
779
819
892
664
679
604
697
498
434
863
397
45
63
246
58
502
480
231
658
771
344
552
974
807
381
311
60
448
760
798
515
970
178
847
91
786
717
355
674
533
991
587
21
288
292
935
211
413
19
60
885
55
978
302
904
929
292
596
552
121
721
885
758
453
630
75
147
754
876
427
691
732
172
180
298
985
641
884
665
466
16
943
892
814
426
474
402
539
205
78
850
580
17
600
792
93
60
629
362
559
87
667
986
539
858
48
645
746
264
125
3
868
76
64
161
822
827
100
361
379
484
537
555
557
994
726
106
643
548
815
166
987
675
827
864
154
452
905
985
939
171
401
571
865
470
309
518
954
986
119
620
647
422
790
847
797
119
834
459
576
686
799
326
707
235
38
279
868
180
653
564
170
558
72
477
963
759
271
530
269
634
521
327
638
571
962
678
634
116
829
12
787
572
919
2
62
36
330
27
78
446
818
144
328
304
30
235
786
719
103
94
946
450
410
414
785
479
112
836
453
160
814
231
508
755
83
33
619
38
672
112
589
642
304
114
205
270
886
338
599
893
679
494
697
623
741
972
154
659
63
361
213
765
503
414
612
642
436
215
370
583
851
932
341
914
831
188
681
88
257
79
867
627
745
628
7
397
196
303
922
651
364
354
479
876
75
412
548
925
407
639
751
26
54
319
291
868
129
973
233
333
693
922
233
561
960
763
773
573
213
967
928
572
295
453
803
765
553
20
259
801
355
729
491
713
561
531
951
830
221
812
994
743
271
616
323
886
1000
963
955
874
323
64
8
172
446
314
728
555
271
780
873
857
956
83
296
135
437
843
763
416
79
472
504
227
174
746
560
173
843
883
305
590
807
450
524
340
540
974
173
193
157
848
930
574
612
950
530
590
966
779
150
751
677
574
609
48
249
657
659
302
684
280
652
693
75
241
669
103
924
829
315
694
469
643
735
356
238
503
148
685
330
967
568
298
326
39
329
315
275
344
542
801
39
455
763
943
972
585
206
558
59
943
548
175
524
309
25
719
886
508
835
556
631
454
559
675
232
200
220
530
815
811
245
281
957
47
272
306
774
543
695
407
415
853
776
99
124
967
414
780
544
969
801
538
674
400
4
207
193
617
456
958
805
476
689
957
329
380
559
784
490
438
780
230
550
575
50
831
726
335
810
983
369
75
114
30
711
723
453
543
501
32
323
512
11
453
408
355
246
221
819
167
563
756
177
758
809
853
342
187
123
457
292
106
277
703
967
678
57
995
938
866
369
248
947
964
495
430
83
871
988
839
459
612
982
125
70
106
203
694
95
641
558
549
855
245
576
79
37
211
942
110
626
711
128
893
341
909
369
447
750
666
776
224
86
752
50
36
796
51
83
598
103
485
302
74
955
571
882
729
608
457
621
65
541
216
741
235
448
890
966
893
206
125
327
595
74
270
190
124
499
53
21
441
802
502
32
665
522
951
191
939
131
401
769
352
655
836
806
544
392
590
565
336
347
716
714
250
477
896
800
913
579
445
267
555
262
991
124
899
730
381
328
748
564
417
125
245
171
530
324
574
253
250
978
780
388
383
708
884
230
407
579
386
631
968
946
196
541
613
636
796
302
445
449
651
328
761
859
610
441
631
311
385
160
221
188
226
190
432
802
842
783
957
869
643
144
984
14
939
251
173
959
863
135
6
524
47
603
958
591
998
599
296
715
905
223
26
679
537
319
577
533
601
999
309
967
651
927
410
114
960
603
316
667
195
442
614
762
583
19
697
209
704
305
601
301
521
428
717
283
793
203
431
273
775
103
283
886
686
550
555
761
406
498
973
522
957
457
273
368
642
548
409
178
876
946
171
620
559
420
739
241
32
876
397
627
788
149
914
867
891
708
767
366
426
149
988
50
324
729
20
823
344
471
371
267
102
802
575
293
804
935
646
696
697
768
903
922
609
827
263
876
159
992
925
766
426
946
51
732
501
518
892
363
680
210
921
302
355
193
901
524
496
636
949
491
303
626
717
458
544
901
576
805
996
657
472
66
867
812
855
102
680
222
531
422
488
33
515
219
158
982
801
754
474
501
259
392
390
115
185
139
230
989
120
319
916
26
886
450
515
387
794
8
704
643
497
684
28
450
538
283
715
814
887
869
425
286
323
366
531
856
662
600
92
303
610
570
810
247
802
452
14
106
325
241
697
345
752
929
51
257
909
129
360
915
647
835
743
950
80
666
857
905
610
929
848
822
768
607
363
95
647
494
767
402
159
83
179
511
455
744
668
290
928
113
142
780
693
953
436
109
9
580
879
645
143
881
921
571
982
925
246
785
843
787
467
968
468
574
659
173
914
680
469
914
952
729
10
99
619
711
679
434
464
681
206
19
281
379
272
752
660
732
186
195
661
7
854
418
759
493
646
123
133
866
801
467
882
136
877
373
556
387
334
882
33
495
644
989
488
663
232
172
592
72
249
116
962
838
39
406
595
702
171
383
48
501
896
657
690
861
197
513
182
657
738
161
476
426
412
840
476
230
374
739
411
744
559
557
839
538
432
658
107
351
265
145
404
689
897
451
127
198
825
225
525
303
523
27
39
787
766
607
949
162
52
239
201
733
583
660
373
559
566
96
269
911
743
925
112
793
105
414
102
54
1
151
127
718
299
130
936
515
430
682
484
402
35
270
278
245
742
420
10
437
446
388
927
283
62
166
313
601
922
62
325
942
690
703
991
863
264
390
86
360
475
571
628
516
400
113
399
329
924
460
55
157
964
152
915
167
154
670
928
984
389
422
363
868
951
351
79
177
803
419
687
210
278
401
139
685
50
529
824
533
43
758
389
312
828
445
733
132
841
350
917
563
782
980
551
585
264
683
199
223
203
678
655
260
129
744
422
166
271
421
829
909
928
105
446
508
763
373
728
67
300
264
594
923
646
934
401
769
258
226
292
444
934
667
288
452
891
726
195
392
88
192
886
365
54
315
120
299
904
649
479
899
979
796
101
324
475
109
396
945
543
690
192
999
479
707
857
727
107
779
927
402
886
511
748
333
540
339
505
33
651
143
88
201
311
206
160
560
50
956
93
75
642
222
250
70
834
414
568
552
430
834
92
249
70
456
789
118
396
190
729
139
803
880
158
669
878
899
96
395
68
265
579
585
393
380
434
756
952
215
459
191
484
805
809
4
367
21
366
688
418
88
281
150
202
258
757
788
206
373
213
407
845
997
462
735
759
435
569
198
981
801
564
853
8
800
661
655
614
949
5
950
792
910
280
61
700
539
949
22
169
668
756
382
400
815
617
102
905
9
861
170
205
537
518
778
787
815
83
213
603
59
668
575
619
407
368
26
498
443
354
915
221
166
687
822
276
293
924
148
829
423
622
21
770
820
933
108
919
444
407
746
164
980
549
713
89
445
207
67
232
153
293
203
34
928
726
187
558
56
728
417
399
338
678
548
309
238
334
218
503
227
79
883
255
437
365
466
165
909
610
604
535
799
708
826
964
735
170
91
347
890
595
905
143
950
887
877
16
427
478
263
314
806
937
894
493
428
470
972
885
859
594
749
504
495
854
181
340
434
677
581
295
805
138
889
67
876
899
880
83
141
137
209
708
446
770
695
488
863
102
362
770
607
652
24
39
585
221
802
745
529
647
722
436
130
158
202
324
723
557
104
400
940
933
554
184
101
673
691
786
603
736
580
816
713
344
789
263
755
208
842
320
34
429
792
389
121
589
988
604
192
483
457
538
858
836
736
423
564
262
329
823
479
343
476
595
437
52
962
222
848
915
374
598
441
562
225
533
429
494
682
131
107
715
729
964
222
928
281
98
240
429
255
149
351
75
848
706
808
541
858
571
543
408
887
449
883
221
594
676
928
94
283
736
218
428
256
480
162
415
532
238
642
109
716
877
211
808
851
967
76
174
632
32
736
89
107
581
594
280
324
605
447
415
865
610
721
532
336
638
298
575
263
767
838
92
372
64
760
952
97
549
454
182
953
144
603
343
557
289
787
363
985
731
457
280
680
641
115
580
13
959
904
892
326
704
405
260
976
575
199
843
292
74
414
415
607
574
170
41
219
755
57
649
519
454
87
230
159
429
578
249
704
241
678
670
58
78
927
917
541
924
740
887
846
424
857
760
831
621
771
950
224
40
493
989
419
889
354
742
150
776
698
98
58
573
330
172
13
807
33
637
909
641
382
411
821
435
689
33
542
349
983
674
922
189
340
697
745
440
334
679
633
160
320
251
840
433
100
569
147
399
599
217
42
343
744
388
834
980
953
451
307
337
164
764
70
880
481
50
266
562
83
188
652
875
875
454
702
476
925
512
41
898
512
652
743
319
11
833
734
663
23
170
389
928
514
129
740
695
994
775
493
343
764
544
960
322
937
481
965
649
437
351
768
989
41
560
75
28
834
667
20
924
724
818
707
564
161
283
152
226
734
995
145
116
817
523
581
435
993
427
214
271
484
448
326
132
83
852
213
960
865
753
906
867
964
479
523
877
11
919
265
855
920
822
433
950
10
248
781
434
852
297
431
21
985
657
221
579
203
766
631
238
464
363
22
561
817
809
442
137
456
747
303
972
755
893
302
754
837
954
620
677
536
834
538
590
573
10
420
434
674
708
729
11
671
771
836
384
988
316
952
390
338
557
856
740
279
108
51
159
521
72
398
579
75
132
382
108
909
229
108
629
666
370
155
116
319
672
317
618
314
338
16
199
572
567
762
588
395
765
547
957
267
730
906
158
846
135
753
949
694
697
54
320
484
920
617
557
467
905
746
68
945
959
722
477
470
428
829
59
228
914
955
535
294
207
128
773
466
711
273
650
790
958
151
28
635
346
210
356
446
779
457
277
743
272
303
829
50
69
736
992
344
573
698
305
841
726
736
70
655
599
531
284
43
5
290
638
831
378
624
263
516
822
689
191
802
480
441
885
673
135
428
28
94
587
525
188
835
452
514
711
758
190
63
794
703
122
698
89
815
772
250
603
490
528
231
374
926
660
279
594
274
496
549
719
581
489
517
654
833
145
797
848
980
681
64
768
942
673
864
696
522
224
69
759
168
483
761
447
993
187
393
951
329
554
222
172
716
471
972
116
639
609
753
343
309
647
436
671
890
10
108
93
252
469
814
196
789
178
953
28
993
801
378
588
676
509
915
691
36
181
946
969
207
664
114
201
478
269
307
200
700
129
350
557
247
113
225
344
695
767
491
351
15
201
743
432
106
118
779
917
803
609
377
64
451
795
823
202
755
355
383
148
538
832
889
480
636
60
740
834
207
622
34
719
237
24
860
365
857
175
656
364
171
82
883
692
596
91
460
472
179
476
403
811
594
874
238
318
614
815
839
401
462
174
646
102
510
700
126
885
12
88
664
424
48
522
407
334
883
624
634
612
164
323
177
322
459
834
552
369
519
357
795
147
883
495
116
179
902
676
604
128
660
281
320
895
525
847
895
611
443
757
981
620
441
628
880
537
565
879
308
560
3
729
111
113
951
240
986
172
965
52
838
583
164
61
767
921
143
268
479
196
173
738
135
559
762
310
853
492
293
228
26
739
588
86
844
453
30
968
454
227
268
236
398
621
523
455
260
988
220
380
158
926
821
196
38
65
660
210
795
788
193
672
97
359
865
517
681
989
623
439
121
447
58
133
105
262
458
9
798
351
84
14
949
14
936
673
355
270
771
455
628
728
935
302
925
117
776
781
455
402
60
672
962
646
912
347
650
183
983
619
332
972
742
851
560
507
62
156
357
140
460
276
579
315
515
925
327
606
166
951
922
59
526
781
895
747
474
765
111
883
993
206
690
693
605
48
425
208
268
472
145
301
275
748
612
548
50
750
852
572
232
405
376
634
320
257
35
740
192
802
617
474
250
110
47
566
739
700
180
244
533
996
923
525
405
694
5
191
664
451
400
199
539
50
960
895
987
573
329
1000
225
894
815
950
209
310
868
186
732
902
193
354
825
427
521
320
581
181
601
812
286
983
549
334
518
658
175
328
318
689
462
340
406
48
778
762
754
262
424
261
736
678
13
677
364
643
359
883
333
283
916
351
253
528
198
236
112
478
229
236
333
109
26
218
70
227
691
810
258
385
1
469
915
908
142
288
359
114
470
162
911
735
21
412
216
699
736
136
54
534
631
672
590
644
614
893
261
15
610
996
743
2
415
605
111
222
386
360
624
705
406
923
637
340
830
504
67
67
513
82
36
450
75
663
481
485
9
638
925
230
95
89
816
888
448
419
216
442
370
106
286
361
935
15
563
342
79
919
794
822
325
395
389
374
147
391
82
810
944
223
351
186
319
605
587
476
948
827
116
511
61
393
529
492
218
241
553
587
785
260
300
536
157
368
729
446
76
175
963
700
151
833
22
195
121
954
546
161
218
315
611
730
321
301
110
351
235
160
925
527
267
966
250
551
844
478
915
833
570
569
596
508
323
806
714
491
56
258
324
426
576
398
524
905
80
613
437
348
463
33
20
659
682
877
802
350
93
129
329
484
343
17
283
871
882
824
405
115
498
26
68
688
961
160
763
47
137
665
532
680
397
495
509
699
451
308
690
22
616
349
546
397
879
654
485
306
928
912
371
424
955
648
662
311
650
649
821
766
847
378
419
817
373
41
126
619
56
729
697
162
469
473
607
595
904
327
527
216
661
251
991
996
614
742
482
108
645
832
863
734
828
459
705
619
382
530
766
886
956
847
610
823
810
566
633
164
555
123
98
469
346
329
368
319
957
632
695
456
72
510
34
116
11
94
583
90
479
166
412
26
386
224
205
63
894
280
410
816
177
341
744
330
393
895
418
232
714
852
380
695
274
384
270
426
155
510
764
214
819
91
336
43
414
548
111
795
700
363
525
772
512
921
788
206
207
144
764
373
328
858
465
179
131
758
560
792
273
263
713
842
721
236
459
222
900
203
482
134
368
980
183
427
80
222
491
409
977
575
258
376
632
610
610
775
249
168
793
185
479
786
685
743
773
670
815
858
754
773
797
134
993
814
510
417
281
261
343
507
7
592
35
458
437
219
616
723
764
104
628
3
431
458
335
760
172
602
344
178
614
49
606
888
756
522
239
583
218
346
564
554
116
992
160
767
857
185
399
498
927
383
154
835
774
570
251
494
478
397
734
42
996
197
551
733
316
170
963
489
447
977
363
933
392
863
989
936
334
917
335
212
875
557
944
925
189
989
72
270
973
674
243
588
282
247
792
861
224
748
855
459
517
140
279
869
295
574
74
430
248
719
936
422
338
586
481
832
300
839
600
600
974
795
702
589
198
73
112
746
464
415
237
127
469
948
244
147
385
765
978
861
925
357
736
588
798
212
356
995
495
262
907
644
676
344
437
82
839
637
345
441
482
530
186
465
129
237
767
586
867
19
637
553
444
64
707
153
296
58
298
596
569
547
545
744
330
841
955
187
393
250
354
548
23
503
323
799
112
239
614
227
464
418
360
238
759
496
471
341
965
204
41
332
18
838
874
623
483
509
775
809
415
828
230
686
935
933
587
385
602
918
350
301
191
863
187
79
545
450
578
940
549
513
109
794
530
346
320
980
556
81
41
608
469
313
96
542
468
767
854
108
248
882
346
840
873
114
87
54
516
243
375
579
696
999
776
362
354
409
259
616
88
929
718
73
132
758
611
802
811
26
148
729
434
506
771
71
982
479
405
689
824
177
274
120
134
906
951
684
694
948
60
456
510
137
812
487
513
335
489
335
143
406
654
740
713
855
831
990
619
711
202
822
767
321
797
367
996
372
489
55
731
508
788
779
747
192
987
460
59
732
71
893
134
346
254
263
807
994
870
55
830
473
709
434
724
437
518
126
437
139
626
698
748
560
91
565
460
549
522
403
258
643
295
608
227
624
678
613
768
897
71
287
791
364
471
915
682
232
388
986
68
482
951
368
271
36
271
742
170
360
261
108
793
907
265
714
384
170
55
637
918
577
325
868
917
710
443
842
749
543
98
42
102
579
363
608
423
87
668
452
873
383
897
519
441
860
697
793
590
2
976
514
652
353
483
154
542
301
570
71
54
231
266
585
122
684
905
611
73
385
606
99
672
26
177
570
159
308
167
591
706
192
450
200
642
202
952
619
210
70
896
502
204
787
666
948
773
342
569
286
35
41
446
729
372
711
518
673
45
283
297
816
374
834
56
19
700
710
176
680
844
211
140
135
172
452
350
973
112
193
418
242
556
360
777
33
738
627
475
597
621
234
314
84
561
219
779
458
377
791
704
548
308
557
965
590
550
297
422
345
605
295
53
342
670
60
7
280
192
999
971
547
710
716
230
784
69
926
291
387
30
220
524
971
270
386
220
74
550
244
639
998
42
840
705
182
631
787
432
563
42
664
531
43
88
449
483
458
641
614
525
962
306
969
238
715
717
282
848
237
777
200
818
867
502
158
802
270
925
334
108
768
312
128
567
636
79
938
38
126
381
695
958
622
607
595
428
386
322
258
703
655
927
841
441
840
480
497
788
287
561
304
771
192
598
486
745
691
924
887
587
449
53
758
669
355
735
570
691
464
162
934
798
454
172
93
654
488
115
70
836
336
559
700
234
466
400
575
758
901
739
60
556
471
367
536
816
88
298
139
425
599
398
15
158
190
161
423
853
557
169
202
20
132
972
215
989
624
532
501
310
672
267
868
995
31
16
515
523
617
201
270
908
236
571
463
956
286
95
695
942
578
383
586
433
759
704
220
79
6
415
627
92
825
965
854
263
18
282
75
255
506
488
179
127
99
869
466
201
627
743
337
981
114
991
706
789
368
709
735
531
455
422
578
20
654
115
38
295
981
400
17
86
376
878
947
433
634
345
995
604
469
447
659
917
464
583
770
527
895
986
150
385
613
719
106
139
506
85
30
773
8
233
959
348
794
587
94
626
888
617
196
668
357
643
297
324
578
586
894
951
418
252
167
761
779
735
276
435
818
582
65
138
253
201
703
465
914
262
491
472
663
175
486
332
473
687
454
763
705
551
929
957
217
216
105
975
476
669
22
5
782
784
263
50
16
514
474
625
34
61
533
827
949
489
661
422
439
928
621
908
928
761
821
86
634
194
276
870
516
592
952
547
650
822
580
115
509
773
594
287
264
436
843
327
893
77
782
961
402
344
367
786
256
925
334
997
692
28
249
275
346
366
882
483
242
288
988
154
225
651
568
472
147
375
382
885
319
577
812
335
478
870
732
619
153
134
152
436
365
871
44
12
487
441
888
146
746
220
102
867
587
222
651
141
484
742
747
690
506
773
729
407
524
701
272
712
699
736
349
109
307
969
865
349
188
184
219
680
271
174
325
578
185
868
663
703
758
106
640
443
847
445
445
172
198
719
179
510
85
611
841
719
880
515
227
136
149
912
69
672
629
198
842
274
695
103
541
851
340
610
731
836
309
420
852
905
329
565
96
198
817
920
427
116
162
922
132
426
82
26
795
548
621
53
956
361
583
656
378
469
587
411
564
597
758
745
906
671
522
537
680
745
863
800
683
328
218
676
987
224
670
64
165
262
884
165
688
38
284
295
611
151
821
426
786
17
932
724
61
583
595
459
576
126
277
956
828
784
509
530
616
732
15
363
485
969
275
566
583
287
960
210
273
157
630
363
636
286
112
468
953
712
208
657
988
709
206
936
878
448
511
252
836
499
63
839
1000
655
573
200
597
677
365
887
264
369
6
93
44
661
393
974
484
648
869
260
225
562
233
69
526
232
642
175
838
253
837
638
472
787
636
119
217
173
16
447
170
37
496
553
744
691
166
167
222
386
244
488
915
284
923
589
858
318
136
120
403
572
645
994
293
487
267
679
630
491
588
417
357
944
529
939
967
858
146
536
931
374
181
502
277
24
536
196
39
715
13
616
388
362
46
760
248
894
869
186
511
785
295
121
307
291
825
774
390
628
155
71
93
687
600
100
39
642
846
711
456
927
419
277
671
881
839
255
426
815
508
538
668
980
255
970
623
852
387
786
499
541
454
693
282
839
843
342
780
472
149
564
782
610
71
169
975
619
793
715
217
170
466
213
163
478
154
910
307
198
582
691
179
289
811
474
59
963
508
756
940
760
864
873
607
428
236
586
964
495
792
959
297
93
709
189
472
513
718
656
580
939
357
684
255
994
633
657
642
564
898
248
5
587
400
71
662
437
693
47
279
747
980
983
972
139
646
947
448
57
306
185
930
583
604
382
58
242
629
230
355
31
350
708
11
934
836
457
577
257
351
703
943
236
202
467
903
220
880
329
703
898
404
397
124
9
894
942
677
318
86
150
206
566
204
691
428
829
8
99
201
515
438
307
784
23
685
839
841
50
768
676
813
885
899
675
654
183
39
689
541
854
700
986
80
451
715
509
238
272
804
389
152
837
433
653
792
930
998
319
441
323
949
654
348
52
550
115
9
679
3
377
135
93
844
748
447
250
529
460
696
659
866
676
930
359
342
333
289
820
764
408
955
159
84
46
125
689
516
687
454
884
585
616
559
303
892
305
800
310
363
786
230
115
842
311
199
126
504
461
119
591
223
698
536
77
756
593
125
767
251
548
518
73
915
78
606
22
708
166
555
931
556
654
455
577
939
292
231
119
698
224
754
419
596
425
232
928
619
448
188
829
124
758
492
612
752
910
248
369
106
906
334
9
668
880
852
183
245
206
646
745
990
324
545
374
698
283
228
952
855
630
773
901
876
448
600
722
966
300
794
711
877
578
891
577
336
452
159
961
657
564
914
568
779
659
934
508
671
269
882
125
484
328
578
1
830
886
60
68
261
136
447
762
875
332
296
856
230
823
202
777
512
414
804
490
301
109
839
735
854
967
611
645
325
301
679
872
322
495
227
553
651
935
85
135
173
255
568
610
626
581
398
525
545
490
297
175
350
679
52
494
626
118
458
282
760
270
392
770
940
146
297
718
253
128
929
476
117
985
295
590
848
565
51
92
726
743
395
525
397
346
722
598
388
592
807
34
397
869
468
201
67
746
919
242
823
587
902
277
262
390
593
106
858
724
548
208
758
981
569
111
267
871
234
614
987
101
450
973
97
931
615
872
512
990
184
739
353
812
778
590
680
840
799
253
33
283
489
612
133
982
749
390
506
809
869
43
402
162
13
306
540
70
655
785
633
787
525
738
650
715
325
588
433
616
131
807
320
292
297
112
19
16
642
2
153
602
398
541
878
790
369
577
593
509
467
52
959
341
653
696
556
185
9
421
617
427
671
68
915
843
970
779
407
525
95
615
900
283
208
923
384
766
351
758
631
736
730
541
852
287
851
771
671
480
217
588
113
554
617
436
613
410
30
261
622
802
121
878
774
32
297
994
266
365
387
766
707
66
435
27
774
25
10
692
73
952
857
413
723
792
126
618
869
325
387
609
449
774
241
379
364
75
198
48
795
537
784
187
783
373
210
329
765
409
206
541
84
624
111
647
375
387
102
313
596
959
982
776
354
599
38
300
664
220
822
344
494
986
490
163
202
760
965
609
444
33
324
351
409
88
562
562
465
17
490
789
119
186
67
563
236
816
114
320
111
220
312
744
608
525
391
86
641
750
498
28
686
915
115
235
68
137
30
993
474
910
336
720
117
427
345
592
610
414
541
939
795
665
865
949
102
688
754
522
20
48
610
13
810
479
394
360
861
518
450
637
131
374
480
198
730
112
362
610
152
651
802
515
12
165
898
450
40
219
428
681
804
916
277
496
602
969
753
26
647
543
604
422
423
582
907
988
105
974
686
651
903
264
536
970
964
93
410
178
395
100
351
574
502
503
258
823
867
272
140
292
457
958
700
305
296
108
351
332
696
742
989
760
196
189
448
855
297
781
39
457
297
800
931
681
430
155
405
324
589
282
698
919
274
840
135
674
502
137
220
31
701
510
257
455
986
83
94
644
492
640
801
199
15
660
426
995
963
103
303
930
835
852
124
498
253
143
321
365
332
818
39
363
693
477
153
843
808
131
318
847
730
114
39
149
236
132
518
538
377
628
550
108
226
404
43
110
248
652
921
7
198
303
501
133
618
62
133
803
861
948
227
502
625
181
226
305
907
301
41
445
822
796
740
162
558
70
354
298
475
616
610
885
263
505
471
585
84
896
470
692
176
401
906
161
277
756
427
815
291
362
750
270
254
595
9
223
513
878
76
295
274
911
825
788
997
629
272
338
75
729
707
226
880
926
732
492
334
454
223
699
832
204
683
154
66
6
813
703
718
929
289
110
83
784
121
537
207
816
690
193
908
305
30
238
930
194
62
963
74
368
99
972
345
906
995
917
767
469
690
677
629
11
477
29
154
132
771
589
229
979
404
705
911
514
946
654
741
387
214
59
617
238
129
19
950
856
118
304
434
913
973
678
424
965
797
243
97
334
603
777
60
245
856
7
930
728
840
970
710
488
496
503
940
266
224
837
577
435
380
953
625
35
560
350
503
587
521
848
794
26
309
750
179
219
580
592
638
209
480
831
821
675
576
803
194
447
668
60
528
894
448
839
128
565
814
997
803
487
556
277
748
103
936
767
838
669
978
978
956
135
618
651
84
41
42
45
151
62
885
467
751
998
649
331
767
806
113
789
138
280
981
695
956
577
40
498
688
950
636
995
447
111
632
789
693
289
586
924
259
582
987
219
571
689
75
668
933
895
671
467
872
968
613
839
471
390
668
587
942
125
597
374
112
117
918
100
177
893
538
718
208
334
53
847
439
786
33
594
110
263
825
962
193
175
962
911
23
300
711
131
719
863
404
751
809
819
121
472
324
718
492
358
657
310
303
577
315
392
591
583
811
876
23
459
655
446
900
628
825
899
524
799
176
145
231
862
617
161
531
973
310
621
981
151
863
862
670
558
72
915
749
446
197
26
18
146
926
347
944
149
840
225
855
663
967
926
218
772
913
395
172
239
531
969
974
881
681
262
952
442
493
635
543
310
149
592
37
880
405
581
534
695
194
576
243
407
273
136
608
221
617
124
784
786
968
483
259
753
40
949
102
884
872
463
213
845
911
952
794
946
925
249
798
862
271
410
617
386
281
301
13
814
540
985
596
944
408
870
615
862
341
292
630
339
8
565
806
411
275
317
892
842
294
719
63
290
167
580
250
487
622
645
89
580
364
104
329
982
812
121
373
420
328
920
11
879
109
652
821
877
159
230
383
424
183
208
494
409
123
785
148
898
550
430
573
468
104
579
684
78
436
356
681
330
282
786
445
542
925
572
26
94
279
676
223
566
468
968
839
986
996
157
16
317
853
256
645
988
209
383
504
993
481
743
13
51
50
669
507
491
433
46
63
827
580
998
234
448
37
883
445
38
23
367
854
903
999
916
200
97
146
193
208
820
317
776
544
368
342
598
711
784
211
257
482
571
569
355
382
86
585
810
622
427
845
230
84
674
103
447
549
673
50
895
93
564
823
369
891
284
998
474
718
199
287
894
809
227
563
356
899
681
148
319
2
839
431
649
233
703
359
867
673
856
867
891
655
288
939
983
726
632
63
45
974
270
755
441
575
988
561
641
925
192
154
780
37
509
5
406
456
182
975
914
960
853
387
334
921
968
954
553
426
842
709
601
858
656
142
532
24
813
709
903
481
590
105
834
462
463
301
283
588
326
522
417
374
94
12
607
38
509
487
559
801
540
644
783
379
186
431
152
174
300
310
47
137
382
918
112
804
484
73
878
953
485
91
794
578
239
140
969
471
393
207
651
576
842
597
207
12
835
906
896
997
69
602
850
700
608
995
163
361
555
379
297
735
704
73
264
861
988
485
293
97
139
785
557
660
625
423
526
535
468
733
389
810
24
613
507
890
819
996
913
365
324
742
273
650
35
776
27
333
594
916
113
598
656
524
812
919
515
152
405
449
401
60
193
909
940
311
331
237
911
3
538
360
621
102
975
996
550
574
45
342
552
310
294
644
8
589
12
519
19
561
355
990
925
425
836
322
695
147
399
419
371
941
709
240
520
758
214
691
145
300
816
933
526
804
777
323
190
986
874
376
621
230
531
849
733
308
367
921
910
138
800
976
949
142
748
589
343
375
291
611
100
105
415
533
518
862
43
368
840
465
46
828
441
935
394
765
325
487
384
94
631
350
566
880
709
455
808
526
971
707
553
992
137
977
767
288
705
768
183
855
995
221
165
396
125
303
961
138
905
1
213
240
674
247
119
725
517
574
267
150
722
786
812
211
964
471
261
454
835
608
813
926
280
960
954
207
54
386
641
367
886
951
59
761
252
383
542
60
552
749
170
947
649
350
994
673
888
384
466
501
98
266
159
87
406
664
718
413
358
904
264
133
358
240
856
269
726
710
58
369
358
778
961
675
232
392
531
133
270
934
6
492
909
184
986
435
797
804
702
943
970
995
633
561
802
118
117
275
464
365
479
789
246
538
618
330
601
663
620
478
892
280
103
330
862
728
258
756
279
163
997
604
410
36
321
124
492
766
431
974
225
768
39
765
617
498
878
752
557
151
783
902
728
440
521
272
889
49
956
110
178
695
603
526
164
558
438
453
81
77
971
518
220
111
82
2
168
32
827
520
137
741
778
538
440
968
285
171
79
385
44
587
70
269
85
809
695
271
911
434
202
88
708
264
53
559
929
768
444
636
18
188
956
63
865
703
544
208
854
779
89
843
842
440
464
212
941
146
71
477
463
370
101
939
807
28
161
987
626
438
122
399
890
607
678
158
699
600
262
93
255
812
659
331
636
910
275
599
831
449
714
881
783
349
250
955
294
560
115
55
276
491
849
33
552
92
187
225
872
481
923
891
424
730
188
673
353
377
535
526
215
580
411
102
802
222
665
883
444
209
673
270
589
870
571
381
417
281
820
706
693
36
703
851
753
78
847
239
753
956
721
889
967
405
391
172
987
854
717
945
586
669
483
277
27
601
951
415
277
890
607
959
317
89
123
775
254
745
450
137
111
873
64
117
571
598
764
76
24
312
451
165
927
90
878
828
703
593
438
812
809
785
101
48
794
886
925
497
828
682
600
290
172
317
428
459
505
909
846
793
240
361
177
188
153
949
391
67
245
226
84
18
504
847
822
2
276
112
886
482
312
86
899
305
173
742
577
714
637
176
193
140
939
499
408
684
320
520
53
63
791
843
332
684
491
283
672
948
163
567
326
224
39
907
147
871
365
88
777
628
5
498
250
296
804
736
59
355
291
282
606
177
970
35
235
771
171
471
969
302
367
56
820
509
648
668
88
895
102
558
507
138
225
769
503
25
160
140
706
887
77
240
401
574
602
283
348
944
808
707
767
47
210
650
816
758
662
892
472
302
375
222
925
554
44
719
517
366
172
514
988
446
17
863
699
93
240
37
750
247
685
760
802
187
871
625
346
867
170
173
504
385
457
712
646
118
409
577
727
845
162
20
795
189
196
175
572
901
194
982
173
520
705
548
117
23
731
98
573
962
506
651
997
611
406
397
581
522
499
131
69
693
315
329
300
876
772
324
750
144
850
612
867
189
285
449
578
450
2
235
238
997
781
215
20
499
372
686
49
263
952
472
10
903
722
536
223
542
770
415
823
402
929
520
536
477
501
130
558
731
771
849
885
975
286
918
477
383
258
755
251
533
486
920
152
42
542
349
736
712
943
35
948
402
845
809
7
509
688
340
125
706
881
877
304
770
507
487
331
323
396
614
864
921
138
466
796
573
979
406
3
178
295
137
24
936
506
778
671
767
922
486
68
715
818
512
480
539
126
767
688
217
904
864
425
287
417
894
110
98
238
446
497
649
908
894
659
321
916
241
335
812
196
420
360
944
883
632
905
3
535
918
914
525
905
609
395
905
740
265
294
225
305
5
86
989
446
745
104
607
62
341
776
717
987
666
727
291
870
311
85
324
949
170
505
756
926
203
35
152
646
58
852
378
544
187
120
579
917
209
986
791
677
417
395
771
316
888
126
595
284
57
489
301
287
570
90
684
599
298
953
320
162
368
32
649
935
639
957
833
390
648
180
316
377
993
55
401
124
748
50
96
776
576
653
755
604
520
775
968
420
740
983
673
525
911
192
449
772
620
284
94
146
178
366
881
278
229
95
958
800
519
101
309
218
476
993
253
989
21
235
614
443
287
722
186
640
517
28
980
937
14
247
383
527
675
647
344
831
674
747
622
522
232
215
809
811
306
286
756
754
687
252
344
219
302
711
538
613
931
411
670
726
11
457
532
133
730
733
831
242
891
961
508
21
931
453
872
739
68
269
498
583
812
720
957
174
365
348
51
258
848
880
976
989
317
513
269
461
648
930
770
342
130
155
578
573
649
221
363
380
736
938
790
757
161
171
789
92
297
573
818
621
201
722
262
138
82
43
498
978
819
785
774
703
320
230
186
440
81
749
56
902
259
892
952
795
190
786
312
805
747
846
26
822
815
869
150
1
127
194
830
302
463
699
706
219
973
830
440
915
612
700
987
792
891
905
757
774
403
399
44
834
203
566
669
695
710
345
303
219
210
550
132
830
932
508
781
636
827
284
731
224
569
507
532
301
951
342
404
577
139
877
46
934
274
375
793
600
659
471
586
595
246
44
436
38
275
126
576
785
418
507
272
990
299
997
330
189
193
145
215
372
570
339
488
710
444
135
499
318
499
603
555
508
100
483
718
438
710
81
149
465
417
236
698
940
823
530
207
724
883
20
858
562
471
79
883
72
466
351
492
341
60
219
348
325
258
224
280
319
292
923
209
881
417
858
502
579
485
774
56
82
624
150
44
267
953
727
178
566
239
965
554
574
219
801
651
125
699
587
181
875
601
993
541
429
883
782
689
356
291
630
76
332
4
484
46
355
766
942
570
649
134
301
716
770
854
554
569
727
638
752
473
946
998
44
377
544
332
249
944
248
838
214
508
184
373
461
78
94
107
912
271
467
756
611
931
207
440
653
113
712
855
22
305
530
76
550
469
319
546
765
954
655
598
87
594
839
398
940
657
553
762
117
264
120
544
278
412
208
277
295
216
350
765
376
534
580
354
765
190
651
313
866
265
832
392
526
692
832
76
912
100
600
297
805
335
599
517
549
938
486
658
626
496
880
167
216
564
765
287
5
147
696
419
903
223
744
779
951
755
748
743
789
511
393
889
416
175
876
957
218
873
413
94
297
845
806
430
555
182
806
677
404
636
823
243
877
918
566
377
889
151
7
731
105
167
370
549
164
89
604
815
296
829
229
446
481
51
104
668
515
349
485
834
162
904
600
859
88
127
775
83
469
552
944
81
707
181
789
306
620
239
623
16
7
9
913
622
360
733
445
655
803
153
372
98
734
503
59
669
844
797
938
268
584
158
128
59
174
385
128
701
91
442
839
326
561
39
426
976
61
176
704
307
614
675
938
795
962
857
784
67
378
327
48
183
959
282
50
748
698
654
196
861
85
252
383
183
835
172
907
179
397
802
418
179
578
846
896
708
462
171
7
340
944
235
763
906
347
83
79
534
453
440
78
520
792
245
654
865
195
191
937
50
669
424
216
254
739
567
786
122
610
16
925
239
934
596
680
267
564
601
437
491
254
910
54
936
669
978
674
649
186
370
288
418
739
703
930
954
825
982
83
466
844
214
138
412
847
890
860
608
425
359
707
449
435
898
119
692
648
409
629
382
186
253
447
777
444
332
545
5
919
599
30
394
934
415
45
14
1
879
168
54
739
82
143
684
806
419
511
765
824
636
391
502
849
326
167
820
980
660
474
113
947
813
49
985
425
668
793
827
488
547
56
32
500
210
436
475
906
130
737
635
510
403
616
121
983
161
693
400
177
356
404
877
488
116
652
701
338
719
949
237
413
503
162
134
546
457
848
571
580
265
33
51
693
798
457
975
638
474
252
663
472
604
505
559
592
525
75
515
324
477
869
424
898
965
731
432
383
391
603
219
549
834
988
157
886
307
191
375
440
176
128
663
76
666
892
436
788
829
791
877
903
93
576
538
7
206
6
635
198
585
151
76
558
836
386
346
725
773
141
59
594
292
209
423
521
290
766
113
292
78
647
793
21
541
440
191
897
901
134
472
667
64
877
383
313
909
500
214
399
190
863
662
489
599
312
7
40
159
310
963
42
722
472
427
215
727
464
487
162
405
666
64
415
339
604
241
794
937
825
534
262
701
634
920
767
954
757
941
518
413
704
118
459
739
507
91
762
26
643
980
99
258
740
344
334
54
342
209
72
703
566
374
458
479
794
84
500
693
537
436
148
739
147
90
257
911
117
11
360
181
224
729
545
876
638
990
866
760
96
101
409
430
883
224
819
557
634
464
769
943
302
466
792
274
188
59
822
701
130
879
331
573
966
115
779
696
191
4
828
906
739
233
63
862
728
964
671
683
742
333
248
500
155
405
743
546
641
285
549
753
648
978
685
90
524
551
25
602
129
68
138
576
886
453
23
704
46
249
803
691
49
865
255
771
504
200
613
491
398
67
64
334
804
766
677
96
243
583
431
102
511
42
31
427
520
206
781
726
868
541
952
600
791
965
45
253
966
58
190
564
539
932
317
504
191
253
735
291
35
297
720
991
363
658
314
300
833
258
454
469
452
578
500
929
122
161
930
370
517
37
220
735
853
135
789
126
232
203
254
416
607
476
987
604
776
51
588
315
858
670
939
838
728
359
280
542
822
606
730
521
333
825
546
469
392
222
60
613
829
803
159
275
185
834
588
58
912
371
889
584
284
464
605
764
61
463
920
896
590
44
538
495
251
247
265
240
916
384
531
972
424
50
434
694
69
219
813
180
806
14
467
210
928
822
856
313
223
524
763
789
362
119
865
71
193
424
381
755
763
769
728
608
115
604
196
241
650
575
570
247
594
1
504
452
786
907
995
470
971
482
599
780
471
756
470
714
143
46
151
811
346
645
822
410
576
790
4
228
624
4
628
518
960
990
515
694
445
370
826
296
693
37
15
349
516
85
100
367
246
732
999
563
796
701
987
90
171
831
356
882
163
250
278
272
139
348
163
74
433
1000
571
769
74
101
744
226
85
997
303
965
764
64
311
153
451
378
496
943
748
810
452
909
450
326
709
413
660
957
685
526
276
762
759
755
940
47
171
918
227
92
261
984
966
896
626
557
946
134
638
239
797
392
769
503
684
85
969
128
69
671
603
657
307
728
884
211
384
189
586
119
374
826
661
520
567
318
552
817
172
170
955
947
655
852
834
382
299
470
291
856
43
696
649
874
615
485
479
170
402
559
16
345
913
900
932
218
899
165
451
110
664
79
322
538
5
905
846
357
338
946
564
921
954
172
543
666
207
835
135
586
94
696
440
776
460
171
164
42
515
311
905
231
469
999
488
443
194
90
415
422
50
125
585
108
789
564
78
411
707
934
225
186
912
683
388
503
345
147
843
157
177
566
898
303
482
354
525
516
130
198
489
376
231
19
612
859
151
470
473
84
201
278
335
105
242
202
735
275
439
810
821
588
487
799
808
398
630
82
138
861
805
751
563
997
998
783
415
181
912
62
472
145
634
768
159
183
629
611
339
1000
69
911
625
260
177
340
603
197
28
439
886
568
836
825
148
706
40
927
862
10
521
350
916
804
904
970
893
520
544
541
213
415
822
980
327
947
192
523
363
619
823
163
496
526
436
240
912
718
629
417
778
676
645
369
626
600
493
818
970
583
91
520
301
863
468
126
13
243
578
42
45
274
323
5
795
432
81
272
73
139
397
658
720
160
519
679
781
620
189
981
426
684
718
641
666
826
360
260
137
743
570
100
771
288
501
400
356
679
149
840
362
427
680
801
617
354
107
828
515
108
602
580
376
39
583
510
828
692
205
327
771
884
336
399
328
497
733
204
239
324
650
685
581
13
844
902
130
408
879
687
350
817
720
775
812
69
787
523
369
544
125
804
332
387
811
866
152
522
780
616
459
69
703
902
525
583
116
257
102
235
822
815
771
552
638
586
595
124
423
424
453
679
272
331
55
439
837
808
551
371
785
25
780
353
530
93
164
473
924
767
683
169
421
50
7
223
470
629
913
902
655
172
661
247
515
64
810
390
763
29
523
171
178
806
45
17
748
79
203
507
706
890
485
824
133
858
408
485
252
790
444
166
34
433
502
844
53
309
639
759
760
547
617
375
108
96
356
542
422
484
12
199
458
46
547
823
652
265
894
842
155
436
418
384
701
497
939
748
988
538
607
236
195
921
202
786
864
932
302
939
131
963
508
468
653
771
609
200
323
702
155
901
345
322
22
139
979
854
798
625
847
486
423
246
151
107
50
170
362
722
471
757
891
305
311
879
63
257
845
114
457
234
309
128
651
956
949
524
864
334
641
399
765
399
513
442
462
457
94
740
409
78
566
376
529
587
16
285
475
335
404
122
826
114
299
456
64
965
236
954
46
972
829
431
617
860
948
342
598
137
621
589
965
310
857
194
577
771
705
716
993
483
496
709
885
404
886
195
562
777
271
275
853
545
413
225
826
681
219
125
554
682
748
674
207
531
684
117
925
556
744
318
651
265
504
168
916
256
509
411
247
627
413
91
469
828
798
200
985
100
588
257
811
75
402
304
155
911
192
43
519
465
71
193
913
97
85
20
764
544
125
335
45
837
814
183
396
684
12
230
919
130
292
98
48
44
344
810
50
997
85
804
820
433
66
272
591
56
987
672
370
523
188
929
584
85
110
561
4
289
439
470
604
406
332
139
201
71
343
69
113
628
562
184
69
790
736
50
367
38
726
470
887
869
555
877
4
355
750
259
798
910
528
822
745
951
160
279
80
389
639
547
621
570
535
203
781
628
597
274
298
830
942
68
895
687
798
585
395
129
678
156
659
479
260
682
505
251
919
453
340
228
586
648
387
674
777
300
6
271
133
226
221
16
680
384
317
387
431
8
646
40
827
70
290
635
590
782
598
307
13
39
694
179
613
411
427
503
341
308
840
16
654
948
166
763
220
423
255
133
106
879
776
816
369
835
558
400
349
388
21
767
542
51
457
882
569
667
3
268
574
291
466
879
229
29
765
409
474
148
548
79
803
959
459
361
126
178
517
946
349
241
297
692
255
159
729
151
42
157
282
699
278
539
731
489
131
538
693
305
444
205
844
310
707
613
937
519
995
928
875
26
99
385
162
485
971
904
221
396
536
253
881
765
334
790
7
408
829
735
967
160
69
94
137
859
743
720
160
50
240
26
555
925
434
304
781
754
69
377
614
325
844
897
943
193
207
271
962
721
322
866
190
99
981
578
817
88
379
726
769
953
158
437
299
301
520
674
310
930
28
982
544
223
232
393
30
370
270
171
358
212
674
143
366
599
669
976
491
306
592
178
679
726
165
923
200
488
305
464
801
594
631
799
109
101
866
396
758
472
333
425
690
220
680
255
135
545
639
354
617
123
462
768
432
628
194
93
323
185
809
57
94
929
936
122
769
997
122
386
905
261
529
980
415
989
12
881
216
493
669
173
667
973
97
508
101
450
843
677
377
798
625
284
96
768
867
261
655
555
750
935
305
567
87
463
414
811
816
530
826
2
807
846
645
764
280
710
257
93
698
21
625
663
522
424
952
254
51
163
131
254
974
912
638
391
421
214
307
65
509
399
668
829
388
754
558
292
690
947
736
697
684
845
989
307
507
208
515
127
986
265
390
737
866
95
512
115
662
429
289
419
428
266
750
259
767
107
440
123
687
850
382
887
95
556
120
870
710
478
607
152
334
938
765
393
625
594
444
359
42
350
428
272
404
805
172
381
791
519
645
344
954
664
234
190
387
73
257
292
73
32
687
221
424
94
804
23
450
508
988
474
555
793
110
214
677
211
408
526
557
996
681
739
94
160
412
507
30
941
649
968
356
101
577
458
112
860
668
18
231
981
543
436
359
567
536
148
375
32
776
556
463
485
140
796
139
935
255
320
219
392
32
106
747
786
847
141
2
568
571
70
498
347
485
178
883
343
453
608
890
759
280
107
82
617
221
324
300
644
479
814
451
807
619
431
604
55
681
637
461
565
628
508
591
885
533
610
229
715
801
50
222
83
941
494
470
457
809
917
571
188
38
978
929
346
781
755
150
450
286
603
841
734
41
915
322
727
410
478
354
407
649
905
356
171
657
501
688
776
562
166
564
802
920
899
800
794
540
831
572
785
406
559
372
497
269
246
903
783
696
21
723
156
448
482
211
576
193
514
458
174
954
809
943
193
346
487
727
14
984
409
15
627
733
170
510
420
410
748
926
941
684
144
640
898
726
764
497
783
433
122
865
343
197
193
465
41
880
114
917
782
490
36
452
111
783
97
644
255
630
537
703
565
305
990
61
678
112
465
348
814
720
692
740
437
923
580
897
88
182
588
152
204
715
75
936
27
494
689
315
718
241
946
387
184
474
652
405
266
791
210
59
314
41
776
639
823
954
73
339
621
700
484
579
352
921
823
953
390
950
764
593
240
714
870
385
921
523
716
631
706
486
108
960
256
382
400
427
917
603
50
145
879
944
236
686
334
40
748
535
349
167
716
8
722
728
854
500
3
479
827
388
617
615
948
431
87
188
156
677
907
708
151
751
792
999
870
592
391
47
391
478
204
992
675
792
311
411
200
439
557
962
423
421
109
578
408
334
869
303
895
496
63
511
71
450
87
51
186
164
182
639
480
570
262
436
243
826
125
965
912
389
602
771
886
475
211
240
565
38
543
955
754
747
745
999
925
534
710
72
723
800
177
276
588
883
760
114
207
705
828
663
288
119
113
435
425
347
89
214
581
165
338
684
404
748
852
481
450
77
562
441
25
316
242
217
501
247
876
961
494
984
403
191
870
137
997
804
967
351
480
576
99
382
479
579
822
76
387
206
272
537
607
243
277
920
361
819
541
787
921
659
607
870
90
683
832
885
799
292
115
218
266
149
15
855
499
504
146
77
452
213
216
133
62
95
294
615
688
370
114
593
771
90
33
153
804
165
105
917
493
188
728
617
963
814
979
241
35
298
684
112
254
885
566
608
35
887
576
903
113
315
199
649
322
33
947
460
678
490
736
121
52
461
458
744
920
414
677
285
272
687
675
367
964
221
351
790
19
316
616
63
194
644
646
86
538
974
315
459
23
700
66
301
874
775
543
724
319
3
758
462
38
660
188
704
363
69
797
243
762
210
322
16
848
1000
870
32
631
673
368
712
756
852
577
48
746
117
546
776
937
46
623
895
924
748
513
664
231
419
863
152
644
27
37
808
854
772
453
506
812
119
857
260
633
327
392
197
231
146
276
353
368
267
522
719
392
898
431
330
881
74
346
447
303
336
456
771
936
114
528
437
774
103
779
47
295
96
143
825
902
939
255
844
168
753
923
413
382
195
419
971
714
290
56
224
381
694
427
930
854
451
441
585
473
116
663
383
212
245
598
681
628
374
56
49
966
191
47
368
342
66
997
32
241
564
747
409
543
560
322
211
679
307
882
673
2
220
29
972
592
671
561
575
161
113
713
397
105
145
482
112
118
881
594
649
215
772
971
93
194
376
111
651
318
270
455
291
927
741
517
63
572
656
920
911
825
837
930
167
777
732
130
939
357
88
529
65
35
762
113
271
748
981
952
705
368
848
765
149
997
304
996
221
460
509
538
400
837
897
823
40
591
827
478
52
528
503
668
391
438
244
266
981
273
86
265
665
111
12
262
406
404
99
246
855
747
142
948
938
385
64
467
20
60
437
40
194
399
19
582
383
745
466
900
557
839
700
978
858
776
708
156
151
744
949
117
387
539
233
673
765
966
906
396
49
398
206
222
108
909
622
537
184
118
277
289
579
133
675
132
656
446
437
489
260
216
231
490
428
600
700
813
807
634
899
708
599
435
685
449
905
507
851
189
627
213
715
803
606
823
509
762
139
196
573
430
678
210
982
21
950
15
579
598
17
45
208
52
266
649
30
212
104
261
276
97
23
725
171
820
66
635
760
997
664
541
569
207
781
535
731
828
771
599
498
219
764
189
504
90
416
349
159
508
658
650
531
910
672
802
388
660
267
587
807
483
279
106
26
356
594
141
675
783
226
346
592
219
847
390
937
860
179
522
251
854
433
31
949
101
883
17
644
902
354
927
406
221
476
133
245
694
886
327
659
168
92
561
290
703
404
372
696
960
311
77
978
555
582
841
439
175
518
702
440
998
547
382
998
923
789
120
484
916
285
30
709
377
73
534
803
766
678
275
380
951
379
364
584
919
634
393
295
914
799
497
874
575
668
870
797
672
776
261
646
908
887
103
984
318
578
913
574
850
52
795
898
139
386
963
350
358
665
923
897
588
464
945
743
588
277
517
399
78
794
356
939
867
122
892
655
740
127
844
191
866
645
106
446
505
718
59
72
876
889
518
248
952
835
963
446
937
995
479
240
584
626
72
189
4
32
884
321
105
373
618
193
602
894
284
649
282
695
409
736
303
309
731
127
595
256
11
400
920
508
484
741
324
718
995
460
220
73
794
475
715
902
65
965
203
858
507
235
460
640
60
600
850
189
206
492
739
896
933
333
215
665
634
73
481
256
863
964
927
519
139
513
889
56
788
305
632
901
944
909
357
521
117
950
30
413
730
475
635
385
414
305
375
424
641
507
151
271
10
169
202
501
355
604
309
103
389
390
747
77
125
751
300
560
648
2
507
230
837
206
948
474
978
545
980
86
359
163
273
354
534
576
439
111
9
40
11
578
655
202
162
744
517
407
269
726
521
883
276
997
109
277
231
93
818
936
912
988
153
681
980
11
500
851
858
565
366
609
84
710
852
45
262
827
218
496
814
147
718
293
606
138
746
913
353
901
590
427
347
732
478
343
635
629
651
38
123
865
246
778
320
538
541
120
563
407
623
458
563
543
369
228
364
335
315
1
341
333
929
970
839
806
77
875
477
394
792
13
287
82
205
231
599
621
945
769
656
369
968
958
26
916
762
973
936
401
15
479
160
694
626
103
789
244
287
541
98
559
532
596
722
869
442
282
949
234
445
52
99
966
8
804
731
770
25
18
777
726
921
57
303
794
437
35
890
856
377
137
919
358
572
890
367
163
988
26
691
109
156
147
354
404
766
76
973
375
579
496
574
201
329
453
957
960
386
888
476
614
542
132
339
873
15
597
713
437
671
580
406
721
190
930
78
75
178
325
271
315
883
53
45
151
220
839
602
814
66
839
388
793
440
179
997
75
147
527
318
635
729
361
405
298
847
448
144
819
172
778
857
545
298
262
718
355
116
647
9
454
471
213
991
239
664
786
89
836
190
425
48
39
7
523
692
412
369
959
412
125
877
819
690
475
558
18
295
630
129
894
871
963
632
770
827
57
394
197
731
668
988
535
782
795
803
597
582
562
868
369
907
808
266
139
990
236
638
364
93
986
779
518
755
267
947
594
237
902
41
215
105
241
32
410
372
338
716
280
987
210
967
810
391
304
67
487
50
173
185
298
932
470
778
267
944
375
570
363
787
279
736
286
779
954
224
600
859
639
542
924
424
614
561
461
483
813
773
61
953
311
62
46
763
634
540
955
838
916
957
785
47
331
159
349
68
675
212
286
775
633
338
973
562
494
757
813
361
763
919
31
66
271
696
663
582
878
682
500
899
638
795
444
612
70
82
389
858
43
350
366
922
658
917
656
417
81
350
335
938
49
478
930
414
161
626
535
967
512
641
453
639
253
919
999
641
538
359
250
841
783
859
795
645
688
771
198
507
41
371
256
200
2
901
509
144
269
343
663
139
51
175
890
724
931
114
363
489
591
235
992
283
478
537
102
960
486
25
927
987
896
589
982
996
162
177
907
584
214
164
944
113
354
489
811
771
734
587
736
798
61
150
113
788
633
503
682
886
318
686
306
328
300
233
439
405
897
205
432
689
979
429
787
661
383
977
70
670
235
643
109
103
3
239
358
897
716
183
825
243
549
202
292
509
992
825
282
752
596
462
182
164
775
276
322
95
426
902
511
894
130
22
379
85
283
254
188
759
934
69
623
122
476
4
434
439
747
325
854
664
575
213
927
512
291
795
388
801
390
238
979
80
155
165
57
808
658
520
622
810
17
901
164
718
70
464
102
763
254
834
260
580
304
433
359
768
320
720
127
914
632
591
890
656
600
210
321
731
174
898
107
587
665
7
667
340
98
899
365
829
108
721
27
171
929
166
201
598
525
766
264
46
937
457
582
70
779
708
948
830
325
795
484
12
163
848
547
204
400
445
436
749
196
338
612
857
17
24
579
883
760
534
248
355
975
405
545
462
450
514
317
757
922
211
357
314
628
806
931
499
764
414
581
108
91
94
320
810
880
35
982
776
668
153
860
508
28
636
51
284
308
213
533
263
495
187
121
767
222
265
433
695
18
633
543
886
790
2
274
365
686
401
894
929
103
162
871
754
608
406
937
908
593
472
940
564
285
607
211
540
560
345
878
899
751
491
569
503
752
210
465
605
229
155
338
996
526
775
325
287
997
352
842
518
378
394
181
722
67
653
409
844
926
355
727
622
577
517
604
898
699
468
920
527
841
309
905
67
714
320
463
610
589
481
578
421
370
772
443
820
715
159
135
149
423
628
247
817
678
762
826
820
869
729
93
376
73
938
122
339
641
366
198
893
860
1000
426
499
492
808
430
855
563
246
706
895
973
890
301
947
647
127
941
334
248
860
896
613
285
711
264
457
477
628
702
801
880
430
135
250
808
839
43
632
168
179
689
500
215
60
296
845
745
758
441
470
173
609
635
362
54
240
747
7
470
343
473
630
465
1
46
506
473
462
227
451
520
37
294
132
613
448
762
17
456
124
980
964
596
317
903
309
863
449
673
20
336
657
420
768
799
818
46
649
888
296
425
97
893
677
339
929
674
476
804
833
694
450
650
63
182
306
695
709
280
474
608
840
512
619
519
321
611
503
426
689
246
125
39
1
199
403
516
32
548
47
671
879
865
81
355
662
185
486
585
381
220
857
438
63
718
3
411
103
913
306
407
66
924
749
255
505
418
498
784
661
530
232
995
633
543
558
753
122
263
811
313
610
656
502
844
923
22
592
702
61
766
405
984
110
152
467
829
186
504
757
118
701
742
376
44
992
52
231
126
925
799
134
378
572
734
26
525
885
202
73
4
314
17
92
178
571
792
257
318
361
750
391
349
528
419
684
276
265
11
778
163
28
721
854
30
294
512
121
768
328
581
895
776
19
959
65
958
936
630
902
641
990
220
403
736
250
169
500
905
637
511
707
8
619
891
410
101
452
475
204
387
845
429
546
867
632
808
925
304
756
125
404
997
505
267
208
78
333
967
458
618
90
942
971
997
565
374
370
744
663
163
916
442
3
760
443
25
237
657
649
147
733
248
644
163
241
588
920
806
313
939
647
446
348
753
557
926
442
770
907
136
631
953
330
811
815
490
835
226
524
994
288
355
892
577
936
645
230
162
351
318
638
515
718
378
937
345
559
560
520
637
146
255
160
546
144
601
971
304
143
240
245
148
169
224
816
759
297
701
291
313
714
379
319
552
237
251
787
306
826
536
103
309
648
16
758
8
805
448
502
348
428
889
211
407
376
591
326
451
369
352
479
302
111
613
119
921
765
826
195
633
62
149
518
507
938
5
513
8
943
99
870
487
297
964
773
851
972
849
751
942
212
337
199
282
883
87
426
739
672
25
977
601
473
324
502
93
720
267
777
927
773
98
829
721
491
276
984
733
957
100
695
503
114
522
961
529
531
910
277
671
550
832
624
361
471
664
851
886
493
202
940
189
552
236
918
84
390
707
747
937
238
275
628
479
150
919
908
650
200
776
494
431
607
400
393
764
312
529
848
150
725
551
157
504
143
186
32
818
637
84
205
848
461
863
665
659
665
637
313
969
169
20
522
681
232
481
913
587
280
160
499
77
589
403
11
562
849
188
731
583
745
229
918
30
805
146
506
387
911
274
754
117
975
8
512
494
272
583
694
678
36
391
598
588
303
536
355
188
68
227
166
618
692
372
749
820
916
527
528
341
459
789
212
608
604
743
587
682
371
990
439
435
692
360
773
720
804
123
835
547
814
899
512
558
593
477
326
442
364
148
322
593
431
957
999
45
579
62
553
384
518
903
687
592
215
205
266
164
242
944
305
779
844
539
708
323
237
143
598
628
694
74
350
281
120
173
243
153
114
17
476
788
518
496
131
303
502
54
697
714
643
364
318
940
645
152
243
422
526
892
349
579
572
204
407
125
794
642
636
304
213
403
780
638
512
143
95
140
162
805
366
242
242
987
111
764
319
189
102
669
83
626
965
500
391
811
754
839
182
656
818
762
97
925
83
953
927
309
735
493
75
725
266
546
799
357
151
397
140
521
934
429
332
574
102
356
830
533
439
31
957
986
855
643
890
731
628
620
886
864
936
160
642
762
397
224
103
426
830
298
679
671
812
827
744
681
988
484
975
428
451
672
567
770
461
502
216
320
109
21
758
873
955
346
35
632
374
835
184
88
926
382
846
316
849
85
884
227
375
298
2
809
441
865
871
298
425
938
54
4
743
52
62
91
52
729
379
339
945
536
577
10
62
572
593
37
524
632
96
361
448
5
28
29
357
56
386
904
551
383
93
73
429
146
929
17
34
955
96
95
400
842
792
62
947
878
353
361
275
161
347
705
104
643
73
580
44
439
3
961
911
146
800
393
695
382
191
525
889
90
28
984
427
371
484
32
274
200
170
238
609
874
550
19
852
267
326
175
846
741
178
967
324
409
873
770
254
508
652
704
278
881
637
995
638
874
700
399
235
267
421
758
425
461
594
420
964
586
234
247
113
937
781
926
356
403
6
639
322
741
188
924
84
655
367
131
135
479
695
471
340
841
443
270
908
816
649
294
98
448
719
726
703
35
826
510
69
763
600
10
676
672
514
831
625
900
239
774
297
560
698
371
443
861
834
684
834
253
940
164
139
880
301
960
31
263
408
137
135
265
137
993
356
695
999
406
344
361
322
765
253
840
410
146
685
340
300
634
733
123
213
851
210
62
67
149
114
129
591
496
698
925
127
968
586
423
54
784
857
89
855
962
266
106
582
801
969
788
77
397
342
538
182
423
563
139
573
868
120
652
963
29
978
515
316
913
288
347
263
53
702
586
837
673
135
306
269
405
10
371
114
646
115
678
582
162
93
942
986
76
192
546
619
939
919
148
330
473
510
885
957
947
282
214
633
788
471
189
860
237
3
257
523
480
604
575
668
99
235
170
701
519
417
823
494
410
174
748
841
398
667
306
641
505
962
104
626
157
268
175
947
909
36
779
697
4
652
162
671
665
679
595
88
758
210
469
99
557
284
184
606
526
994
734
459
672
554
277
985
636
299
3
458
401
181
635
879
242
173
283
854
581
610
190
207
570
725
717
933
444
144
72
640
643
515
941
311
107
225
232
369
565
430
305
563
35
981
441
445
431
889
768
325
672
915
260
804
428
966
646
539
180
937
287
869
33
944
95
391
152
463
230
93
547
742
524
447
701
295
886
813
303
413
416
40
679
92
171
689
208
783
736
381
908
63
634
523
639
811
150
907
611
790
118
303
127
678
477
702
1
780
886
737
869
142
642
263
915
413
139
322
75
117
266
680
5
516
42
416
913
37
142
591
672
932
916
196
81
73
344
717
100
594
2
305
336
254
743
488
367
650
766
833
387
513
604
832
776
55
246
232
946
379
956
301
938
74
873
126
483
280
580
71
706
225
234
626
796
41
647
890
582
350
655
667
573
207
709
174
395
206
655
547
55
957
82
632
24
717
229
308
776
227
257
312
729
220
114
69
397
417
934
586
968
299
938
117
528
297
321
764
830
535
674
400
127
554
319
866
91
476
552
97
350
938
208
645
86
974
4
810
833
209
139
987
497
970
805
988
431
152
812
40
501
42
164
94
963
619
30
566
866
9
41
442
595
272
51
939
40
294
367
505
710
537
377
205
323
696
688
593
488
714
590
631
437
287
556
852
749
59
50
924
175
357
986
742
888
448
331
24
999
318
69
142
791
612
612
200
277
279
647
295
237
225
862
59
214
662
558
175
72
237
167
773
487
793
427
786
456
776
418
207
286
880
705
109
141
857
597
926
660
677
693
406
311
100
112
258
146
315
292
179
235
429
809
575
844
185
947
450
476
548
97
314
954
807
960
753
211
761
534
470
862
671
679
698
167
844
31
684
424
769
953
959
871
876
337
379
822
710
25
604
379
607
99
932
653
440
279
29
819
709
48
312
981
567
534
321
364
651
502
427
802
904
653
960
244
328
682
223
883
983
548
711
810
119
623
196
495
344
585
821
368
944
778
605
136
390
543
887
494
707
68
172
96
880
632
287
948
555
979
792
50
112
194
572
178
683
857
103
493
53
720
53
870
166
227
94
344
104
742
189
299
341
810
188
593
483
275
245
550
211
133
942
481
431
78
862
134
452
132
505
501
806
86
930
990
840
696
875
758
532
536
354
109
517
23
299
765
118
988
558
640
11
980
715
756
26
397
744
185
247
452
848
526
541
795
787
996
78
951
903
297
672
564
491
409
644
505
351
11
584
242
735
93
942
953
434
728
641
594
36
662
502
435
115
569
666
503
788
982
341
838
323
813
489
241
544
232
539
678
909
897
549
303
262
474
433
695
553
120
943
860
683
718
485
33
743
607
676
823
724
509
796
587
584
761
104
395
466
968
366
118
73
491
706
69
512
225
92
864
256
811
665
149
727
352
293
702
596
190
438
780
659
485
407
34
737
606
917
100
701
557
873
611
80
73
613
155
70
528
262
721
508
141
209
900
791
67
794
948
169
103
523
549
446
67
301
74
114
723
896
260
368
372
672
864
332
301
261
810
304
316
345
728
14
372
358
100
525
993
14
578
878
756
870
297
711
686
440
925
156
273
775
593
506
636
293
741
641
281
804
36
71
142
896
950
397
228
559
901
106
573
120
487
165
26
450
13
957
449
374
500
113
184
284
265
55
756
437
514
768
8
5
470
637
240
54
107
886
253
625
105
990
992
238
895
995
508
233
777
289
57
701
240
352
936
171
198
35
132
401
678
583
363
653
363
804
76
928
718
283
39
742
716
34
577
646
749
930
91
250
214
295
777
773
947
686
183
836
513
493
979
831
338
566
197
346
55
205
542
358
473
914
408
862
123
865
220
159
582
266
460
404
717
81
149
53
797
157
281
660
629
753
719
846
282
547
196
622
908
924
994
217
303
50
345
971
306
90
191
410
35
701
733
247
815
928
182
559
714
62
31
344
116
361
594
529
135
950
589
844
403
335
989
408
550
577
750
629
499
800
838
644
792
828
503
73
766
802
274
439
973
27
378
773
442
102
740
851
213
931
464
764
500
392
436
686
324
261
736
566
658
87
616
772
643
278
422
54
81
917
530
758
736
250
498
156
23
205
291
173
8
694
659
331
257
629
588
523
108
429
413
239
109
889
786
901
807
664
64
206
308
194
175
862
752
637
634
1
948
681
314
383
1000
547
518
458
211
393
638
587
714
942
146
894
516
642
450
236
791
371
320
779
692
459
32
159
709
502
951
307
309
181
372
901
847
414
872
316
391
741
957
204
885
428
512
641
597
839
272
222
17
240
212
752
751
539
892
70
825
645
614
551
594
5
431
87
22
188
915
520
619
219
301
751
696
355
460
612
99
173
22
386
899
240
258
595
158
484
351
408
71
170
138
201
651
448
374
362
320
219
48
302
378
65
191
627
890
399
744
588
753
293
741
75
536
621
591
468
695
580
541
653
217
339
666
493
189
961
95
380
978
748
847
188
928
432
897
294
558
921
976
474
484
900
309
448
870
80
546
720
148
414
127
917
4
87
969
893
78
861
996
714
798
685
841
820
323
175
726
111
37
873
238
693
766
68
448
618
190
371
587
349
586
34
474
211
966
446
717
92
452
124
601
328
766
957
271
745
648
746
126
893
544
127
536
558
502
105
471
651
171
364
140
591
198
410
821
903
152
14
285
607
445
412
752
704
167
572
838
227
197
256
542
790
455
468
408
656
357
74
313
727
587
562
485
934
611
551
891
844
806
627
138
479
199
506
761
291
726
516
198
718
691
931
243
254
442
341
873
843
5
605
424
258
80
488
466
214
749
151
541
181
551
97
640
930
501
820
650
584
95
603
474
729
766
817
694
949
624
56
470
980
859
676
810
234
655
34
357
886
181
325
809
203
412
225
168
110
943
398
948
105
127
767
606
619
532
548
119
130
441
798
935
551
233
861
427
900
932
203
474
675
621
508
519
999
377
884
507
186
455
56
581
242
926
270
382
383
417
128
574
916
313
854
821
432
47
656
340
258
809
512
548
815
91
484
440
213
192
53
440
1
75
545
746
718
914
965
240
890
569
293
741
749
954
787
245
138
285
531
181
434
477
174
498
809
393
972
321
589
66
269
837
128
202
968
556
777
204
550
171
942
261
665
525
913
70
400
43
69
416
130
977
504
464
7
88
738
943
459
792
227
626
972
687
330
23
598
843
808
40
432
828
769
672
57
66
498
382
787
826
635
462
134
507
800
711
95
512
697
684
392
306
639
771
461
245
471
657
787
758
878
860
995
849
220
643
384
323
551
834
526
339
434
978
31
791
306
687
167
242
280
520
560
428
650
318
190
893
747
96
266
369
132
187
726
446
657
735
844
675
413
372
710
142
923
366
907
209
848
992
559
962
205
495
23
241
706
539
525
294
120
721
35
396
197
23
672
442
893
26
56
870
256
94
933
692
976
285
135
991
529
109
107
897
276
763
611
668
705
806
978
994
700
695
219
857
562
554
47
184
9
410
76
706
564
887
280
842
721
729
350
443
88
248
25
230
344
641
125
494
714
464
402
176
98
643
516
767
732
37
491
531
116
360
516
478
682
6
392
512
779
828
270
485
780
185
722
751
412
421
889
238
595
120
700
660
855
635
565
941
591
994
292
290
114
186
885
654
195
213
905
481
203
507
427
255
663
153
733
785
178
432
424
866
440
220
996
407
730
50
911
915
22
378
472
849
548
773
890
922
692
424
680
992
770
758
909
31
601
517
976
759
234
131
880
332
227
478
691
839
273
412
589
735
637
120
875
52
667
474
198
508
278
121
433
290
584
176
405
759
262
14
271
89
722
468
23
593
258
37
452
149
499
894
742
296
7
482
310
980
316
918
91
70
439
34
964
358
598
421
241
439
752
196
734
668
852
25
260
332
589
942
814
819
955
88
514
186
63
327
734
968
319
825
147
83
413
781
791
925
20
957
785
308
193
532
308
51
258
436
830
877
538
820
3
614
451
16
271
450
486
747
186
229
587
473
359
800
422
529
171
308
960
475
172
126
620
943
386
22
582
649
119
301
644
599
486
631
463
339
232
327
911
942
659
200
372
827
457
13
36
261
736
301
674
430
251
763
273
91
732
378
37
78
3
716
888
556
732
677
916
279
530
457
539
666
775
983
338
340
906
416
776
178
756
211
882
572
231
173
128
962
43
623
430
650
439
541
885
620
354
490
273
355
318
754
868
50
856
157
938
587
262
443
851
187
666
835
712
161
947
623
444
171
480
999
762
297
705
871
691
383
173
92
965
657
730
299
777
350
812
514
799
710
145
530
191
35
491
539
224
404
588
467
443
972
215
1
129
247
34
392
738
8
850
309
348
936
779
331
2
553
147
437
954
159
881
927
53
711
390
67
817
921
752
117
847
710
148
732
990
744
447
923
432
829
702
292
68
589
346
974
932
709
172
966
1000
799
120
858
383
295
674
625
72
986
818
103
745
788
815
452
249
279
496
623
294
80
34
57
560
82
920
307
629
466
620
171
845
425
448
836
679
590
211
780
245
209
918
828
744
1000
97
135
763
479
774
582
826
889
590
820
308
195
141
553
683
264
25
169
367
986
545
860
719
701
686
293
803
186
390
982
101
51
688
563
653
487
425
403
691
279
691
836
945
448
916
21
948
730
287
244
550
386
241
484
511
375
143
741
831
953
336
858
953
647
712
392
489
456
372
250
824
417
594
676
523
551
990
752
974
593
205
708
668
74
894
43
9
489
336
891
58
373
399
341
466
731
109
898
15
506
434
562
224
478
86
625
315
271
517
60
954
887
949
99
236
23
949
403
444
198
93
544
648
839
854
235
818
528
111
918
986
960
43
714
763
59
346
903
912
734
875
929
640
88
636
168
837
312
557
34
721
573
193
413
51
284
686
815
136
626
411
897
324
540
300
295
789
374
103
152
329
466
993
566
889
610
170
27
164
465
336
50
279
577
100
52
970
348
173
132
732
889
701
883
447
800
919
823
582
52
950
470
231
477
893
73
501
694
286
596
196
780
69
812
28
888
10
496
607
875
123
422
459
656
227
976
302
673
141
51
614
331
532
291
880
965
974
783
254
719
640
315
265
476
108
236
255
12
405
100
517
330
18
774
945
364
692
346
535
576
571
818
178
983
139
79
87
113
725
424
894
289
381
603
952
367
307
464
780
888
147
884
558
430
331
186
612
495
768
426
703
127
859
811
892
191
97
502
662
39
876
47
410
1
440
642
64
455
511
321
71
489
911
161
265
356
884
641
517
775
871
636
824
953
327
871
473
643
686
746
932
20
53
490
301
235
105
639
542
426
272
819
645
393
868
108
571
70
441
517
365
382
897
158
235
618
158
509
524
597
830
146
230
654
552
835
739
297
263
56
991
396
603
542
417
714
784
76
743
30
987
640
849
904
129
652
288
988
601
423
14
22
518
752
198
979
983
690
330
396
598
455
937
879
593
641
764
975
346
825
194
975
604
408
546
509
2
983
970
274
657
127
751
174
412
187
462
152
280
361
311
319
595
588
55
302
118
306
729
824
375
657
633
938
163
748
806
460
184
915
776
686
812
244
172
428
171
963
135
337
330
395
467
543
739
228
911
65
595
354
269
922
440
946
616
725
683
917
65
675
865
376
300
759
939
533
743
108
411
291
926
45
453
835
265
237
256
535
472
674
795
950
557
712
659
679
445
744
104
440
464
908
86
444
945
667
29
283
447
236
535
139
714
98
184
415
390
745
867
678
163
963
844
634
743
900
771
787
835
101
1
541
95
468
79
269
550
687
22
984
915
786
723
887
854
198
203
438
702
41
264
651
319
954
31
139
476
718
1
397
600
558
525
197
605
309
77
409
465
362
330
727
314
126
668
946
229
475
318
680
230
201
772
920
195
621
520
466
275
232
837
102
512
989
46
284
301
879
140
648
483
167
996
984
897
400
89
91
627
671
807
801
280
810
27
754
402
643
619
854
194
355
403
844
457
474
273
421
392
994
578
944
463
888
382
578
275
57
90
263
711
775
167
983
657
797
923
754
746
613
560
702
902
281
857
692
642
830
623
146
206
410
617
149
101
569
65
387
956
524
802
403
735
77
774
691
272
532
24
934
922
788
264
514
857
605
130
84
188
695
380
918
958
782
144
885
527
179
547
131
884
249
483
416
233
902
294
913
169
308
654
202
827
150
348
327
36
871
537
452
583
430
136
297
950
364
273
728
877
407
870
253
111
379
490
396
977
731
171
74
111
389
325
471
454
30
610
667
607
812
264
848
906
353
568
345
253
161
70
384
529
71
741
831
258
835
31
437
730
689
307
792
349
372
762
495
413
833
33
387
572
90
774
104
316
545
372
622
635
507
839
935
869
734
323
134
597
504
484
315
292
613
643
593
90
950
447
208
376
495
799
66
223
239
822
948
623
968
580
972
421
885
646
970
325
257
460
294
752
418
91
238
298
460
253
220
612
661
478
700
30
678
469
898
875
416
8
991
354
975
545
688
866
940
119
866
28
918
607
847
327
472
834
370
207
51
570
664
101
623
207
729
158
732
607
849
322
59
413
589
230
671
37
399
127
531
388
335
584
7
424
729
936
637
474
308
91
454
284
119
547
836
351
99
532
261
81
428
889
708
705
40
473
718
283
139
217
320
73
542
348
43
38
7
365
955
516
828
948
29
280
414
885
28
225
837
355
504
198
261
231
570
731
167
392
361
799
132
865
716
953
788
766
873
833
995
524
839
902
894
73
86
475
425
709
551
410
798
823
856
535
352
511
470
440
911
361
156
305
523
601
687
556
949
734
733
332
740
307
713
521
896
722
733
110
848
908
821
113
468
366
775
213
558
779
180
253
261
220
909
895
595
275
293
377
914
745
933
328
908
924
894
286
494
684
462
545
616
74
939
974
105
806
698
40
106
916
68
793
803
44
92
868
700
125
660
878
556
792
420
314
876
114
366
673
556
852
624
477
540
307
971
709
84
114
120
28
997
360
942
730
760
957
258
89
46
110
782
656
874
347
444
352
475
234
1
330
18
989
530
576
508
58
669
772
219
68
838
101
236
582
983
186
712
273
961
837
720
454
781
604
711
460
894
698
543
698
350
516
998
308
426
232
425
521
439
842
773
769
938
561
927
103
437
621
914
428
370
116
649
477
400
505
306
867
15
116
530
430
570
776
928
103
733
329
384
737
657
654
966
555
801
701
448
915
319
201
417
967
926
761
257
159
817
250
419
404
589
201
93
41
62
789
629
232
979
428
454
159
811
345
197
575
850
926
244
786
31
96
529
650
51
806
337
244
915
807
876
411
32
84
724
673
860
849
318
818
793
35
947
370
682
873
765
662
928
900
422
142
885
621
621
398
543
972
150
252
5
499
444
997
662
769
239
453
234
999
176
506
434
851
213
4
110
807
487
272
595
240
547
640
91
823
129
263
239
614
264
317
968
201
877
17
612
675
953
317
451
331
912
925
918
429
806
91
972
933
809
753
270
639
876
969
38
993
81
862
277
864
665
197
194
343
29
694
480
677
852
165
620
816
990
878
554
523
706
517
877
711
911
463
525
374
970
776
618
22
670
199
918
381
218
227
544
804
340
220
695
123
342
269
825
252
850
79
881
951
636
203
883
304
820
124
805
722
93
807
217
191
535
286
859
208
905
802
632
48
852
26
53
722
201
740
10
893
994
239
29
296
749
343
959
480
238
465
224
505
934
437
870
225
89
520
335
703
123
591
481
676
316
940
758
355
379
345
627
530
968
96
522
835
947
954
750
612
124
306
354
327
434
337
156
794
619
708
655
400
950
335
138
301
664
624
373
582
736
698
289
342
490
119
370
356
923
885
953
957
743
6
560
171
526
784
25
101
746
838
989
884
47
590
14
259
229
124
590
355
460
792
605
705
819
959
993
746
689
220
61
153
50
580
596
629
570
879
64
228
200
504
715
276
834
226
574
571
262
358
396
911
817
243
165
546
500
861
833
914
728
316
155
735
458
48
224
635
948
794
65
418
512
869
586
433
821
613
486
319
216
570
226
943
944
679
700
354
371
450
188
550
112
775
558
393
841
159
488
923
418
399
979
957
833
386
774
246
229
75
469
528
71
524
463
75
470
71
2
508
745
719
811
760
678
708
925
800
338
647
745
424
46
622
580
132
248
505
274
983
713
866
514
772
968
347
679
766
34
108
495
692
936
289
915
62
930
180
774
5
886
52
79
137
967
409
142
5
532
751
887
223
362
813
370
948
826
381
593
156
425
204
923
779
531
811
776
470
750
96
520
995
689
327
486
144
733
517
82
708
250
619
900
773
639
403
638
387
411
624
247
869
445
902
95
204
159
3
149
911
327
848
801
328
316
320
14
90
331
850
543
684
887
519
857
792
736
734
963
26
660
332
726
170
23
950
498
984
45
140
610
68
922
12
197
391
238
990
110
572
95
343
980
515
15
216
894
281
393
700
603
91
869
275
729
591
560
721
33
645
127
334
671
449
413
36
852
442
594
596
185
906
975
486
362
426
457
971
865
987
164
455
805
401
348
616
307
927
207
365
646
258
22
174
600
222
319
878
618
321
875
299
97
300
735
69
492
325
439
123
6
990
231
704
102
542
822
69
667
799
865
541
71
600
650
77
75
369
892
39
589
89
925
924
888
853
616
80
831
233
345
117
349
560
160
557
244
320
776
660
852
875
62
568
83
803
813
396
447
555
90
915
176
158
642
874
565
951
859
508
35
175
75
270
296
730
38
398
306
883
139
457
835
765
476
90
355
149
68
276
177
959
141
817
554
744
35
184
822
787
30
297
896
810
768
73
115
744
68
624
826
935
342
620
202
112
53
953
338
771
317
113
900
68
849
264
809
516
175
909
852
958
466
339
621
499
224
459
969
683
883
794
235
398
259
415
929
208
299
601
441
877
275
92
933
673
226
418
260
680
877
804
495
133
634
398
423
506
722
580
747
364
647
560
318
11
817
877
244
117
976
376
956
878
958
851
270
268
505
752
270
284
248
498
148
589
478
373
777
970
432
6
623
913
425
334
99
934
543
731
945
277
328
136
835
581
105
1
968
414
832
738
857
234
25
845
454
565
180
721
347
479
761
940
181
277
52
754
162
234
499
821
854
38
471
728
152
304
100
588
805
755
463
661
207
580
883
94
878
919
42
694
528
313
388
268
729
774
791
556
355
233
490
748
588
246
675
541
247
523
753
266
956
998
223
701
635
811
883
313
245
164
382
530
170
285
731
774
891
90
619
639
142
552
614
523
773
790
511
851
819
997
675
31
929
637
71
577
213
853
867
255
533
51
58
459
866
223
419
367
308
500
343
408
185
608
116
560
198
35
58
697
10
276
832
844
528
519
888
963
348
201
708
210
454
773
812
780
26
866
343
754
977
195
778
505
498
14
453
726
272
963
475
688
58
904
224
998
44
597
376
682
597
624
798
957
322
330
713
265
977
936
263
155
456
754
584
579
720
679
633
122
468
880
503
531
867
993
718
217
868
385
645
655
907
346
108
603
197
503
973
758
819
376
941
718
223
702
4
359
452
157
253
26
200
247
531
273
638
741
153
704
235
255
468
874
898
64
952
423
534
661
528
26
454
926
61
760
603
984
318
413
440
600
882
822
486
79
472
867
525
613
315
579
288
512
346
647
781
220
304
111
12
391
457
854
68
676
249
678
950
538
87
905
291
426
428
817
800
195
527
317
424
783
813
431
592
911
929
586
768
211
136
71
706
473
9
813
601
278
313
502
184
335
849
498
345
825
864
862
59
276
994
732
864
27
654
798
396
605
250
251
61
472
943
186
957
14
41
618
670
897
791
914
150
668
673
316
536
417
885
444
118
448
839
30
947
64
306
539
38
242
186
419
958
78
56
287
539
461
348
947
97
209
259
280
426
810
147
860
975
609
903
598
837
860
865
406
90
336
917
212
865
212
57
810
201
163
833
799
630
784
896
309
669
613
680
246
268
498
682
662
278
294
41
457
895
370
512
37
204
504
225
294
841
567
76
780
224
396
247
257
986
721
196
664
216
313
502
275
298
974
20
583
553
73
398
53
602
83
379
243
123
193
254
334
70
454
928
2
585
981
864
585
404
419
782
875
313
35
115
111
435
108
955
152
823
508
798
553
777
299
141
267
582
521
367
632
152
724
845
462
661
223
104
285
930
75
892
576
328
892
460
501
403
771
51
51
964
579
179
323
964
180
736
751
722
5
285
511
460
491
805
136
552
991
319
201
752
536
716
320
394
110
82
417
226
176
587
459
344
28
705
82
756
877
243
448
334
197
578
498
809
706
969
599
220
93
23
239
194
766
310
614
171
586
329
491
794
711
372
497
962
840
774
166
142
183
762
485
873
66
297
995
136
980
892
13
778
877
384
232
165
636
205
195
619
768
911
147
475
397
663
740
659
581
990
233
462
934
926
584
726
268
679
451
938
398
40
53
697
983
561
721
59
24
783
719
537
428
889
106
262
172
993
528
234
493
181
272
100
227
373
973
58
639
319
319
78
752
922
952
178
446
417
346
801
423
617
488
778
268
76
603
500
945
422
798
581
989
766
843
452
165
241
680
95
496
289
870
759
296
759
845
241
632
93
614
262
62
395
391
840
54
756
940
377
687
842
471
785
472
660
581
958
889
236
705
266
718
403
484
769
459
111
633
911
999
565
618
537
713
230
623
306
215
48
295
619
712
895
433
540
820
228
503
136
68
931
563
678
846
984
654
961
61
402
453
962
338
579
508
291
369
562
475
285
300
183
330
740
528
380
205
856
665
246
912
506
374
795
739
298
778
814
979
372
862
965
441
662
571
646
278
999
30
348
498
335
364
107
856
917
945
125
268
199
586
765
587
969
188
255
215
317
578
7
941
775
171
812
355
168
742
415
265
195
488
429
205
680
354
88
956
577
978
902
867
773
51
226
504
424
161
444
915
515
366
35
738
820
908
702
141
996
934
327
311
897
527
506
804
752
215
750
952
812
536
60
134
49
724
673
934
481
482
683
157
287
253
465
887
956
597
394
154
701
506
657
163
1
460
313
785
274
23
633
653
928
826
916
145
320
47
684
126
441
646
646
462
452
641
192
687
294
517
687
94
75
770
695
137
730
555
987
108
317
199
376
344
956
269
2
880
317
742
405
613
729
176
626
819
895
893
667
394
204
42
424
418
438
143
906
917
223
939
428
689
748
228
68
147
757
657
904
118
141
605
25
700
384
843
251
591
208
95
479
598
677
678
281
959
368
141
539
718
498
585
305
36
763
231
746
100
336
84
986
396
548
933
408
2
825
307
996
105
253
360
987
14
381
563
282
265
371
280
270
459
153
437
214
646
764
772
279
53
85
506
642
504
29
216
540
906
884
852
667
527
498
286
434
260
697
528
959
120
892
374
147
885
164
346
395
363
108
158
2
420
759
552
776
373
68
548
482
116
70
644
299
333
386
881
316
725
217
689
135
487
852
45
9
955
700
196
295
337
642
194
181
871
824
358
446
747
697
7
758
485
255
351
945
695
231
30
41
66
778
83
753
618
599
686
920
610
636
91
48
213
954
665
872
501
779
889
326
688
622
189
17
295
441
598
597
161
722
947
315
949
374
796
833
759
181
235
151
810
876
291
979
963
658
679
424
983
362
960
66
623
789
538
873
529
434
413
805
950
875
858
803
23
118
774
440
573
864
470
771
837
766
929
646
451
186
711
758
601
74
833
277
602
198
118
226
416
268
669
887
67
824
885
638
433
878
217
185
820
252
990
336
800
122
681
717
53
477
202
112
345
288
278
265
476
904
384
510
595
245
126
217
145
93
95
207
459
445
423
676
68
598
171
75
528
119
658
874
893
666
640
878
748
279
819
559
762
404
591
196
608
685
589
724
228
917
464
55
871
518
274
426
681
777
118
379
978
733
440
10
243
925
752
756
49
180
883
324
182
765
831
565
660
10
317
644
154
923
463
191
407
915
809
976
478
955
216
506
134
448
950
746
478
885
487
744
849
880
84
668
929
411
354
775
91
338
354
991
651
916
343
719
481
79
920
972
585
521
177
459
53
918
314
621
517
776
823
567
478
887
734
9
64
694
867
954
92
576
934
973
56
481
790
536
523
446
407
946
798
559
504
157
643
617
564
327
423
119
745
261
273
371
579
70
79
925
936
567
789
90
336
804
152
53
576
438
347
272
319
425
658
519
567
952
133
280
858
242
757
479
167
304
903
324
852
760
594
739
362
511
100
423
677
88
424
294
530
898
209
664
758
612
20
440
233
609
978
736
898
232
963
326
732
128
196
207
329
297
472
610
507
894
413
613
92
779
529
929
565
910
569
388
290
873
804
499
28
296
467
419
317
643
112
709
102
365
996
834
66
786
874
689
300
939
699
226
997
38
906
230
435
324
829
91
66
90
6
882
696
424
926
182
353
885
380
202
96
937
160
899
55
300
474
699
396
260
232
356
15
747
457
883
827
198
134
850
979
764
938
691
143
884
536
35
746
607
788
161
509
88
972
164
660
853
702
966
566
125
24
277
904
111
560
600
354
52
138
109
479
55
693
692
598
827
625
863
740
546
105
360
480
50
629
519
318
653
198
629
343
499
327
68
859
315
214
66
236
890
295
859
923
76
317
113
748
60
458
88
139
247
978
403
867
721
137
691
437
797
816
321
61
710
716
724
275
595
84
22
743
943
961
620
104
137
197
976
497
415
633
963
201
849
325
812
180
459
793
226
861
205
249
140
473
547
918
774
862
255
427
153
424
146
90
678
709
639
350
61
834
372
546
34
145
426
154
376
642
512
245
446
768
480
994
638
95
2
660
318
816
858
392
309
541
368
344
337
121
296
527
453
974
274
906
442
912
429
117
402
553
742
37
498
479
5
381
18
52
17
117
536
68
151
950
269
26
235
36
876
1000
890
44
685
421
604
298
895
432
497
603
339
439
731
263
214
740
958
503
596
337
646
184
789
218
758
981
273
833
594
754
701
232
328
979
894
127
928
461
392
566
170
307
813
200
651
95
108
251
773
838
692
526
154
135
303
132
225
498
625
190
597
333
235
807
766
729
301
448
570
699
465
229
806
487
778
281
80
662
742
718
956
675
534
423
57
502
433
440
975
163
511
726
774
746
217
766
71
305
102
652
624
547
259
563
413
160
375
668
579
796
734
241
361
392
113
212
838
774
461
616
30
790
820
399
927
55
251
42
715
248
402
692
699
573
774
527
672
214
985
175
648
454
21
946
217
407
474
199
710
625
84
565
578
408
876
57
445
899
465
970
620
779
527
275
537
747
595
269
353
768
963
325
422
645
443
345
36
328
983
407
906
605
262
441
30
628
257
290
232
219
788
819
465
939
19
206
152
958
568
797
593
269
90
235
137
78
130
785
338
101
244
255
443
314
704
285
539
786
78
707
274
271
777
461
850
250
306
930
988
551
7
737
81
988
347
622
612
56
733
321
53
732
423
238
263
134
839
836
256
887
73
361
862
669
609
381
168
869
581
159
531
743
487
891
821
903
12
276
580
991
966
142
26
887
907
466
765
1
419
417
2
314
850
993
360
112
690
618
536
133
30
921
469
26
199
163
723
938
735
41
601
157
795
708
542
823
312
691
236
272
553
236
345
392
857
900
494
493
986
412
538
526
359
282
646
841
917
402
855
273
853
90
834
802
894
659
889
724
726
394
665
780
879
644
715
307
523
57
509
145
549
61
441
52
753
23
425
52
534
859
337
530
883
158
406
120
584
958
770
661
842
63
667
849
355
510
532
111
3
665
509
97
204
533
883
86
630
788
125
885
584
784
951
814
372
709
25
981
824
11
520
241
260
886
757
596
44
295
949
732
490
148
283
187
158
210
317
66
716
942
90
369
789
169
613
285
98
655
217
800
713
721
575
412
630
975
581
630
182
618
837
763
59
116
341
467
692
913
451
46
985
104
895
599
334
761
432
847
735
835
576
974
921
545
519
855
948
738
178
741
650
481
525
477
451
581
326
642
589
262
943
348
19
272
394
919
975
273
657
364
943
158
950
505
295
469
3
469
569
9
232
840
834
46
807
617
445
454
421
983
822
922
639
477
559
263
544
6
992
977
892
538
226
827
355
886
409
812
457
189
683
801
337
26
429
585
129
129
792
130
67
555
336
75
71
854
481
725
849
262
853
789
223
798
828
748
451
426
718
779
816
822
702
266
389
263
334
164
35
312
841
23
127
3
640
759
844
970
634
20
836
84
995
603
419
520
908
925
5
919
906
982
919
11
572
801
280
966
59
944
334
491
936
618
540
580
627
517
45
111
316
496
709
717
140
731
675
159
135
698
844
760
620
714
30
774
228
159
202
529
900
49
568
593
897
444
501
197
773
763
774
33
196
420
715
808
186
546
163
24
803
173
22
601
175
218
776
520
369
933
275
126
967
793
359
279
994
429
904
586
495
95
194
112
635
774
916
973
408
96
584
792
157
124
450
302
56
842
652
979
901
76
601
795
972
110
142
843
324
32
979
64
818
991
499
367
25
807
491
530
598
414
236
408
857
300
884
176
838
423
311
256
884
804
129
227
14
723
85
317
173
798
916
929
304
13
522
952
825
650
508
997
312
616
446
214
964
502
533
316
979
699
546
58
214
53
620
509
945
558
590
798
362
863
42
738
253
504
672
593
121
799
982
421
25
112
60
350
339
817
880
528
459
909
143
1
671
782
878
32
915
759
686
91
142
615
383
258
912
798
587
31
696
963
747
144
289
197
530
335
859
119
11
691
968
865
778
350
32
493
136
668
672
482
957
824
623
834
436
731
876
278
854
914
536
428
466
571
90
366
271
253
234
398
232
586
548
742
900
411
67
731
670
811
967
145
441
383
521
365
314
237
303
823
872
85
404
965
644
544
536
841
139
933
611
671
299
414
371
516
778
364
681
66
822
992
456
326
484
974
768
391
837
974
768
661
508
218
274
458
702
460
649
172
128
167
907
90
27
9
476
533
964
909
332
184
320
558
737
844
900
393
215
590
484
67
952
962
490
730
835
594
980
344
52
161
306
640
832
977
893
968
458
217
386
242
719
281
812
534
785
767
343
625
872
761
953
79
397
204
657
734
452
569
394
171
505
150
589
431
605
762
73
484
679
871
920
955
551
14
195
415
135
449
658
946
807
986
714
464
508
663
269
142
705
657
682
277
497
876
971
82
789
465
693
944
922
187
19
184
853
71
940
454
186
8
425
998
846
661
555
464
169
629
403
491
819
107
56
594
818
911
787
33
894
565
217
824
268
218
482
290
136
21
285
875
489
941
437
17
369
552
138
282
689
91
864
701
763
342
982
560
227
219
904
86
748
527
740
348
193
6
339
72
201
314
240
8
438
875
982
922
889
506
649
382
948
93
366
13
758
866
424
260
189
506
858
25
537
891
152
175
730
654
421
122
422
904
989
157
169
684
696
807
960
74
543
482
947
914
845
390
222
515
64
69
718
508
757
364
362
502
871
176
732
116
267
888
222
209
877
631
408
641
679
900
253
200
977
712
354
433
382
467
338
163
567
201
206
462
870
608
730
209
216
423
118
46
640
366
33
386
313
485
213
307
593
469
749
581
581
435
723
528
94
370
394
135
857
663
42
998
927
704
924
983
797
916
828
475
292
912
866
216
276
117
571
77
413
60
672
583
545
342
776
246
986
884
792
873
14
264
60
897
36
752
2
792
317
906
725
302
608
157
743
175
865
942
721
584
152
612
953
820
13
186
121
775
398
439
228
392
807
944
421
709
997
161
573
316
908
304
965
181
131
780
376
702
13
203
655
266
954
705
283
958
911
508
907
90
265
674
856
968
200
655
87
551
127
874
341
473
648
73
883
142
316
283
470
968
478
924
978
482
743
809
478
919
510
758
404
38
122
817
328
187
767
199
524
863
524
754
863
758
401
602
103
181
309
639
576
392
79
632
679
472
212
373
243
490
324
259
239
314
267
687
596
822
417
643
357
93
640
919
777
438
83
464
674
973
120
866
557
714
168
470
14
422
21
97
386
837
822
979
167
28
723
521
835
434
246
705
831
2
11
996
903
650
332
69
798
789
282
568
719
273
2
866
313
459
489
879
425
723
142
143
217
530
334
225
694
360
533
971
964
274
457
460
942
444
248
372
769
962
867
566
480
461
996
352
985
394
175
871
814
654
251
569
177
758
83
503
56
893
147
963
592
878
991
126
92
489
291
89
294
14
974
263
717
904
169
487
833
57
273
287
673
573
496
374
746
217
626
282
315
936
428
317
741
521
881
750
818
171
695
91
433
234
730
183
912
746
277
116
579
255
57
486
405
487
416
817
443
556
792
167
795
828
399
727
889
859
762
425
121
460
733
403
340
628
45
783
560
876
620
868
925
159
582
572
224
765
502
152
146
150
18
452
181
950
879
925
110
371
725
790
558
666
207
489
619
628
835
81
234
659
771
795
53
81
283
676
80
201
640
83
541
310
575
886
176
325
847
620
376
187
818
568
540
204
591
162
871
85
958
143
346
718
645
799
752
199
438
458
750
88
102
198
963
588
110
891
774
16
196
84
593
327
477
294
285
418
804
996
668
830
70
3
185
268
846
475
4
291
345
165
962
34
504
413
12
920
427
773
476
360
326
509
33
252
565
949
204
449
418
927
473
242
323
504
867
547
132
360
799
354
954
806
384
509
49
877
782
915
209
778
800
36
424
149
66
847
888
866
539
71
317
971
878
921
131
247
463
810
850
506
89
435
633
824
35
805
879
532
962
165
292
896
172
180
4
973
187
772
61
738
4
848
868
814
424
739
264
607
136
330
248
788
630
145
723
412
898
740
676
315
166
947
610
439
890
659
177
494
186
234
970
988
423
455
809
305
110
806
713
155
507
128
215
603
599
14
771
23
900
303
532
492
817
967
896
643
395
32
809
698
839
666
882
577
254
44
537
381
680
851
500
718
587
331
94
252
987
506
100
38
285
596
531
602
13
161
458
960
712
222
137
19
775
75
217
248
802
407
130
847
274
880
614
545
98
713
736
467
672
858
274
870
491
947
674
450
761
771
216
815
454
944
965
539
685
430
835
874
988
741
489
874
16
542
938
453
173
889
870
766
327
711
936
730
429
62
531
623
916
379
298
201
936
66
471
767
657
324
805
503
942
959
934
367
891
431
447
671
334
86
384
629
66
8
250
286
268
941
612
589
257
498
155
834
365
539
532
848
775
183
998
661
204
37
163
463
830
955
160
711
613
853
849
697
336
334
540
509
842
164
473
257
507
592
396
972
941
648
45
571
861
449
218
543
241
888
928
850
841
151
889
796
474
930
822
286
717
273
718
264
4
6
796
688
536
199
847
555
323
967
157
938
5
183
166
976
393
780
913
532
547
420
339
89
719
761
926
413
200
658
244
971
835
634
198
204
378
940
225
865
311
734
930
788
214
45
25
635
518
58
124
797
273
513
372
634
498
172
914
389
53
154
26
976
18
264
320
124
514
287
283
449
168
329
433
294
796
624
431
500
626
414
246
229
905
444
99
644
687
259
19
668
468
797
135
932
378
531
386
596
272
101
253
550
642
80
628
898
439
561
615
749
664
416
651
666
651
290
732
552
793
149
465
439
81
51
614
85
839
280
236
544
195
230
575
442
867
100
344
46
315
860
641
274
702
17
586
553
954
682
153
107
163
157
909
57
77
232
255
193
159
42
86
832
10
921
893
872
768
630
624
517
224
216
297
732
552
472
847
739
842
856
12
320
585
64
101
145
449
236
645
946
526
43
64
22
101
765
491
633
369
893
201
319
243
257
263
585
708
775
101
108
453
721
722
862
363
520
738
78
73
113
425
928
377
135
558
153
18
583
143
537
444
95
644
895
833
537
517
633
858
827
781
628
374
314
888
189
631
756
384
168
634
342
522
707
238
661
538
654
761
86
228
283
745
583
571
127
997
540
796
606
942
385
486
540
408
360
590
470
911
314
626
665
266
856
322
248
673
794
913
780
901
669
163
252
238
575
10
987
962
271
468
694
183
66
889
35
75
282
935
43
419
242
713
445
81
921
116
224
465
282
942
154
300
366
628
25
359
460
344
582
354
684
660
646
124
109
997
975
786
823
626
851
682
973
395
888
877
197
66
679
114
330
686
817
608
703
498
188
941
995
496
952
655
722
601
839
815
591
517
523
4
560
953
484
938
667
817
586
596
978
96
955
354
673
564
486
345
168
886
557
301
304
880
898
3
163
536
77
68
378
541
803
337
970
647
388
558
566
983
17
491
869
769
534
6
884
713
601
144
42
883
395
633
978
554
581
300
94
98
750
94
428
927
676
885
874
455
999
141
354
161
387
75
535
118
479
872
622
248
630
92
608
640
637
336
74
489
127
125
138
951
569
50
335
904
252
345
579
321
184
448
916
543
699
930
542
689
814
553
979
961
691
987
156
582
196
856
61
561
368
294
183
231
209
615
808
808
948
321
292
330
239
193
471
765
474
891
508
954
37
560
646
50
506
696
161
69
888
62
425
197
103
19
318
623
29
403
641
752
48
824
936
789
26
343
863
213
459
486
956
510
214
651
799
445
29
636
530
924
354
874
812
254
440
509
835
271
777
296
913
491
414
278
955
194
687
843
856
507
329
129
91
290
275
555
755
995
240
913
242
846
947
671
375
915
667
354
831
721
658
934
756
636
22
879
692
170
705
157
810
577
594
706
989
960
774
169
305
103
765
137
187
492
10
27
140
438
744
885
819
671
139
345
805
882
274
231
906
910
210
392
33
753
168
491
850
338
429
711
763
742
995
364
223
220
700
668
883
151
494
613
259
26
706
333
733
192
718
3
721
618
323
97
718
536
352
193
472
965
252
995
66
57
945
411
805
412
328
672
374
124
293
196
854
281
44
428
399
536
129
384
454
663
533
955
807
751
835
605
670
846
286
640
649
462
863
960
165
567
824
466
561
475
427
397
118
782
781
101
487
383
747
962
380
923
258
112
246
483
29
598
439
382
311
95
893
459
719
307
230
707
647
116
871
883
158
793
199
996
375
216
253
392
661
524
158
407
126
35
856
220
130
450
443
542
243
849
997
444
259
37
790
976
248
678
567
481
521
91
448
827
459
174
160
417
624
415
923
314
616
20
979
919
150
314
276
350
893
231
347
624
979
888
438
560
303
26
898
581
578
322
871
129
285
364
664
766
992
598
715
830
141
204
400
284
887
424
537
966
247
221
907
287
675
349
683
548
472
602
363
755
930
431
952
385
954
503
177
304
712
387
168
61
393
58
811
878
489
98
509
284
384
897
394
578
130
688
227
938
96
199
358
481
162
729
992
665
216
112
719
149
74
813
915
472
514
178
757
385
440
533
866
555
754
998
103
996
178
210
554
909
249
321
812
9
724
830
295
733
982
746
60
605
736
727
142
750
272
156
146
910
455
29
722
389
423
706
751
504
265
943
399
196
965
353
720
73
79
697
727
114
956
559
561
788
809
944
590
941
863
361
545
940
939
107
641
83
159
728
837
569
113
795
225
449
967
274
446
882
43
150
938
82
988
249
534
150
873
427
419
380
219
674
697
895
90
459
750
16
113
318
683
990
171
764
996
451
148
686
779
813
63
587
268
355
171
563
806
273
232
574
747
326
802
148
810
226
732
841
172
151
345
392
905
288
828
923
595
693
770
687
20
594
537
622
98
60
309
913
428
93
693
707
283
294
613
566
511
337
967
125
389
972
91
714
157
679
322
72
283
104
155
512
64
433
432
265
793
120
748
961
417
694
170
757
940
795
43
898
961
825
489
981
933
745
824
80
806
802
811
328
958
667
451
669
997
214
409
262
883
598
940
510
874
27
46
201
586
776
674
169
349
733
413
497
803
341
44
762
118
149
862
37
96
270
248
264
221
221
699
203
556
786
345
19
194
443
349
256
543
260
93
522
599
900
613
672
411
25
813
704
734
262
59
253
315
896
375
167
212
931
829
251
717
253
115
227
659
901
272
362
857
97
945
340
263
415
515
946
707
568
916
550
138
551
140
746
681
824
978
530
732
155
151
156
764
658
484
938
813
770
826
39
246
518
110
634
85
469
607
860
544
99
285
383
353
608
716
158
679
443
175
542
652
831
952
279
427
592
158
527
760
937
738
164
788
162
458
154
779
787
770
851
113
565
620
174
492
274
135
241
398
353
572
290
595
178
643
289
996
735
108
162
91
435
849
336
245
985
424
665
797
635
999
68
930
143
628
385
206
981
694
469
610
477
858
397
783
247
870
37
974
556
719
333
475
748
693
908
897
436
49
903
546
243
153
626
623
505
353
514
593
452
194
863
392
62
93
706
641
288
381
659
391
830
937
987
422
17
80
8
872
554
28
657
342
765
562
359
472
142
581
217
601
74
202
619
920
711
859
422
913
816
159
593
677
26
435
924
393
436
817
737
238
409
95
728
268
865
428
833
564
130
393
595
398
635
635
955
441
301
961
30
896
20
730
314
712
936
287
996
5
608
902
442
264
185
225
854
579
463
152
209
468
865
981
272
608
551
677
864
636
497
549
736
38
591
271
557
483
456
391
264
752
593
501
105
348
740
390
714
390
294
278
993
425
920
888
384
30
283
141
438
509
754
223
121
53
288
82
385
404
331
3
45
485
499
839
861
796
699
483
113
131
412
933
221
539
788
740
564
989
665
503
241
532
523
541
689
437
333
462
449
317
110
492
600
361
379
948
708
234
723
41
788
161
169
237
999
914
517
256
953
619
676
200
982
458
554
312
940
698
200
510
485
9
314
559
173
271
11
521
19
240
998
900
18
667
933
528
568
12
351
304
125
525
487
342
350
713
655
610
433
135
918
57
660
548
451
624
25
411
435
257
1000
407
976
387
697
582
387
242
775
780
513
317
970
782
599
408
46
363
21
544
27
319
99
199
1000
418
325
711
329
102
128
758
549
970
183
194
110
158
505
298
232
31
263
570
966
876
662
239
164
433
224
816
504
90
212
187
646
347
763
913
270
422
951
903
221
603
140
115
886
135
55
770
809
6
769
853
567
638
302
592
863
568
303
639
352
565
846
781
548
401
96
566
746
880
878
919
91
702
205
201
928
8
251
127
65
593
499
452
598
627
89
258
561
400
305
394
879
258
152
192
908
467
531
592
353
679
962
505
983
490
250
467
683
355
489
419
664
770
992
374
189
764
577
700
278
47
777
463
540
255
701
649
333
615
183
390
513
570
283
828
669
485
643
315
335
737
445
564
828
116
163
410
494
677
944
587
175
373
416
601
841
432
679
117
334
179
694
751
374
827
310
332
179
841
753
91
690
79
25
195
987
270
328
96
951
800
316
785
306
719
705
450
23
572
170
120
396
41
762
585
901
653
591
687
323
412
191
891
103
151
755
41
547
655
291
799
586
553
679
741
780
161
176
210
223
264
655
159
514
278
352
895
710
865
100
385
766
76
390
518
656
535
307
225
443
209
2
893
867
759
749
819
837
820
100
972
758
53
373
52
405
340
900
636
864
199
259
491
872
572
29
909
433
706
222
467
625
967
705
405
967
520
457
381
439
35
977
198
714
236
174
458
1
334
593
286
486
696
730
157
983
611
698
216
78
117
200
187
882
723
874
616
224
216
717
950
213
921
612
515
598
202
893
726
509
70
929
632
572
825
93
693
517
164
915
769
457
830
282
475
931
807
893
163
963
97
48
423
317
783
315
411
843
10
368
608
666
742
400
308
395
388
335
972
800
930
143
376
958
239
874
100
982
963
779
332
963
672
281
964
715
629
115
89
379
917
559
202
388
908
572
487
836
172
956
788
278
490
236
720
225
71
620
327
465
891
407
477
483
193
927
747
500
96
872
125
555
578
412
601
790
893
802
925
22
133
146
327
709
990
289
354
494
587
881
822
128
144
994
184
129
533
148
200
300
815
793
353
74
144
201
614
108
855
179
305
475
190
585
901
618
763
290
256
407
403
152
245
451
151
539
901
49
994
608
879
737
337
399
628
511
799
31
683
187
119
845
74
399
359
679
563
138
452
181
700
516
308
764
118
538
325
415
322
346
726
851
353
264
54
107
79
313
481
182
199
592
45
935
919
143
10
149
137
356
536
477
669
628
935
724
798
62
690
327
11
396
25
473
871
301
286
335
797
873
956
152
309
285
750
278
327
904
483
72
305
702
488
979
98
904
464
703
873
444
500
53
816
159
772
496
257
165
677
239
33
475
579
288
461
400
771
17
312
629
375
534
272
579
899
736
774
311
429
61
452
712
177
882
894
221
196
724
816
192
990
369
269
521
869
783
676
438
542
486
20
37
570
617
321
700
709
354
863
888
739
731
318
859
902
312
250
962
963
523
911
94
855
560
347
25
488
490
66
918
96
136
125
29
740
87
561
810
373
284
500
608
184
942
587
829
815
290
836
135
282
88
318
398
506
821
506
646
231
916
795
933
338
843
444
176
868
320
776
348
10
740
836
663
42
981
891
742
82
151
663
15
7
625
647
268
433
299
944
242
719
420
872
244
419
46
315
114
772
456
413
291
337
741
653
802
27
804
786
603
663
811
577
266
679
247
711
868
727
276
95
252
398
306
679
927
34
473
746
19
676
399
302
587
614
680
495
471
584
609
341
495
173
950
86
624
619
235
246
200
167
306
686
256
992
119
729
273
507
375
948
511
199
357
613
808
249
401
451
506
16
20
663
605
855
368
454
529
319
160
847
987
215
684
155
970
312
797
825
244
41
611
313
931
320
527
368
567
626
150
671
39
652
631
690
531
685
949
595
861
555
689
499
734
775
660
408
617
427
992
709
646
447
173
843
601
420
37
500
770
690
882
690
461
91
543
397
328
944
622
956
399
273
540
942
835
277
357
67
203
654
213
621
3
532
537
154
157
804
887
633
183
598
485
74
712
392
583
377
214
814
696
523
53
562
861
835
46
706
928
94
725
728
232
697
563
382
326
14
400
61
785
946
540
458
250
386
540
590
643
871
422
216
629
290
873
742
318
338
372
163
857
482
730
749
987
543
302
410
936
498
577
488
446
304
616
633
525
834
104
121
335
85
23
683
474
688
737
64
508
325
585
28
783
917
814
851
62
9
908
176
301
841
541
110
754
530
71
766
518
205
544
590
556
958
398
665
428
832
8
402
950
531
206
918
914
547
156
994
31
497
741
539
427
814
723
716
813
227
538
853
28
163
758
175
598
488
731
364
451
584
271
76
45
318
766
59
295
3
898
305
174
709
945
19
197
731
813
558
999
831
859
689
90
810
186
58
21
879
49
834
107
510
600
544
535
448
286
796
890
17
627
175
562
84
721
683
861
172
755
387
271
670
83
968
786
648
307
389
268
427
910
139
969
521
149
549
947
964
569
489
226
184
364
522
48
236
444
334
379
928
388
963
144
862
283
791
260
469
740
680
337
750
4
736
191
830
343
64
187
51
79
42
636
583
665
450
563
209
830
532
144
867
86
775
86
308
298
233
241
691
960
459
586
413
318
136
432
643
675
101
361
558
674
285
637
619
382
70
914
339
316
753
542
819
67
71
560
318
224
181
154
914
691
513
994
97
700
934
527
154
752
574
651
476
359
348
681
588
569
640
248
26
483
56
657
358
481
47
185
377
790
319
813
79
337
591
490
950
387
193
33
227
538
463
420
205
902
111
974
365
992
841
299
602
229
31
164
805
74
807
874
98
607
829
943
419
890
985
165
952
685
374
45
529
659
713
175
748
984
235
994
185
726
780
717
479
253
210
949
340
635
982
834
701
737
798
370
683
483
662
961
300
490
885
927
531
993
466
45
10
464
664
67
316
158
542
302
636
660
648
323
245
510
762
40
28
871
483
445
986
717
340
959
66
985
857
955
344
207
175
228
883
439
522
960
915
125
967
209
921
113
930
1
29
971
105
935
735
882
38
753
207
708
195
333
825
154
368
93
879
476
967
587
237
406
820
55
697
7
372
444
805
965
49
931
146
483
586
113
677
250
154
100
217
248
620
557
659
574
61
176
694
11
402
206
65
189
129
959
277
594
358
279
602
558
53
180
202
346
976
333
741
670
879
726
39
373
705
901
660
408
327
748
744
467
299
884
287
322
214
984
950
305
104
700
977
529
835
972
342
820
390
391
765
782
698
188
250
656
53
289
659
116
476
962
610
432
154
875
693
860
776
721
349
607
901
449
123
253
813
713
784
783
531
552
863
910
382
833
259
558
255
609
954
808
394
494
601
465
78
87
627
874
175
818
23
735
420
678
568
628
918
821
790
367
199
717
596
209
507
361
861
770
563
439
321
648
613
604
854
676
599
291
334
907
516
448
360
185
593
262
361
570
549
707
310
468
538
287
30
603
941
745
701
922
897
261
624
212
303
274
772
739
886
509
120
543
59
143
552
261
43
325
668
882
162
540
303
91
55
514
313
987
730
114
614
126
491
716
950
533
698
268
789
515
295
204
342
234
926
853
153
332
651
349
544
893
837
431
892
619
378
119
815
104
413
833
312
613
553
18
650
570
833
863
510
614
361
815
888
310
54
177
666
460
346
186
604
229
691
850
826
566
586
30
835
178
224
777
531
33
335
366
647
115
7
185
698
661
553
20
836
871
932
26
515
202
709
906
863
900
493
226
687
556
499
764
298
125
341
136
909
46
965
769
463
643
139
938
694
695
594
307
720
334
635
563
816
208
988
485
35
715
986
403
585
633
509
489
35
163
346
90
955
513
177
98
559
62
739
956
547
278
371
755
780
836
222
780
706
137
504
959
220
279
266
292
339
205
968
856
837
280
804
887
784
191
449
820
303
555
695
47
451
521
909
183
278
143
518
737
748
711
141
588
778
662
729
508
456
201
454
898
926
22
421
9
603
558
454
327
97
104
540
965
274
58
787
776
272
496
689
114
588
932
989
371
55
739
606
503
593
246
330
200
163
706
957
380
25
449
682
666
722
66
455
431
971
83
628
99
631
468
457
690
942
620
425
957
421
565
176
229
867
547
756
736
128
34
367
992
746
143
964
278
971
498
707
522
312
417
976
366
928
23
363
621
896
986
751
148
650
721
522
336
599
150
346
860
245
746
224
311
329
685
709
238
692
653
964
638
450
890
37
649
83
404
82
570
60
665
153
457
155
929
173
309
829
520
13
503
501
119
885
30
262
664
373
632
159
847
317
161
728
821
285
234
65
229
977
447
826
477
497
769
185
120
288
453
459
799
56
533
312
317
278
596
441
704
796
974
380
988
325
23
767
749
521
946
615
455
4
775
65
882
681
981
737
271
96
844
445
282
451
496
360
753
70
507
762
781
377
37
780
747
511
249
358
63
154
83
104
394
738
201
640
414
891
889
792
625
302
550
178
356
836
658
89
917
739
875
738
92
386
8
466
200
754
816
443
235
186
448
208
654
792
254
577
753
307
568
271
410
244
290
736
294
777
509
652
222
635
127
134
256
944
549
291
74
709
910
134
696
243
637
624
134
193
625
271
862
438
497
289
709
224
276
447
216
811
613
381
644
621
602
530
350
902
340
107
850
139
855
651
544
98
9
580
840
963
415
858
250
137
543
970
54
819
142
535
534
165
799
793
251
822
753
223
842
189
303
661
74
112
971
99
343
649
182
254
52
32
156
756
408
24
885
411
508
249
733
370
710
381
502
753
967
111
510
165
425
919
512
692
540
453
819
744
166
681
191
255
364
69
655
281
230
626
192
857
620
7
384
657
600
59
406
693
815
679
909
158
567
716
455
246
349
886
326
769
193
851
3
528
722
517
550
172
492
179
845
826
406
817
928
740
956
23
498
687
768
668
339
855
44
150
702
842
595
10
469
2
376
567
414
19
211
50
564
142
484
463
1000
518
708
468
516
868
156
784
4
889
480
673
242
615
50
508
17
280
407
418
86
549
831
713
829
636
948
439
219
962
465
435
522
916
575
917
624
341
429
112
595
70
522
219
960
528
808
835
215
22
353
730
258
849
369
319
556
439
131
315
11
189
932
462
673
331
436
99
314
299
872
297
512
220
173
358
648
662
340
889
920
175
801
296
557
806
888
194
209
272
511
482
632
698
574
25
572
614
856
554
395
729
979
57
487
87
39
254
160
136
69
151
422
885
696
482
157
503
953
565
413
771
158
613
522
89
829
32
859
528
323
178
118
425
539
930
498
855
864
426
748
533
815
597
872
46
418
733
222
339
56
874
961
583
956
845
509
872
23
490
541
53
77
851
300
337
538
906
887
186
82
806
489
516
679
12
156
621
665
333
959
190
558
951
557
689
417
172
349
187
635
600
300
112
501
70
737
719
496
472
891
961
614
183
383
369
207
507
554
345
967
936
152
95
136
923
102
180
333
476
859
86
352
889
62
521
791
289
734
319
860
993
177
349
207
443
111
534
848
945
872
366
886
74
822
791
974
711
145
673
759
367
154
643
906
209
926
253
555
120
628
581
2
720
602
323
511
961
651
12
826
656
398
849
566
990
219
213
193
476
642
871
453
778
481
90
780
859
282
866
282
844
723
819
76
563
539
368
257
400
146
716
433
518
399
222
261
41
519
630
589
198
809
21
4
994
944
44
248
953
153
753
550
728
661
720
787
846
651
187
534
198
133
117
438
285
986
873
594
840
728
24
451
934
327
914
227
982
373
225
574
377
278
982
311
308
402
996
283
259
252
610
73
72
535
629
4
477
35
151
884
915
574
763
842
638
518
824
635
808
572
689
602
884
889
214
840
840
560
379
310
527
888
139
29
274
265
883
308
445
231
698
94
645
615
439
77
584
510
197
435
654
567
653
855
49
919
91
55
596
272
419
238
669
815
927
899
454
347
993
338
654
175
921
254
86
909
89
318
607
499
889
489
419
744
743
749
868
328
253
283
356
827
627
450
513
267
766
902
403
694
669
737
165
1000
91
986
317
303
87
604
322
850
340
90
368
453
610
932
866
636
999
566
184
307
13
623
259
320
945
299
221
702
200
800
574
147
2
320
69
450
741
388
389
29
376
680
18
724
736
724
766
413
659
456
829
753
696
769
5
144
992
580
802
448
518
337
965
995
277
825
773
24
536
903
924
402
875
774
804
700
992
840
924
474
284
895
573
955
826
719
709
13
809
48
769
834
874
165
321
515
90
834
703
696
134
185
53
551
953
595
893
527
76
763
715
482
974
710
809
132
661
376
702
182
80
738
510
847
720
253
301
82
174
355
320
207
384
477
149
441
721
829
220
416
212
316
297
947
987
728
390
51
288
968
731
422
333
279
595
571
132
183
398
541
566
486
952
393
916
222
954
247
966
272
385
397
150
785
395
204
694
54
391
748
435
571
506
922
813
449
464
400
666
849
851
597
113
352
548
762
905
589
862
924
139
562
445
314
51
897
324
730
161
308
269
382
22
967
507
656
137
962
633
645
661
983
738
449
350
254
329
995
436
850
817
670
84
126
145
328
997
378
940
811
206
313
776
130
572
349
392
512
378
574
786
82
140
581
268
721
326
896
174
878
628
596
836
533
996
89
419
763
763
427
102
110
951
848
155
589
102
692
852
515
9
565
93
260
290
278
462
930
828
95
641
412
700
41
750
437
58
354
609
976
509
764
662
488
653
280
547
621
285
575
423
824
120
738
509
383
381
889
345
908
266
541
537
340
902
513
742
828
342
445
866
179
684
172
983
963
377
595
740
430
939
253
351
334
443
148
771
766
624
393
291
95
360
602
240
301
618
301
210
40
428
650
941
291
811
598
455
816
352
654
335
360
29
635
495
796
28
246
60
518
768
170
15
609
872
773
188
464
795
43
28
209
638
959
255
705
327
366
963
81
819
72
101
881
342
563
142
717
236
824
952
815
465
610
592
518
127
591
959
565
305
258
741
703
549
326
603
524
248
48
954
36
736
79
152
274
406
769
549
545
957
951
981
781
200
596
975
894
873
240
320
968
752
531
669
927
160
329
77
194
969
38
949
355
447
156
316
984
466
611
613
570
35
937
545
713
976
458
894
543
814
880
915
356
635
118
694
830
195
282
319
126
279
400
69
398
990
592
663
757
427
424
533
887
277
305
286
908
918
555
21
609
676
347
230
164
733
51
681
370
650
751
147
76
742
736
843
765
438
941
634
313
752
492
660
556
424
518
230
866
37
868
788
94
878
55
128
704
495
660
80
863
428
296
73
802
260
423
128
654
940
692
309
145
512
804
477
138
784
11
546
662
988
501
100
727
369
319
482
520
7
843
997
236
681
285
920
806
247
588
183
721
968
197
793
79
719
288
45
284
263
299
798
356
564
291
241
13
321
223
71
795
822
891
315
992
969
816
919
935
264
966
690
38
841
233
501
739
32
346
688
588
822
24
790
342
227
131
439
263
321
123
821
936
525
695
91
525
214
368
246
912
799
66
36
733
596
988
186
19
84
942
864
817
81
812
254
340
992
247
298
388
122
192
409
681
340
603
902
947
832
435
39
944
237
303
169
941
675
150
394
521
593
241
144
816
413
855
926
942
580
901
214
741
647
12
24
306
974
778
30
509
203
754
679
273
230
827
113
805
467
648
831
582
416
862
523
996
302
27
671
819
409
798
682
210
463
853
934
93
5
750
204
489
429
779
437
148
346
477
506
189
169
251
894
975
923
860
967
864
998
379
787
282
942
261
21
898
95
900
787
177
542
618
698
909
563
610
841
439
367
31
941
565
107
589
853
792
784
821
67
155
372
677
589
669
394
393
286
939
606
323
790
520
179
928
5
485
382
99
40
49
72
96
887
901
300
479
287
329
52
945
67
458
873
283
961
590
737
578
159
378
760
56
775
310
42
407
826
994
518
858
225
892
30
231
433
101
465
790
758
940
961
909
45
994
551
598
485
950
686
156
590
950
560
121
244
336
181
101
767
462
567
505
919
37
65
602
339
959
849
440
36
864
305
875
620
444
806
662
906
438
313
371
899
502
815
330
554
176
937
785
736
571
400
21
130
762
96
230
714
946
614
13
216
675
417
867
122
35
223
743
660
6
703
662
379
874
416
199
873
124
826
404
707
83
180
868
274
877
552
498
13
941
776
989
151
803
578
711
481
38
684
509
137
72
4
676
268
268
801
334
203
940
757
637
454
638
458
811
480
732
518
338
137
844
684
321
145
63
490
384
88
723
174
812
531
593
289
211
287
689
332
574
523
809
724
85
193
396
22
156
30
332
47
734
198
601
538
741
659
784
655
376
969
527
250
180
756
174
92
540
369
963
719
938
181
595
553
17
392
922
281
624
631
918
699
149
395
472
752
958
421
393
842
175
272
344
551
668
474
814
251
497
775
907
603
748
479
173
214
91
445
476
662
247
55
224
170
5
173
777
525
953
308
278
91
871
93
962
493
34
697
78
618
841
968
445
153
402
572
251
745
918
158
203
738
488
649
802
29
852
56
219
84
335
62
190
544
102
56
465
404
139
270
992
160
789
288
725
972
362
604
341
64
572
535
586
728
973
959
77
865
604
535
474
435
258
634
703
37
274
533
711
301
941
88
292
657
559
15
692
614
338
512
399
199
435
474
641
999
658
384
394
501
796
464
170
634
95
957
897
102
187
795
377
615
27
675
893
928
112
525
857
515
109
251
80
316
609
67
871
877
968
614
755
390
908
720
826
406
203
190
696
287
522
878
863
449
375
804
839
190
268
946
153
802
465
336
652
309
189
92
493
960
522
473
903
600
104
627
322
934
642
195
540
431
331
345
395
352
123
322
20
445
731
204
500
346
32
80
653
628
486
573
996
818
539
172
70
636
8
270
639
552
844
199
915
675
231
335
208
395
897
209
90
925
930
931
161
600
985
913
89
594
176
392
38
638
161
568
289
92
540
403
54
377
93
14
376
876
734
754
528
609
833
946
802
840
866
976
529
399
960
352
109
719
895
207
432
320
613
40
438
829
763
863
83
466
820
756
897
441
141
171
301
49
650
364
926
482
615
890
270
155
933
807
333
804
39
63
148
822
920
552
844
416
40
707
198
376
787
278
335
925
966
788
259
663
231
607
649
871
521
286
23
886
127
687
241
612
688
801
376
637
515
799
268
209
297
924
193
723
827
397
662
193
601
34
848
268
674
929
26
491
6
82
976
245
527
642
236
370
958
783
158
484
143
374
562
215
382
368
623
317
270
1000
142
797
183
903
432
555
442
71
443
897
426
184
805
979
837
931
866
671
479
380
522
179
855
170
345
982
87
836
60
977
432
808
472
388
857
410
902
84
177
858
952
103
707
525
322
398
708
301
135
611
452
125
390
861
717
768
983
255
229
622
142
168
803
539
951
171
729
64
29
998
364
343
764
350
156
617
863
885
443
69
457
745
887
247
326
397
825
318
201
692
297
402
601
812
9
294
344
527
169
203
874
871
48
354
288
75
157
216
709
323
670
699
66
527
984
475
683
805
627
567
418
660
727
202
964
969
336
531
731
488
716
981
582
32
583
934
708
744
80
367
612
956
82
908
245
577
272
371
739
847
217
988
838
814
765
98
277
10
455
124
96
712
886
73
149
333
280
587
955
836
123
111
840
428
635
487
170
964
416
537
106
421
141
255
631
447
53
612
398
284
65
678
861
877
796
774
956
233
690
893
327
362
939
441
111
286
310
360
194
13
545
113
330
377
579
468
285
580
602
201
925
610
601
425
510
592
845
331
605
527
434
100
672
678
634
777
690
578
968
958
179
542
695
616
237
203
42
570
884
880
234
560
61
728
951
974
860
798
424
882
984
932
577
542
369
215
413
263
951
430
457
390
250
679
82
98
724
651
26
158
981
16
235
69
903
33
573
656
311
414
720
616
625
460
951
193
35
74
578
757
136
178
300
575
303
613
318
533
919
908
898
265
987
364
241
841
523
448
454
946
180
239
293
596
141
777
468
362
114
79
842
286
668
5
979
200
254
451
320
353
628
623
955
376
692
543
147
81
778
260
184
441
698
781
900
123
584
596
198
227
399
625
333
658
201
888
354
839
855
555
612
834
88
581
523
405
549
175
8
772
634
278
44
829
73
787
842
686
365
949
946
608
182
156
311
304
524
897
200
121
864
803
172
362
761
264
559
968
736
848
857
738
756
149
387
272
752
122
647
481
217
830
855
897
691
449
709
88
769
793
61
330
559
90
932
504
610
727
736
655
34
290
313
272
530
429
958
172
143
512
164
611
242
405
347
938
85
561
751
801
805
47
786
876
540
495
381
540
317
286
326
334
789
313
93
608
794
538
265
765
907
201
176
810
388
609
28
684
88
589
248
259
883
302
379
514
509
337
830
712
880
738
770
99
686
777
883
530
709
220
413
526
719
505
90
853
362
410
875
712
282
238
673
217
899
457
151
762
973
450
193
693
529
341
50
935
583
559
674
104
123
501
235
536
197
984
764
145
424
269
540
733
780
366
617
601
924
965
949
227
543
577
674
487
236
135
273
273
273
890
925
116
464
503
775
873
520
393
119
560
414
501
559
524
342
58
152
594
456
70
564
471
60
920
590
626
715
330
287
217
792
776
771
179
633
525
231
945
396
504
628
69
765
227
724
234
631
87
917
425
413
251
664
959
487
734
746
583
512
606
143
479
177
443
255
40
497
490
760
269
984
488
781
694
358
144
261
800
844
10
819
77
168
758
653
38
318
892
376
199
516
626
324
396
447
672
805
82
201
91
368
400
12
797
608
609
847
12
30
674
573
255
939
523
932
570
427
552
550
240
312
473
442
813
568
123
942
625
810
841
103
166
544
393
938
733
459
319
405
847
802
974
57
677
439
122
632
111
220
928
314
250
503
95
274
363
946
344
641
594
782
670
940
865
208
874
354
134
379
297
634
406
822
750
119
485
356
269
859
292
49
428
195
915
602
903
834
770
946
86
390
536
203
348
533
665
233
342
7
536
607
153
289
756
764
172
222
985
388
899
341
383
344
386
532
614
91
182
74
214
149
280
398
434
512
108
292
809
249
50
804
821
796
60
906
763
164
20
856
3
931
744
275
394
626
485
998
821
790
834
93
860
107
568
636
173
809
796
541
703
918
971
44
210
292
603
246
416
944
93
745
747
219
847
737
117
807
23
511
52
664
100
678
653
920
677
374
441
196
556
705
162
208
50
331
376
716
409
568
573
781
713
648
570
576
584
400
791
644
361
372
363
469
841
970
854
232
816
320
815
442
678
548
188
804
888
37
12
866
24
939
915
470
74
141
885
750
316
355
72
35
723
663
324
619
638
618
473
904
218
542
713
596
761
933
780
770
470
752
622
171
484
344
388
163
826
18
381
334
195
691
227
607
162
646
523
150
416
176
740
315
367
786
385
914
209
45
2
340
578
688
935
36
245
468
398
789
315
305
35
484
112
884
495
646
425
634
903
597
724
294
754
773
208
117
302
97
761
969
396
79
636
496
310
755
575
356
233
587
903
783
878
461
377
522
702
345
210
724
171
769
558
682
908
440
851
671
975
606
588
262
592
158
326
983
376
530
599
753
685
841
724
449
247
536
834
415
805
8
71
883
680
522
871
82
945
497
823
189
809
609
571
364
932
840
397
645
207
215
26
138
505
644
676
547
183
449
133
997
401
141
236
794
581
362
294
390
47
843
176
126
598
401
450
888
48
750
623
517
548
593
377
321
403
969
123
210
823
299
117
195
691
158
468
490
236
213
198
342
911
607
984
484
568
236
584
734
875
144
108
110
914
646
231
313
139
19
704
504
352
496
924
534
109
852
237
503
933
967
403
747
457
108
764
766
330
243
211
46
674
870
332
604
654
709
119
866
287
495
169
833
981
888
222
430
801
192
836
604
394
414
883
487
985
731
19
19
86
554
238
494
407
239
7
87
114
831
199
769
203
671
336
713
277
246
798
572
143
258
58
124
627
259
324
396
977
969
405
442
374
517
517
209
271
852
401
372
683
896
426
417
215
24
406
365
438
708
712
939
378
739
647
203
920
269
433
107
165
182
815
918
118
500
681
111
161
490
665
327
108
403
122
502
239
626
744
655
76
5
191
419
524
463
274
533
298
101
782
32
235
824
259
448
823
697
375
258
953
523
929
173
815
891
287
707
891
629
397
505
472
582
118
411
120
95
444
734
650
908
609
227
493
460
661
180
355
511
112
330
572
755
731
726
200
127
103
369
587
357
945
168
110
694
524
978
706
991
983
779
298
712
451
617
608
101
188
881
291
172
345
508
159
932
407
802
836
643
914
635
866
121
89
815
894
587
999
514
821
570
360
699
285
217
878
218
843
301
529
502
356
430
820
598
450
338
508
878
99
823
884
248
436
591
610
781
300
759
626
772
329
654
114
338
724
894
947
840
396
293
371
285
916
303
999
844
621
850
188
57
194
129
142
686
479
227
742
476
381
895
94
164
733
616
136
565
483
45
586
616
437
159
856
502
273
454
122
710
818
615
326
37
546
71
986
143
668
67
139
287
158
788
957
657
834
503
599
989
307
816
963
86
379
514
205
851
94
145
931
551
435
538
378
845
715
543
910
570
119
770
962
287
611
492
948
317
497
788
392
617
155
14
156
683
903
978
217
879
181
202
756
782
196
543
499
398
157
407
716
362
923
353
822
573
54
885
577
71
696
184
241
58
41
388
473
204
614
815
630
972
730
713
700
221
685
767
5
144
87
493
987
46
240
223
698
724
946
750
352
715
839
324
788
777
490
709
752
164
352
501
954
74
380
710
254
959
97
935
328
230
474
184
916
140
177
92
365
125
138
755
273
340
902
461
128
167
355
672
230
349
849
328
370
509
584
472
447
439
148
911
870
565
189
203
932
324
90
115
419
329
557
421
577
793
640
851
155
222
228
416
407
80
990
980
489
558
352
213
845
417
614
125
955
617
303
47
231
873
167
413
226
79
261
678
567
870
599
535
487
195
777
236
3
99
124
546
954
876
975
533
208
529
258
310
290
530
843
249
593
771
642
817
62
16
121
592
776
730
51
207
142
398
36
4
213
625
656
93
34
208
990
354
132
818
674
630
62
140
196
440
103
378
609
621
386
471
978
936
35
468
565
479
567
815
856
15
896
131
124
724
47
643
171
755
820
611
423
325
448
235
764
730
308
377
282
159
332
644
257
587
83
256
9
601
703
299
455
45
916
737
359
676
113
248
860
602
440
374
368
954
165
596
371
300
397
49
155
145
481
902
895
763
431
959
162
461
993
869
107
850
821
199
39
390
470
800
403
914
261
752
837
224
391
933
474
201
706
236
837
245
74
317
878
420
285
989
720
707
829
177
516
94
607
117
90
189
249
326
718
394
198
694
732
755
82
445
648
150
785
550
798
675
862
590
238
656
720
105
868
351
180
214
196
338
49
603
561
456
65
939
45
344
673
394
205
70
446
982
192
525
802
76
783
759
526
856
702
578
995
805
516
800
126
29
440
37
250
810
435
526
57
786
371
473
919
874
15
116
939
735
195
450
217
299
891
708
518
288
595
698
67
650
966
822
218
570
845
525
448
359
591
123
108
922
257
701
186
252
813
335
389
26
257
545
782
197
21
36
166
612
829
449
16
807
904
651
939
937
978
53
542
124
637
700
26
704
595
40
731
549
510
985
4
402
733
919
260
609
620
341
93
84
702
453
681
361
85
824
444
490
545
815
277
615
209
276
153
448
978
779
294
319
541
817
809
984
309
515
631
595
465
410
725
769
390
790
476
624
392
556
713
996
597
396
595
304
485
648
205
333
193
442
527
427
940
240
474
8
683
540
748
25
208
620
855
890
276
790
137
452
234
876
621
622
1000
495
841
796
439
843
994
121
842
353
759
24
930
602
446
911
805
675
172
391
860
633
806
507
812
895
919
964
454
771
774
231
130
212
736
251
64
494
523
989
783
750
430
825
578
549
241
527
327
920
13
786
199
383
774
186
432
969
759
83
914
43
88
929
282
424
694
106
16
952
374
734
124
973
590
535
502
444
246
333
332
766
283
168
610
432
699
284
749
403
508
340
467
121
982
847
41
755
369
44
744
96
555
724
591
872
72
14
832
66
129
631
359
222
208
616
479
840
513
422
759
734
273
144
989
81
751
1
950
934
475
10
206
726
214
218
84
921
876
533
185
827
625
760
167
467
662
209
945
875
714
58
724
206
903
329
246
392
763
145
815
967
830
711
786
729
333
832
683
24
651
61
977
343
875
887
305
219
540
51
980
757
918
633
246
791
888
809
824
244
784
40
397
156
68
50
733
687
551
875
732
948
824
660
737
594
981
799
842
65
514
40
974
343
227
520
466
502
737
1
123
246
943
996
338
940
925
473
841
206
750
722
100
351
91
160
609
387
287
757
473
661
648
42
132
509
721
731
719
261
244
760
171
185
211
270
75
671
262
931
649
978
882
571
122
961
225
31
842
304
248
737
554
845
190
94
370
728
840
161
312
533
980
854
905
553
254
17
575
4
539
113
806
542
964
931
79
234
382
635
825
765
790
364
368
1000
394
698
159
573
567
308
262
360
634
877
484
555
436
814
443
274
718
387
942
94
733
498
5
484
83
783
856
230
404
454
64
632
461
282
50
895
434
55
321
951
335
751
869
372
316
671
398
937
603
820
56
19
603
17
393
483
62
15
496
955
94
499
482
440
635
640
117
571
154
73
966
953
554
162
470
87
8
638
968
408
721
900
819
328
923
175
615
936
107
222
969
278
208
808
363
623
989
652
992
307
191
537
747
443
385
846
862
517
220
301
671
712
965
297
166
807
779
952
681
79
797
9
794
388
270
595
873
103
496
263
372
409
640
339
499
636
343
546
931
965
966
649
519
962
850
671
600
438
219
438
282
323
220
486
958
383
417
306
181
4
794
221
842
29
977
249
989
84
126
157
101
416
928
749
169
23
279
236
594
161
278
820
671
73
551
157
14
673
446
640
946
19
610
554
826
93
572
277
94
718
603
373
902
375
651
699
413
374
252
717
672
388
739
505
641
766
657
164
269
839
866
377
432
919
60
509
57
489
126
400
690
489
236
844
663
672
101
358
358
326
127
668
675
460
478
260
321
708
459
386
734
773
855
530
730
837
64
373
847
233
354
817
447
323
62
414
856
668
11
49
614
221
115
456
832
197
449
167
37
162
107
851
930
663
107
354
655
104
492
786
873
373
786
975
920
568
517
599
762
959
294
506
951
546
703
314
487
648
530
147
798
483
419
586
605
932
538
832
748
370
365
468
596
725
692
207
920
454
149
666
659
141
671
512
35
665
635
196
711
266
265
568
314
280
952
218
17
107
598
474
668
317
812
750
904
993
283
331
100
700
998
695
742
48
649
27
411
891
333
285
664
909
443
894
308
184
201
159
875
435
979
135
496
822
52
287
334
643
587
978
496
597
268
466
301
797
752
261
873
823
814
292
646
430
748
867
767
71
396
451
968
506
794
672
29
816
588
491
469
382
742
524
619
242
964
265
813
981
496
532
678
956
774
440
131
798
993
178
170
190
983
128
512
248
389
584
448
483
936
586
158
362
417
152
479
57
832
427
397
236
731
939
285
894
554
521
152
962
983
742
60
164
408
803
729
633
364
377
168
378
281
85
900
500
402
227
803
22
21
827
849
587
808
879
200
107
443
227
830
986
348
797
92
465
277
646
539
181
22
925
700
48
737
305
875
284
746
588
864
691
987
599
245
914
848
437
77
561
712
515
554
421
557
904
868
903
577
731
544
78
863
932
682
657
740
812
358
265
956
81
374
735
913
506
747
24
183
666
533
184
817
904
317
979
537
738
360
253
773
555
506
765
92
11
28
135
618
668
705
181
585
323
521
201
264
147
681
790
479
871
849
505
33
781
386
829
82
934
489
497
219
740
572
214
346
87
559
387
622
47
697
807
400
701
401
841
528
976
844
15
403
272
303
761
540
882
335
354
33
789
787
607
364
59
24
132
929
572
375
91
547
689
494
139
521
557
603
277
225
313
821
737
874
109
289
386
396
913
133
350
274
819
353
805
48
147
48
882
654
252
332
581
894
224
878
551
278
645
69
547
363
904
443
174
329
22
643
165
46
688
705
436
164
776
975
940
588
345
341
381
185
924
114
637
268
456
66
653
743
961
106
142
215
41
487
23
648
546
957
661
377
497
570
490
846
901
976
705
934
54
813
622
815
786
324
1000
280
594
504
768
765
169
173
819
365
907
883
178
113
525
916
746
18
598
53
303
308
578
368
833
297
501
107
355
339
750
227
915
428
875
484
792
286
402
653
458
317
436
657
142
727
332
606
36
185
366
433
421
859
238
75
17
159
649
86
27
592
797
32
616
587
947
375
884
986
986
693
820
175
302
346
181
385
42
624
915
222
674
331
234
33
787
631
484
926
873
825
620
180
511
265
542
962
203
826
429
823
86
536
981
631
321
146
1000
134
242
356
942
812
238
870
534
883
322
391
987
733
577
473
157
566
32
153
748
627
1
766
633
301
194
836
583
476
226
493
95
824
510
299
922
982
137
373
568
323
908
883
632
559
157
568
506
48
293
935
351
699
862
799
445
994
477
116
246
58
256
151
889
2
114
462
1
986
572
848
602
143
771
272
672
810
111
584
910
712
198
745
428
614
36
946
38
715
40
148
736
388
908
269
174
679
879
259
31
319
457
903
382
227
859
264
67
561
47
676
109
114
245
662
340
715
793
510
736
644
239
835
369
23
262
954
357
85
124
947
82
958
157
917
924
450
977
22
860
777
520
993
792
159
786
124
306
519
753
831
892
924
893
261
513
964
114
813
374
261
210
16
263
773
867
763
863
361
47
47
268
616
584
232
177
149
311
498
987
242
919
787
36
125
892
514
724
675
188
293
826
73
197
462
327
276
45
670
373
395
151
929
568
932
212
477
712
692
726
697
85
975
523
714
422
736
72
525
835
943
982
98
976
760
188
129
823
102
59
10
730
880
901
252
458
708
858
775
630
34
277
383
185
615
674
711
616
991
554
854
73
249
432
230
240
629
671
648
503
591
161
418
56
474
520
756
969
98
105
51
542
515
502
231
291
856
674
495
659
700
883
53
747
571
705
882
289
261
188
611
708
682
636
852
143
661
952
557
887
111
343
230
71
887
147
374
148
506
426
518
136
657
23
294
213
328
857
289
868
487
348
226
968
479
18
905
254
315
879
351
651
250
989
623
52
310
298
502
525
562
854
648
839
264
86
975
440
803
48
207
763
40
773
573
399
878
686
119
108
696
933
970
827
849
246
860
329
116
402
987
709
965
84
749
566
980
469
716
942
482
1
75
514
978
394
71
872
540
64
259
945
870
459
651
358
636
184
307
59
423
215
574
119
791
222
569
500
162
863
839
868
604
755
99
262
314
273
733
985
581
947
100
819
547
433
216
789
750
104
56
484
339
587
181
285
493
820
234
265
427
685
977
716
485
34
519
247
376
367
944
64
303
944
417
562
951
403
938
62
319
559
97
258
272
132
627
268
528
580
271
435
137
973
508
188
580
788
602
960
917
773
874
95
456
214
119
624
600
629
195
207
760
85
58
902
641
778
37
384
100
229
924
796
841
728
810
557
532
770
695
684
640
29
143
521
185
419
860
683
21
428
817
277
305
598
947
74
225
761
561
465
602
72
273
470
506
591
25
539
1000
461
74
331
682
763
846
665
332
944
917
211
994
533
481
650
568
319
737
997
834
715
436
267
469
101
46
455
251
939
608
593
871
675
171
4
878
236
852
736
29
428
978
75
339
897
921
124
678
768
18
440
995
784
109
570
166
946
913
391
456
286
347
847
282
392
213
820
669
893
345
638
108
992
855
453
550
607
727
735
239
953
732
951
846
215
483
168
583
418
688
439
595
678
440
179
508
387
867
541
403
692
412
757
97
667
841
813
971
134
528
159
807
3
180
42
905
343
411
853
27
145
578
89
961
233
914
481
26
33
498
958
517
640
890
94
482
361
932
299
819
435
751
739
965
52
61
349
127
522
18
147
930
978
432
704
554
131
472
69
88
67
440
474
542
286
537
969
308
343
96
392
122
153
925
278
63
40
797
463
160
943
298
501
875
498
26
945
137
983
533
646
474
769
479
349
355
410
772
463
184
167
612
558
820
404
739
816
752
577
207
345
667
962
961
171
545
64
826
858
416
241
233
166
405
406
38
919
610
978
886
735
660
581
631
408
296
703
761
212
589
533
150
572
772
232
378
577
444
424
950
554
739
277
807
728
391
63
444
246
206
563
84
661
3
908
854
960
194
212
87
250
292
50
790
488
281
47
401
249
891
741
449
905
441
607
301
759
940
355
521
319
829
787
500
665
489
599
593
712
894
526
573
610
140
41
50
554
937
429
665
102
460
674
689
836
614
832
148
496
375
816
958
676
536
613
943
621
32
400
237
927
891
929
785
79
779
958
518
464
796
951
235
17
23
302
763
228
121
123
227
702
813
350
12
76
745
301
153
277
456
442
611
863
829
129
880
313
55
627
234
387
100
238
569
555
370
442
889
451
824
1
930
756
293
405
231
124
742
500
64
626
127
626
36
750
680
1
379
161
442
517
876
90
740
442
231
648
854
409
763
906
419
257
863
506
699
332
659
26
644
839
702
763
168
729
547
897
650
397
34
698
963
478
578
130
16
556
329
700
496
40
268
863
559
331
457
214
144
432
407
268
588
363
867
126
621
803
532
20
317
76
334
43
949
500
650
870
68
923
25
669
163
595
456
133
248
522
641
789
271
816
426
61
458
224
464
807
640
786
778
685
227
429
199
267
512
431
732
505
260
367
823
606
522
176
918
426
480
919
511
397
273
233
951
22
740
556
596
85
636
288
593
793
83
232
972
67
669
939
470
714
275
298
151
721
222
747
594
928
551
422
196
729
152
701
67
976
866
170
943
375
728
126
615
375
433
412
307
996
690
473
936
843
731
95
277
573
748
959
351
753
692
105
15
896
242
187
752
335
832
55
432
204
826
600
619
758
785
74
513
686
90
934
615
435
159
419
163
952
917
49
914
781
730
126
889
762
89
921
229
248
231
445
818
28
97
826
317
450
200
435
457
973
311
400
65
187
873
897
342
61
758
454
424
460
827
198
568
622
989
171
737
767
887
260
341
55
228
366
720
335
67
584
747
250
997
52
333
221
805
517
825
57
849
933
58
553
916
550
459
383
734
77
444
231
931
769
2
966
877
155
207
880
587
165
892
974
729
540
784
717
674
413
773
933
943
520
651
989
1
136
925
305
701
263
344
407
800
164
252
827
627
558
612
984
523
585
22
174
980
881
121
588
923
682
864
874
393
784
781
148
475
747
807
952
124
472
942
842
917
731
892
27
601
872
809
367
511
561
966
731
454
218
185
469
40
725
193
448
553
90
272
453
341
795
882
614
222
346
302
57
332
11
720
880
37
486
386
345
45
99
399
816
975
140
778
61
184
898
298
933
64
264
269
104
443
485
845
601
214
353
354
882
269
239
47
793
351
598
851
676
218
258
601
132
481
45
983
12
516
73
709
935
820
874
77
848
89
369
947
754
141
14
282
939
859
249
902
598
836
761
885
518
143
251
412
885
965
922
107
65
564
475
581
627
144
520
620
899
224
140
892
498
855
770
932
698
886
432
422
863
838
407
528
454
797
250
285
314
191
930
489
632
364
842
1
573
469
535
758
276
353
229
2
378
1
177
226
536
22
273
701
740
128
824
303
972
604
885
962
102
525
174
110
474
94
541
661
257
913
22
955
900
382
259
604
837
488
968
366
970
958
468
377
240
587
331
984
642
158
311
253
855
781
517
234
776
765
56
640
820
380
141
176
144
948
985
46
688
661
504
270
631
844
731
614
763
438
845
641
181
352
326
783
734
159
248
450
443
927
627
922
238
687
1000
928
699
762
947
452
433
624
108
133
967
146
406
149
959
556
984
833
378
972
701
641
260
487
113
707
106
566
290
55
212
731
392
456
938
183
831
741
426
247
2
254
756
24
856
34
378
180
183
511
447
8
484
17
633
893
435
308
22
255
272
180
869
321
97
596
663
697
279
899
975
847
195
252
965
333
203
474
178
651
849
818
458
78
15
895
295
189
39
823
44
892
926
412
974
494
17
679
790
979
514
608
359
78
238
156
912
2
496
473
722
301
714
78
581
945
93
268
826
975
253
135
884
121
297
252
88
453
841
375
716
545
539
335
948
71
208
771
305
203
712
856
814
137
526
201
192
70
467
56
264
200
500
852
656
759
794
710
744
1
187
279
752
756
257
445
969
412
267
501
206
443
234
686
255
898
935
722
924
756
371
296
944
426
171
745
17
42
516
591
105
795
47
324
594
710
911
63
644
645
492
428
152
386
420
87
586
82
632
500
223
390
182
616
729
970
972
259
915
243
290
856
717
325
268
799
151
325
494
73
4
806
350
582
564
936
827
995
814
272
685
94
59
106
568
701
638
156
457
893
525
417
657
255
976
362
80
292
872
944
44
385
713
84
723
134
412
907
249
177
2
401
628
217
12
687
538
732
183
34
879
454
717
116
619
840
971
992
883
142
151
805
541
991
904
495
629
500
13
183
532
417
54
651
822
429
993
695
879
459
234
334
630
734
802
843
443
494
672
881
629
533
135
835
349
859
966
470
899
9
790
991
79
638
557
524
995
936
997
859
531
470
267
570
280
53
146
984
556
763
93
569
788
850
145
378
945
263
565
199
915
286
16
726
167
493
235
436
6
56
190
482
903
636
936
948
765
42
230
401
118
272
504
556
765
284
77
638
615
299
507
446
714
237
182
969
503
420
966
791
740
205
123
184
705
335
79
481
877
759
961
934
801
685
941
973
478
966
399
624
633
360
7
979
955
433
43
580
594
598
444
297
785
644
702
711
386
167
359
732
445
310
561
240
275
853
645
264
505
100
69
652
536
440
279
291
354
217
10
613
244
809
395
280
27
584
192
208
411
101
298
929
882
456
732
198
327
971
922
51
176
771
679
618
841
615
640
235
801
828
79
393
777
570
648
612
744
894
486
947
461
718
23
374
194
897
352
248
547
339
928
215
807
651
168
283
935
218
721
381
647
364
944
441
47
992
487
887
475
774
78
609
73
884
168
770
205
972
309
43
900
236
327
737
124
495
833
410
562
622
68
340
398
725
113
840
867
652
291
291
936
743
862
430
256
682
823
430
332
465
828
501
512
360
478
504
567
752
296
563
655
775
463
995
435
425
807
470
296
297
708
912
799
120
543
999
10
646
242
879
322
650
450
618
400
829
148
874
374
458
266
828
677
369
336
977
784
2
245
94
619
450
685
841
735
867
913
688
990
445
484
678
24
633
909
603
223
348
567
580
466
344
75
91
652
262
108
37
97
725
31
615
688
412
745
399
154
465
68
629
758
907
312
425
965
199
635
839
296
23
690
965
253
556
961
662
183
79
583
871
913
799
857
361
561
389
336
353
552
147
60
997
998
913
773
572
951
767
890
977
484
486
314
679
905
450
203
864
614
630
657
256
245
577
358
493
995
850
570
942
249
930
106
464
622
127
670
903
108
742
889
982
753
139
141
933
292
512
476
266
108
249
451
384
949
326
207
754
349
620
273
501
953
406
840
344
320
574
659
517
75
199
911
494
709
867
812
687
277
101
769
482
727
460
336
593
361
290
707
624
599
819
374
853
675
183
641
257
721
965
954
472
296
903
377
664
364
524
150
979
963
447
234
519
222
677
181
601
169
437
929
616
910
297
804
863
572
64
130
585
649
784
226
710
155
104
704
5
723
439
126
432
20
655
498
49
494
211
440
172
838
451
820
4
289
309
346
273
446
108
371
227
140
713
11
256
551
346
193
47
250
937
259
484
122
951
931
964
306
78
52
74
241
119
356
59
219
520
428
201
599
913
435
588
499
432
258
103
110
55
172
206
905
123
326
864
261
440
469
967
593
798
647
734
269
50
132
654
273
108
554
969
355
899
247
474
932
828
627
369
97
900
841
189
590
137
858
578
971
519
443
286
661
581
433
38
971
160
871
426
867
240
259
534
614
579
976
90
243
38
684
21
628
754
880
636
964
627
652
49
6
34
68
280
651
822
569
3
888
369
19
955
714
657
130
417
470
260
460
75
850
611
90
646
309
993
232
346
243
457
532
897
589
183
484
913
611
858
517
402
127
690
380
415
643
601
234
242
867
541
379
565
481
659
388
920
265
141
463
219
615
781
701
880
557
659
621
76
501
380
206
671
403
116
23
933
946
421
833
723
241
937
834
469
404
983
671
526
556
502
34
399
522
1
657
220
931
529
634
493
271
741
238
357
452
130
696
106
496
149
903
692
28
927
36
794
170
26
83
203
585
433
906
56
680
588
156
346
215
131
305
842
334
220
570
422
704
589
111
439
792
507
393
673
928
433
201
768
839
491
710
216
681
340
40
80
329
468
356
966
30
985
850
100
243
797
730
332
226
332
760
897
616
209
797
62
891
283
79
38
481
278
928
684
932
237
710
535
863
198
215
562
368
629
14
443
236
807
92
201
442
43
1000
736
11
218
72
278
74
494
608
874
536
871
635
506
982
323
926
435
817
685
576
108
689
323
546
286
409
404
765
830
566
882
475
605
665
443
641
982
910
525
826
663
858
872
575
355
368
498
426
149
405
939
187
125
154
646
818
897
675
952
275
129
691
618
62
193
320
210
509
170
381
367
947
75
449
366
665
556
357
307
282
185
558
406
785
433
96
892
892
198
24
838
880
586
778
366
171
999
309
772
777
752
129
85
64
103
526
312
711
586
456
267
730
417
56
532
571
703
459
741
953
608
141
325
710
839
57
536
522
211
257
882
901
945
571
436
705
92
628
588
155
19
328
168
828
684
58
505
853
631
660
527
507
970
470
469
507
956
277
157
570
37
487
910
776
513
707
467
743
983
415
78
385
901
571
134
896
595
915
15
349
238
469
837
317
84
102
990
325
219
732
733
875
564
572
111
754
971
402
115
768
800
461
785
251
763
910
714
683
683
48
564
391
330
614
915
878
40
290
316
124
820
405
670
371
376
785
327
96
927
252
983
580
333
807
446
457
127
861
372
379
991
697
907
817
459
830
877
623
124
319
737
477
14
791
480
874
128
649
814
317
485
54
177
280
349
422
196
70
605
24
961
518
565
274
692
322
966
815
783
409
899
524
441
251
105
239
806
842
590
936
23
105
979
395
540
616
502
515
543
230
823
364
896
562
903
549
870
922
848
776
78
477
502
981
888
707
501
1
129
951
211
344
230
390
544
758
463
895
655
359
23
25
166
357
315
881
298
713
756
915
640
44
726
590
23
190
694
508
96
980
756
366
25
152
309
151
711
988
202
560
212
888
199
732
286
202
879
980
883
892
303
592
213
123
260
173
820
586
942
223
416
806
4
395
346
191
853
69
492
8
993
621
169
283
412
567
539
785
392
497
646
363
615
747
779
966
937
937
23
679
512
259
216
737
527
748
837
275
743
558
606
762
360
300
889
489
316
33
636
152
765
214
395
129
207
445
83
367
495
517
512
550
509
857
273
602
247
16
923
678
673
838
267
42
354
767
998
837
105
44
871
848
437
808
293
568
74
547
211
914
495
393
858
33
733
120
912
628
494
649
265
371
959
673
419
833
797
648
686
207
936
38
673
121
672
842
151
806
356
408
28
54
47
773
771
513
910
833
173
860
740
39
982
48
615
555
92
485
96
16
662
257
274
874
819
855
563
443
368
882
171
611
749
649
146
574
400
841
45
316
489
711
59
788
477
860
985
851
387
177
679
696
924
140
222
76
585
386
89
137
823
13
273
593
562
194
954
894
845
715
98
647
348
390
490
384
522
443
113
344
452
321
109
550
679
255
190
965
630
789
563
288
753
913
589
474
561
948
188
525
527
132
707
174
878
723
440
103
672
710
627
526
989
670
447
838
967
731
664
258
284
550
91
337
281
560
156
782
184
456
213
136
844
157
142
54
198
123
871
725
151
284
55
200
41
154
938
681
637
933
840
246
505
748
487
145
58
767
519
748
769
7
806
508
153
42
510
794
294
792
270
614
952
207
799
362
622
847
312
266
995
107
63
603
355
704
505
145
638
948
761
103
131
764
442
940
585
581
86
336
446
401
291
645
209
54
407
296
539
190
984
748
360
730
141
406
644
880
782
32
728
976
709
990
517
805
256
189
621
974
291
718
658
944
511
259
953
307
651
48
908
232
144
370
675
39
81
437
416
97
923
568
34
221
152
139
797
234
745
399
962
659
515
582
687
511
426
311
167
99
758
454
332
380
384
487
955
219
128
192
752
361
310
446
409
552
885
805
790
591
215
91
403
895
574
936
483
855
187
967
367
293
969
374
367
133
188
534
627
843
514
76
532
433
470
311
161
665
377
899
793
169
494
594
178
714
884
654
593
759
547
823
212
273
618
152
828
885
425
10
73
721
442
13
335
205
864
300
456
772
753
74
930
308
10
402
843
287
873
895
482
756
423
397
505
892
469
311
1000
813
620
451
259
683
377
502
121
44
991
193
41
950
219
543
72
257
778
864
388
116
904
349
242
690
560
898
660
738
941
479
192
381
463
36
365
69
406
801
851
346
292
483
377
623
3
510
129
435
580
956
320
738
228
386
757
413
359
997
517
148
452
853
27
30
559
805
634
320
507
314
259
213
206
445
747
110
47
188
934
403
98
690
375
747
953
896
247
969
940
448
810
318
860
158
725
3
233
97
920
524
272
81
643
637
924
316
217
210
387
746
475
932
434
956
461
711
672
960
311
363
611
467
835
811
363
714
409
552
143
456
731
497
639
613
134
807
575
679
801
657
202
663
403
397
866
205
52
871
120
229
62
236
969
457
327
863
702
503
201
231
35
555
231
729
784
73
443
119
927
311
112
463
296
223
574
997
897
881
668
346
742
28
266
29
393
993
149
918
333
497
35
779
486
409
911
467
778
765
336
609
214
483
146
96
462
292
567
395
534
805
227
489
436
599
52
457
187
732
152
347
230
285
458
30
561
57
913
123
419
442
286
589
742
11
602
920
998
406
880
885
51
788
643
467
564
174
297
348
88
651
360
414
590
552
66
894
750
9
442
197
455
204
529
451
241
551
752
729
291
982
153
516
701
316
814
966
560
738
500
111
825
350
249
6
150
97
380
382
851
880
478
684
143
652
236
347
228
268
134
927
186
259
464
229
750
181
926
242
816
693
570
240
39
380
385
723
494
353
101
549
574
408
654
287
168
331
708
919
473
382
236
526
77
717
386
186
307
753
84
794
46
696
269
928
805
808
667
957
340
232
398
431
153
578
442
795
499
164
659
222
402
527
52
797
670
418
549
275
102
402
530
792
481
299
888
864
963
53
428
116
689
248
173
764
429
979
480
135
614
41
1000
661
245
673
757
516
526
707
936
634
118
360
510
4
630
467
973
111
916
107
970
88
653
96
204
807
170
824
106
104
540
657
221
830
746
87
442
461
661
650
953
732
90
556
716
988
342
53
887
503
988
300
254
320
232
110
708
196
33
958
610
860
201
747
59
377
904
180
70
49
751
359
587
886
470
824
920
859
91
31
486
225
819
117
30
505
175
988
887
698
381
985
632
815
189
846
156
646
88
322
50
75
923
481
123
855
248
503
415
325
232
987
703
535
212
832
407
922
165
245
853
502
543
867
442
83
567
559
927
516
954
967
68
628
185
594
568
922
175
160
625
812
409
162
533
249
681
797
261
628
661
789
760
587
268
192
997
14
265
90
206
499
965
404
382
423
909
849
791
910
609
297
207
866
582
121
710
63
988
188
465
804
352
963
657
448
530
60
855
201
62
573
951
791
133
313
138
669
613
145
785
600
429
213
392
341
752
184
501
356
551
898
249
356
118
920
987
691
43
922
206
119
33
678
766
448
590
171
639
669
172
940
527
518
863
453
735
375
429
56
187
649
492
863
437
574
550
734
978
552
964
108
933
584
520
114
33
546
744
456
617
234
758
646
602
104
669
347
591
941
830
903
522
580
381
582
414
674
36
72
992
378
462
876
583
968
463
387
153
239
624
680
847
349
279
705
472
268
851
602
383
791
439
131
892
574
168
793
238
366
47
684
153
452
221
662
299
88
880
427
376
80
392
374
463
866
47
333
637
573
63
332
653
54
234
457
570
527
296
536
453
650
421
989
504
612
379
945
195
494
715
47
757
978
616
120
524
888
593
999
433
781
334
79
856
538
702
582
488
837
347
171
647
101
429
423
658
18
962
12
387
689
359
749
97
316
197
570
51
757
712
288
761
385
859
517
675
133
521
223
352
246
106
474
476
251
381
875
564
583
287
740
666
175
156
107
361
923
488
849
676
441
173
291
582
141
781
534
376
152
839
247
476
622
750
49
194
777
336
737
21
304
92
926
729
521
287
141
247
291
578
872
236
533
533
960
316
212
148
178
656
872
135
467
261
690
314
728
720
510
270
984
368
224
300
888
213
389
926
333
275
415
371
850
16
24
492
285
344
529
238
641
346
870
946
602
957
467
514
269
360
105
849
523
740
754
280
373
121
504
788
133
166
755
967
20
175
584
173
319
814
659
304
572
252
910
999
58
249
197
682
392
16
782
695
438
378
614
973
769
937
904
930
699
826
259
720
400
10
336
120
75
541
605
754
415
116
799
114
892
207
823
810
293
134
864
268
763
635
49
175
196
262
404
111
959
24
129
94
474
516
262
686
980
734
985
186
866
328
477
630
866
684
758
287
486
376
207
455
737
369
89
814
469
753
181
342
701
493
115
483
872
19
584
566
752
497
173
622
578
101
744
998
964
213
290
729
212
415
368
633
46
524
986
233
30
275
8
965
882
749
530
7
610
976
763
23
96
470
898
322
5
272
65
280
506
474
286
295
111
20
983
823
370
187
727
938
930
409
132
453
526
293
227
540
79
91
233
275
262
47
507
234
229
264
719
69
650
598
741
247
89
629
68
289
271
741
975
459
823
837
776
422
970
950
123
832
827
101
744
347
771
795
496
252
842
107
963
980
670
381
732
600
668
785
70
743
377
168
142
631
339
265
157
995
420
513
662
761
50
10
174
272
123
875
6
766
358
416
925
740
812
911
248
535
194
891
885
528
464
619
187
819
756
759
354
400
561
833
281
379
57
471
498
216
37
406
461
698
842
501
976
195
327
26
3
568
277
49
87
286
429
537
206
437
551
848
578
912
918
269
74
691
23
598
963
825
478
773
675
997
564
64
31
262
501
721
22
428
839
675
918
501
868
853
928
163
440
607
950
153
940
237
284
266
696
455
641
143
767
182
75
773
460
261
872
881
183
949
208
246
201
371
418
693
865
703
744
202
939
845
685
621
174
148
866
348
169
220
83
148
465
247
125
545
985
112
925
301
889
502
89
420
762
277
38
427
482
594
389
539
152
34
627
967
651
874
174
894
508
302
252
757
150
49
379
67
165
413
191
996
914
888
438
216
795
660
737
134
688
744
143
747
294
498
280
954
222
432
985
900
411
585
159
294
234
603
291
366
436
856
186
340
614
687
166
399
535
934
365
736
280
570
78
53
789
352
644
597
100
121
588
582
476
781
996
693
193
657
252
869
618
40
809
631
843
966
581
115
294
919
579
629
1
139
558
650
558
890
767
986
39
492
559
874
673
318
877
731
63
142
835
531
757
611
465
321
885
486
103
922
645
803
927
744
499
484
581
489
859
267
673
61
716
765
932
997
314
529
330
361
201
212
103
129
319
390
639
486
383
403
148
382
691
774
105
376
594
249
316
580
622
325
552
211
897
122
27
805
576
676
155
564
512
897
716
145
679
856
356
216
623
513
23
370
667
628
725
186
453
26
591
676
772
810
556
712
287
620
770
55
307
819
176
101
655
510
404
864
385
315
438
710
991
582
795
463
481
293
770
716
31
996
514
583
731
598
261
885
830
817
439
80
503
62
6
454
813
204
704
916
730
828
175
146
373
338
633
598
173
424
890
202
655
658
576
879
302
417
742
320
96
604
25
745
612
228
74
474
367
794
934
817
301
45
15
162
525
459
408
23
241
857
488
431
463
75
548
18
173
68
683
997
533
185
59
430
275
582
314
541
261
431
186
243
568
781
241
509
300
903
690
21
785
153
421
700
349
767
49
421
316
751
557
271
374
594
214
632
376
917
503
846
723
338
784
172
196
711
390
151
608
379
663
762
503
379
84
621
235
202
37
665
337
799
380
571
85
748
577
94
432
291
395
885
830
568
739
772
639
127
530
143
887
85
980
619
822
324
536
892
215
82
49
57
157
88
970
947
330
582
118
649
133
493
413
654
665
90
235
308
766
239
166
803
163
206
878
374
574
448
463
844
109
850
585
329
120
754
209
246
863
680
268
468
294
388
151
251
965
888
864
878
169
213
33
338
675
605
447
129
193
74
449
373
133
227
244
97
932
230
905
496
973
326
108
634
574
74
120
807
737
746
585
59
742
985
432
40
803
173
99
829
343
761
293
29
849
606
812
795
201
383
347
881
111
488
907
110
624
584
132
287
68
148
739
361
2
173
579
749
502
854
456
488
971
24
979
254
191
488
321
279
689
460
901
238
291
126
472
4
225
492
793
849
425
277
587
245
508
389
75
60
313
975
998
662
442
24
401
743
829
998
164
474
938
827
644
168
75
932
874
365
885
366
797
738
570
534
165
691
77
15
304
572
461
169
970
239
24
953
547
871
630
198
430
434
380
184
414
125
167
819
728
472
939
881
925
302
858
54
445
491
531
317
513
175
684
604
709
118
437
340
278
657
797
309
868
45
846
9
16
953
788
455
40
640
924
969
807
387
525
452
433
501
757
387
394
758
214
8
129
176
211
774
988
514
621
238
567
130
556
289
123
966
252
429
560
754
797
772
52
130
572
925
279
814
862
2
767
533
973
505
880
201
51
370
117
485
583
34
773
420
790
343
713
133
833
572
994
200
916
960
914
620
379
906
656
978
944
273
231
122
38
699
714
173
970
220
132
178
105
871
582
965
759
954
785
980
567
917
453
302
62
178
601
599
848
883
360
754
495
101
455
91
532
260
253
678
610
127
801
834
851
464
300
1000
264
401
226
772
209
460
776
786
645
748
415
625
199
392
197
631
253
942
821
24
539
170
408
815
876
374
192
850
903
559
390
1
472
346
624
677
232
86
192
98
849
507
622
336
740
767
377
116
852
610
879
12
64
568
480
492
287
745
10
633
802
357
476
169
318
992
193
843
894
618
297
31
223
214
672
315
207
44
282
402
492
500
507
899
115
189
293
483
735
821
395
289
207
488
947
112
441
39
538
326
26
773
499
216
472
826
50
24
222
391
502
845
36
446
376
598
240
566
828
599
960
597
331
786
142
548
549
38
959
389
249
334
730
537
461
747
498
534
284
240
484
782
160
789
793
704
471
742
369
578
916
531
551
583
64
650
100
46
902
574
502
163
195
943
829
87
281
739
724
420
688
669
963
596
927
591
412
628
100
612
602
602
435
747
280
676
393
677
82
757
705
438
60
860
711
339
324
663
507
463
315
834
111
121
642
213
945
652
919
309
510
274
569
857
192
574
634
121
651
343
81
497
598
151
63
562
1000
379
816
693
374
815
952
747
322
170
788
867
934
752
692
173
884
674
214
122
213
310
392
785
136
4
489
84
149
791
56
703
829
650
822
821
281
408
88
527
738
617
273
860
2
80
426
523
589
493
157
292
61
931
265
966
838
768
389
563
645
620
846
15
252
532
653
618
133
56
357
343
484
393
98
661
300
849
134
742
962
195
139
668
365
144
43
504
737
32
152
264
947
444
951
956
410
829
111
867
894
998
189
287
977
862
419
525
672
592
984
734
684
840
593
732
385
620
799
700
512
611
741
526
940
603
2
731
256
16
237
22
94
310
900
197
815
658
189
710
183
889
115
741
641
201
23
282
654
544
431
232
534
347
565
437
719
168
598
959
409
494
316
642
4
244
989
30
943
665
512
95
636
846
344
363
490
533
542
184
128
992
453
773
501
207
51
198
460
902
236
884
71
209
658
124
969
592
409
876
878
139
617
555
507
423
217
731
805
713
361
535
865
304
153
618
515
180
454
418
174
522
62
4
667
987
266
555
228
310
82
846
810
991
596
685
843
501
726
915
329
373
349
176
311
50
794
274
230
224
458
836
690
734
366
52
596
338
149
932
88
75
286
351
207
3
612
428
319
824
855
448
319
422
758
565
829
901
636
545
616
101
453
919
401
299
292
600
419
310
730
610
39
540
409
196
291
683
773
89
482
404
874
66
164
689
106
248
1
521
240
552
677
138
932
966
16
615
955
698
688
322
676
535
99
293
629
486
609
559
497
580
714
187
36
506
509
636
708
316
326
512
396
950
923
726
911
677
206
885
265
853
550
983
66
903
887
842
601
649
384
809
610
447
125
711
840
243
276
719
989
637
626
650
734
823
401
893
631
476
836
509
239
715
26
158
820
279
48
101
284
170
126
352
823
225
375
244
849
859
207
278
3
540
900
205
578
255
751
565
149
689
80
738
781
880
364
484
793
768
213
100
115
672
853
377
245
466
775
842
311
906
869
868
863
532
624
1
298
131
172
858
826
968
975
906
886
458
535
539
454
707
5
209
667
708
461
929
461
928
670
177
425
544
591
966
547
683
172
817
887
597
706
270
134
865
248
234
194
749
725
636
751
825
12
965
553
919
108
880
49
114
247
47
482
607
568
105
592
426
688
124
351
123
521
1000
598
803
580
670
88
147
801
196
246
212
496
191
651
613
609
772
573
836
718
901
770
514
862
723
719
933
581
59
920
213
717
744
836
774
978
974
46
431
230
55
750
671
678
732
806
248
971
741
217
648
231
553
257
751
334
858
826
760
307
621
141
822
403
301
402
328
63
31
113
460
34
434
783
984
340
278
85
9
33
125
572
26
871
328
767
995
36
987
337
850
659
672
320
914
134
175
680
895
205
104
565
76
801
747
217
158
306
253
991
821
473
624
870
338
989
155
227
854
625
576
726
762
71
661
74
954
43
364
825
880
632
870
187
72
814
350
872
789
832
119
619
362
624
871
448
496
971
836
887
605
574
792
406
139
281
61
333
472
435
151
85
945
224
395
430
524
605
960
713
598
805
666
500
923
960
545
53
766
728
196
712
57
496
780
307
397
755
864
941
513
205
65
295
552
318
502
721
736
867
457
799
427
207
483
645
687
281
680
54
852
13
12
950
17
629
785
77
652
135
805
420
665
978
654
917
791
174
430
961
823
342
829
141
266
327
117
593
167
687
705
110
180
537
606
72
152
402
311
386
845
385
940
698
128
880
138
107
540
386
803
273
418
104
263
941
713
558
408
708
456
917
893
779
770
366
216
265
951
378
82
653
729
61
751
771
26
465
752
188
320
146
541
715
719
435
43
336
513
160
54
306
49
337
120
235
734
997
973
674
479
719
115
625
55
412
794
967
663
466
444
4
778
827
477
889
331
192
34
153
578
654
563
670
46
69
124
950
689
598
127
859
428
920
584
593
447
216
700
791
988
776
243
101
376
708
651
943
86
603
78
193
143
140
50
437
508
533
147
687
243
70
359
928
153
891
772
21
273
64
901
273
404
506
728
121
843
274
310
730
315
313
5
229
449
699
115
244
930
96
950
359
245
656
103
579
692
364
687
41
615
841
464
617
349
535
792
251
668
853
303
491
418
390
194
162
478
946
641
534
693
728
351
852
357
635
933
12
176
963
20
405
19
936
99
503
221
257
886
751
315
588
652
252
469
437
721
128
953
982
714
982
389
665
86
636
958
723
501
396
544
658
7
255
314
185
402
875
702
745
803
889
798
714
918
871
759
584
311
601
635
8
760
39
418
354
887
862
795
871
819
846
741
293
574
444
345
633
421
389
598
22
176
964
578
167
1
930
650
886
448
316
106
190
872
36
316
109
51
697
587
501
701
890
115
203
99
31
92
507
619
565
771
421
684
863
685
97
39
614
785
581
994
164
955
419
975
950
170
663
140
423
626
872
653
867
60
562
934
454
708
611
997
163
900
56
746
920
205
452
312
327
161
577
675
424
447
909
789
677
641
971
416
438
713
177
531
170
238
71
758
656
994
995
83
693
293
675
34
473
538
103
854
67
981
855
551
382
820
339
845
602
291
343
12
802
238
498
323
461
971
260
7
566
810
898
803
718
591
207
22
874
213
203
911
269
493
180
426
925
366
874
209
322
587
231
224
157
543
554
275
487
367
575
394
207
561
794
242
710
500
459
57
235
591
812
878
359
240
207
44
639
840
535
618
381
596
428
216
791
920
612
602
380
564
678
173
403
526
244
863
303
769
303
426
982
765
690
80
762
341
970
503
764
475
938
808
581
477
30
41
188
171
148
617
667
504
419
918
646
473
579
387
405
515
779
707
715
108
243
111
636
314
357
443
206
42
460
573
315
954
620
125
515
970
131
668
53
926
213
312
76
160
886
527
553
25
437
515
791
608
232
481
504
13
427
241
200
471
108
127
159
425
536
855
410
346
267
759
259
140
187
158
129
730
865
725
900
784
464
346
400
945
506
883
279
976
775
458
311
43
574
866
908
238
896
637
888
298
919
816
86
464
463
555
926
375
932
183
334
914
554
71
832
994
542
33
950
706
574
545
102
839
751
884
160
904
447
75
950
378
123
681
195
277
866
664
546
681
683
673
346
277
196
427
54
476
411
802
12
867
21
455
111
832
599
923
585
269
854
26
109
448
969
651
891
211
140
843
736
919
457
115
139
899
349
357
553
867
297
968
980
374
43
461
599
529
967
782
189
279
38
936
26
363
243
579
436
154
342
79
908
745
136
383
464
553
222
515
634
606
848
653
893
21
741
360
960
171
911
302
124
255
275
860
681
795
294
760
362
465
973
100
96
282
116
337
737
738
548
180
380
480
748
604
750
101
363
290
87
636
119
604
927
342
795
42
824
933
269
627
166
701
182
297
622
851
663
984
847
60
259
993
119
829
159
316
492
80
732
602
883
192
690
594
115
895
4
297
187
249
178
940
92
548
664
892
156
705
103
242
573
256
338
293
254
142
95
60
44
542
500
782
341
336
166
252
96
501
460
164
252
160
740
233
525
311
23
382
949
31
776
806
363
738
86
225
794
911
255
489
611
82
396
428
70
288
865
905
646
209
944
326
95
376
308
918
38
291
339
561
984
214
746
716
696
143
654
982
836
124
636
415
663
500
402
883
332
387
846
963
977
384
476
845
395
309
991
214
676
774
891
828
570
6
128
10
572
77
868
884
676
254
383
120
867
703
562
996
56
635
768
827
752
414
357
631
198
570
222
977
68
474
338
755
627
889
632
556
860
658
552
614
280
790
254
850
636
961
41
175
88
799
431
312
331
546
398
760
488
22
905
45
907
781
815
669
112
20
452
310
192
160
945
147
530
728
313
366
825
861
146
453
647
157
572
651
770
672
272
855
882
162
103
353
910
301
198
738
659
6
388
134
34
674
602
222
420
883
868
195
152
816
703
149
10
834
249
371
357
838
806
910
750
109
65
313
944
438
54
748
506
405
53
411
522
919
630
635
860
321
320
53
347
758
718
683
543
142
761
122
693
922
888
463
878
73
233
792
819
511
707
709
719
768
679
436
2
111
741
730
512
186
232
609
49
377
984
692
22
267
925
775
307
906
717
551
47
65
453
453
625
811
663
50
862
755
416
936
910
844
549
782
742
535
505
705
544
349
531
907
437
863
386
970
288
776
633
872
981
295
562
57
322
426
560
880
444
585
368
332
641
274
361
421
880
751
875
728
123
155
917
325
750
226
364
477
665
62
759
65
367
31
717
978
785
175
331
317
345
994
410
202
805
558
644
649
733
568
259
431
729
914
508
539
950
423
459
416
373
958
809
317
424
666
976
715
370
82
381
382
369
732
794
413
415
256
585
735
709
188
347
409
236
859
768
478
236
509
994
547
477
918
984
63
862
251
519
677
929
374
911
95
443
812
818
213
573
392
990
64
521
123
392
727
491
999
671
303
29
305
417
913
323
554
340
165
469
645
219
849
5
751
281
410
222
17
30
569
239
671
322
476
895
289
739
923
364
598
409
222
654
642
694
74
381
450
53
764
399
439
910
160
828
727
375
467
146
965
103
610
558
287
474
40
697
491
304
589
979
740
492
891
3
97
435
903
487
504
903
667
444
419
147
397
497
25
533
477
586
267
848
874
818
416
394
377
51
364
840
248
34
929
368
772
170
106
146
429
749
376
782
181
646
578
595
275
788
715
807
711
314
824
419
395
936
486
454
60
76
373
135
875
419
475
197
506
65
836
69
965
326
933
662
731
734
751
428
5
247
349
893
550
105
142
887
134
912
766
301
473
833
850
743
738
949
675
527
506
730
966
327
426
464
543
164
929
370
534
36
558
295
22
429
128
614
596
856
591
557
464
367
796
44
678
256
260
853
98
635
550
385
752
911
496
739
34
186
331
195
656
782
574
837
1
834
547
774
625
410
63
35
464
187
434
296
135
901
981
177
70
384
90
534
601
701
63
257
512
776
456
794
328
252
784
291
787
414
907
864
274
135
436
689
982
820
594
950
131
179
51
269
412
931
278
386
757
823
603
808
876
957
678
969
159
532
854
148
813
721
628
261
895
135
616
735
27
953
647
26
894
172
903
690
868
926
732
417
837
218
74
195
396
943
721
542
70
31
812
708
929
452
39
468
771
124
685
866
984
603
487
27
140
764
134
920
964
261
787
384
946
646
30
910
355
126
812
79
387
174
546
664
772
192
463
715
963
775
789
912
400
580
374
191
598
652
170
858
706
994
751
268
485
973
650
701
669
396
147
150
655
639
516
847
996
588
589
590
767
251
150
516
197
969
724
308
720
308
57
75
511
498
763
75
643
896
616
769
81
531
814
977
452
891
251
256
505
691
865
907
555
820
411
662
141
337
57
193
388
578
495
543
302
876
871
181
464
71
691
522
662
167
894
560
448
608
416
685
204
202
963
51
528
239
111
980
719
745
787
429
903
617
780
941
631
176
139
769
28
270
916
331
421
944
251
694
58
787
14
78
38
539
573
97
855
906
349
65
150
300
22
4
99
347
413
459
121
623
601
323
424
292
283
203
920
818
928
577
414
158
883
64
839
18
256
139
346
89
608
535
100
703
691
777
926
34
889
113
132
575
664
929
372
724
514
391
116
975
249
556
385
17
288
151
413
279
349
689
90
701
892
342
686
579
876
993
34
906
91
222
789
19
277
998
158
156
421
951
113
661
548
98
416
102
758
629
305
256
43
538
317
732
562
220
769
883
628
383
935
797
946
351
367
3
677
519
354
509
480
94
461
155
368
841
563
183
403
687
411
365
333
250
301
244
202
448
192
760
984
991
177
1
331
823
749
918
627
438
44
48
103
839
133
50
212
878
765
803
283
269
393
175
32
482
440
556
334
948
759
263
94
846
746
450
178
963
285
197
181
429
501
314
795
506
864
163
204
59
198
813
585
973
266
581
239
351
645
587
763
291
776
808
248
258
779
722
853
6
396
481
680
212
319
54
696
569
679
367
595
869
224
840
271
960
908
41
379
737
735
39
932
686
345
366
678
753
410
993
382
318
449
431
621
605
240
256
734
373
486
242
358
941
836
812
211
280
329
364
381
164
82
492
886
508
196
219
963
202
134
383
488
286
727
902
800
554
329
256
901
554
376
815
598
73
686
21
998
352
173
632
278
677
987
917
477
314
43
488
179
629
964
94
383
378
230
221
704
321
123
981
694
162
151
940
724
450
728
261
18
573
85
210
443
184
90
932
393
585
424
47
570
614
937
483
284
900
279
551
252
223
958
773
438
392
316
384
331
432
643
340
574
699
249
450
40
674
626
371
605
632
121
564
753
119
837
602
578
661
418
223
883
194
640
398
72
862
261
680
215
690
566
765
822
396
539
910
884
433
323
231
555
537
96
376
266
202
565
498
875
717
474
536
737
644
304
867
860
883
724
443
667
808
645
639
452
313
871
64
650
848
630
5
14
17
671
768
997
69
264
625
802
170
894
755
509
426
422
996
662
496
117
634
871
104
957
665
548
709
314
304
635
622
580
476
757
725
872
327
67
87
117
579
331
823
320
273
597
895
544
863
876
137
98
443
365
444
534
376
527
992
97
476
907
193
777
60
961
486
301
849
534
551
319
868
271
284
880
833
110
97
466
138
137
838
696
331
815
235
688
404
156
981
608
607
187
198
374
507
218
597
8
46
447
360
594
54
81
200
345
985
836
708
646
707
928
38
359
1000
893
768
532
119
533
919
280
106
751
58
842
493
168
836
750
288
540
537
996
421
649
515
954
886
664
556
971
519
543
320
939
673
81
736
698
706
262
7
915
89
38
103
980
31
628
591
290
436
64
87
436
135
777
280
138
192
567
477
110
901
755
457
277
212
629
551
484
790
741
13
180
7
725
89
3
808
673
277
792
450
492
727
852
646
189
439
678
393
189
403
819
135
896
74
442
914
437
617
502
85
2
390
167
112
822
332
652
533
933
253
23
137
361
512
962
760
701
224
379
45
482
268
58
314
958
772
131
23
423
900
330
943
710
863
180
570
58
663
961
604
85
566
152
44
949
415
962
43
73
252
728
41
965
749
614
934
12
422
73
41
95
425
476
350
575
661
91
264
645
18
531
825
410
807
664
928
287
102
911
947
799
340
215
490
146
72
855
65
644
868
21
847
392
897
829
462
334
545
156
405
350
629
302
108
861
103
157
671
910
165
761
397
514
834
532
409
319
689
174
949
756
92
348
9
530
539
47
713
133
146
463
260
871
533
407
783
209
19
945
858
249
637
131
155
714
478
32
563
1000
295
850
372
816
693
396
282
308
416
645
538
582
200
718
165
471
724
206
299
631
442
102
842
604
401
167
768
133
643
970
490
878
450
397
983
186
56
892
930
592
914
916
474
82
940
157
799
292
634
12
604
19
661
201
478
517
718
51
400
671
318
78
86
925
113
873
699
266
168
727
721
268
404
822
655
333
102
368
863
245
410
402
616
195
144
66
875
791
20
536
954
701
837
209
853
960
799
749
648
651
80
830
164
145
758
620
994
392
470
507
486
36
968
412
437
958
362
201
306
188
63
147
70
183
910
358
485
603
686
639
630
433
42
602
121
694
35
815
554
940
393
845
227
61
942
166
397
330
117
378
519
522
128
645
94
805
76
293
868
22
282
370
308
279
558
85
63
842
390
457
842
549
371
756
629
256
555
307
729
609
3
18
231
964
290
240
946
875
700
843
956
484
535
881
230
997
892
533
54
785
233
673
997
95
3
765
649
692
605
632
950
28
879
341
128
5
251
795
883
136
664
641
111
230
304
356
426
120
607
587
789
110
234
95
756
730
585
759
632
517
328
209
684
726
923
660
766
499
474
112
706
3
390
770
752
807
387
860
866
465
160
931
754
783
732
42
991
799
411
41
808
545
516
616
845
884
414
952
879
162
798
836
207
82
930
153
589
580
781
246
76
622
919
389
900
107
982
363
494
2
385
387
788
120
574
862
580
393
375
549
208
415
747
290
419
224
110
39
977
699
24
395
216
290
58
818
858
346
214
300
659
22
137
683
771
297
444
462
595
248
137
386
199
979
430
609
444
463
476
644
465
783
869
757
470
820
204
484
780
583
984
781
870
532
841
498
611
773
937
969
464
448
853
262
61
801
255
444
938
742
334
94
183
905
683
723
629
110
744
518
54
656
24
398
757
212
664
250
811
716
277
794
86
155
952
211
547
607
984
708
36
706
69
848
413
563
518
614
525
399
949
496
490
226
525
378
333
922
331
497
364
517
134
854
162
638
719
23
966
721
528
764
229
463
103
401
451
521
50
185
259
64
769
547
938
723
769
646
96
769
77
768
762
202
481
340
801
696
336
550
414
22
871
225
223
87
836
20
137
986
71
306
620
753
316
369
817
888
703
499
148
960
575
693
386
891
69
316
538
744
420
472
743
139
405
163
306
341
987
700
727
568
128
123
39
71
852
42
427
673
190
455
281
622
681
189
555
224
976
447
246
700
898
249
657
308
969
277
722
781
9
195
330
940
340
566
835
343
350
663
62
419
287
868
885
777
531
154
894
874
440
313
932
464
643
624
259
181
884
846
90
374
439
407
210
39
845
331
652
724
532
914
201
41
194
155
311
664
493
724
621
15
183
287
277
191
581
773
411
223
250
36
241
105
625
724
223
405
871
235
807
705
641
919
605
896
430
99
372
65
414
946
551
898
749
936
757
403
128
75
934
904
104
823
285
201
804
52
153
893
572
918
225
69
621
891
46
920
848
399
92
876
799
512
310
419
925
536
54
52
745
146
438
236
125
916
708
287
85
77
410
673
944
984
492
481
698
670
428
38
12
136
970
366
556
984
9
431
704
368
208
116
617
506
106
2
657
634
365
894
634
811
538
265
881
498
560
318
638
974
46
379
789
115
146
124
686
477
763
543
847
701
938
356
41
618
896
729
47
1
342
352
241
88
544
615
904
783
660
668
100
86
614
27
841
208
447
259
850
492
31
342
795
462
504
919
825
664
774
703
627
57
127
459
918
594
821
108
920
678
647
500
819
256
135
767
648
153
863
950
610
117
436
784
513
844
56
980
544
282
480
865
552
738
865
323
62
374
729
605
388
600
575
587
763
16
893
676
159
528
741
395
936
712
715
768
995
529
997
624
573
158
896
437
496
395
772
42
782
618
222
68
541
932
994
732
580
765
534
298
329
96
356
193
777
340
495
197
193
634
647
879
96
221
332
173
584
115
6
640
27
24
457
688
405
385
287
605
10
186
978
817
649
795
781
253
898
833
458
199
485
651
883
557
965
650
52
815
173
701
514
169
300
726
55
324
146
953
997
167
880
261
565
277
657
269
25
920
364
397
340
226
888
441
23
989
944
757
975
896
653
608
815
823
366
722
641
236
613
861
501
918
930
807
813
357
219
608
77
289
979
700
576
429
526
80
688
592
534
51
656
521
543
934
661
293
179
224
6
922
836
923
916
819
890
964
580
129
529
903
339
335
917
623
813
189
69
919
281
897
862
803
101
904
200
76
387
164
839
135
764
570
75
682
231
645
762
122
261
387
40
955
546
504
877
269
71
600
521
528
40
306
937
375
456
62
797
507
854
592
107
927
914
337
886
831
716
382
523
299
106
575
854
668
837
939
663
960
632
241
781
352
889
196
775
622
2
742
937
116
204
603
281
306
711
796
644
821
934
294
172
113
96
565
785
436
370
395
907
595
872
989
977
617
528
202
421
248
819
310
423
697
891
618
566
617
690
710
83
573
544
181
810
520
645
663
489
496
315
181
500
936
839
436
990
448
885
288
728
11
513
224
189
486
905
742
150
118
407
807
110
442
11
789
150
341
166
821
220
393
388
529
815
608
792
855
96
750
939
367
932
327
223
543
198
480
19
330
880
500
303
495
720
128
15
616
817
489
920
909
274
98
119
696
881
239
624
506
628
12
72
629
802
630
108
635
206
807
582
307
462
901
605
879
299
451
525
219
370
463
931
38
576
679
591
891
320
836
946
559
265
105
53
113
527
439
243
712
677
141
780
88
211
53
455
607
230
825
512
460
538
627
215
693
295
870
794
456
466
857
338
419
635
428
84
394
462
187
951
629
832
501
780
743
284
272
323
24
356
271
184
227
669
400
451
39
532
580
978
824
75
98
91
272
307
611
732
504
146
84
924
235
175
552
107
3
267
395
75
35
804
396
271
438
497
773
160
646
461
916
298
8
198
295
813
507
314
293
36
627
155
56
360
373
578
624
73
574
576
855
907
941
852
488
24
880
484
642
512
992
859
973
740
46
20
875
822
382
353
292
65
640
99
76
417
171
242
484
793
924
913
782
148
366
208
532
337
381
433
124
951
855
244
446
164
817
745
49
467
245
705
423
373
676
659
289
681
53
803
995
139
889
436
860
280
133
204
296
839
822
252
350
990
363
784
807
590
97
143
203
172
974
21
929
980
569
413
213
892
537
866
442
156
168
103
838
92
702
56
924
712
475
22
244
477
875
942
64
706
800
334
265
622
747
632
18
962
360
144
803
878
419
197
192
536
604
928
267
828
475
56
233
719
23
608
16
600
210
839
7
541
250
237
863
404
661
484
871
733
596
871
341
216
77
970
603
175
716
194
28
233
578
557
425
720
824
597
66
907
584
103
888
730
914
251
657
565
413
715
473
285
521
682
979
228
111
765
90
619
439
514
984
381
561
223
466
444
610
325
813
601
472
55
27
379
899
139
623
429
726
745
553
656
475
863
733
258
290
465
98
440
143
30
579
712
306
363
294
124
213
205
291
144
185
907
220
751
134
472
124
669
628
752
576
476
116
364
327
399
839
201
104
100
473
515
86
583
730
507
328
263
59
433
819
42
554
1000
782
822
560
268
198
827
227
972
713
799
709
429
629
410
689
293
515
688
287
424
661
468
242
15
338
975
74
897
770
590
707
95
584
226
364
556
333
749
28
365
678
461
865
272
73
300
744
680
760
65
666
18
664
148
333
591
386
665
789
932
1000
587
824
905
112
23
418
182
889
950
882
265
53
209
189
568
861
270
617
22
726
371
713
797
134
404
508
624
637
822
72
505
685
391
920
262
730
131
377
584
99
607
509
896
760
612
174
253
908
338
273
564
176
854
163
94
857
648
264
326
67
10
412
556
702
904
340
995
737
217
762
194
508
859
789
421
715
685
310
927
779
556
332
717
655
246
447
555
226
905
296
557
77
532
425
19
629
527
212
629
684
555
511
766
382
868
316
969
926
246
115
653
485
207
469
165
371
631
927
554
705
728
854
676
531
400
854
745
150
927
295
134
196
95
261
358
649
453
964
65
649
819
365
497
82
620
556
363
276
743
392
397
927
660
977
384
436
278
917
523
88
174
524
243
704
829
809
210
678
731
816
547
264
769
734
625
789
685
363
863
129
832
977
236
58
402
461
416
984
685
239
485
925
150
63
827
204
153
921
486
298
460
796
486
587
458
39
816
281
266
585
684
346
792
294
536
228
173
767
852
204
251
376
355
946
489
568
527
847
74
509
338
415
552
351
474
407
423
187
588
917
954
856
87
64
917
878
316
599
172
531
982
638
764
64
200
548
389
742
406
970
159
313
302
784
362
266
807
867
13
729
457
967
278
298
514
453
141
59
520
211
749
278
487
49
721
54
677
446
61
393
190
990
64
799
10
904
393
534
276
813
717
963
331
639
301
228
969
619
722
867
42
894
674
846
631
135
442
351
92
746
750
411
390
870
662
18
415
517
473
917
416
587
293
206
333
682
554
974
595
439
119
90
375
255
138
274
180
676
397
207
97
948
130
817
213
699
946
254
254
163
701
105
962
188
336
783
663
434
517
762
620
988
730
457
73
190
178
300
689
729
209
123
332
656
994
911
846
136
191
357
235
164
287
324
318
525
341
124
161
304
915
194
761
457
966
838
73
485
332
3
966
107
548
67
704
531
467
320
386
231
194
798
809
451
143
906
857
221
135
795
334
883
828
782
741
920
599
101
727
223
456
588
340
46
945
740
469
624
235
542
83
318
914
675
512
889
532
292
771
536
964
901
113
873
577
175
53
389
426
294
998
368
225
329
351
735
463
937
209
182
157
585
575
942
379
197
507
980
861
469
659
48
909
731
570
6
918
865
220
790
780
804
123
592
822
560
98
90
71
360
186
332
352
726
586
756
77
353
325
990
607
432
132
524
950
696
598
459
213
191
168
981
236
892
376
439
194
82
652
725
977
461
820
787
669
322
825
937
488
732
690
58
430
507
719
922
72
426
816
531
300
97
72
513
472
660
341
812
602
969
966
590
591
982
615
248
23
773
681
834
41
268
292
900
490
927
344
590
902
328
76
517
685
803
211
87
1000
417
31
760
199
237
541
420
385
901
987
734
180
300
434
264
313
218
384
534
257
154
450
248
649
553
205
776
86
158
752
382
288
301
779
13
660
173
860
609
724
314
625
875
808
245
179
862
501
32
540
456
874
609
546
879
756
109
973
470
31
705
677
513
268
865
671
619
11
757
890
734
647
920
31
983
565
701
787
123
983
733
211
351
649
784
39
667
766
648
531
156
822
797
307
592
603
730
875
434
885
606
403
609
756
930
286
446
288
995
24
34
477
875
148
657
523
849
192
754
92
118
604
155
163
786
597
238
924
615
256
732
893
452
938
594
362
213
746
56
641
455
344
528
204
734
639
611
428
873
209
797
966
492
858
653
278
966
76
431
636
917
751
871
96
231
696
493
505
660
458
441
918
633
319
905
875
88
40
255
462
531
640
469
294
85
475
76
73
673
444
580
13
852
539
807
97
535
155
316
798
353
216
806
868
987
55
277
278
210
84
52
360
751
758
234
209
53
811
776
806
537
382
975
374
457
50
260
329
730
669
237
219
482
578
233
894
783
914
359
795
115
226
894
464
691
87
790
207
658
417
911
487
297
467
403
611
718
145
133
419
599
307
2
170
939
959
528
639
633
527
161
130
615
763
387
395
870
139
925
784
701
882
545
53
971
593
623
84
68
964
9
299
231
409
590
328
523
221
689
752
629
995
762
792
428
891
631
573
294
724
973
755
351
42
790
448
294
135
706
693
283
103
597
845
24
144
162
968
987
326
363
100
416
447
865
690
464
6
62
60
810
171
113
63
660
728
132
514
474
927
982
199
14
811
733
715
528
635
258
35
600
977
918
665
92
392
541
478
817
795
928
138
688
653
206
785
283
1
195
602
109
299
839
169
50
313
459
708
914
992
630
260
84
772
431
724
263
564
153
927
395
766
853
809
651
702
221
763
857
202
73
93
784
75
207
272
824
426
172
219
997
840
534
317
543
514
829
888
707
993
226
980
363
493
186
285
50
804
2
230
151
590
768
855
419
431
916
214
199
902
971
905
162
816
313
712
501
691
479
350
190
784
366
693
797
721
589
313
797
901
308
492
332
947
757
42
409
84
364
334
392
381
794
613
60
905
361
167
822
135
648
94
397
320
718
3
835
740
49
107
523
434
720
136
590
831
546
661
132
549
987
944
150
989
62
649
469
184
958
789
582
57
369
548
102
47
708
103
928
478
485
966
146
670
846
310
217
666
302
514
66
551
347
877
137
721
596
667
629
395
326
260
340
608
779
426
522
49
548
880
19
240
822
638
277
525
69
911
630
8
809
46
28
89
675
630
579
193
940
574
779
388
320
68
695
230
198
174
589
995
302
138
525
729
597
658
917
810
632
238
326
944
808
668
231
468
297
647
11
698
567
443
112
58
414
185
986
416
776
655
938
849
222
181
888
210
136
861
68
671
926
18
704
682
359
451
908
788
439
29
123
833
782
635
575
424
727
905
457
342
858
371
533
398
869
745
740
941
204
326
515
831
226
677
677
673
573
517
344
947
415
551
413
499
210
725
298
31
571
309
276
610
310
862
137
96
620
253
818
489
439
46
944
662
304
16
563
659
681
572
148
979
496
350
559
319
657
145
185
723
737
586
708
416
591
746
815
336
628
17
480
421
87
175
723
237
252
593
103
989
216
909
750
488
756
37
928
734
893
131
721
974
908
626
241
407
818
307
626
482
92
383
130
262
982
580
605
865
764
58
683
673
937
972
836
353
581
904
305
558
329
293
865
391
965
591
133
522
708
345
393
852
787
996
956
769
507
747
420
39
803
494
406
159
61
961
145
931
865
677
886
132
777
56
988
387
232
620
656
198
38
455
312
464
187
357
308
233
940
131
445
725
807
481
420
126
730
835
570
936
662
945
200
92
950
835
237
233
6
103
819
464
218
534
690
981
982
708
812
647
869
924
11
907
344
268
926
340
724
317
649
917
360
144
593
469
632
804
931
927
951
656
921
62
491
726
917
209
958
100
872
91
609
533
291
706
24
105
97
725
907
646
195
505
195
30
538
551
77
405
51
623
904
579
421
833
107
79
141
770
678
168
693
118
917
746
919
638
74
28
616
171
513
879
842
311
376
136
553
342
671
789
465
543
97
658
252
324
709
232
974
355
943
892
2
180
589
774
867
622
437
82
772
404
190
102
133
952
848
749
614
223
603
402
969
554
877
959
268
929
718
883
78
499
743
114
333
866
543
127
907
811
201
58
60
840
633
299
25
888
142
854
298
289
52
807
978
356
917
572
698
210
438
154
908
602
95
632
278
661
363
82
950
650
392
218
76
968
189
222
168
757
961
22
397
887
142
21
255
74
833
187
345
549
935
335
319
977
977
525
598
548
592
444
729
844
857
574
225
936
268
240
309
449
597
97
83
921
240
591
500
689
8
94
830
672
9
879
533
877
418
477
4
86
608
724
424
997
68
642
501
414
904
87
653
739
98
714
67
436
606
224
764
650
697
343
401
828
378
282
379
550
392
227
460
373
141
304
604
623
891
242
298
947
616
66
604
73
696
745
878
211
733
645
261
708
657
836
950
774
444
589
615
758
446
205
965
943
14
837
544
369
986
717
162
880
262
33
178
589
890
811
657
50
660
978
442
339
419
153
391
954
182
870
354
648
279
809
444
469
155
546
698
925
857
982
242
282
344
700
778
626
158
935
674
362
403
20
153
305
383
432
295
673
561
769
315
886
959
696
209
289
255
829
263
305
954
242
580
940
117
281
685
401
553
232
234
890
916
418
83
103
65
756
748
666
479
371
256
135
113
954
822
7
46
677
109
15
151
364
54
877
733
17
414
721
132
739
945
965
197
877
726
253
121
239
226
57
224
468
982
191
138
439
994
37
635
526
537
493
444
939
177
21
445
106
325
646
568
598
853
195
817
955
2
573
623
243
79
484
264
361
694
136
342
550
486
981
792
49
343
57
569
922
844
442
965
344
74
769
126
14
903
731
650
727
451
437
842
221
606
816
738
223
943
6
981
484
659
634
53
754
794
290
906
514
113
378
624
352
979
772
382
611
455
251
346
704
90
956
40
380
936
934
691
537
919
192
872
44
177
261
429
662
425
410
794
232
67
678
825
397
439
525
74
172
813
719
868
256
531
614
3
117
375
627
546
685
95
320
312
733
676
193
986
648
142
855
424
567
630
98
401
644
769
282
646
648
31
901
347
729
399
592
737
743
374
680
950
687
85
857
690
841
398
540
982
401
827
656
970
974
94
922
553
880
563
247
109
786
725
140
337
844
20
694
523
570
195
887
344
714
449
263
256
939
522
751
610
640
105
111
807
529
7
602
878
327
879
785
755
427
389
813
931
312
148
646
451
650
47
356
734
257
593
444
352
668
107
904
977
60
284
384
861
536
553
235
687
11
771
264
868
293
257
328
222
990
832
632
699
582
391
632
566
627
991
658
109
756
771
121
276
626
318
935
92
15
497
786
739
878
260
9
480
13
197
688
693
104
282
618
819
474
333
132
443
591
529
852
967
907
224
153
767
285
788
656
839
127
822
750
83
893
42
929
86
239
879
682
168
430
720
217
717
420
220
821
880
739
291
490
519
542
282
66
525
472
492
214
173
173
872
952
54
475
611
308
186
633
741
86
43
707
392
940
146
857
424
704
39
155
260
387
312
454
982
947
534
303
954
41
674
666
200
448
991
71
193
708
881
620
876
635
974
810
850
569
703
679
535
321
451
196
747
447
112
510
506
303
492
10
700
667
1000
739
23
210
640
554
65
876
311
663
684
988
603
36
723
97
276
419
704
43
40
383
536
969
715
702
346
291
64
19
728
724
662
785
367
207
188
746
107
188
983
904
551
227
491
316
783
586
809
829
850
367
780
60
164
635
698
344
286
685
175
992
875
236
888
314
662
866
901
871
510
583
564
455
888
526
829
467
103
624
571
205
329
623
837
150
935
918
656
910
935
803
532
457
199
236
510
375
499
241
548
770
929
158
446
165
743
956
691
491
14
595
291
907
227
156
560
516
627
818
278
145
103
482
576
738
24
481
472
832
366
838
339
397
959
969
459
302
192
107
505
325
73
664
516
469
478
822
451
115
944
407
890
900
304
20
168
984
743
721
912
672
913
317
19
692
792
312
480
384
177
581
357
532
816
877
459
109
70
752
163
3
176
575
597
626
118
677
15
955
873
72
342
665
557
667
406
221
120
19
163
709
601
942
504
694
745
483
510
396
7
583
106
715
291
861
857
913
638
723
706
319
675
211
165
77
612
635
559
952
784
16
856
866
999
121
64
727
175
787
994
437
331
650
50
7
903
931
819
912
473
168
728
315
716
20
827
928
298
191
896
747
59
207
431
555
951
341
302
323
623
732
681
843
770
112
58
920
711
928
616
30
140
361
140
562
699
185
664
158
151
494
388
274
951
804
932
23
422
660
732
426
193
736
413
191
650
64
115
565
810
670
560
566
350
770
589
628
548
854
647
758
699
137
193
871
54
7
350
528
314
485
872
182
119
641
143
234
103
913
1
610
353
673
547
22
835
526
657
611
29
642
342
621
920
331
39
12
375
633
589
823
251
592
645
689
596
58
768
168
523
507
695
825
969
905
164
241
934
300
940
444
284
259
581
901
411
131
948
73
833
32
223
984
102
616
474
749
114
308
584
585
421
629
47
82
850
561
545
142
166
338
892
134
978
629
428
931
727
726
337
464
602
269
723
236
696
351
225
204
783
102
358
563
302
41
305
573
614
650
151
268
978
482
183
586
457
137
736
149
994
201
670
11
561
210
47
701
799
890
450
361
185
353
974
858
503
850
769
794
579
987
358
619
243
477
480
445
456
472
796
187
454
667
650
451
646
807
534
303
113
893
491
629
689
99
331
244
492
235
196
120
547
322
636
427
556
708
368
47
827
953
886
317
50
797
119
704
258
112
340
324
684
643
435
626
725
203
469
960
314
279
738
894
557
808
448
256
965
590
835
320
810
978
49
921
541
195
886
411
559
772
497
70
924
111
388
432
363
158
518
794
100
939
521
758
789
923
369
137
990
99
341
299
224
883
460
723
667
98
192
50
54
91
15
144
237
25
527
191
717
487
316
168
843
534
439
64
35
839
360
14
190
64
648
481
722
945
709
688
680
771
673
720
901
382
272
236
68
627
766
860
886
336
335
743
626
481
890
858
169
513
27
666
66
263
569
937
390
285
225
19
672
237
545
932
78
775
228
78
979
938
136
700
561
666
417
619
995
141
279
857
15
907
681
51
815
340
405
522
188
120
311
112
663
482
410
757
670
272
874
695
77
650
823
12
34
682
302
18
711
66
216
65
132
506
251
670
832
689
403
125
943
21
667
921
736
1
56
810
701
968
841
866
288
561
967
798
752
438
454
128
679
714
828
590
293
835
482
656
203
480
263
599
535
995
219
265
855
137
956
592
199
331
72
365
44
811
935
460
940
247
759
425
989
676
408
320
974
210
900
259
112
545
357
45
35
79
107
947
372
861
358
372
543
250
435
237
270
109
500
612
707
299
471
125
664
554
340
440
699
176
288
161
152
723
909
813
357
269
301
242
519
808
886
124
770
796
469
136
372
727
648
890
83
956
565
912
254
681
303
176
93
149
174
221
329
460
418
848
412
805
941
55
828
425
459
949
981
73
606
970
305
985
150
470
159
244
705
968
837
207
284
771
698
169
250
18
553
284
856
221
658
507
796
618
484
566
780
266
522
1
212
504
752
97
293
37
859
488
69
447
751
268
343
112
673
439
196
47
447
688
811
486
363
160
38
296
787
695
221
924
124
207
959
827
603
499
516
396
679
109
938
49
877
863
591
782
905
904
611
330
690
741
29
627
374
880
983
861
225
668
352
163
28
437
643
730
157
816
264
397
475
760
406
468
679
653
338
554
512
503
245
107
204
510
602
157
688
587
633
402
734
925
273
343
505
158
978
170
475
855
609
642
490
739
283
571
20
90
226
278
944
464
760
940
321
419
502
105
152
116
506
431
284
251
71
550
582
125
14
408
283
355
636
708
136
586
749
979
44
73
416
722
221
415
841
543
293
755
148
194
401
924
788
850
702
327
732
18
357
78
740
20
695
828
386
587
556
338
634
81
924
478
215
917
999
376
961
250
206
225
842
812
531
356
996
699
943
669
398
445
128
752
872
373
298
879
621
458
107
696
806
459
908
85
737
177
945
970
315
319
672
655
130
376
834
777
444
225
269
152
684
961
623
638
650
324
142
477
773
637
192
637
232
822
716
821
369
315
793
722
719
841
25
816
847
113
87
687
837
223
960
425
773
391
840
824
917
54
10
52
315
668
635
700
226
205
620
740
676
598
376
962
307
107
674
392
523
129
503
685
821
869
222
360
889
34
678
112
572
581
210
205
666
382
608
821
183
666
309
178
414
127
446
125
674
276
949
24
144
933
446
458
728
86
209
694
35
367
349
499
551
130
484
542
973
385
395
419
138
500
446
496
579
582
165
169
323
733
454
100
735
910
400
987
746
183
295
731
977
388
271
286
756
416
899
343
782
620
622
528
88
999
922
880
2
64
564
795
470
374
454
166
986
792
964
383
476
228
549
822
466
405
49
462
42
520
849
570
728
386
942
446
817
613
956
235
111
493
461
159
684
532
938
186
643
244
868
153
997
476
55
482
467
83
54
564
840
587
793
327
535
465
89
413
809
28
111
147
664
316
223
613
132
857
871
257
291
161
794
506
342
318
493
272
684
786
652
342
431
378
955
524
360
271
792
681
183
536
937
526
87
93
687
394
3
503
435
287
885
512
383
969
704
278
1000
499
860
50
755
268
684
734
568
728
883
185
693
321
49
27
285
652
472
463
334
936
694
95
643
923
431
265
905
572
218
46
825
903
946
364
860
75
543
153
579
908
703
163
700
359
376
314
331
87
948
62
95
979
968
18
36
971
270
266
75
777
510
215
913
97
201
655
432
755
513
22
110
716
330
87
385
99
754
356
757
133
480
569
490
381
538
126
881
863
906
278
719
93
39
56
673
715
920
657
662
733
674
896
240
636
32
698
524
137
222
598
951
189
268
854
27
94
630
330
151
139
182
660
401
516
564
352
252
768
218
598
556
506
91
286
614
487
666
671
646
329
378
778
961
967
83
235
333
36
160
200
949
636
812
188
476
629
160
19
671
858
306
908
66
909
315
365
90
174
110
954
499
751
863
948
975
245
106
702
214
353
402
151
142
258
375
602
85
285
759
952
946
98
831
966
601
948
834
488
297
814
418
657
207
431
659
972
887
872
158
706
480
929
41
916
270
610
799
797
934
700
872
261
556
64
115
679
418
804
358
214
885
609
451
337
147
634
913
964
175
984
586
596
892
759
385
343
81
21
465
563
107
139
742
756
420
385
198
346
701
871
185
480
119
213
885
190
847
89
121
293
490
415
915
986
494
783
793
685
958
446
303
480
234
153
736
741
700
746
800
894
784
400
653
341
204
853
223
435
948
230
933
700
726
107
170
631
710
106
452
908
911
422
350
748
194
905
680
483
165
5
968
503
855
478
210
591
701
74
400
438
683
438
116
759
123
904
752
729
846
388
475
100
174
463
287
43
930
963
54
747
136
438
421
610
368
348
769
363
466
497
199
58
283
453
840
159
936
918
263
663
495
322
323
121
398
747
629
218
401
461
680
918
597
806
206
993
933
445
126
243
516
981
686
893
28
301
213
52
325
78
455
168
686
512
92
440
777
456
613
210
856
685
655
1
944
731
444
337
429
775
735
536
121
161
783
693
639
37
33
834
259
168
506
972
11
45
857
144
613
777
722
507
74
54
133
287
277
74
830
683
563
26
464
767
541
620
478
555
414
876
844
84
963
744
267
939
882
854
470
256
641
314
416
811
195
437
194
195
106
958
255
489
324
501
1
711
974
349
401
245
349
423
89
226
250
715
329
240
885
736
670
740
200
730
813
133
207
92
96
882
1000
16
614
967
20
567
301
173
658
167
618
723
32
802
150
76
601
342
965
353
764
624
953
897
239
589
749
746
623
928
395
19
239
377
454
915
731
254
338
248
718
861
851
855
927
860
736
888
189
888
578
432
379
461
493
176
764
22
841
521
677
652
656
582
151
926
462
715
761
784
930
439
188
136
134
996
207
853
678
299
537
568
452
334
537
708
423
515
698
101
992
566
477
83
910
152
82
232
744
443
643
958
233
831
62
184
329
622
686
653
753
306
582
643
707
953
560
198
107
564
633
615
215
644
1000
740
271
225
2
346
973
852
145
824
59
151
23
612
251
933
756
560
784
821
606
908
577
256
142
532
258
128
432
503
608
39
855
391
333
479
303
518
109
649
393
237
368
260
52
865
30
82
748
747
343
226
840
503
254
199
394
412
509
45
419
35
616
940
747
25
31
249
613
497
582
327
905
223
613
443
61
806
667
370
423
261
45
404
499
124
912
759
659
496
547
318
932
331
418
19
622
252
488
603
103
565
715
54
197
837
318
583
912
215
218
4
928
785
916
27
313
228
857
963
37
51
719
566
651
907
234
313
426
234
158
975
726
350
469
275
808
130
777
222
956
220
157
900
572
875
922
681
334
633
603
448
772
481
375
624
493
37
230
245
778
453
556
212
149
843
433
460
637
793
734
390
505
602
71
427
480
711
735
443
784
678
746
49
26
271
375
503
306
933
456
588
430
400
983
370
269
817
224
783
880
652
176
676
308
69
849
283
207
3
18
345
590
380
522
878
560
386
500
775
857
250
362
691
652
371
481
366
674
97
581
920
73
629
139
685
8
708
89
51
297
402
413
822
66
535
898
964
920
310
41
995
647
256
938
402
125
910
249
591
142
200
628
469
786
921
422
399
539
281
866
646
849
263
862
410
579
212
443
105
495
758
858
731
647
634
147
868
164
26
432
596
680
574
546
663
505
557
935
945
53
894
506
519
604
263
901
720
19
633
165
874
694
179
504
641
68
756
675
593
72
355
791
649
32
531
614
881
134
959
299
231
22
428
168
622
51
790
396
7
410
184
583
196
469
231
713
270
734
142
959
696
79
374
165
288
365
587
638
184
55
804
382
404
264
208
806
303
968
750
77
433
290
160
696
941
161
713
679
655
227
64
602
717
59
846
124
831
851
348
355
401
253
34
142
694
814
822
803
770
554
330
282
946
640
469
570
390
419
976
551
713
417
173
311
563
657
751
818
138
885
920
960
434
60
88
457
63
366
326
970
260
682
21
857
237
286
626
971
462
898
782
293
224
315
511
854
345
286
896
366
595
87
586
95
282
948
408
699
323
361
311
190
437
556
702
790
836
831
963
681
680
283
127
110
446
319
230
93
137
36
7
955
167
746
847
183
161
12
225
341
460
121
656
814
713
995
339
504
229
210
242
455
408
430
905
943
442
508
113
707
997
743
810
480
801
653
737
269
162
892
648
664
229
885
303
347
562
205
77
510
506
481
617
886
371
595
994
55
952
331
711
582
820
568
198
303
74
37
232
50
272
666
536
2
979
826
741
798
895
244
527
307
274
323
353
866
545
931
506
381
311
300
818
502
316
637
729
742
480
817
457
281
708
705
959
792
578
148
377
54
267
310
729
349
146
545
487
531
770
460
982
708
45
351
968
792
754
160
583
339
991
171
645
633
562
807
826
987
916
4
484
597
111
679
779
498
572
654
963
340
847
440
512
439
608
967
818
462
75
472
476
135
745
77
70
148
169
328
773
590
73
684
911
729
537
980
680
123
804
58
739
977
948
901
428
167
985
645
597
851
792
484
223
328
266
457
476
207
918
171
102
164
40
481
990
748
416
795
8
188
906
527
148
729
410
476
32
201
660
816
835
594
632
370
862
666
331
586
411
415
228
639
585
563
722
107
333
855
708
478
463
388
671
187
605
282
195
323
400
627
524
49
692
710
506
322
302
794
301
734
836
775
85
40
899
262
504
400
734
140
191
230
820
748
459
514
156
472
847
825
23
561
473
739
300
438
813
282
198
246
374
89
969
843
688
836
317
963
885
806
314
665
615
669
873
441
259
657
392
317
777
130
915
855
884
487
908
172
642
175
34
910
629
715
826
441
169
119
708
662
950
173
540
219
824
334
469
627
85
469
11
914
957
608
416
391
346
284
162
102
964
684
720
733
376
861
346
722
820
635
374
677
699
129
703
469
346
256
628
290
174
393
721
779
528
735
858
379
903
6
471
58
613
430
780
804
916
511
729
489
730
44
246
576
434
568
161
46
620
571
858
198
740
944
476
561
655
184
345
812
403
290
563
636
652
759
194
431
549
11
206
384
237
565
266
153
78
541
452
342
841
38
392
456
808
656
106
680
556
11
756
69
313
764
755
206
562
443
447
71
291
740
863
373
656
873
411
678
464
654
733
859
250
120
76
539
586
486
500
487
460
12
864
564
71
132
47
607
215
420
560
702
270
18
500
373
258
421
875
553
766
867
357
997
60
395
945
960
938
747
461
467
408
18
820
746
986
495
533
154
69
106
464
726
211
132
472
154
90
208
414
922
249
443
191
997
738
779
439
565
320
963
178
366
930
226
490
600
309
90
805
531
161
548
610
405
174
143
378
146
862
988
337
719
95
272
692
802
920
857
867
201
31
58
15
256
469
809
41
860
475
280
685
282
993
719
920
976
989
951
493
4
94
339
625
609
261
833
1
711
356
403
984
755
746
841
235
640
894
929
15
725
98
594
267
106
371
511
590
665
515
838
136
439
232
941
124
388
300
617
817
992
737
116
140
880
371
875
146
665
113
737
759
636
868
470
48
72
428
748
352
774
304
139
89
231
139
368
695
270
585
527
814
304
553
767
244
685
710
239
705
772
203
902
988
536
976
396
552
993
209
369
78
301
129
914
857
274
895
544
91
112
94
509
347
557
242
332
587
27
348
563
378
847
367
394
995
288
621
477
560
631
514
154
67
4
822
86
577
936
555
175
180
511
287
102
327
555
844
647
24
320
51
973
723
792
629
104
136
167
926
21
395
547
217
785
142
33
687
704
927
854
567
233
403
612
769
790
961
387
621
933
997
505
189
107
207
896
29
343
438
741
788
660
425
69
857
653
797
60
897
432
252
362
172
632
257
737
74
324
11
841
631
649
279
728
630
485
116
170
83
934
843
844
155
700
510
230
724
286
248
691
367
467
723
364
176
804
906
787
890
119
221
845
163
365
531
192
556
547
486
708
135
965
320
65
780
54
573
767
495
226
65
598
360
225
116
117
506
846
278
176
137
56
20
881
463
70
62
752
821
18
265
188
41
505
17
781
798
497
179
237
91
20
747
256
694
992
777
649
562
306
105
107
751
497
831
367
536
387
412
810
172
209
935
14
122
471
23
421
453
699
499
126
457
813
586
303
417
675
43
567
162
181
674
91
911
336
690
179
897
393
809
909
311
232
973
466
655
592
569
994
51
456
102
671
56
81
771
991
892
497
884
149
582
26
381
409
774
564
451
272
566
105
189
621
973
935
415
694
143
724
163
807
390
952
54
751
924
6
630
138
840
812
611
620
139
725
23
14
983
639
775
676
786
887
933
306
255
430
236
945
9
314
559
434
15
1
772
822
388
528
193
964
184
958
51
234
55
422
143
329
339
358
878
219
462
504
306
477
729
485
713
810
806
104
160
722
561
611
852
418
468
199
21
342
80
593
684
690
356
509
806
625
96
371
296
82
701
34
686
77
27
961
685
898
521
922
871
52
741
707
36
100
196
146
219
211
384
592
900
710
757
471
779
700
973
781
277
157
482
337
733
148
320
469
387
14
564
172
943
177
934
991
453
658
243
144
786
80
130
382
707
607
257
757
686
953
852
830
565
676
986
972
779
2
118
139
170
444
439
324
649
640
356
929
635
995
616
880
378
142
794
389
970
617
283
909
516
421
940
750
446
982
122
596
728
630
81
482
920
989
453
33
514
934
957
87
275
318
414
527
533
534
196
778
843
523
102
648
622
81
882
566
844
814
440
408
426
607
793
468
346
849
681
739
593
826
167
671
278
441
148
650
149
146
578
907
778
76
246
759
403
867
425
565
681
172
614
419
337
209
511
938
494
452
376
710
266
978
171
712
989
177
84
638
716
212
628
828
414
739
605
674
603
730
227
275
669
741
986
899
45
395
183
553
366
247
871
190
501
974
734
742
886
515
434
392
384
775
678
129
163
411
678
51
949
452
983
438
409
47
856
739
283
970
799
168
267
8
946
849
356
574
443
691
401
687
926
466
300
382
692
213
756
988
139
797
31
686
72
875
276
903
429
743
527
865
786
96
794
503
864
572
337
180
564
701
610
598
412
27
717
630
705
995
262
205
205
289
788
942
334
276
433
967
317
235
900
250
782
6
513
332
74
744
391
330
264
423
406
481
880
679
409
591
274
979
314
697
403
474
746
973
463
775
56
788
497
44
749
861
124
827
700
895
805
941
230
979
217
308
116
321
538
111
476
702
221
259
594
702
496
803
287
503
370
226
856
922
394
904
543
171
747
208
21
357
517
558
277
542
528
942
330
290
767
737
113
434
71
916
449
940
11
445
629
290
655
308
303
981
825
689
771
605
247
96
585
249
532
12
952
741
973
215
642
788
298
174
50
115
278
283
925
96
896
48
29
551
146
473
703
775
996
315
129
114
63
473
817
413
8
789
735
243
386
554
919
814
360
599
461
603
443
817
156
868
69
333
930
738
602
464
297
512
560
773
273
939
562
277
856
614
948
993
422
548
892
650
158
628
121
154
859
757
407
219
324
573
940
994
93
688
844
517
647
28
325
922
46
652
219
339
64
841
947
653
16
37
856
183
54
345
250
172
176
546
511
812
286
515
817
382
111
995
513
377
861
687
18
537
992
510
255
499
993
310
598
200
402
35
596
490
425
421
576
725
812
540
785
664
705
255
169
763
91
941
181
461
219
961
560
463
554
961
1
531
613
262
810
788
224
525
812
201
317
105
657
46
969
545
247
752
260
384
643
839
632
42
32
773
878
530
161
89
853
239
523
431
803
933
804
340
928
352
740
64
196
413
206
821
696
652
849
535
932
592
669
512
264
789
601
235
152
355
836
542
528
323
661
536
450
497
894
541
497
254
130
534
641
705
222
527
792
975
185
713
658
631
903
711
842
977
151
612
333
574
756
313
477
710
382
459
39
651
850
488
521
594
943
755
663
837
956
718
790
9
459
46
139
843
717
134
753
582
371
329
91
806
737
485
232
336
856
791
175
806
916
386
334
319
790
351
865
591
186
354
752
702
81
655
474
522
804
740
870
799
262
375
343
691
769
521
818
139
163
616
679
403
983
833
348
493
127
780
76
266
180
159
492
968
166
330
413
813
760
908
67
725
238
651
333
15
242
253
821
570
788
809
941
543
447
104
945
530
828
353
677
627
146
640
906
866
298
931
134
352
447
623
8
791
361
22
168
260
624
325
550
893
112
216
92
886
728
226
851
99
17
690
475
222
157
455
769
405
648
587
306
763
265
113
338
376
199
957
257
459
952
68
978
26
914
470
954
23
214
699
855
266
853
426
574
479
93
64
483
588
806
834
522
144
735
314
444
231
219
812
165
697
880
279
435
911
773
258
778
598
631
664
824
191
171
819
639
745
875
133
345
24
201
520
989
772
99
485
157
177
665
61
920
148
169
471
521
91
770
468
968
894
976
220
402
11
544
436
205
274
655
567
189
512
867
402
933
717
944
342
572
306
477
714
955
635
762
904
267
7
951
773
924
359
946
959
681
95
128
74
232
244
387
858
543
522
714
913
827
757
557
727
333
453
105
208
206
379
870
314
194
16
436
235
973
690
555
820
906
181
939
598
932
610
374
505
149
121
501
740
418
374
586
25
228
362
674
753
481
227
149
774
944
70
912
999
347
816
491
167
546
49
373
343
823
675
189
640
694
618
782
754
147
87
716
933
368
171
875
758
760
798
658
987
905
179
893
959
426
987
363
253
532
123
953
551
772
758
6
127
748
339
201
918
801
808
973
885
388
331
107
17
921
404
853
609
195
698
463
472
873
326
178
292
49
375
201
987
811
364
626
262
39
997
387
863
598
922
856
254
849
582
188
34
59
352
68
766
467
158
623
478
266
44
654
386
360
458
378
86
382
370
36
260
557
280
101
138
325
81
792
236
774
829
636
185
915
49
449
38
930
831
577
17
9
747
189
310
217
591
798
988
611
476
672
654
415
224
814
112
420
458
981
350
984
634
439
420
648
214
605
731
760
362
635
309
7
473
670
100
164
280
142
644
405
638
226
291
633
339
1000
89
779
839
756
58
160
761
702
133
378
790
458
705
545
883
757
224
757
217
374
554
79
309
934
883
661
9
368
372
806
838
394
21
178
344
545
569
298
680
839
285
768
584
989
328
260
822
257
87
833
285
318
203
982
166
347
505
656
593
338
320
800
757
176
641
616
224
475
964
415
358
765
804
700
283
499
860
525
931
233
643
486
688
721
91
834
267
220
922
712
848
993
608
548
711
216
622
190
654
279
497
322
353
857
236
502
878
42
295
795
594
842
65
832
796
485
480
774
740
738
772
725
231
265
104
952
502
182
333
822
947
569
110
423
356
688
696
316
778
729
80
513
127
360
211
630
583
208
758
958
19
341
969
96
723
519
664
735
636
429
953
207
827
541
141
791
865
123
236
878
373
716
676
855
466
570
557
260
13
243
469
918
430
798
324
718
681
76
312
55
675
980
746
807
502
483
127
713
446
236
748
299
4
368
620
100
267
213
262
288
968
120
414
122
943
5
48
504
613
501
523
658
346
537
815
498
880
877
87
637
600
520
165
911
649
738
872
816
201
823
811
64
147
779
597
834
765
921
873
460
47
962
64
456
917
245
967
218
342
594
594
402
719
203
25
250
869
850
570
204
716
597
295
347
127
649
743
632
583
857
835
886
813
606
675
403
49
455
771
119
157
482
813
544
1
542
41
164
244
862
626
845
71
451
409
566
612
911
365
765
944
867
841
901
293
911
753
836
670
43
783
648
78
129
527
930
2
977
124
715
668
59
875
647
435
418
933
608
498
180
882
932
282
797
431
198
599
801
648
917
868
848
170
360
310
486
159
549
119
355
972
670
850
797
587
998
825
522
537
495
978
86
781
990
526
959
372
806
989
492
38
409
865
245
933
152
819
801
83
871
869
481
601
106
634
639
576
196
587
838
469
810
747
530
831
256
647
438
908
123
220
200
356
896
777
559
500
749
533
657
817
843
964
256
61
402
229
3
288
881
906
626
618
971
667
172
194
912
43
940
469
361
224
414
550
293
618
289
997
862
902
50
684
982
663
592
321
257
849
854
811
204
116
997
47
443
333
893
337
533
560
758
670
600
638
15
519
250
523
786
101
427
365
22
222
873
339
537
622
387
965
846
237
412
531
122
709
969
751
181
819
279
348
302
370
402
640
509
277
50
38
666
315
240
40
107
546
107
239
389
643
982
849
735
113
307
367
746
542
279
580
294
885
863
146
896
392
448
442
907
556
308
209
418
256
116
957
729
278
504
437
251
462
916
985
920
888
783
813
943
12
333
491
480
429
568
178
753
511
575
370
829
885
980
843
410
162
625
647
182
123
594
736
955
742
593
487
748
847
190
60
897
464
406
48
821
653
546
406
778
305
456
61
16
309
722
172
894
43
555
766
338
521
983
73
428
160
528
771
578
606
441
970
76
767
209
971
943
388
282
898
646
820
905
148
137
437
367
93
896
576
83
604
126
720
767
134
659
543
96
682
257
372
547
302
467
758
444
447
395
869
50
986
913
135
641
896
329
869
209
860
646
939
250
390
483
806
750
325
11
92
835
832
905
492
672
419
738
738
492
402
503
117
593
617
360
397
401
992
717
545
167
606
684
801
449
33
687
639
102
327
947
552
250
143
525
414
789
182
723
141
342
858
763
902
748
712
327
606
813
632
774
469
939
637
384
570
755
679
714
515
208
722
740
225
701
712
838
796
705
97
136
597
213
34
958
898
657
871
994
347
704
277
305
283
313
381
904
126
497
251
677
223
294
676
844
786
354
505
428
103
352
887
987
296
454
246
31
606
610
524
531
337
508
424
232
561
716
12
414
176
549
574
969
869
429
495
433
239
406
617
552
697
833
792
835
8
593
939
682
264
401
294
42
224
455
396
547
746
910
164
495
361
896
896
83
131
265
445
627
579
836
456
514
973
788
423
70
173
720
311
513
810
353
787
491
611
424
691
748
346
552
713
976
438
310
910
272
330
104
479
568
175
5
941
322
615
251
61
41
452
336
552
988
408
145
820
799
664
914
701
1000
723
727
926
680
779
465
265
176
222
281
960
361
66
71
411
729
178
830
69
303
427
656
31
157
390
243
245
554
431
174
328
422
896
895
120
102
618
856
285
468
864
947
728
154
948
353
309
559
695
295
726
410
59
74
165
658
257
44
776
879
556
375
474
846
283
3
112
481
224
457
188
612
795
591
790
843
336
806
364
324
810
701
603
973
487
210
660
929
191
862
794
317
625
548
602
99
825
439
1000
110
295
130
426
41
2
874
833
597
56
816
94
381
96
479
113
613
184
637
445
358
60
221
553
594
658
146
312
650
989
49
589
172
249
415
451
963
985
125
247
507
950
947
611
930
658
873
62
9
609
182
610
770
576
466
974
787
189
175
13
703
210
75
696
280
547
12
576
809
597
189
338
319
365
847
201
848
152
796
562
111
621
870
205
637
390
968
110
895
38
511
213
338
740
988
924
712
803
242
426
910
457
25
148
670
940
715
316
72
545
857
796
474
483
696
693
802
40
212
990
629
788
676
582
424
32
648
254
599
934
443
619
446
893
697
961
14
539
345
807
154
36
281
970
908
559
201
879
572
744
285
201
721
326
367
296
196
15
572
270
156
188
844
412
528
594
752
344
366
279
642
186
130
165
833
71
811
910
308
741
646
317
80
222
894
494
804
875
74
943
945
49
990
109
137
529
1
20
100
926
293
802
174
387
710
801
785
666
50
452
185
848
959
385
468
412
770
353
609
838
878
649
10
274
340
243
898
483
32
463
449
285
733
317
687
18
686
185
267
696
918
536
656
661
931
883
527
60
510
217
195
239
840
146
635
267
380
290
228
72
355
45
54
141
105
279
767
727
314
856
581
831
643
213
955
235
70
784
14
95
567
284
441
359
324
519
766
386
669
628
572
120
905
38
656
756
897
942
338
406
311
407
51
167
257
49
339
110
279
421
227
492
197
818
92
713
537
396
429
848
131
519
241
556
858
658
343
604
19
555
682
216
735
993
12
198
269
29
43
500
573
691
878
50
706
919
116
9
183
856
856
104
924
646
181
726
753
416
137
746
961
976
15
585
538
824
977
344
912
240
830
376
519
687
476
277
81
927
209
608
240
559
122
756
545
258
518
563
948
554
585
408
624
570
532
152
474
476
870
639
294
263
450
823
383
166
382
456
510
316
576
678
21
807
587
167
157
521
586
526
634
815
469
979
132
30
84
636
909
872
790
236
59
551
41
959
870
784
391
733
513
687
1
79
231
245
752
641
50
440
139
262
481
420
32
674
214
346
449
350
400
976
537
917
752
474
793
575
567
567
831
901
137
28
331
656
807
362
915
412
22
151
524
35
812
85
805
889
934
136
23
263
245
682
939
260
405
204
212
411
75
320
786
415
781
378
105
303
610
557
618
666
481
865
997
499
312
442
809
777
166
213
460
454
56
244
806
960
752
329
676
319
671
417
652
842
534
797
767
789
686
803
274
447
870
676
494
863
765
801
329
214
625
807
50
223
763
844
761
51
349
255
96
204
615
718
274
975
641
856
678
662
540
91
804
552
453
979
430
585
739
963
764
784
342
63
702
358
581
633
608
70
937
706
593
932
905
274
316
60
617
290
17
495
640
770
110
449
395
305
312
440
183
294
750
184
758
8
981
561
73
97
41
693
339
627
559
153
697
86
659
829
904
879
380
159
378
13
67
849
366
919
167
151
602
764
760
713
868
272
773
886
12
581
494
560
425
86
886
353
499
612
927
328
97
968
648
444
624
289
511
554
915
968
123
307
892
757
791
570
684
915
572
60
463
24
606
579
854
44
893
230
561
111
649
224
210
661
941
257
20
502
541
885
325
708
739
86
536
285
915
88
979
910
639
196
104
206
62
482
7
259
940
95
41
641
683
918
224
453
197
208
167
477
248
955
388
720
494
518
639
843
832
230
599
964
115
96
247
485
131
403
853
336
286
243
289
842
978
738
701
806
214
910
579
547
194
780
179
352
376
161
431
346
293
336
839
948
331
939
324
628
894
322
257
727
894
204
199
508
993
926
853
835
302
28
656
871
151
469
173
950
580
576
608
830
899
130
524
518
428
799
375
831
398
805
759
548
937
213
540
946
119
519
657
739
113
163
626
473
207
665
52
61
390
929
841
132
686
876
246
643
277
287
152
789
954
711
580
757
997
206
975
517
629
634
658
423
344
737
915
933
796
673
720
333
107
800
436
170
548
384
717
560
874
417
569
249
976
70
48
205
659
522
518
262
16
207
705
159
854
502
772
838
887
146
225
45
841
736
82
355
809
164
477
431
607
565
356
470
997
867
635
866
327
253
579
99
976
984
517
373
832
691
830
105
642
904
988
161
739
512
356
836
458
306
856
302
189
515
128
3
820
321
105
912
380
613
354
661
52
48
189
651
455
730
540
442
289
307
396
542
581
914
657
17
604
752
230
781
572
142
385
950
217
502
533
424
854
375
199
412
875
362
285
996
374
797
495
244
263
675
21
825
747
255
612
124
247
606
992
541
78
542
161
402
621
438
209
158
958
197
260
921
417
352
960
972
945
151
61
287
372
835
7
413
900
408
848
219
139
707
293
750
135
240
431
564
602
422
299
680
277
679
538
24
632
397
239
674
918
153
819
402
836
154
188
877
153
165
679
443
438
88
391
524
38
248
536
944
804
544
743
266
629
763
354
461
514
500
172
435
187
578
13
475
977
395
234
487
792
992
850
257
351
813
359
447
265
37
73
191
955
634
117
507
661
682
132
340
88
726
557
331
661
970
666
138
283
574
753
775
614
727
817
127
578
626
852
524
437
697
566
700
367
825
732
126
733
568
865
99
967
60
918
562
222
869
890
580
914
394
86
928
944
390
527
986
224
404
771
500
390
948
387
829
733
279
658
764
154
617
914
78
659
192
773
570
65
679
429
935
167
422
96
199
747
825
731
891
142
782
221
530
639
840
132
834
910
740
214
880
187
12
561
357
230
310
548
476
240
681
350
815
99
742
277
983
40
521
607
448
395
342
269
242
558
152
230
919
670
721
605
970
526
966
264
542
4
689
168
371
561
926
590
662
325
225
875
537
674
602
380
152
75
555
875
988
93
123
876
646
30
277
723
179
651
313
681
824
893
919
624
632
160
265
609
283
615
609
522
46
66
364
838
224
51
451
119
806
81
300
586
167
682
859
151
253
861
992
15
171
903
842
575
688
956
993
795
413
940
262
86
403
20
805
478
294
128
484
895
743
399
740
477
308
236
11
649
114
890
910
553
189
180
934
909
839
715
791
108
776
167
719
729
703
792
44
594
980
434
372
516
112
969
281
813
705
990
25
862
505
547
465
228
9
591
598
663
482
222
939
393
835
910
78
443
45
670
436
402
201
753
300
841
784
741
449
439
37
926
978
60
288
168
947
486
959
466
141
276
437
849
882
613
694
69
615
68
42
746
350
16
694
549
496
45
674
65
764
507
942
40
120
380
212
954
946
888
351
120
894
134
231
688
867
142
624
229
846
967
495
131
128
897
685
725
362
247
23
723
456
37
286
26
360
473
360
463
60
69
804
988
40
662
170
481
367
575
529
398
964
115
482
375
169
87
373
565
11
465
542
417
106
969
830
730
51
379
487
962
627
101
386
190
419
847
589
888
46
12
924
361
666
848
385
577
400
887
69
910
427
195
620
326
77
342
789
857
159
112
996
425
30
182
18
377
429
203
462
315
727
837
144
30
27
725
801
30
268
284
53
799
350
350
529
37
460
734
62
983
712
260
497
598
265
265
964
551
950
652
189
347
198
666
556
106
150
600
564
692
512
987
418
185
586
393
33
683
704
50
741
705
536
45
743
906
283
466
83
46
393
230
17
804
672
149
575
93
896
403
521
991
129
569
408
530
868
325
380
522
842
417
884
511
782
877
361
369
717
182
288
449
523
496
676
982
84
441
873
629
711
756
399
713
460
303
540
418
756
971
298
251
991
976
248
327
574
720
192
495
28
294
212
723
73
631
906
410
110
436
577
750
161
48
266
531
128
865
152
411
906
386
100
730
582
317
714
357
617
970
671
147
242
296
187
738
439
514
476
184
605
44
875
524
264
27
78
599
2
451
891
656
221
118
273
494
792
434
409
158
799
81
790
228
122
355
113
349
901
429
663
965
158
190
207
723
127
785
315
835
41
386
238
397
639
896
349
336
184
183
570
744
479
525
402
518
319
449
708
578
509
152
644
461
448
672
851
395
46
694
733
564
783
959
658
204
521
294
886
602
49
643
715
502
419
712
263
700
420
30
229
33
647
89
778
836
879
711
956
425
101
641
324
155
220
481
409
594
781
463
934
603
50
33
68
311
225
747
184
482
741
814
283
594
447
233
778
720
404
33
309
20
13
87
110
894
41
916
586
368
340
960
587
852
846
76
152
341
257
753
653
17
892
541
632
321
84
395
114
515
197
883
820
147
432
830
670
437
88
345
300
940
999
963
251
145
869
202
292
833
898
969
656
736
526
137
321
455
882
310
911
724
45
188
849
747
86
492
98
148
207
517
791
579
799
909
752
18
256
273
303
188
301
325
5
441
834
288
951
322
16
948
982
397
71
794
223
132
98
594
525
481
838
120
732
289
865
741
599
617
396
635
271
681
683
193
572
951
643
417
700
163
43
9
275
138
402
908
29
613
471
99
826
506
926
509
739
610
960
712
718
444
222
781
755
492
368
45
780
529
421
735
427
756
182
153
221
772
794
223
161
715
837
876
578
359
464
700
687
456
375
467
275
674
760
630
189
999
172
308
554
9
412
44
666
640
871
111
111
194
530
284
599
43
952
826
739
552
603
181
968
673
812
321
399
47
948
76
248
661
161
787
312
398
279
870
273
995
697
999
954
31
505
96
227
81
929
178
850
483
558
175
567
262
352
799
788
714
953
991
551
578
759
836
263
984
220
59
63
743
754
563
447
291
930
606
197
164
985
656
962
822
653
368
892
202
707
291
296
289
90
825
330
476
709
58
806
409
177
398
861
398
56
531
527
549
233
932
273
645
548
566
197
950
950
413
727
244
838
662
543
30
788
517
791
801
874
383
793
326
423
699
786
790
968
67
521
47
587
670
108
572
206
421
110
943
522
129
773
12
591
340
284
948
815
616
472
708
698
421
150
757
54
984
243
548
826
341
764
248
199
210
17
499
829
662
391
800
693
58
13
159
649
908
908
459
995
468
713
123
298
445
977
513
212
491
111
922
495
28
922
977
12
288
545
925
747
951
403
569
197
114
779
738
321
228
677
954
924
722
276
416
310
403
713
285
150
942
447
944
832
338
965
483
379
680
759
315
469
886
919
1000
931
187
919
812
804
854
223
265
420
29
564
162
894
565
447
841
555
856
793
915
612
269
626
686
209
798
79
431
638
137
848
998
33
160
820
789
3
805
482
865
984
975
367
370
515
384
551
909
927
235
283
227
414
989
981
841
582
227
988
20
622
729
819
488
151
779
100
601
29
131
47
542
377
478
137
909
124
285
966
6
553
204
951
789
591
192
294
981
461
462
712
686
272
140
63
630
447
420
518
679
297
795
78
128
1
670
948
116
884
300
759
450
588
13
702
303
737
472
10
845
227
74
395
764
574
393
982
723
244
395
720
731
263
226
611
958
764
137
838
144
376
747
969
496
603
874
250
178
1
547
927
681
80
664
283
621
799
862
900
979
490
113
559
184
299
290
257
459
14
383
276
677
230
543
814
521
964
960
911
69
409
760
524
814
484
280
804
769
932
118
967
709
130
430
866
628
19
238
62
898
453
371
65
294
665
436
373
466
914
104
727
114
261
29
691
711
139
480
644
854
520
782
595
733
438
817
348
659
994
891
537
153
928
614
383
682
768
108
289
335
899
270
462
950
907
832
183
9
849
64
805
489
530
122
641
647
323
669
904
60
392
528
703
929
788
281
595
826
634
966
494
150
697
833
962
287
381
30
462
48
110
948
547
161
17
94
357
569
830
148
578
775
702
837
782
997
532
989
452
737
237
544
71
924
806
247
677
558
293
384
40
592
182
381
442
206
893
551
552
297
872
1000
147
980
749
210
716
559
464
675
478
965
131
534
993
884
135
737
712
879
513
804
339
628
724
195
182
902
578
122
839
819
148
503
882
83
589
588
167
548
352
479
740
554
74
188
913
297
196
102
862
92
891
225
393
695
686
932
571
44
1000
903
127
39
899
245
672
871
542
516
185
556
180
123
730
434
289
138
709
546
806
451
670
205
614
80
604
39
828
600
201
594
73
879
665
813
572
962
407
217
354
936
852
941
445
275
614
138
412
483
375
75
259
458
598
286
181
390
224
339
799
802
584
993
91
659
255
815
354
709
988
526
11
238
548
900
403
388
493
226
166
778
977
134
749
756
827
16
606
987
732
291
386
18
337
864
489
944
480
875
475
723
996
545
857
26
745
654
681
46
300
961
46
834
480
225
849
668
151
302
385
190
502
133
476
72
159
901
579
658
890
988
331
977
534
159
230
820
788
714
641
817
675
329
53
639
108
971
939
211
138
382
281
379
612
903
163
375
920
967
552
18
745
382
430
911
888
588
473
509
85
412
798
502
777
371
556
334
387
731
582
539
447
798
73
324
376
102
437
365
978
159
281
87
544
529
62
821
266
868
945
525
773
407
547
47
58
566
510
193
84
179
98
162
534
103
173
349
796
846
593
210
15
291
352
823
496
32
817
15
802
774
45
712
935
157
805
626
278
483
553
533
658
470
178
743
456
28
523
127
157
711
290
668
939
948
819
888
389
758
336
904
360
496
644
249
766
965
374
504
525
224
873
581
123
699
377
286
521
785
393
237
543
614
748
390
368
352
391
821
316
486
941
376
666
100
419
927
75
407
272
386
85
352
799
842
933
400
860
390
33
530
622
7
980
660
943
213
43
179
712
967
879
429
674
256
598
574
948
765
413
628
467
663
282
796
651
216
508
451
671
388
83
796
812
45
683
340
842
538
290
461
478
924
465
595
923
986
619
387
345
818
543
769
408
302
603
202
583
825
383
445
873
957
290
143
217
364
405
751
92
444
971
718
885
297
707
42
375
808
216
367
801
733
510
319
529
462
924
385
174
181
617
332
718
257
820
807
465
969
986
380
991
61
775
126
277
898
450
448
174
243
386
352
23
637
853
565
1
312
481
436
725
972
242
604
423
443
416
833
908
631
296
43
137
287
407
579
195
709
198
283
39
78
602
932
705
816
526
215
218
17
828
417
742
865
701
231
344
728
382
236
449
356
243
17
974
292
473
782
694
398
942
506
457
714
297
125
533
391
327
36
581
520
26
174
847
393
124
824
57
961
161
897
88
473
169
573
548
659
669
918
136
183
332
959
455
386
939
6
361
915
960
98
755
736
909
461
54
302
537
976
116
537
57
10
708
654
173
527
524
947
380
386
375
61
806
938
35
493
24
238
115
68
531
789
730
278
764
12
937
163
283
132
145
594
554
129
783
225
684
731
493
498
927
1
22
447
883
854
976
23
169
370
770
174
842
838
835
586
221
270
307
210
52
950
278
220
102
840
785
735
616
368
578
900
930
321
326
538
642
890
326
158
746
160
817
989
610
620
532
744
415
745
229
216
755
136
713
771
169
870
405
286
209
27
522
174
294
811
34
407
900
310
530
552
459
54
170
499
127
723
149
380
997
681
940
792
600
802
675
140
163
972
365
798
624
651
103
737
989
389
224
239
922
908
69
732
522
320
854
585
204
13
458
650
660
575
156
588
858
214
661
4
226
624
530
866
124
687
180
332
719
133
43
759
911
72
796
839
372
800
872
694
285
434
91
619
683
380
772
576
723
684
223
879
728
45
808
5
603
278
930
145
29
766
564
874
467
203
417
966
863
92
677
409
397
885
566
771
971
224
523
341
271
944
785
297
626
820
612
161
21
873
305
788
531
364
264
856
28
582
520
524
818
602
820
281
95
626
544
178
847
547
221
566
812
238
36
689
877
148
469
582
876
985
499
337
221
22
613
660
782
188
910
553
865
663
227
534
318
794
287
363
895
749
437
454
75
925
459
911
779
593
582
627
209
854
648
894
665
384
370
398
112
99
943
453
224
960
256
936
357
973
111
153
568
952
974
140
661
592
678
850
737
298
221
222
571
311
375
375
700
16
627
652
712
702
899
788
569
29
911
179
449
335
783
205
728
587
879
149
784
641
432
303
248
266
50
254
90
594
535
731
349
196
624
422
616
437
435
536
489
467
995
502
133
608
731
373
91
965
489
908
820
559
538
776
271
410
601
849
291
925
625
603
689
531
452
535
484
838
972
538
141
719
31
797
400
634
273
54
876
603
443
70
757
180
528
570
548
732
823
956
437
187
788
331
968
772
611
866
24
920
14
471
600
878
910
634
387
443
443
932
468
349
476
462
462
899
78
598
892
286
744
164
572
53
241
534
489
456
915
86
654
204
507
684
244
989
177
620
131
546
135
840
434
62
550
915
501
177
91
567
211
524
947
934
616
885
628
52
435
96
81
194
203
131
207
606
362
870
873
884
645
282
211
112
681
928
852
167
142
918
846
718
287
103
357
625
91
792
999
754
792
279
525
830
769
132
169
715
752
904
791
851
818
524
936
765
441
614
516
244
715
199
500
396
278
342
167
154
743
380
131
84
907
141
831
552
924
459
320
761
201
207
864
795
232
89
980
144
574
327
696
799
425
846
321
511
684
349
636
531
94
971
640
820
236
133
492
617
616
307
625
762
386
349
623
388
698
185
701
49
70
659
153
215
496
331
118
258
97
202
783
17
799
259
402
764
137
587
646
127
108
371
873
321
558
24
465
767
623
398
515
989
539
653
504
707
296
957
89
1
439
405
542
404
922
827
181
602
419
901
967
858
452
934
655
642
392
191
138
57
449
506
423
722
354
931
75
260
947
657
415
668
54
815
885
813
229
307
702
664
23
789
142
964
849
443
36
263
996
881
980
272
20
291
169
380
979
312
178
879
937
4
454
736
63
426
954
216
547
440
636
713
926
537
434
875
880
123
950
193
840
753
3
388
690
99
576
637
742
391
449
340
708
600
567
326
439
306
870
375
473
750
436
372
176
291
346
323
448
997
244
452
876
924
724
750
399
625
83
140
222
739
967
440
766
539
433
884
650
811
504
702
184
333
288
325
284
569
850
847
218
562
36
669
567
753
533
18
688
435
419
933
690
365
636
609
650
898
999
631
907
773
674
322
697
219
662
856
425
447
144
316
69
987
408
456
70
228
234
772
38
485
92
697
551
321
487
61
742
31
849
137
342
779
154
968
128
481
643
468
455
790
912
330
552
402
514
496
112
530
198
199
594
213
633
532
845
920
5
982
725
157
910
521
16
647
310
917
23
924
29
114
285
429
854
355
49
767
740
144
702
225
905
883
765
910
294
852
974
173
494
670
538
663
800
945
474
11
433
586
938
7
591
179
700
904
404
757
124
982
737
79
857
833
409
996
402
754
547
803
502
668
309
611
880
171
972
243
569
519
115
583
323
901
92
809
147
279
663
268
453
687
626
795
212
635
124
231
629
70
220
668
474
697
141
982
54
880
806
288
103
639
692
736
48
681
588
11
790
544
466
679
725
225
745
282
443
272
762
350
160
751
772
224
803
141
71
64
953
890
307
736
852
762
165
916
779
137
619
84
841
670
333
875
206
519
689
604
611
401
13
951
459
783
581
782
418
258
674
799
962
785
696
857
838
670
208
496
21
438
146
319
761
759
783
782
200
152
743
19
796
853
842
804
339
523
37
114
559
862
293
94
476
179
106
171
401
372
7
440
591
381
772
534
209
951
448
708
645
783
679
306
963
353
508
16
781
420
1
618
621
530
61
579
501
901
324
558
314
635
61
841
733
741
865
152
14
966
827
154
694
113
526
9
880
322
275
977
460
419
366
733
416
616
848
148
623
522
119
994
282
178
372
815
420
284
942
513
418
624
383
889
469
422
485
800
546
697
689
814
757
214
34
121
527
84
165
79
538
945
382
148
387
3
208
926
152
999
652
27
307
750
733
16
114
106
852
174
77
710
632
222
204
144
82
326
997
921
24
569
441
372
507
886
284
736
536
478
410
629
666
636
120
669
489
195
921
778
411
652
897
864
292
543
485
242
842
66
627
26
78
237
644
865
435
501
619
954
201
986
528
377
384
223
493
84
812
619
558
81
97
137
77
21
336
370
796
863
677
310
580
438
289
547
310
497
542
697
72
359
893
874
439
836
355
708
909
389
606
550
762
213
250
745
19
975
124
413
644
681
904
496
359
767
279
465
354
657
384
178
439
824
719
306
170
47
450
451
9
651
740
733
23
979
640
286
37
659
762
436
146
337
403
654
773
959
178
158
894
366
175
88
846
401
971
122
114
843
538
324
587
165
901
26
663
659
780
547
175
368
417
203
248
561
757
654
448
910
114
173
969
967
657
239
229
745
658
608
420
335
951
464
963
312
826
121
35
216
538
986
898
683
947
959
206
134
501
566
158
645
595
560
613
115
157
803
359
598
463
700
163
766
238
571
357
477
491
545
529
658
104
571
690
543
405
344
369
984
722
243
461
934
595
230
531
514
391
475
495
930
34
846
845
76
515
264
946
850
917
346
206
262
228
54
985
210
822
418
7
120
54
585
6
530
253
384
58
852
229
139
446
275
743
767
702
153
985
266
574
302
923
122
974
132
83
426
426
314
654
85
765
912
111
918
304
62
684
590
909
666
692
361
769
932
488
595
92
907
510
490
219
566
469
990
474
14
142
360
473
571
30
963
984
288
857
196
648
687
916
688
465
27
153
655
878
90
759
35
331
599
322
163
631
822
555
60
95
704
535
947
847
197
723
961
4
985
67
790
609
359
883
41
222
679
130
132
311
757
531
655
569
528
395
532
385
594
104
13
622
291
114
487
559
768
833
885
414
498
111
727
470
615
541
49
944
270
213
31
600
74
978
791
729
578
723
633
821
47
843
957
426
526
203
291
824
840
451
1000
298
635
487
403
131
961
918
271
40
8
410
904
393
685
351
426
329
871
894
787
250
758
850
343
160
599
585
717
481
737
923
634
109
520
360
343
959
935
697
639
761
422
180
948
924
447
597
835
176
993
736
46
377
701
802
283
399
622
414
927
775
255
619
801
167
412
826
342
764
853
110
30
578
767
42
334
233
855
197
641
804
396
3
484
296
636
362
504
978
414
727
456
63
270
766
108
85
531
585
821
108
902
412
141
857
292
292
743
898
30
111
959
820
292
312
925
53
729
812
951
516
669
420
62
672
645
597
846
883
504
158
790
654
876
604
518
966
427
696
710
925
420
470
97
796
545
860
597
852
335
46
313
195
96
614
35
477
848
359
101
806
908
236
948
861
984
514
192
929
468
321
771
94
521
235
171
85
52
11
167
188
573
984
305
238
618
840
987
228
662
654
368
736
129
693
422
890
184
921
427
860
368
974
582
297
6
524
329
669
161
241
39
510
658
291
801
98
554
1
397
622
322
135
518
398
517
308
376
309
856
93
229
80
617
134
96
469
722
543
734
376
319
216
436
361
28
643
568
834
812
590
815
610
335
202
862
356
933
50
347
637
273
961
745
421
528
183
6
825
76
804
470
770
155
608
103
97
291
264
349
668
134
950
248
56
701
361
263
898
104
955
143
725
694
21
79
252
737
659
931
380
281
720
28
128
340
566
800
554
85
77
212
689
495
490
641
913
10
835
483
347
928
222
256
903
830
598
369
937
560
528
523
360
627
370
586
579
780
675
268
335
757
487
6
90
543
562
860
410
621
361
323
938
227
472
872
485
276
648
289
769
309
566
930
398
2
822
270
303
763
408
642
468
964
390
819
727
910
44
254
891
738
704
723
321
45
843
344
975
891
234
564
814
464
767
59
114
886
110
64
862
230
73
875
422
88
165
425
59
355
469
945
95
154
458
307
955
879
234
418
666
882
822
906
920
731
524
461
291
150
554
245
70
987
648
898
155
703
172
758
962
555
985
813
704
887
200
273
915
664
589
473
474
53
792
167
442
157
762
408
472
169
594
872
581
752
546
859
220
53
694
535
881
514
393
631
622
156
568
99
111
154
293
571
613
429
312
366
270
403
619
204
54
511
606
365
513
250
821
484
970
590
516
170
659
631
260
732
410
991
534
984
3
769
902
733
334
817
61
764
793
842
306
105
847
225
358
138
127
390
623
536
318
709
581
90
576
343
697
66
668
210
701
109
208
564
13
747
492
770
53
46
875
260
564
157
736
962
923
496
326
547
384
361
836
367
763
659
346
77
46
778
676
524
624
993
490
180
789
742
417
496
477
854
979
637
237
226
225
217
792
38
900
672
331
891
165
663
796
428
619
968
58
665
697
919
293
529
660
487
531
778
505
141
395
924
131
214
605
553
189
908
635
332
558
109
540
900
985
34
552
647
595
314
959
352
762
557
233
220
25
7
471
581
241
572
544
930
608
977
969
716
473
947
6
741
309
548
732
471
685
170
492
264
735
38
997
504
535
622
225
998
120
60
814
258
62
599
544
633
71
997
59
632
450
909
538
378
126
553
988
271
51
434
348
465
921
430
781
30
129
45
702
456
607
199
628
802
470
306
200
982
501
174
622
844
505
514
360
41
912
398
653
979
501
362
327
66
673
220
898
635
95
211
696
358
293
303
299
367
691
936
393
467
653
287
130
440
749
470
668
312
345
955
789
789
997
835
544
306
924
721
958
501
589
76
320
131
947
640
190
124
19
616
186
546
501
178
590
884
484
95
421
796
97
984
29
997
224
184
323
862
138
28
622
550
810
443
543
645
902
157
535
297
340
326
25
78
551
223
107
478
75
878
179
133
900
799
958
816
417
356
862
682
766
22
216
158
718
453
541
551
66
720
362
341
946
17
730
581
898
981
352
478
125
378
764
294
365
682
804
991
497
699
392
401
990
13
125
765
781
963
718
143
484
513
683
91
485
265
850
584
625
123
506
110
832
949
125
63
756
73
597
589
113
193
237
317
283
125
696
69
726
957
262
644
539
33
646
313
523
976
758
292
260
505
375
184
132
65
514
210
375
505
763
985
910
465
257
53
822
827
174
271
313
117
672
9
523
844
85
624
313
302
770
955
371
9
403
116
191
155
745
849
892
551
914
607
237
967
681
154
479
64
118
872
104
430
898
667
928
384
280
381
604
621
21
935
72
248
819
823
889
719
247
811
775
768
518
189
218
761
313
721
570
841
736
942
183
609
826
513
304
117
880
611
214
261
243
617
575
445
25
666
957
506
482
261
5
28
710
914
667
997
551
555
242
191
223
755
757
321
31
846
370
168
392
396
525
491
977
611
884
583
434
645
717
222
579
937
445
758
61
349
775
851
56
978
184
498
688
326
955
586
659
204
385
707
39
274
576
907
128
717
826
690
949
842
371
605
776
341
325
554
882
5
537
207
240
542
655
260
212
46
741
194
974
92
222
644
737
732
970
52
186
305
322
534
446
982
668
420
693
928
747
343
96
860
989
50
260
22
165
530
543
115
542
182
53
463
854
979
512
156
967
969
426
861
475
513
745
860
189
996
468
57
857
526
430
312
71
614
736
312
790
159
708
879
847
700
705
848
69
943
139
975
325
237
130
149
522
18
235
286
294
380
152
745
211
892
913
19
229
737
569
59
458
193
481
845
33
572
929
158
966
260
26
186
735
365
908
247
699
533
950
921
746
467
611
481
130
898
210
917
52
929
434
806
882
801
389
99
679
69
335
71
383
581
661
446
79
451
229
801
597
122
963
61
340
402
25
747
825
871
53
175
360
548
252
663
209
472
871
407
594
234
546
1
133
920
648
830
245
254
55
29
749
9
766
293
994
950
170
460
102
793
421
663
317
834
42
907
64
882
277
484
764
959
742
590
368
372
824
629
684
617
414
945
429
48
450
702
140
44
432
343
619
769
13
841
210
229
770
737
75
96
26
513
539
45
80
821
440
691
283
838
24
243
314
642
74
915
900
538
680
350
170
898
448
732
733
445
22
99
209
478
486
536
240
266
608
617
587
262
709
147
587
879
678
30
110
910
190
598
229
489
603
453
387
691
596
422
432
10
990
704
480
781
47
338
65
534
867
817
694
884
189
534
498
6
883
229
433
696
374
924
838
617
33
221
416
518
599
659
85
701
727
727
768
311
992
837
786
166
405
726
702
846
428
42
62
323
183
792
920
508
401
639
777
54
533
46
69
649
621
165
329
591
956
398
682
582
183
964
920
179
272
954
54
294
497
279
346
923
719
79
794
827
270
626
464
624
430
995
325
61
175
212
598
470
96
697
448
878
327
241
279
610
976
959
365
141
303
325
191
758
488
628
976
334
701
274
414
501
647
453
903
904
950
922
22
389
627
512
109
237
744
696
933
779
214
169
57
720
555
309
734
329
845
587
894
630
918
355
249
121
799
120
147
879
495
251
578
946
113
67
709
563
835
38
187
33
332
976
101
773
557
114
400
632
61
474
987
96
49
519
474
6
321
224
652
983
844
434
833
591
474
502
163
886
946
879
683
244
279
422
920
774
675
468
288
66
125
119
910
601
720
305
4
318
312
304
914
537
69
219
809
575
420
158
199
205
542
984
627
233
882
417
507
388
958
17
286
186
403
473
117
357
50
942
474
584
403
25
934
851
75
258
848
230
761
657
285
571
495
6
583
586
945
168
332
106
297
859
190
475
702
2
221
798
336
920
723
735
648
982
960
618
776
951
290
180
525
289
209
612
634
481
301
902
462
128
893
289
914
754
309
728
197
508
50
794
289
467
247
678
925
425
719
698
733
587
361
702
412
212
768
857
163
757
758
410
244
109
677
627
853
194
418
740
763
523
246
571
897
739
765
534
36
512
14
143
329
166
284
286
234
37
18
889
76
894
363
38
276
505
534
464
936
37
170
686
568
869
252
748
22
659
145
685
806
693
149
954
231
695
862
387
208
645
480
169
528
739
258
949
884
295
590
850
903
472
874
249
894
211
350
295
545
730
693
898
662
875
614
388
951
295
470
207
52
979
521
376
981
379
665
112
299
112
617
330
687
642
212
901
165
497
294
291
512
401
779
76
557
527
988
722
397
495
884
316
357
960
631
611
981
182
871
995
857
366
785
660
821
612
710
500
413
321
14
734
534
790
892
462
346
536
318
405
344
221
795
222
730
406
303
263
969
750
834
417
668
374
833
207
972
328
463
379
629
328
958
676
764
164
385
846
897
297
178
528
322
874
272
128
179
746
576
236
482
809
884
339
422
685
557
596
906
628
698
627
431
598
137
266
493
765
858
505
278
95
570
244
688
65
311
680
89
140
32
342
171
955
827
112
276
775
889
788
51
60
411
106
774
129
475
426
170
365
506
276
159
765
107
109
893
526
554
907
847
631
997
422
625
599
205
580
348
625
942
128
25
547
811
115
504
29
857
786
428
959
135
693
636
647
793
422
998
51
35
663
929
840
118
563
969
209
519
227
844
198
964
285
360
107
753
464
706
6
884
225
326
822
971
216
574
661
4
847
813
677
602
34
974
666
309
685
152
281
953
914
457
808
189
714
421
334
527
17
721
814
15
103
979
620
958
617
873
547
886
339
22
679
756
326
905
945
29
103
395
564
506
848
656
325
863
384
88
749
157
238
838
760
835
290
64
298
131
208
19
991
615
389
934
863
14
595
832
16
480
567
180
98
125
766
361
253
488
344
917
633
935
83
79
774
247
258
912
82
965
384
496
650
91
592
72
782
725
756
471
272
811
375
599
938
93
240
997
962
677
525
294
497
753
443
555
421
81
526
456
924
871
67
593
640
177
568
765
288
174
557
777
814
413
558
661
935
132
305
279
591
409
252
4
321
294
145
630
493
500
607
618
954
175
80
75
702
557
526
731
100
492
901
73
479
938
434
898
180
22
318
19
28
908
192
483
662
238
16
28
935
246
233
578
395
545
565
330
958
575
718
332
105
280
794
419
796
176
869
496
149
674
161
191
144
254
838
691
659
374
377
282
563
73
334
191
865
40
177
893
295
132
705
221
521
439
921
466
338
719
837
271
814
186
945
387
726
673
189
301
866
679
117
358
233
413
76
881
686
771
308
489
407
317
428
567
260
945
489
660
300
838
213
721
362
32
400
328
240
428
260
911
14
509
343
420
543
235
760
774
226
515
772
14
714
625
789
836
388
888
264
630
898
519
440
484
446
298
843
490
567
950
876
395
939
297
107
976
440
999
414
564
556
952
813
539
408
643
808
71
707
559
738
780
638
57
605
590
457
420
215
228
904
381
209
710
522
163
659
368
326
466
433
575
500
26
281
594
11
858
643
879
33
304
560
596
149
889
685
29
618
524
761
524
677
199
206
115
105
758
134
937
987
285
260
551
304
508
323
153
856
14
754
345
773
528
458
732
489
18
70
440
833
574
451
404
787
947
889
142
213
411
457
704
398
567
985
501
544
817
433
422
987
60
777
638
425
637
213
179
927
136
582
171
656
578
384
865
904
609
808
791
972
27
590
923
971
306
294
777
360
859
275
516
168
506
852
112
790
775
431
190
692
56
423
884
916
215
46
985
796
163
372
910
982
524
527
552
45
672
326
4
219
42
56
681
321
169
447
764
178
210
382
115
839
692
469
926
472
861
136
767
897
364
19
641
146
493
632
175
128
232
541
797
319
578
51
656
915
25
956
253
589
201
566
970
543
507
386
712
407
453
493
6
855
312
274
152
140
757
116
593
328
628
713
113
636
601
323
746
200
941
132
170
907
294
344
501
232
948
195
821
858
168
765
946
266
120
294
871
644
622
195
612
838
583
695
407
786
753
171
420
69
817
617
689
156
28
87
863
498
344
370
868
105
21
430
503
436
444
363
797
699
154
803
404
551
57
844
860
800
777
922
409
227
601
894
451
256
131
43
327
496
903
787
499
565
212
104
499
652
403
691
933
794
507
238
907
132
843
506
146
273
60
490
927
268
909
572
657
713
891
349
267
543
727
618
333
609
554
278
916
948
262
371
617
187
48
797
511
817
306
262
101
869
872
598
249
479
476
266
548
105
283
702
113
633
708
173
867
425
886
42
183
690
58
468
77
38
727
619
808
725
767
116
844
944
332
140
633
781
525
170
747
316
504
282
593
663
679
449
14
368
747
424
456
751
428
650
786
308
429
244
168
611
32
760
884
327
700
578
442
7
640
84
911
815
937
296
483
645
581
583
572
416
881
162
127
425
21
607
388
384
570
207
135
729
858
134
578
266
711
615
171
610
234
701
107
505
751
461
48
847
752
826
214
541
724
849
563
124
671
6
17
946
711
879
567
9
851
121
511
248
763
841
679
237
758
936
897
441
803
313
87
423
600
183
720
373
93
789
224
679
209
800
576
198
138
558
400
796
400
154
746
909
325
800
389
51
865
933
679
604
508
822
976
646
530
435
987
434
537
958
154
630
10
435
709
572
303
900
48
474
197
147
625
438
486
742
61
811
356
898
974
968
560
783
883
860
234
888
205
127
651
830
214
266
108
449
112
258
885
167
677
361
987
712
597
726
447
373
915
509
256
29
864
591
146
95
524
873
385
922
627
581
778
390
235
302
921
763
392
989
589
512
455
452
906
671
295
865
588
452
792
153
614
204
360
238
134
883
766
316
624
416
968
65
475
242
918
96
958
120
603
128
965
91
775
86
588
476
25
402
982
604
551
890
57
159
728
228
618
929
592
37
60
13
238
794
974
505
225
61
366
82
747
977
54
487
544
438
255
126
733
547
613
408
695
112
212
600
192
231
305
395
233
402
343
302
11
278
744
422
872
534
540
339
801
212
297
278
431
580
789
335
997
539
910
564
383
696
51
118
218
256
246
956
64
421
622
18
317
241
587
196
702
795
834
742
965
805
759
711
237
690
630
183
526
424
18
199
265
173
684
88
393
828
176
104
87
573
365
123
388
685
791
455
540
36
461
343
633
30
654
622
696
605
421
451
397
152
881
747
428
159
292
5
445
353
198
945
429
395
259
891
564
872
756
75
361
741
745
284
699
691
325
34
993
189
175
677
534
744
159
167
256
902
766
62
454
100
650
282
209
335
221
869
675
996
597
672
228
480
180
338
459
166
129
254
383
266
779
141
411
512
734
461
951
149
797
197
864
390
698
338
471
970
953
389
113
75
769
986
977
876
585
721
96
527
788
222
586
103
969
342
813
196
274
756
878
491
900
306
469
332
759
386
997
312
612
465
753
855
199
993
695
444
922
512
847
204
542
623
550
462
307
557
855
340
192
125
534
119
490
166
411
46
306
573
103
830
774
572
190
681
620
584
742
953
422
463
850
583
447
422
890
512
782
830
591
272
141
600
821
864
31
642
582
219
724
553
407
912
60
648
837
517
4
228
296
983
188
616
709
29
611
296
959
638
617
562
205
254
323
936
941
677
10
788
459
361
486
624
145
89
606
505
604
14
419
355
982
637
878
729
972
109
424
666
858
162
587
518
926
679
924
892
127
258
361
845
522
36
587
728
600
451
575
101
457
118
130
907
889
191
903
650
19
663
652
725
989
753
986
305
596
687
325
696
136
663
430
332
605
479
154
486
690
865
157
590
966
936
672
317
576
462
340
317
886
146
465
920
806
654
871
261
342
623
945
685
895
524
867
330
3
545
209
512
656
526
533
500
577
911
38
96
956
759
731
112
449
154
188
948
848
685
258
217
38
162
993
409
232
649
207
172
804
19
812
636
931
211
1
47
1
204
160
629
661
482
441
811
880
759
558
985
33
799
395
429
624
691
948
761
494
878
566
327
148
328
540
953
735
726
678
884
292
159
537
720
472
531
573
94
67
116
387
238
442
832
628
658
416
188
305
605
220
240
659
268
692
713
43
169
160
292
45
408
894
675
259
84
151
665
553
27
396
971
778
281
784
252
129
514
590
597
78
210
645
249
6
431
582
425
631
603
625
886
336
177
925
822
725
925
93
373
205
260
482
853
489
484
714
710
287
561
710
250
93
531
710
176
333
913
345
140
251
470
995
192
400
850
454
522
515
570
149
549
86
182
681
999
360
239
740
624
626
235
144
873
780
841
736
198
893
277
116
172
622
906
279
34
579
723
907
716
258
665
96
723
451
695
487
444
668
616
525
232
301
740
698
68
936
458
926
279
481
627
618
193
868
179
788
264
600
463
594
508
200
949
248
792
946
444
72
842
992
821
176
364
852
171
511
612
586
915
89
422
44
860
572
635
494
663
620
652
235
975
456
793
777
856
451
928
816
472
306
439
16
783
570
915
557
145
741
673
505
65
434
479
416
198
233
93
301
362
725
611
543
54
150
714
808
542
678
796
784
788
493
700
575
893
144
559
282
969
476
235
878
426
902
491
167
792
106
802
186
20
475
620
686
159
338
299
733
724
109
741
526
617
59
976
992
724
134
963
287
383
595
651
203
532
773
967
632
772
867
930
759
78
47
694
766
588
693
310
2
754
820
893
756
410
430
724
762
760
566
240
582
104
12
275
342
20
62
324
154
709
456
388
431
255
911
23
900
584
983
589
797
383
546
497
512
869
34
38
15
374
147
619
235
972
967
625
187
794
347
641
317
493
124
395
810
110
485
449
844
971
548
390
353
334
260
372
786
958
110
937
168
86
717
296
648
336
589
736
618
359
78
574
930
361
547
733
143
294
181
528
94
717
70
522
850
481
161
978
376
811
432
882
718
624
736
139
668
137
659
331
692
733
80
233
587
983
827
2
356
656
798
25
348
933
25
589
883
769
553
837
128
237
126
908
34
918
352
934
850
159
261
898
35
730
885
888
536
128
500
254
345
708
695
311
464
59
598
158
491
392
699
353
44
490
531
202
886
124
432
669
304
518
616
526
369
847
949
177
873
106
803
834
691
374
755
876
467
81
209
170
833
757
818
517
319
871
6
885
91
163
570
28
629
948
894
52
702
495
586
868
265
188
291
539
593
277
159
298
229
179
935
812
22
349
338
632
933
742
630
730
585
634
881
182
194
878
872
1000
647
973
4
75
757
68
468
806
368
921
3
384
798
719
776
331
735
795
73
254
215
620
283
809
442
390
711
241
387
97
41
750
862
775
815
902
137
990
228
79
135
830
210
118
378
466
173
795
403
380
130
63
732
541
321
85
455
488
247
557
257
929
839
654
861
389
166
936
296
163
727
804
798
150
21
298
652
493
263
295
175
919
700
521
287
191
967
600
944
289
146
575
918
959
665
188
68
961
290
524
252
824
402
634
603
202
359
480
508
171
969
458
695
867
459
120
745
155
780
17
468
843
452
807
286
522
271
145
743
864
473
509
78
644
46
763
603
106
674
240
193
725
738
712
119
92
184
834
611
220
462
264
942
919
814
955
199
229
678
161
533
203
363
791
219
373
590
488
725
55
736
728
416
850
946
616
610
915
24
534
926
625
34
428
527
565
202
836
457
104
949
578
844
259
220
835
693
89
698
778
970
871
98
449
895
257
240
720
164
420
154
512
853
984
634
146
909
984
188
623
101
187
421
820
375
63
656
356
947
719
889
451
424
62
534
206
664
49
644
754
94
310
205
583
77
638
725
27
775
701
353
684
800
389
793
854
667
808
906
275
452
579
730
376
168
671
139
777
610
845
890
59
399
277
555
512
423
23
329
792
487
942
570
51
921
217
365
639
290
770
881
505
318
133
28
607
310
499
204
335
960
503
503
636
712
15
797
10
631
669
729
644
996
740
191
223
624
599
732
891
598
291
58
414
174
978
7
403
677
315
311
719
408
590
73
108
579
988
655
36
668
280
890
931
677
125
189
525
706
896
600
777
403
276
687
354
592
779
779
59
783
162
645
936
938
57
721
922
797
671
897
742
325
221
824
312
415
246
407
731
135
294
992
616
248
788
750
593
472
312
664
391
998
416
856
771
398
782
523
632
733
275
119
471
739
968
867
48
529
340
22
690
406
558
860
325
939
290
160
642
918
260
953
353
615
224
179
251
882
265
843
567
75
68
415
997
161
582
229
742
118
564
231
961
710
666
107
55
592
649
921
545
885
494
33
343
297
769
269
609
794
833
550
552
494
262
661
262
829
972
173
223
518
926
768
32
16
159
154
865
399
636
691
30
902
600
129
296
462
53
593
325
998
688
689
262
527
331
471
362
162
360
893
987
6
670
886
421
487
857
756
289
988
414
9
92
400
499
570
156
76
780
622
860
976
202
593
179
547
72
747
998
925
809
250
665
284
660
289
770
460
131
418
132
445
191
851
311
412
250
20
832
365
21
805
496
872
793
26
862
652
513
344
137
285
289
845
211
98
899
267
661
656
6
73
391
559
556
32
846
837
138
328
97
687
19
410
395
751
71
397
578
576
272
362
920
373
17
206
14
248
300
691
163
102
5
416
781
343
176
318
121
369
204
196
443
951
361
333
293
873
981
322
759
207
704
566
943
250
399
669
681
838
248
389
420
999
898
891
625
605
296
615
92
260
8
489
686
543
47
531
954
705
392
783
410
522
540
327
38
582
913
221
393
764
340
160
12
624
137
376
553
672
664
998
890
294
426
485
457
268
654
712
529
846
788
840
473
295
541
271
316
763
431
984
633
966
28
808
779
58
427
512
211
740
368
719
377
450
211
26
237
889
153
355
689
212
353
709
682
7
35
751
193
837
805
245
273
900
35
966
81
848
575
90
102
383
183
484
317
65
40
458
999
509
576
798
900
596
100
568
642
429
578
116
39
185
535
29
540
93
719
490
24
550
853
896
729
73
16
105
761
682
45
58
814
322
796
220
390
506
274
522
599
631
940
632
231
44
451
388
831
531
238
939
315
728
178
831
802
937
165
822
844
440
849
900
365
682
720
846
9
231
862
273
63
642
577
763
541
567
410
778
251
545
122
9
722
554
749
346
585
990
767
824
739
525
349
598
468
626
602
111
418
707
89
592
238
635
77
766
617
997
967
628
401
303
71
969
912
310
652
218
697
419
621
327
472
310
756
423
44
107
132
325
604
777
955
602
987
131
391
313
911
438
780
289
574
463
645
282
390
878
839
989
47
747
665
737
689
138
385
620
309
247
494
633
246
550
449
836
126
999
643
68
831
444
673
378
102
85
215
597
170
824
811
780
924
886
200
921
157
416
732
993
845
688
769
611
160
650
109
629
46
892
583
677
589
716
795
459
191
42
776
667
249
766
837
960
253
509
892
154
749
363
851
550
842
883
32
117
937
535
356
33
186
721
382
475
299
39
703
699
405
462
301
636
556
751
706
810
206
393
746
249
319
14
612
809
842
593
169
334
936
167
560
421
257
812
337
360
286
667
345
24
606
411
860
546
158
151
41
691
90
296
548
342
644
699
723
47
645
580
186
410
670
891
76
820
23
451
981
907
916
468
323
553
177
369
51
459
392
494
339
986
100
856
278
416
27
963
609
571
146
904
50
986
890
849
651
355
946
569
372
330
607
970
212
810
266
603
225
688
932
176
906
42
973
34
571
560
280
342
262
80
277
767
670
412
621
58
837
355
280
80
295
601
507
665
772
681
35
642
348
513
37
345
318
965
452
477
972
313
931
942
987
871
959
172
515
82
538
946
325
829
89
254
791
187
761
303
633
854
668
135
911
423
736
954
167
633
918
190
175
743
269
245
273
802
347
712
837
100
758
210
486
380
908
523
878
554
130
884
299
719
940
692
47
751
534
550
333
389
600
170
609
797
618
678
263
119
393
234
222
49
321
36
682
155
453
243
603
777
981
184
77
559
148
970
697
613
776
701
571
179
157
945
149
872
817
899
313
45
862
927
158
226
16
884
208
692
791
59
552
286
242
610
176
834
539
435
264
293
28
399
277
437
535
299
518
708
163
24
934
680
880
721
321
826
771
693
35
438
305
914
231
908
508
143
262
727
170
616
170
812
662
300
367
311
244
674
152
922
166
199
502
502
741
314
34
793
274
516
613
945
987
443
104
346
242
904
563
308
932
165
78
851
851
664
967
538
318
81
377
542
1000
463
397
887
611
13
214
500
447
83
197
900
104
351
999
289
55
667
496
372
276
402
596
544
874
19
550
811
423
408
565
438
107
407
393
622
148
560
470
820
345
110
315
2
896
204
343
838
497
266
922
783
765
715
102
744
743
903
88
572
436
581
865
562
46
175
806
422
106
192
407
189
138
819
480
226
11
994
393
879
859
241
675
159
498
137
719
490
618
825
241
790
304
653
359
973
948
518
616
192
836
609
855
523
360
89
278
265
462
689
149
97
928
610
137
54
652
724
242
186
358
889
949
345
751
446
326
455
415
746
269
721
996
396
559
61
851
622
242
443
987
224
459
517
31
63
614
391
499
391
504
770
561
257
474
907
932
198
36
17
609
82
726
852
771
85
301
934
530
704
525
175
909
602
586
835
31
320
587
31
347
531
71
116
833
936
555
282
480
743
85
491
655
740
189
740
876
697
663
393
874
922
559
847
955
286
115
750
949
177
34
250
40
296
45
516
359
245
626
58
991
380
786
634
382
804
478
962
754
472
553
862
344
19
445
273
595
554
129
541
683
777
883
493
869
216
170
951
652
104
422
27
664
480
652
931
908
859
196
60
103
596
874
476
881
862
870
995
417
243
535
246
634
31
941
967
516
204
939
720
657
873
845
905
647
662
592
875
80
500
469
684
527
286
264
523
741
721
700
117
285
366
928
733
447
411
790
277
523
606
903
981
133
143
769
730
776
703
559
249
982
523
568
159
854
800
408
550
455
582
978
123
546
398
603
886
883
273
769
85
116
825
701
773
125
908
671
491
788
826
706
353
518
620
714
614
859
711
476
519
386
893
96
481
1
605
549
612
657
698
646
137
790
817
190
293
879
699
707
258
524
209
142
168
6
867
219
45
807
580
903
154
863
568
969
794
553
976
617
17
611
988
614
240
266
961
276
49
671
976
684
560
578
749
261
145
40
404
610
439
175
538
603
4
569
794
83
802
50
997
223
412
842
907
833
98
217
410
244
435
575
316
966
453
370
86
86
676
229
168
902
668
948
433
970
66
888
929
721
17
834
226
559
197
474
864
687
728
71
621
159
923
288
521
53
685
165
988
289
34
242
249
554
707
946
783
389
841
336
946
484
366
459
680
613
332
975
227
115
609
260
817
615
726
275
300
589
667
286
901
918
153
791
721
213
704
116
918
337
748
757
410
36
82
488
413
53
667
458
477
454
48
174
273
438
788
324
812
828
441
397
863
213
213
875
305
59
418
750
278
586
978
605
767
56
29
520
396
289
94
205
219
615
490
715
694
967
245
178
328
928
344
286
678
414
158
97
134
397
144
172
667
899
248
585
44
433
386
979
465
457
707
670
606
308
44
932
671
307
140
765
13
499
326
877
571
565
769
985
365
633
253
853
714
422
371
513
24
682
229
743
432
475
179
738
238
961
942
136
393
89
113
391
535
474
548
40
538
627
248
159
233
215
631
443
155
721
229
208
859
261
467
542
717
212
450
231
778
645
558
668
295
209
883
330
268
550
10
427
716
757
167
900
150
667
784
744
506
133
519
783
882
55
553
407
370
830
670
597
383
864
575
483
450
228
320
84
681
229
495
785
643
552
755
454
594
833
779
769
601
451
373
266
251
889
114
397
534
83
528
356
596
151
369
345
913
38
607
784
341
525
218
451
963
356
131
735
557
298
602
576
973
741
966
893
303
79
480
869
130
512
610
831
696
906
706
250
209
448
363
741
632
1000
123
757
413
884
714
874
773
698
192
749
317
108
469
25
695
370
982
956
472
873
959
358
844
477
941
840
552
991
388
307
73
384
338
393
926
895
512
629
642
608
983
679
743
604
760
842
231
75
836
562
441
752
27
473
57
524
245
279
368
7
302
653
711
925
869
81
426
713
76
128
700
569
638
951
918
408
553
963
511
25
168
281
134
380
358
966
469
575
995
610
787
394
738
587
992
986
702
215
91
696
694
121
77
700
132
821
72
809
188
405
713
428
730
484
702
507
166
363
784
559
104
112
968
681
186
839
984
1000
942
552
275
397
490
772
847
337
232
864
325
281
265
133
20
627
219
337
422
830
983
740
962
151
667
941
901
809
100
42
430
227
965
663
395
32
519
461
493
195
558
940
859
655
962
545
189
949
634
834
416
808
209
702
745
867
869
102
214
193
507
80
64
579
211
732
745
368
837
361
285
359
805
281
494
187
258
75
265
865
59
861
918
916
84
651
53
762
869
894
55
502
13
363
731
223
15
323
942
716
172
105
953
752
235
230
877
85
520
518
284
63
442
232
648
624
690
441
552
689
783
848
412
949
758
675
460
252
512
801
214
682
152
619
875
210
701
350
316
334
221
467
931
857
507
875
503
938
985
231
785
325
389
421
473
415
723
179
782
635
673
223
963
477
528
90
726
820
314
348
736
175
708
542
1000
215
196
903
911
874
228
265
273
180
438
629
649
997
675
95
976
50
844
414
563
502
35
849
706
585
234
564
218
962
641
653
6
344
168
864
294
1000
602
423
623
864
691
931
875
599
733
191
550
285
793
162
626
312
280
647
457
615
17
889
25
864
161
88
500
692
653
547
74
689
317
663
401
633
281
760
841
84
946
774
919
102
973
962
971
201
267
902
220
646
17
668
459
370
873
470
11
617
984
424
873
49
834
150
871
450
235
914
154
563
450
860
48
417
356
597
692
366
136
659
954
94
976
806
837
486
771
266
454
874
802
158
663
795
465
392
822
285
649
66
453
139
912
65
125
187
899
128
912
700
208
815
789
740
90
789
997
291
779
719
27
618
160
715
745
777
69
86
611
926
739
954
518
86
382
949
267
57
324
391
241
690
176
514
206
106
356
809
123
382
425
262
818
319
345
698
782
961
490
634
213
949
318
625
197
268
641
69
94
514
74
218
491
732
975
367
333
742
671
793
563
378
335
671
882
539
426
781
906
849
457
650
987
120
319
730
858
459
133
287
121
935
597
521
638
669
365
333
672
248
452
793
654
240
209
591
420
708
938
487
159
471
520
672
319
80
76
691
461
939
580
48
356
615
784
991
134
895
710
868
707
991
742
545
309
187
589
253
584
645
699
57
594
523
302
896
715
90
993
376
781
455
261
913
176
651
693
531
729
692
139
413
270
525
239
58
956
326
946
23
567
226
547
787
507
611
191
566
814
454
66
290
260
549
205
311
775
68
609
543
14
945
978
862
398
917
700
30
292
851
442
96
580
664
830
489
32
313
112
534
301
222
303
479
717
801
735
943
319
786
149
405
287
642
208
143
573
74
189
74
857
829
292
406
628
706
642
475
193
640
424
799
302
570
350
176
125
456
293
101
276
469
742
503
243
175
209
34
177
671
820
853
184
402
378
10
442
440
597
452
543
558
923
910
182
691
325
105
24
928
602
484
120
532
260
559
510
943
50
251
304
620
738
674
390
104
161
100
609
434
497
941
696
111
184
314
396
37
949
6
707
240
663
670
925
217
983
576
953
205
567
986
448
458
101
266
930
689
680
658
474
229
664
791
978
783
39
520
951
252
105
43
506
97
955
24
742
475
825
85
916
758
2
947
943
844
557
887
286
564
217
742
565
866
455
916
120
187
200
433
881
466
412
74
791
416
607
746
466
910
234
204
682
170
970
677
431
429
530
327
29
857
627
755
531
42
891
273
179
856
734
865
651
752
372
420
207
723
86
414
721
204
79
250
38
18
898
949
62
716
811
666
831
884
453
136
532
1000
601
163
132
328
396
626
135
655
325
355
682
257
706
280
623
988
218
97
480
459
29
561
989
454
305
283
775
502
253
465
341
862
447
76
379
506
886
692
848
257
513
459
899
63
368
650
466
770
794
924
978
799
243
357
956
433
439
826
163
793
539
952
591
23
102
595
346
108
790
931
919
283
272
712
5
262
987
693
351
973
444
28
487
806
543
642
629
788
351
691
125
38
222
914
303
951
948
839
241
210
17
549
469
640
507
21
145
255
756
459
537
835
523
786
324
380
909
492
613
636
712
487
703
484
860
622
117
144
659
646
453
340
49
521
467
554
8
995
60
1
437
810
552
240
678
97
591
603
375
160
38
34
262
157
365
397
525
604
186
481
759
19
528
128
899
173
566
722
862
513
236
699
18
395
751
647
436
937
286
831
916
450
731
658
167
528
825
253
163
516
402
479
572
583
697
889
760
297
332
297
921
146
962
875
973
863
728
569
936
969
397
170
290
919
647
403
64
343
202
913
753
851
264
259
117
218
197
692
120
876
545
633
86
229
954
207
360
596
652
751
206
960
868
849
617
665
954
442
124
631
715
45
918
221
575
513
565
523
320
599
870
289
128
213
429
131
4
183
362
719
163
909
130
444
404
910
543
686
847
233
282
688
331
318
719
23
845
438
443
459
20
10
15
202
695
845
275
133
756
258
449
795
721
576
913
216
592
605
351
114
281
667
705
173
902
175
690
802
336
361
127
769
200
998
355
858
841
767
204
562
618
229
435
300
181
550
905
941
41
570
189
51
726
308
323
234
997
775
722
760
858
624
552
330
654
734
998
951
165
960
788
18
321
95
455
141
648
375
679
878
802
872
75
946
23
579
474
529
805
704
400
772
965
389
620
603
683
913
221
571
802
639
50
734
663
778
995
558
135
571
502
822
634
319
638
362
335
857
856
745
393
256
971
550
846
192
209
535
436
828
843
940
485
899
850
499
148
553
22
709
746
876
172
443
459
868
809
59
121
272
575
941
866
988
712
251
118
873
785
552
635
726
227
260
681
332
964
94
783
576
682
987
6
309
992
667
531
259
308
137
23
435
430
225
363
12
334
782
462
655
866
555
948
656
747
366
826
413
241
646
424
726
876
116
619
517
457
602
213
998
828
634
29
311
840
914
218
907
629
846
233
921
654
378
123
507
159
193
408
323
989
795
626
210
126
831
364
417
911
923
158
522
40
227
371
86
354
153
119
760
48
179
729
249
107
794
284
56
353
826
950
93
208
713
890
158
328
102
934
285
325
648
333
325
619
320
17
959
955
631
958
630
601
589
51
181
8
586
643
228
83
299
406
546
374
602
452
852
72
899
262
78
429
176
473
106
920
55
639
610
25
378
428
70
76
332
500
314
648
152
957
293
787
878
529
469
788
442
635
734
979
27
401
189
672
850
470
297
577
677
611
379
500
775
74
670
631
800
791
701
388
562
135
926
940
907
235
656
303
211
453
140
517
284
235
970
337
86
22
4
389
138
260
376
918
6
671
954
843
460
985
301
650
42
62
509
93
585
390
144
197
24
603
33
861
645
541
991
948
171
683
696
479
571
339
794
431
243
20
262
238
267
818
702
175
953
383
329
548
37
953
562
327
86
571
95
967
482
943
317
119
380
457
936
315
509
87
109
129
180
517
270
236
712
648
235
801
693
730
262
532
112
832
300
873
277
690
995
118
360
183
402
39
275
754
896
350
364
911
648
43
376
196
564
25
130
781
958
969
447
891
993
496
965
966
504
802
641
686
740
519
387
853
444
743
386
271
213
274
558
968
893
248
787
375
950
89
589
623
98
61
435
275
576
664
514
807
362
332
189
130
782
772
367
45
241
121
569
783
575
614
50
164
689
890
198
898
50
617
673
171
429
775
529
691
542
509
58
123
303
377
444
62
28
765
620
449
191
624
322
930
542
9
511
836
778
455
174
944
637
376
604
948
818
467
109
217
630
21
668
440
226
94
388
762
55
230
106
537
478
285
859
315
104
215
533
37
477
439
127
585
80
863
689
285
231
371
340
322
844
307
190
530
124
273
567
37
352
398
416
6
134
533
517
483
889
823
937
319
316
163
801
201
263
772
504
265
898
310
76
444
950
725
552
765
803
550
393
163
266
740
856
204
212
353
629
181
444
661
164
899
420
114
395
853
773
63
212
277
234
47
613
282
612
620
987
761
118
457
181
422
136
539
865
116
216
658
175
62
565
791
80
233
830
456
334
489
604
798
125
385
300
178
192
389
478
20
30
306
208
999
328
45
469
913
443
177
392
922
151
594
170
420
171
68
337
911
753
269
67
237
842
648
707
961
613
824
344
455
914
218
639
932
153
501
205
522
337
16
186
575
231
912
860
597
820
445
368
409
149
304
588
378
772
451
805
530
176
751
652
636
368
313
644
620
458
210
83
198
609
173
610
102
295
447
44
21
25
680
935
515
538
438
121
834
336
301
865
764
879
480
273
859
921
871
218
124
302
342
582
595
107
748
592
304
79
809
41
880
960
44
877
683
165
187
18
329
44
719
859
735
210
993
746
657
781
930
295
376
283
116
283
257
161
574
528
317
747
127
164
780
187
524
843
248
443
837
34
240
772
27
196
796
627
792
750
584
230
810
731
575
922
200
226
462
60
499
355
469
493
868
999
461
64
744
247
505
949
261
534
753
599
915
112
744
534
181
914
466
606
883
367
701
211
301
407
280
851
264
195
835
164
778
794
834
875
258
449
945
133
817
679
441
652
411
442
937
133
246
317
923
37
796
361
896
832
394
814
974
521
711
97
506
851
215
466
381
501
505
638
768
986
82
852
931
227
626
168
683
86
378
51
42
793
789
373
738
454
284
17
794
411
252
153
395
236
502
837
667
990
120
303
466
544
610
739
336
657
41
885
613
660
887
737
485
696
281
183
532
818
976
315
339
880
637
997
309
518
638
649
1000
424
209
301
39
687
107
250
611
316
198
448
861
550
263
519
530
771
264
148
562
871
640
534
131
335
390
744
626
465
449
57
140
451
588
643
702
657
150
196
738
490
95
722
843
158
506
531
11
859
977
71
113
424
41
195
603
699
397
680
887
432
135
283
832
877
154
866
617
168
946
25
682
195
369
813
761
599
730
533
805
303
622
208
219
66
822
694
636
298
543
866
828
804
636
651
93
522
402
524
132
638
639
745
561
784
637
585
447
986
600
488
925
130
884
671
507
843
562
172
410
601
958
923
500
826
826
817
895
472
454
880
124
224
573
570
331
84
412
854
11
427
922
111
214
106
836
499
833
42
328
109
30
271
953
760
904
353
113
641
25
349
996
450
129
981
488
554
735
989
864
291
957
940
742
867
143
554
275
925
336
592
401
733
598
257
314
214
37
947
170
32
568
135
213
874
66
329
683
147
42
701
375
270
350
483
954
36
100
726
789
132
840
287
902
27
237
356
659
458
127
616
189
436
536
332
36
840
824
562
537
7
675
231
768
368
403
357
52
724
183
138
648
901
846
419
163
920
294
956
211
407
177
798
454
149
303
771
767
840
842
2
589
521
106
262
552
51
728
731
626
846
73
487
53
450
185
134
117
670
276
287
43
519
943
423
175
658
218
773
605
289
713
103
93
661
75
469
954
170
660
116
805
522
987
370
296
90
849
96
107
531
361
69
826
1000
608
558
118
199
717
684
331
434
974
573
396
699
953
624
176
903
915
980
363
114
894
678
989
438
400
908
956
671
757
590
152
457
236
938
606
564
241
930
991
909
188
644
624
925
545
470
647
200
749
312
32
389
790
701
928
188
265
112
329
544
1000
321
980
927
265
265
57
331
544
922
296
78
295
474
962
479
588
224
208
97
900
569
141
96
287
531
684
53
978
200
180
811
549
561
534
448
977
393
610
854
797
563
855
282
202
179
63
637
966
12
866
242
385
390
26
96
733
932
607
878
26
126
239
957
545
370
832
595
521
565
491
903
570
204
387
797
186
511
704
825
192
189
648
955
65
388
101
538
360
910
828
984
413
365
511
567
817
931
5
606
190
636
307
164
677
332
574
602
872
224
735
620
212
997
458
783
174
955
33
930
778
944
768
70
462
862
592
871
26
689
822
387
47
280
114
730
807
591
361
269
777
226
384
520
738
738
655
102
524
491
144
416
65
449
314
450
397
606
234
86
994
920
48
233
610
953
660
265
860
798
174
792
904
743
614
203
944
664
360
640
373
544
421
407
324
600
759
876
251
49
46
848
488
227
898
397
766
461
25
127
924
537
941
555
303
725
859
632
809
473
295
635
496
167
99
711
46
487
116
476
729
140
743
511
647
265
303
95
651
374
805
647
724
642
805
315
908
451
523
468
835
576
705
908
583
397
139
492
36
396
40
773
583
635
564
645
176
518
148
494
119
41
946
739
800
674
384
37
213
582
158
278
226
381
931
193
121
777
403
864
850
988
138
690
427
753
471
758
792
474
335
289
243
903
194
10
492
53
19
74
76
769
325
553
799
985
574
977
847
169
943
271
982
535
667
246
628
137
692
896
446
494
391
835
385
791
567
172
250
64
965
43
343
790
813
775
264
918
985
762
235
810
593
168
839
414
914
239
360
408
283
391
170
816
833
362
763
13
906
270
474
97
411
247
843
920
678
640
682
408
548
262
559
193
972
497
173
938
682
532
342
152
792
730
861
523
514
586
951
123
689
560
731
329
559
423
442
823
528
724
668
699
662
85
300
284
980
59
946
949
302
894
634
961
431
768
416
366
685
880
564
136
548
367
796
781
892
303
165
149
643
590
48
287
101
88
173
472
842
795
724
255
655
111
282
302
15
753
361
771
590
86
680
924
903
679
776
500
524
184
687
221
938
378
388
96
763
867
730
505
526
589
757
770
87
703
202
141
264
34
892
70
134
575
200
520
501
1000
228
166
715
766
544
82
153
219
61
638
966
402
205
501
828
626
804
55
893
846
981
861
520
418
294
269
923
527
327
785
1000
484
130
197
645
940
99
206
66
742
612
818
367
995
223
482
899
491
237
533
665
804
5
538
802
858
940
735
727
315
977
482
284
820
768
437
134
628
428
747
453
130
672
302
969
114
948
528
462
822
431
707
388
557
204
925
929
215
955
764
135
802
222
18
938
438
989
209
556
354
66
442
182
141
302
520
645
802
913
800
480
865
233
543
177
723
979
947
179
637
241
130
267
979
700
915
478
6
207
845
279
731
659
575
646
809
651
999
185
797
646
178
645
11
940
128
926
592
843
955
322
905
808
550
801
421
203
610
817
123
363
416
29
21
768
409
626
957
154
8
839
423
335
667
130
656
324
762
151
32
535
584
405
661
326
913
505
759
360
519
637
90
751
17
306
32
153
83
906
482
747
200
929
374
204
507
163
64
541
205
510
711
781
123
685
531
455
226
895
981
165
765
711
27
623
713
265
531
152
753
387
363
999
706
232
565
8
186
171
502
50
613
781
457
27
821
805
382
871
357
25
11
206
552
709
507
303
264
477
347
561
402
468
988
722
916
216
391
21
613
422
710
315
733
317
388
840
729
35
64
983
495
4
673
978
638
164
189
893
227
161
692
791
501
112
861
133
311
32
458
91
85
697
543
570
680
76
439
283
869
825
389
797
325
723
925
860
145
660
295
641
14
235
765
928
209
32
934
806
27
732
187
503
409
709
274
103
317
969
625
503
665
713
476
435
240
567
61
250
125
110
790
569
572
7
601
878
22
896
84
338
84
822
547
668
986
237
779
470
964
77
942
84
571
421
574
81
664
262
860
910
375
391
682
988
504
938
882
329
909
299
496
813
411
506
691
403
5
739
310
270
958
893
961
784
142
711
427
366
818
215
627
984
820
348
905
541
125
498
912
327
466
402
493
891
307
293
419
741
218
531
828
94
357
841
517
218
992
483
872
783
168
157
669
67
898
332
16
686
104
523
681
425
727
768
839
152
950
290
647
363
835
298
735
955
26
943
333
208
268
806
523
508
600
390
952
5
826
616
735
258
781
226
393
528
553
349
560
244
481
538
207
495
937
448
726
249
97
884
193
161
301
824
511
862
46
646
242
909
179
893
12
203
405
70
225
757
706
557
623
673
472
562
569
349
740
710
672
461
838
127
897
819
341
708
325
133
835
513
850
806
62
737
837
541
42
371
263
115
96
555
418
865
470
138
292
431
314
367
407
608
855
527
959
299
674
887
709
101
184
464
972
865
5
786
35
553
284
509
244
465
542
224
485
424
659
269
179
580
736
292
509
966
690
72
337
987
82
731
78
795
576
211
826
200
893
491
82
665
233
599
573
648
961
718
440
165
790
107
857
542
106
157
855
447
191
642
729
499
273
339
590
93
915
605
614
543
815
793
289
71
106
428
812
807
410
535
992
951
584
143
983
737
142
619
711
475
609
529
872
142
812
790
941
429
986
145
999
954
528
740
630
994
823
641
124
450
765
804
961
700
983
849
476
841
822
650
689
873
790
920
222
375
481
439
586
588
801
87
827
270
596
389
403
927
77
388
117
785
521
258
698
657
189
546
376
431
745
340
286
341
248
142
106
647
708
764
138
494
86
154
919
3
249
328
701
878
141
577
982
90
891
222
655
151
112
758
611
312
879
159
508
937
543
781
546
790
958
347
643
119
209
545
236
302
909
63
513
668
104
368
717
803
288
294
362
200
617
69
671
234
103
499
685
733
151
287
934
379
977
69
197
439
139
404
48
111
821
533
693
102
89
291
132
774
728
935
549
395
523
171
21
657
942
947
359
738
549
85
80
683
644
253
646
598
199
529
995
928
281
298
914
286
435
836
800
589
384
365
101
948
386
944
540
894
621
552
863
269
330
207
336
113
448
601
802
838
469
962
423
557
851
523
44
832
35
859
673
475
370
196
432
506
491
609
721
389
597
753
65
366
662
996
291
661
506
20
68
305
716
410
210
340
920
869
925
656
473
993
57
621
287
545
609
567
436
402
54
944
493
883
539
854
378
763
221
448
355
690
586
139
502
747
930
719
163
321
442
751
96
181
511
118
251
42
958
870
261
650
358
292
506
420
226
992
284
246
997
194
299
561
566
131
175
603
399
325
644
334
864
70
125
20
922
530
499
180
54
255
987
948
77
840
500
737
841
958
365
797
761
615
210
358
290
330
398
623
350
191
506
47
158
824
282
450
570
783
536
644
10
252
825
181
37
110
279
913
639
966
185
854
191
298
585
217
7
248
975
688
721
620
75
591
309
86
743
618
795
380
852
370
460
742
132
374
282
208
70
792
837
722
146
944
63
917
171
679
100
639
865
891
795
178
445
708
154
628
378
610
859
620
274
191
633
849
523
73
482
661
238
625
623
90
108
541
103
858
898
2
793
265
778
684
730
901
816
754
256
844
430
966
385
527
525
454
404
330
874
514
993
260
286
42
911
69
822
143
29
547
418
183
557
47
702
140
546
138
961
319
503
542
147
303
182
630
55
925
631
406
876
516
848
617
193
755
985
246
443
474
241
597
129
842
479
271
223
905
718
314
739
861
2
265
869
280
823
928
824
745
316
309
712
468
607
723
289
929
933
888
982
370
703
681
338
777
716
409
593
872
754
103
883
398
357
649
573
431
672
685
240
946
558
984
345
93
719
888
695
968
244
582
330
470
838
266
278
811
24
710
111
337
826
796
301
737
562
525
653
222
784
687
571
55
438
840
239
464
225
117
917
587
128
639
655
355
576
32
834
275
980
468
764
398
453
401
120
661
950
717
878
428
461
5
815
52
861
485
343
67
845
747
769
630
506
148
327
318
17
41
139
484
832
219
775
358
934
764
348
330
359
105
1
820
208
391
426
904
270
363
261
146
986
464
445
929
913
104
414
662
674
377
566
354
333
18
722
444
403
565
904
215
837
200
294
438
974
887
206
221
985
167
594
290
705
509
908
379
607
703
439
223
111
399
777
548
749
370
635
927
51
669
126
727
445
677
323
778
698
719
553
90
570
409
846
157
907
517
554
863
387
9
390
611
123
363
854
911
19
218
121
664
906
484
821
929
189
873
733
103
516
281
390
907
231
373
257
648
991
857
30
654
188
738
564
939
669
295
314
862
24
287
258
946
776
632
408
8
643
94
214
908
169
239
577
994
261
369
194
866
620
292
461
46
292
130
785
173
953
477
741
715
446
833
973
632
423
62
237
945
595
462
475
208
584
210
634
848
831
655
611
448
810
783
117
752
322
40
401
661
647
998
329
200
592
409
390
964
497
541
56
11
526
512
152
587
676
930
451
230
232
471
552
682
632
723
476
812
713
134
89
397
521
934
732
46
764
616
699
208
182
201
567
538
602
61
361
914
357
489
234
63
545
78
617
99
725
667
676
740
98
625
930
12
755
701
147
162
992
472
339
9
794
580
878
810
354
928
258
107
969
728
323
70
696
417
253
110
683
525
904
552
562
713
53
598
81
518
862
78
734
599
900
222
904
423
799
421
1000
959
715
936
758
139
665
591
907
843
201
263
664
809
302
712
547
175
51
680
676
663
509
393
876
782
363
375
324
790
77
519
301
802
127
547
676
664
88
933
2
128
945
187
54
493
699
958
847
169
964
44
818
274
604
977
605
377
840
510
482
87
484
377
988
330
899
568
1
202
280
892
494
858
905
454
73
270
351
641
72
411
500
97
996
199
550
616
708
511
427
823
485
459
302
29
724
647
786
62
723
272
800
38
664
472
282
339
850
505
855
871
5
525
694
187
214
534
51
325
680
429
429
975
773
386
447
430
625
350
171
615
30
527
678
893
45
314
962
969
401
266
406
147
460
165
864
907
648
942
461
433
356
430
831
789
839
911
743
438
911
537
704
229
763
590
475
750
585
431
54
6
626
282
123
998
753
713
926
845
340
940
987
11
16
629
676
602
556
704
96
622
890
278
984
720
98
583
59
773
78
887
400
346
349
242
803
888
148
305
406
11
801
751
549
359
970
984
635
511
362
896
980
424
742
507
708
251
21
914
206
608
212
615
625
777
873
838
761
520
423
917
299
665
509
629
64
447
874
920
621
3
803
368
581
328
326
786
99
81
219
160
347
930
17
181
158
343
592
882
374
714
325
169
526
465
946
280
842
855
287
506
325
953
867
372
99
755
863
82
317
479
594
996
333
667
863
409
401
37
334
996
937
601
114
497
118
789
489
573
852
329
864
820
356
754
180
40
243
765
605
855
352
343
383
130
35
131
462
15
499
115
192
558
445
16
659
859
665
427
32
19
80
103
177
476
223
421
559
385
686
772
779
575
963
993
965
738
601
593
12
343
477
957
380
578
568
498
898
837
755
51
126
340
519
266
959
503
864
639
843
795
769
226
644
811
768
157
853
409
478
341
672
521
502
146
88
832
606
799
484
623
122
849
195
302
49
121
577
75
727
439
773
573
655
654
758
698
517
752
265
11
609
419
24
269
2
299
166
105
540
678
830
383
868
220
836
663
921
10
397
404
38
769
17
626
989
456
260
666
350
804
354
429
136
341
139
297
538
377
425
475
302
616
643
945
491
646
615
218
815
185
801
142
744
900
422
603
810
917
150
474
422
187
933
201
939
849
187
492
416
920
420
585
154
116
583
147
99
576
763
297
162
11
798
589
678
129
328
556
670
25
499
708
770
373
471
145
375
629
91
2
785
899
437
333
256
947
107
602
608
68
181
359
248
948
645
195
240
332
188
712
465
362
444
492
987
433
602
931
95
767
192
583
346
73
29
361
340
779
767
147
286
192
975
433
772
113
574
561
265
16
464
987
311
269
863
431
574
217
616
469
481
310
191
412
294
573
416
756
307
177
290
904
418
304
236
651
691
244
476
192
610
173
670
263
379
531
153
470
753
323
487
210
896
396
65
221
770
365
803
224
372
107
704
379
871
984
234
660
347
169
305
809
377
900
690
632
71
167
23
394
334
794
332
197
793
964
788
985
492
518
483
951
539
707
802
432
489
681
418
17
993
720
241
302
790
369
287
62
90
675
116
718
772
183
1
780
670
759
810
382
808
838
559
511
774
804
576
920
446
218
961
286
210
638
151
287
743
996
438
772
365
658
767
782
836
349
161
46
155
663
315
712
255
96
136
52
398
969
354
863
667
860
409
264
120
689
105
520
622
35
693
378
749
352
47
313
745
992
673
132
130
433
401
378
165
926
349
140
354
785
317
572
123
562
546
425
869
881
51
335
483
573
717
387
212
642
427
998
871
577
194
213
637
357
368
215
479
253
335
500
264
575
205
635
351
992
902
876
23
589
953
63
680
646
538
832
518
303
970
701
430
949
725
585
967
643
298
300
811
126
89
379
852
249
216
788
71
66
999
839
966
769
325
738
346
307
504
657
597
339
916
701
316
397
399
52
553
415
117
419
374
406
816
785
418
99
901
54
610
983
509
132
361
384
400
710
313
87
479
57
333
321
84
439
947
130
246
957
20
244
21
685
61
506
452
96
245
32
933
946
293
801
840
914
484
585
800
589
323
516
526
980
856
317
542
318
575
465
389
3
883
859
353
533
522
636
433
121
873
610
338
546
426
987
201
72
54
187
917
253
8
648
63
598
614
464
361
456
706
213
877
81
366
175
7
252
676
517
652
884
109
903
189
826
522
577
868
37
870
319
78
628
226
1000
196
257
282
734
941
958
101
791
821
973
317
144
990
636
918
154
755
332
456
621
729
392
893
806
840
431
364
872
736
946
830
654
937
491
909
142
475
508
496
407
929
499
921
625
61
697
6
81
399
969
566
377
528
796
98
70
226
67
689
72
570
288
475
885
624
772
187
694
586
586
575
769
589
851
345
358
566
913
848
583
530
768
156
75
227
802
986
524
901
674
841
97
386
741
63
618
198
494
172
442
472
340
301
910
113
645
809
146
805
534
241
976
663
969
935
990
870
851
151
193
277
882
785
937
872
952
416
256
638
964
467
385
344
829
339
927
814
368
657
852
790
963
316
959
631
613
265
469
363
93
265
232
879
111
603
824
66
362
850
649
606
577
116
66
177
990
572
553
796
257
666
924
517
900
339
873
643
190
660
111
605
94
267
86
120
624
189
443
516
764
362
208
726
785
243
937
568
60
555
484
668
549
353
859
801
671
529
199
882
172
69
691
785
563
622
401
435
703
341
693
349
633
544
461
876
575
176
116
762
59
243
789
630
735
88
490
523
238
356
525
303
866
87
570
435
389
348
214
694
1000
311
648
215
615
184
572
50
166
952
189
753
443
556
686
641
53
270
525
214
353
783
737
711
114
506
499
507
783
400
881
457
150
675
836
146
730
590
757
501
228
399
672
535
357
351
64
314
436
304
787
261
856
859
809
339
556
425
936
811
252
727
566
564
949
336
848
88
493
25
645
846
461
733
290
530
26
955
275
798
49
552
908
630
612
149
22
310
47
534
820
107
364
422
618
251
178
736
897
112
510
231
225
258
121
584
712
820
545
728
348
640
947
647
328
379
654
384
896
467
677
338
560
307
527
621
451
528
903
319
16
655
679
495
701
450
925
138
596
131
767
427
430
308
410
726
226
392
600
621
195
547
99
381
99
807
333
354
7
782
135
139
549
236
974
214
525
873
329
863
755
675
66
995
384
944
530
538
697
331
928
674
183
735
965
124
171
526
715
889
992
962
390
60
687
802
87
372
754
191
417
29
501
818
829
623
534
593
527
828
382
750
490
266
899
103
690
950
840
745
992
324
572
978
351
182
355
230
528
88
258
461
352
97
366
117
59
69
619
496
587
638
257
802
964
649
59
275
985
980
63
770
805
643
101
300
78
159
620
191
407
415
994
188
8
84
673
521
609
396
392
234
879
878
59
182
82
147
436
185
385
174
562
996
656
599
633
945
457
23
820
711
367
236
505
500
281
632
90
266
620
918
460
983
757
319
795
828
459
349
36
653
968
458
937
682
128
48
437
303
285
684
640
587
611
746
481
369
306
83
831
378
994
574
512
860
503
242
310
367
378
387
976
669
575
292
166
992
531
750
708
395
574
635
545
161
290
386
210
174
441
787
815
993
230
378
110
940
952
881
800
170
127
442
207
620
37
598
573
633
403
649
398
63
329
321
310
635
138
37
374
19
684
499
201
568
983
345
725
499
752
897
529
144
535
191
578
954
558
799
648
394
792
157
57
870
82
708
497
8
297
113
214
500
981
328
954
614
721
543
186
67
966
276
229
649
523
760
779
354
39
826
367
677
849
200
309
443
910
565
197
723
805
79
289
930
721
482
134
484
502
470
694
440
802
687
61
685
3
638
989
562
828
159
591
89
311
589
698
320
671
94
352
59
286
408
391
308
279
730
772
185
641
848
210
300
853
518
211
290
649
995
985
579
379
656
42
984
208
112
102
722
71
268
702
508
261
672
195
305
360
35
43
423
270
803
599
154
232
490
906
330
41
294
473
206
274
829
435
670
894
591
816
527
594
277
832
689
923
844
867
160
779
915
438
47
143
231
879
723
330
87
967
174
572
711
94
169
152
631
552
132
232
204
41
139
306
838
840
901
480
903
73
147
879
799
728
234
736
53
483
984
562
279
913
809
24
849
23
880
646
66
776
892
397
205
866
140
114
104
348
68
572
683
39
396
624
49
669
581
75
274
944
818
586
94
585
848
326
537
767
763
267
188
907
637
437
590
409
222
517
184
973
151
252
227
522
587
334
173
266
341
717
48
893
141
637
861
490
211
816
937
269
383
544
937
76
722
642
294
969
880
991
960
784
476
287
669
740
548
190
825
683
455
801
175
483
401
188
952
379
854
62
534
455
195
705
41
767
708
60
347
866
675
94
432
952
915
715
75
60
489
548
354
259
139
371
699
838
124
147
150
774
539
687
373
28
794
329
898
454
478
664
772
897
557
484
911
783
948
97
789
859
257
617
448
598
801
860
250
121
983
460
512
823
156
48
304
389
641
618
904
73
411
443
131
438
264
814
217
165
454
629
218
734
585
922
666
533
94
322
700
821
6
455
595
832
50
95
344
111
175
970
892
369
294
140
616
255
564
394
346
95
770
646
799
521
662
928
109
845
391
406
26
449
784
992
369
428
905
864
977
808
438
88
242
604
496
186
227
975
506
271
982
742
660
304
318
643
427
53
57
542
775
447
44
818
952
201
589
564
75
883
787
664
158
50
525
48
813
674
861
592
94
136
905
429
602
967
715
680
905
364
878
753
153
248
975
719
395
805
340
744
823
459
63
597
870
475
896
557
680
249
158
924
718
173
587
354
757
312
422
588
316
524
370
719
181
820
438
880
537
797
483
65
583
715
574
191
164
36
426
978
24
672
414
668
623
876
205
123
106
132
363
459
996
666
635
703
461
467
417
653
538
984
442
302
235
914
144
824
738
764
558
906
302
522
262
363
854
208
947
786
424
715
409
991
760
795
913
530
291
891
410
819
39
124
468
908
911
453
759
598
514
854
964
259
953
648
236
564
365
475
884
754
110
615
576
336
750
593
124
822
984
873
493
346
433
681
603
946
400
246
21
313
751
270
978
825
896
489
31
684
429
525
829
311
530
941
764
608
79
180
426
482
172
484
555
117
679
292
920
855
624
607
261
159
321
584
76
260
634
362
124
607
501
383
772
406
761
382
43
819
685
111
444
224
463
400
459
94
922
713
457
906
307
735
406
200
505
434
809
915
385
288
418
869
227
685
851
415
691
508
24
518
513
956
657
365
420
407
154
653
758
502
320
643
39
539
377
669
723
557
698
665
604
915
608
6
825
833
122
610
455
443
817
147
375
70
870
511
810
508
618
997
267
937
69
304
550
58
309
295
55
312
384
655
8
247
372
875
822
425
347
610
304
865
522
312
353
68
240
309
533
642
292
868
590
115
750
607
412
427
259
667
903
679
771
872
786
190
355
771
746
196
117
31
615
943
483
176
724
135
143
538
516
664
663
582
847
887
390
191
596
657
878
66
25
993
377
360
984
218
180
282
456
669
722
163
376
383
464
916
960
205
717
989
833
161
479
27
538
183
43
899
703
979
350
374
990
817
129
862
521
285
490
492
935
756
457
258
68
841
788
193
760
271
940
928
941
323
521
983
358
779
272
610
229
649
1
432
292
82
318
907
540
934
411
599
323
75
896
226
40
426
569
251
118
162
643
895
488
404
33
69
669
43
924
486
201
886
818
703
1
64
865
707
792
693
165
12
847
403
835
379
893
416
244
108
694
224
247
814
517
186
397
244
718
970
995
770
110
748
220
705
865
585
817
278
743
231
949
884
404
48
332
597
296
825
578
335
560
178
989
974
182
408
937
31
104
969
676
831
145
591
118
71
876
927
655
549
536
585
946
321
451
183
473
633
893
473
722
579
989
820
803
740
403
984
867
502
554
41
188
481
615
912
599
762
318
306
473
888
259
635
894
278
480
331
226
167
136
945
97
794
487
347
728
358
808
844
743
478
616
750
322
276
55
18
707
641
229
667
705
834
654
864
42
157
88
311
401
34
577
762
566
418
682
295
393
442
844
604
481
882
88
815
345
377
357
131
20
839
585
568
217
637
94
81
102
702
60
954
121
175
149
412
616
272
919
64
785
550
863
165
564
782
210
434
728
999
593
207
18
424
421
158
766
634
374
717
93
298
975
186
336
715
621
619
821
628
785
644
299
978
692
522
731
771
326
619
803
205
843
89
554
28
225
456
669
379
237
135
44
814
630
646
183
169
775
448
961
266
871
484
727
429
651
727
433
916
595
322
526
772
473
887
587
639
574
841
245
934
85
882
997
687
71
321
553
622
368
264
594
853
255
616
934
397
248
698
699
571
601
763
776
960
514
684
277
199
770
696
849
955
720
194
740
881
461
804
293
633
902
606
131
283
686
853
275
283
614
1
591
148
234
328
233
349
847
685
507
811
532
688
986
399
570
675
260
391
405
651
402
251
177
775
461
972
507
581
401
855
412
431
130
422
776
939
409
381
235
606
175
292
918
191
110
844
806
982
313
554
83
512
403
68
953
479
459
976
234
619
946
59
655
708
145
625
6
547
460
146
559
582
967
58
270
337
548
199
587
89
117
754
921
981
644
124
507
564
173
944
856
234
849
325
737
236
441
692
914
347
980
898
857
289
308
467
941
462
456
504
201
466
898
742
901
743
664
503
243
412
458
59
659
354
208
366
218
15
782
461
174
454
710
66
609
360
567
47
73
534
912
702
911
521
13
178
175
261
316
98
619
710
292
116
336
626
32
324
446
952
906
846
6
945
671
821
388
93
52
720
937
357
805
451
827
419
515
562
417
569
660
526
698
694
158
27
454
401
269
319
300
661
498
600
497
541
378
977
812
476
738
854
760
358
463
35
378
792
762
858
680
622
784
711
448
382
619
731
365
371
334
89
348
353
811
115
490
8
66
763
338
573
76
42
898
772
704
540
236
122
980
21
904
268
473
280
302
516
636
89
467
547
311
780
224
937
760
535
652
344
29
155
496
129
701
250
952
472
511
740
506
488
843
88
503
381
98
843
239
336
903
437
712
262
30
546
509
32
192
786
445
590
537
861
50
581
564
972
593
591
843
553
104
310
479
548
90
474
134
716
777
572
41
363
890
223
233
286
964
401
116
699
472
39
785
36
689
127
149
929
38
594
709
920
656
220
953
605
366
274
238
160
836
501
765
620
299
580
419
274
908
468
53
291
888
345
589
665
639
987
956
496
811
655
190
313
829
644
768
621
758
840
809
909
770
698
678
248
599
507
578
384
368
778
359
361
36
667
880
235
447
972
224
827
224
362
252
457
798
73
985
716
850
674
217
571
488
928
679
272
171
879
224
364
568
967
250
277
265
826
57
874
770
872
939
75
376
16
562
670
45
870
98
632
584
716
952
291
978
788
60
837
518
334
511
747
992
370
841
718
262
108
44
21
656
325
608
520
371
868
226
502
870
231
169
71
782
207
584
869
62
964
839
890
403
114
44
124
152
594
840
367
305
933
202
126
3
834
210
618
177
111
980
423
733
944
38
579
737
562
707
665
106
938
97
652
948
207
986
210
223
12
37
159
461
238
816
954
380
274
874
896
617
170
334
513
822
496
648
325
841
86
653
194
781
315
660
958
935
493
341
3
523
921
229
126
212
742
383
873
38
323
448
776
522
768
155
939
388
481
615
282
777
846
963
582
314
732
184
576
972
347
899
115
221
25
475
103
780
235
300
322
71
690
746
768
973
658
189
747
826
33
395
310
638
665
352
854
225
213
228
132
832
439
612
336
956
173
18
839
7
864
832
731
441
847
357
759
362
16
875
542
570
528
448
139
992
568
173
266
412
427
345
192
434
21
422
180
205
570
308
685
384
387
810
243
74
950
257
436
151
224
14
845
157
830
967
610
826
64
852
261
118
162
883
244
575
205
293
570
275
805
727
963
860
621
901
467
321
45
730
96
772
234
693
335
91
515
845
155
534
200
539
642
776
22
757
842
144
139
263
751
136
521
707
920
278
534
261
244
301
51
84
907
594
763
437
60
71
447
252
724
41
837
354
528
187
704
351
463
792
587
734
843
404
851
279
687
97
462
669
583
828
260
512
388
144
826
793
784
186
15
180
297
379
73
38
937
72
372
148
492
188
951
112
680
162
999
337
1
998
674
591
135
324
603
107
795
132
896
149
178
962
225
789
343
410
728
740
648
381
591
47
476
540
281
733
722
285
493
873
688
259
547
402
686
557
90
519
123
340
902
450
353
620
950
306
675
29
537
551
632
902
877
835
431
304
146
576
771
120
606
318
691
340
600
940
985
186
5
51
310
261
912
126
889
741
503
733
863
276
600
399
285
90
477
866
546
129
482
252
67
410
783
876
875
583
126
561
968
894
523
268
555
125
304
758
997
872
289
423
817
946
277
443
270
632
448
571
23
512
846
418
893
444
262
611
257
331
322
150
874
750
844
32
438
957
585
700
628
81
940
234
369
971
659
992
695
120
511
728
985
506
152
912
768
834
739
474
424
762
852
302
573
896
862
587
10
466
488
742
148
498
156
162
706
410
328
242
465
298
997
877
815
849
114
779
505
479
995
658
224
934
910
849
92
620
160
689
29
45
236
77
831
375
492
720
53
823
465
714
439
693
1
904
148
238
184
308
386
799
871
560
28
91
487
740
457
707
763
127
174
567
947
178
754
431
648
22
59
306
432
815
386
742
504
186
656
498
978
430
186
995
456
854
923
600
145
218
84
376
445
566
578
360
526
347
959
403
112
251
846
924
964
91
891
775
837
530
341
12
504
509
407
710
470
579
213
467
299
336
969
330
309
759
342
440
207
532
845
521
158
310
213
825
546
870
937
69
493
349
708
980
62
258
903
123
738
4
207
659
395
55
49
356
799
399
754
385
28
616
501
783
367
331
335
986
4
5
406
393
882
511
220
707
143
465
923
266
117
129
613
405
449
469
651
65
222
215
858
745
996
67
659
967
19
668
965
638
603
494
302
672
927
563
638
368
589
981
83
652
741
274
652
737
771
146
628
563
916
741
406
156
902
547
623
567
847
851
133
371
865
714
165
213
35
432
133
273
211
468
368
959
994
339
612
786
775
654
440
408
743
312
503
825
433
247
363
629
147
644
652
75
738
165
823
286
904
8
555
947
676
836
194
279
182
71
621
834
802
749
987
331
185
469
893
989
961
741
808
106
855
343
534
593
957
505
535
744
934
743
163
451
401
62
120
792
774
997
571
786
544
680
59
649
145
989
633
915
138
478
247
534
321
918
421
777
815
798
738
636
739
107
839
514
95
468
440
127
347
419
538
615
614
451
282
605
852
62
445
455
204
39
490
457
710
758
344
366
521
394
296
335
683
812
641
158
546
153
279
461
624
644
679
70
519
448
839
770
824
748
839
836
890
262
953
955
988
675
464
495
45
98
961
365
49
14
366
656
115
884
617
697
899
216
502
797
894
522
16
288
712
362
958
714
968
549
752
562
192
432
833
803
347
632
264
474
98
815
717
379
495
865
274
343
50
428
832
464
46
975
316
187
178
665
281
616
439
439
581
183
915
431
914
854
365
899
183
108
395
264
585
569
284
180
987
189
611
771
286
844
416
936
437
979
382
847
180
125
942
365
457
676
611
493
728
305
335
693
519
502
184
269
943
338
785
205
897
434
111
412
80
679
852
715
894
472
164
273
295
76
673
827
36
119
822
905
352
226
869
272
864
88
70
211
586
157
630
230
412
761
430
165
584
526
971
708
537
121
769
23
94
901
63
634
979
882
485
315
241
837
377
181
675
871
777
175
116
511
883
94
551
284
700
381
151
308
473
107
495
873
902
30
277
578
865
653
523
326
954
759
363
294
93
215
235
190
198
990
218
304
912
593
815
426
833
18
757
949
753
533
772
684
766
365
764
44
217
66
802
141
54
662
535
439
322
20
699
265
341
725
512
265
163
748
900
506
468
65
553
769
145
610
587
235
168
808
489
920
24
808
124
456
454
245
947
764
455
530
74
976
367
219
788
457
743
268
608
456
908
671
538
186
13
312
841
678
985
677
37
594
12
622
167
667
886
407
982
33
197
886
528
211
837
747
71
158
873
10
865
632
92
208
337
893
717
171
390
549
683
301
870
716
267
119
583
580
97
621
701
145
441
762
594
701
535
444
11
812
816
831
37
933
823
299
184
403
207
899
215
349
38
824
26
684
451
884
559
800
808
217
885
283
649
7
487
93
99
826
775
608
407
107
372
391
586
854
828
117
731
866
231
871
792
194
201
598
236
824
35
59
629
293
459
624
991
942
475
881
249
473
180
287
192
612
100
245
635
212
95
632
502
316
987
218
564
412
747
106
919
226
749
831
445
612
302
986
853
892
423
671
623
550
428
972
271
405
118
806
876
902
771
807
561
383
324
707
373
277
533
883
337
32
569
832
874
152
633
562
996
994
827
790
409
817
817
902
719
717
924
842
211
41
185
816
901
13
985
271
366
743
348
905
15
313
282
100
997
897
513
785
994
61
187
234
937
924
741
886
968
967
322
548
769
4
856
907
189
915
658
37
806
948
867
309
223
219
386
758
55
312
138
431
106
377
153
609
962
287
385
921
747
260
218
191
551
879
804
3
81
357
935
218
710
583
961
689
735
576
727
440
596
962
545
38
606
681
653
1000
950
537
37
910
400
682
423
809
675
742
691
558
367
712
922
984
113
289
480
600
287
213
601
75
13
298
489
684
479
550
606
913
375
828
20
234
889
636
364
398
89
793
154
260
582
902
680
363
45
72
64
921
688
703
42
219
296
937
358
871
312
489
267
950
22
250
636
105
344
615
436
81
259
489
954
865
740
257
633
350
121
863
172
528
510
694
790
575
7
601
604
431
534
665
202
421
194
82
799
516
679
390
776
589
262
721
795
650
41
695
343
960
385
720
248
809
591
722
240
899
711
453
641
668
122
83
17
888
769
678
820
64
956
189
693
619
681
791
179
475
213
503
646
521
724
789
178
541
750
560
485
711
160
537
433
568
521
90
767
565
601
395
785
132
603
534
195
679
749
90
551
165
915
148
81
75
426
41
970
837
553
246
107
989
788
33
405
18
400
606
398
406
777
782
299
269
68
876
962
721
124
45
199
573
782
553
519
911
253
71
850
100
37
293
418
694
171
486
55
432
344
355
897
7
170
710
557
407
827
440
905
723
202
426
160
369
429
916
651
965
2
146
400
885
191
305
784
771
935
937
4
799
190
334
569
605
270
604
18
54
849
610
580
885
769
872
397
641
73
877
296
317
64
54
800
874
256
34
442
929
881
593
733
478
939
328
530
907
948
769
33
928
297
669
921
585
871
315
287
91
36
28
922
655
682
167
861
529
566
797
367
73
856
962
771
990
368
412
372
546
526
769
291
684
291
445
940
84
795
103
932
304
199
381
795
89
338
27
394
954
833
813
157
239
290
642
427
657
468
401
121
598
143
392
80
423
678
523
222
511
998
615
754
161
735
408
616
939
270
358
96
656
664
406
675
661
765
758
371
853
304
429
779
722
59
697
50
437
140
624
325
991
947
176
548
913
873
264
797
24
40
117
454
36
915
601
956
78
60
337
864
22
874
954
799
265
619
148
482
758
388
736
701
783
228
729
290
770
836
918
602
980
314
946
587
989
185
24
822
882
669
904
283
977
27
539
244
926
324
863
91
167
253
558
605
429
644
550
662
598
194
501
535
274
656
608
332
34
879
793
930
591
241
347
123
943
932
569
226
40
143
866
445
542
386
826
100
59
204
877
519
737
400
859
230
99
89
538
483
405
113
158
116
809
634
810
854
559
462
839
591
476
993
397
479
290
894
645
552
975
36
117
44
303
155
312
825
150
316
345
232
774
73
553
167
655
425
592
325
942
812
3
507
516
826
2
69
566
100
925
107
889
415
631
289
697
663
893
60
894
150
39
91
293
563
323
664
518
994
583
649
929
335
304
939
780
59
239
387
613
709
53
343
496
422
957
418
253
400
826
929
837
233
639
93
298
152
154
83
758
652
193
103
145
622
828
499
34
162
843
433
718
421
299
450
975
56
273
906
602
297
350
199
101
465
633
695
2
950
836
423
684
529
725
74
89
707
218
498
511
198
645
7
680
191
567
522
243
893
323
627
128
662
192
390
81
459
513
808
263
586
892
380
978
17
332
503
805
731
782
75
232
70
472
717
635
101
481
123
767
995
778
289
534
734
824
594
707
460
871
927
388
416
504
754
763
563
803
772
466
241
690
371
224
83
618
295
92
661
54
309
564
733
482
194
951
933
356
450
599
650
420
914
658
127
733
424
645
114
832
883
599
833
720
347
910
508
902
709
809
720
673
189
843
426
822
806
546
958
816
595
463
532
793
256
285
913
174
726
778
30
650
521
715
330
566
744
788
242
898
926
555
52
398
42
426
778
175
945
269
418
813
46
365
529
340
242
275
110
629
712
467
667
934
333
861
530
155
560
21
400
318
777
976
488
659
764
715
528
708
799
916
90
503
470
234
41
246
20
917
556
342
341
64
672
151
677
670
837
614
486
181
419
1
640
601
605
245
75
114
112
838
671
834
564
631
433
337
709
900
379
326
772
193
727
880
219
213
748
84
637
884
867
654
78
657
984
440
715
603
971
591
574
959
532
686
323
203
952
222
159
327
451
441
913
742
412
799
523
884
721
190
155
726
487
589
218
626
30
74
689
839
216
693
748
139
181
40
437
857
324
553
912
797
432
533
517
325
345
542
600
458
55
630
239
458
536
318
29
309
933
989
692
199
109
946
206
347
19
156
560
300
205
850
437
767
878
810
350
566
51
608
631
585
848
784
222
711
643
399
980
331
252
689
711
54
903
967
228
279
435
581
799
1000
677
232
130
110
948
243
204
37
384
745
518
855
843
709
661
772
369
424
360
173
6
432
834
750
388
797
816
718
266
745
311
320
590
319
302
995
807
777
180
598
517
554
952
871
361
345
914
722
314
56
622
862
84
421
840
734
215
542
358
845
129
357
467
603
988
471
270
954
440
14
511
516
828
925
849
274
777
628
484
752
210
587
330
487
176
522
798
879
827
114
536
870
599
899
981
628
116
948
27
841
758
674
61
236
59
111
837
93
940
97
917
739
541
20
53
889
390
806
355
902
117
841
717
666
266
863
893
472
306
514
808
809
984
866
901
923
226
473
190
845
311
306
793
92
87
460
634
22
510
968
614
915
383
811
431
299
273
641
438
671
8
235
682
213
69
91
929
719
10
730
313
904
543
26
831
689
720
308
864
172
835
337
90
743
107
260
27
604
706
478
412
591
755
754
3
954
331
197
412
575
993
932
287
566
902
722
221
902
427
34
315
707
956
1000
31
97
863
767
947
848
782
224
606
443
596
553
691
335
151
179
246
547
881
989
819
765
960
451
56
65
976
831
140
849
266
95
882
529
844
194
679
848
294
443
309
718
456
620
764
637
922
765
445
204
36
257
494
57
582
708
574
152
22
430
237
706
105
12
664
15
706
13
779
513
428
330
715
184
922
204
77
233
873
9
177
222
953
589
293
682
815
208
69
76
397
113
574
149
162
775
933
871
303
736
691
79
681
558
838
463
184
525
782
549
480
988
342
858
595
672
725
438
865
485
747
313
317
670
603
742
565
29
704
964
669
796
645
45
466
694
664
909
31
380
422
870
653
719
447
781
688
870
394
747
776
818
919
623
217
511
866
772
992
153
896
576
6
121
306
389
895
232
191
214
820
684
589
632
193
580
435
436
485
195
909
206
795
766
533
273
359
739
215
889
221
234
462
590
822
343
138
621
641
922
645
600
45
752
490
526
942
522
527
673
300
272
805
951
299
642
598
953
776
604
876
55
714
941
168
258
225
576
114
373
443
133
542
163
285
880
859
364
374
472
135
991
3
125
730
942
830
517
510
56
590
125
668
204
744
859
205
483
176
55
78
413
586
140
2
351
158
260
378
981
240
634
252
908
974
80
828
754
290
396
47
835
419
751
278
433
406
983
203
182
821
890
49
520
598
694
491
756
164
855
286
781
605
863
765
2
908
926
336
924
330
244
622
495
166
673
642
391
790
370
325
370
811
305
311
24
544
366
698
996
92
265
919
736
51
795
810
404
593
945
676
893
667
692
747
20
527
81
525
658
446
495
107
745
921
255
399
556
652
983
169
701
746
164
159
483
788
240
652
522
998
153
693
43
623
146
274
485
376
132
514
765
215
242
485
577
62
193
918
695
958
848
897
905
473
832
423
326
100
245
569
973
427
184
269
337
269
86
684
133
473
637
424
874
95
159
517
134
387
769
210
79
192
564
41
644
976
404
117
420
942
512
306
722
659
390
16
547
380
180
307
51
255
817
80
606
841
543
813
1
781
186
637
956
253
7
381
920
990
495
427
798
63
558
608
982
417
589
140
203
605
125
223
373
18
401
844
31
360
997
599
795
28
871
486
1
488
479
220
346
920
407
446
892
979
395
363
543
950
314
257
133
450
675
73
426
766
404
948
294
753
550
764
151
80
420
702
646
903
621
912
647
143
720
138
736
361
344
207
254
41
939
981
171
237
200
693
763
397
412
808
227
368
703
487
994
682
675
290
632
721
577
438
723
401
576
247
864
910
771
576
817
462
179
488
729
32
576
234
314
942
816
335
21
394
600
320
918
583
388
883
138
77
297
255
168
556
944
80
512
412
33
528
759
964
994
883
640
801
407
12
526
109
146
645
211
503
416
265
148
728
134
634
657
411
180
799
857
651
775
764
587
482
640
620
781
149
950
403
926
324
265
312
125
331
212
678
929
445
220
499
189
474
519
841
268
521
591
210
679
152
24
266
902
416
293
633
171
430
202
346
836
278
468
111
427
626
411
217
657
835
898
821
982
821
273
947
974
716
592
885
11
106
686
547
998
197
900
301
930
83
301
27
553
234
460
73
214
732
692
228
759
815
99
568
770
854
914
679
785
968
785
20
985
715
135
516
39
608
356
64
79
884
367
910
456
324
636
743
782
720
860
705
338
427
650
246
210
612
32
945
687
615
586
832
989
601
400
584
858
20
830
251
260
706
202
33
589
769
809
108
19
180
497
846
243
73
900
683
832
886
937
600
502
334
129
277
621
204
176
278
921
53
727
802
88
327
477
710
613
944
18
741
88
750
638
599
229
4
140
71
576
866
829
574
549
236
789
132
190
871
303
956
841
772
563
23
946
552
641
352
158
112
646
57
763
811
582
527
40
354
530
476
443
292
206
554
319
861
844
268
26
393
521
127
260
900
725
729
428
262
401
670
935
683
990
812
421
459
371
785
986
25
177
91
162
200
647
493
490
548
772
253
896
409
173
426
651
744
772
815
8
275
391
246
64
319
44
18
253
511
734
560
793
753
740
78
505
93
726
696
35
688
676
5
304
516
541
207
642
549
999
365
788
653
18
52
725
846
952
124
519
109
819
825
168
863
713
845
42
546
388
241
669
365
790
461
454
483
732
401
953
476
802
888
146
484
490
54
61
569
895
507
110
468
981
897
777
449
261
868
189
539
749
73
948
635
787
505
823
104
168
93
495
462
722
88
459
119
393
9
15
577
553
274
772
396
970
527
287
439
959
986
261
640
214
860
98
624
939
893
579
100
208
272
498
796
131
950
759
112
593
392
486
200
119
4
712
891
864
637
600
298
742
136
156
225
811
272
291
145
324
56
125
337
678
614
863
614
925
830
239
972
320
188
830
587
326
39
975
108
14
495
158
194
836
204
153
231
477
341
995
843
935
470
683
682
835
693
900
8
541
668
14
247
259
843
61
472
788
212
55
24
121
275
622
783
906
690
329
236
391
602
634
651
859
194
854
820
391
909
980
172
341
413
733
11
531
381
114
168
416
648
188
940
817
637
71
907
945
513
184
253
105
622
194
94
831
878
162
872
542
719
515
430
200
561
259
534
9
982
252
697
184
465
707
109
22
582
786
879
809
223
382
54
102
31
128
667
30
11
143
493
3
494
989
851
792
877
219
269
589
535
238
875
538
726
441
159
38
911
264
602
479
748
742
496
598
270
748
752
763
190
903
456
263
983
822
77
631
610
903
798
110
569
455
143
243
988
415
212
634
242
122
351
13
746
861
448
80
988
114
328
855
839
634
581
199
754
451
937
250
317
135
86
477
484
319
578
148
117
89
445
607
189
141
642
637
308
631
980
531
749
533
666
534
272
200
888
743
686
852
496
115
391
110
122
958
28
6
567
987
649
586
150
696
32
492
863
723
862
184
507
679
242
634
56
976
859
116
778
752
653
692
963
191
829
497
595
262
95
273
881
160
301
946
207
293
987
947
245
286
770
220
687
152
270
684
217
278
125
286
57
957
255
675
247
262
22
973
342
49
892
720
304
591
758
999
102
857
673
714
129
716
781
500
630
639
893
379
847
297
807
122
661
452
415
825
91
127
572
938
526
512
503
380
248
888
735
4
985
574
311
464
724
219
116
216
233
185
523
818
308
594
506
711
564
540
422
965
681
246
102
902
260
886
974
326
707
696
44
980
907
920
1000
674
869
662
491
386
652
925
423
864
217
428
232
387
846
179
983
942
119
504
462
446
27
210
25
65
632
328
538
176
372
665
85
471
658
147
456
874
980
354
502
618
756
266
890
114
777
767
100
131
422
751
242
440
525
953
158
571
255
80
392
774
165
749
914
176
333
378
793
73
799
7
919
230
774
274
454
515
433
467
267
141
850
181
422
155
305
606
786
598
917
327
146
676
968
443
116
570
519
490
4
890
901
608
471
18
771
617
432
374
52
231
635
868
92
932
569
954
89
891
86
696
540
55
706
174
343
723
261
814
366
572
159
959
462
97
280
724
5
76
403
137
606
116
947
724
104
880
406
310
814
743
130
195
849
303
808
99
311
200
726
485
654
735
115
372
889
776
113
30
206
616
950
881
389
381
690
763
503
532
422
828
160
632
340
93
317
913
736
974
581
637
67
657
347
136
72
372
279
855
837
528
222
581
958
710
17
281
298
541
427
435
231
466
281
826
533
418
888
128
794
634
51
812
314
153
370
68
561
135
560
235
926
681
771
509
729
507
712
469
407
994
833
191
325
57
532
21
140
485
335
397
433
302
746
831
189
921
111
592
7
517
5
878
326
353
150
978
719
21
441
56
968
97
244
386
896
307
140
639
501
380
896
387
473
466
466
111
611
769
440
490
39
785
868
95
843
658
621
327
597
742
997
579
362
875
371
535
419
332
955
114
588
506
324
915
86
636
643
493
389
814
43
729
428
790
22
898
402
603
485
848
967
170
775
505
402
587
768
111
20
800
308
861
613
746
254
611
607
395
348
509
785
279
850
569
580
271
362
265
839
762
160
602
503
192
568
758
604
105
451
526
994
485
305
344
978
862
854
846
444
322
801
331
375
190
793
449
187
917
459
830
429
816
357
757
306
673
266
594
581
102
162
19
722
674
516
255
69
499
186
859
76
328
424
734
895
992
24
438
916
533
524
994
191
326
990
1
319
411
189
502
444
349
607
69
972
263
825
950
718
19
958
378
305
863
883
906
228
849
791
411
156
375
609
642
491
548
720
518
713
71
342
719
467
195
660
351
295
336
734
188
39
766
504
905
22
367
682
62
313
406
214
172
984
534
350
118
203
312
100
95
911
586
970
530
729
556
563
355
337
937
720
994
979
981
495
500
30
681
445
692
661
423
218
154
904
618
499
239
604
947
936
441
368
738
490
267
737
525
433
490
680
892
723
929
17
723
520
574
959
795
848
627
132
174
563
142
450
506
365
566
591
521
662
766
623
268
115
510
805
318
368
300
955
360
444
463
836
422
135
557
280
836
787
208
526
392
747
392
964
84
400
938
612
611
457
665
767
351
582
801
522
314
902
175
642
351
842
761
138
133
849
523
522
435
468
135
571
120
588
154
498
289
863
805
72
328
813
566
97
25
470
528
83
238
498
412
338
364
456
284
229
100
892
228
637
686
791
847
187
433
876
127
283
212
434
994
541
700
52
109
270
880
482
106
213
122
77
916
661
96
566
734
618
299
108
415
697
739
336
77
291
825
573
747
31
761
89
526
735
930
829
286
705
863
740
160
990
280
621
459
936
140
651
367
409
918
581
881
683
232
921
8
792
727
459
815
718
71
255
990
886
563
879
52
788
810
137
930
478
897
915
294
973
528
883
999
165
521
252
798
317
244
723
244
80
458
137
648
808
372
509
865
726
532
209
648
418
109
555
547
885
537
795
618
294
339
771
550
400
457
984
459
534
709
903
948
936
267
781
827
460
353
929
770
387
348
640
724
198
79
706
54
434
872
644
541
227
413
742
591
228
315
281
220
29
407
832
162
97
182
779
102
854
546
501
806
226
146
912
529
947
422
606
523
137
906
680
831
874
670
522
187
153
123
832
413
882
592
596
861
715
157
928
734
853
175
724
348
636
429
932
933
996
611
917
452
35
542
859
752
6
226
779
499
931
656
480
13
124
619
474
994
780
211
84
151
636
977
892
599
151
108
119
736
758
673
694
255
132
674
88
454
420
961
613
251
779
740
173
808
529
636
371
597
522
382
385
420
209
720
967
97
740
221
40
546
612
891
455
16
701
2
926
61
625
128
782
327
600
207
31
413
431
815
54
282
811
985
824
5
214
747
23
298
223
967
969
185
881
71
579
555
178
322
59
906
144
90
152
323
2
414
978
294
407
229
456
829
66
757
263
983
170
867
32
100
836
75
596
909
269
379
790
165
213
700
891
163
29
125
622
213
686
208
339
699
109
462
167
298
676
832
779
268
45
467
136
279
623
620
812
232
4
590
83
372
944
776
687
533
224
483
675
547
258
747
93
445
688
123
37
713
131
936
920
583
20
144
34
315
914
399
478
731
27
918
297
187
167
826
398
793
893
868
222
323
654
489
548
841
972
390
994
743
377
678
835
675
775
980
367
414
824
891
749
276
313
443
688
441
399
438
344
917
668
811
569
457
768
614
983
705
170
572
942
589
984
116
539
892
91
577
338
11
803
435
10
733
266
543
118
392
264
907
106
768
784
633
752
578
322
839
955
705
4
141
757
664
185
960
370
714
293
262
363
448
868
889
18
36
641
963
521
689
447
920
839
977
28
454
759
102
530
181
883
992
367
357
803
948
549
983
623
515
752
727
353
139
272
385
902
760
223
338
775
10
439
473
774
703
403
876
585
285
101
613
468
408
843
117
481
398
539
208
465
938
234
556
801
77
188
281
737
132
358
798
358
456
327
757
760
35
890
480
923
190
812
242
115
160
122
790
98
278
112
245
664
557
784
709
359
915
190
967
440
631
34
751
385
833
980
75
412
288
660
725
661
673
386
712
212
967
621
244
589
46
995
740
217
825
308
785
718
863
826
223
138
899
320
762
197
890
417
6
554
899
806
833
718
363
291
107
272
763
859
57
597
483
628
656
566
623
327
903
863
197
35
916
906
837
891
313
777
944
802
83
963
211
979
534
828
533
456
124
346
739
663
456
613
887
330
989
335
700
60
385
422
531
199
157
860
983
507
700
627
587
999
727
372
511
45
850
522
585
554
275
619
4
623
907
517
645
575
994
806
116
437
890
759
456
65
218
737
627
542
518
813
907
812
143
156
519
872
496
232
288
230
399
608
146
280
956
867
151
156
615
285
771
81
568
771
254
999
275
7
856
792
199
787
297
485
997
613
711
994
446
207
986
352
737
214
696
767
663
266
30
194
939
582
176
950
356
840
613
504
711
271
164
526
971
562
631
83
383
424
322
517
182
133
19
888
149
253
912
726
39
150
486
191
310
577
142
827
852
317
890
980
487
385
478
924
396
331
53
906
855
605
629
530
553
107
532
451
454
914
996
570
161
167
992
172
352
695
827
438
516
127
707
185
37
149
436
933
355
429
257
980
970
343
551
933
696
403
546
876
479
61
264
327
949
866
504
842
812
233
832
932
231
453
159
606
854
858
153
957
216
565
537
287
945
61
432
90
908
149
153
951
375
543
307
397
108
207
646
957
950
217
197
917
533
839
615
778
176
459
187
883
558
472
880
137
610
361
101
45
375
995
657
911
788
302
1
666
909
753
357
158
800
38
969
380
95
6
48
949
243
22
430
483
877
878
418
374
580
823
809
601
700
119
431
907
198
133
692
322
583
37
514
793
271
266
324
650
706
966
517
389
967
824
980
300
312
801
476
345
906
1
425
477
678
626
99
878
437
478
762
326
729
553
378
586
259
617
489
821
288
603
500
289
625
441
724
729
551
248
172
574
539
81
932
783
455
487
225
435
792
43
806
631
398
681
403
692
697
224
914
823
728
932
276
385
145
24
864
138
548
513
124
282
933
853
142
679
635
944
427
989
838
284
488
96
144
85
572
731
803
813
690
425
884
203
727
689
271
229
957
39
243
28
575
136
460
38
855
216
410
871
403
631
713
913
307
662
616
108
116
155
530
212
270
879
817
934
14
533
599
895
185
904
859
962
838
860
183
778
768
898
60
598
6
328
413
253
937
81
891
996
691
698
326
565
591
446
874
279
663
838
350
502
146
799
714
598
249
683
288
725
457
78
639
820
577
949
879
758
102
932
263
820
347
243
426
167
441
35
685
195
156
157
498
886
627
148
898
21
271
899
52
42
901
175
918
445
697
264
541
287
466
586
309
643
155
111
316
634
463
209
714
339
29
402
263
478
861
972
836
753
447
375
201
467
298
787
872
621
926
161
357
943
329
259
15
612
416
228
169
939
83
187
2
103
792
779
401
250
222
620
606
954
596
961
74
248
241
253
770
618
59
991
922
248
36
584
999
733
660
919
55
977
704
829
853
783
486
589
677
964
747
227
142
219
873
872
803
103
732
719
574
570
756
722
690
365
628
977
341
374
621
438
349
889
302
691
744
90
379
284
798
388
344
487
21
615
450
603
268
969
347
25
121
226
580
854
640
292
177
69
874
313
349
213
717
901
913
57
670
826
654
317
583
416
363
932
376
1000
785
78
375
909
683
937
619
600
926
787
776
360
87
892
482
323
571
101
942
237
113
902
453
430
295
897
945
649
811
677
843
96
83
47
438
619
205
186
54
486
702
13
992
677
190
329
844
648
907
582
679
243
417
107
460
293
393
985
200
903
376
733
977
339
433
466
43
317
806
103
674
537
466
741
395
297
126
814
66
147
733
138
798
320
747
26
935
680
297
507
683
915
799
408
855
854
45
760
969
997
551
472
743
547
928
184
930
750
948
741
452
39
978
618
12
559
98
428
904
965
421
580
633
711
926
378
622
226
239
940
714
182
777
349
963
852
646
590
753
442
562
728
521
880
201
342
154
741
194
639
119
235
244
837
314
697
61
835
279
204
933
666
853
708
665
893
987
1000
791
985
292
208
430
326
103
32
342
870
744
40
596
916
371
639
96
246
38
545
668
877
852
553
510
99
225
105
962
746
377
393
937
671
229
635
508
223
581
714
119
995
630
25
609
919
436
590
270
321
436
337
673
858
139
984
504
10
138
38
338
322
864
408
35
506
26
734
486
277
137
48
297
62
489
698
627
425
205
559
671
820
200
7
898
451
426
47
273
252
728
819
659
938
559
871
470
834
464
27
666
738
741
12
420
609
283
955
666
374
280
351
218
547
741
382
281
558
80
726
399
156
94
212
390
634
53
20
380
85
803
761
706
161
573
915
561
54
849
318
917
440
908
306
839
761
841
971
125
956
626
474
527
643
58
974
796
11
43
742
934
340
37
78
341
705
807
767
736
320
943
48
661
708
628
575
763
843
671
207
440
489
734
834
113
124
295
10
53
481
631
188
668
637
566
967
416
972
449
591
445
706
992
79
12
144
946
615
604
950
460
454
420
586
175
391
217
366
272
469
210
914
393
60
725
401
637
613
889
869
518
171
609
929
596
841
564
411
262
838
463
932
10
208
923
898
152
615
840
994
933
555
883
757
736
811
796
219
882
201
887
212
44
285
303
762
359
521
991
975
806
792
286
123
51
477
981
153
381
737
133
537
693
76
853
555
233
250
727
528
559
98
380
492
844
370
614
234
528
153
227
27
344
522
507
15
189
68
128
918
91
806
408
360
601
843
117
706
543
129
602
669
880
51
702
915
615
240
107
433
393
868
603
504
26
971
947
18
167
361
829
142
488
764
190
561
251
410
700
291
863
2
966
424
485
879
347
55
235
509
734
378
202
236
927
942
699
237
286
354
581
659
567
353
332
991
713
915
935
803
952
309
283
96
996
304
187
832
183
19
2
65
382
956
216
107
929
652
938
840
442
52
608
515
97
830
559
962
402
514
849
268
147
674
727
533
28
823
8
109
689
785
582
905
532
658
489
475
553
201
954
64
743
760
279
888
875
62
534
791
676
739
344
165
456
350
704
754
891
693
332
625
56
502
201
473
226
796
900
404
147
168
301
341
645
719
251
433
686
417
244
562
765
729
384
322
685
280
834
242
515
339
210
302
207
925
415
472
228
597
973
681
352
95
793
68
764
644
190
421
292
764
759
702
849
289
29
977
944
530
132
567
992
109
196
625
892
358
371
818
668
532
478
651
247
741
982
978
116
333
439
284
428
931
898
77
231
174
813
779
651
227
701
256
205
602
414
958
749
48
483
990
132
265
856
688
272
457
185
701
850
414
613
344
92
94
394
798
918
557
365
295
981
186
633
380
721
835
950
338
594
601
28
311
72
904
533
433
935
205
662
37
913
849
468
42
268
159
730
234
819
170
646
753
408
12
340
581
540
512
968
605
843
264
840
887
559
560
269
775
629
721
267
864
873
221
698
280
420
572
879
631
163
925
397
366
192
898
4
916
648
455
611
876
548
30
263
309
104
612
276
444
525
187
997
212
505
851
690
855
376
405
517
743
808
854
257
1000
635
916
149
906
140
629
625
934
413
586
874
369
181
356
975
289
286
341
844
719
42
528
461
687
820
139
345
644
810
306
774
832
882
557
67
678
417
858
103
659
234
614
566
674
748
634
423
934
594
968
181
321
609
290
452
580
232
237
827
989
105
851
603
88
205
137
443
636
203
160
987
558
621
536
972
522
273
996
647
901
461
194
765
223
928
701
40
299
893
915
490
416
822
217
751
33
975
313
51
301
803
68
870
746
858
305
943
851
848
728
312
840
342
231
989
866
183
104
892
634
814
574
879
239
457
756
625
373
935
722
539
689
767
742
393
3
807
675
866
229
490
423
117
988
792
428
745
601
739
858
875
518
594
256
954
566
639
867
515
479
714
316
572
606
169
949
425
359
995
482
849
588
373
471
39
758
339
484
825
3
807
15
565
439
506
468
721
586
946
796
375
87
176
326
34
528
855
882
689
819
822
500
554
546
177
391
794
965
520
112
230
947
492
707
985
504
933
801
615
754
832
829
804
871
297
907
782
794
257
223
329
353
867
966
904
26
868
323
507
299
251
782
36
663
504
157
948
536
856
14
244
11
681
99
788
960
729
149
293
141
221
794
152
295
663
862
952
367
380
209
607
862
71
57
108
713
510
365
266
412
348
172
653
101
324
22
470
869
708
879
381
362
765
210
622
214
446
265
800
964
383
607
902
144
969
363
820
989
438
37
906
618
807
565
378
332
439
15
337
486
848
435
965
593
160
860
888
91
353
477
217
670
39
354
581
836
150
852
199
25
18
299
746
139
975
864
29
31
314
846
760
14
1000
667
734
573
919
257
599
616
359
327
150
738
507
850
390
526
885
568
814
521
465
129
980
273
778
933
210
533
656
569
466
744
215
795
972
148
369
633
113
570
807
662
634
45
478
853
629
873
851
897
661
906
74
156
425
628
316
81
824
384
120
34
930
497
664
624
682
881
177
2
374
483
18
572
145
547
947
10
509
947
677
978
229
304
392
555
274
106
790
301
163
972
632
888
91
756
616
912
304
915
365
786
74
419
106
247
888
157
840
825
61
817
758
8
212
646
712
421
797
703
163
174
763
93
504
210
229
975
133
376
743
316
619
993
687
208
856
280
709
51
745
508
316
451
607
160
386
147
116
476
295
901
935
7
425
896
51
217
205
76
848
296
632
770
273
410
698
437
188
346
924
390
374
465
441
745
346
955
501
361
298
681
388
984
229
500
342
715
533
517
171
750
657
65
497
724
240
218
95
46
240
427
383
434
825
666
480
492
620
246
159
241
17
398
559
258
195
899
683
517
968
846
758
895
441
768
886
592
863
636
158
766
817
342
681
739
742
568
769
330
650
598
692
620
248
722
354
824
233
936
589
668
894
974
211
597
648
274
395
123
696
1
127
260
136
793
168
883
649
949
790
577
535
897
343
690
650
221
2
897
934
546
53
61
253
498
616
313
268
853
168
917
800
969
922
63
238
658
704
828
214
765
256
899
820
13
831
818
451
540
215
211
725
43
575
51
232
772
86
493
614
194
671
777
721
165
314
784
724
827
373
963
866
163
960
102
113
34
653
168
678
840
5
934
513
155
816
685
653
275
712
380
724
929
340
848
772
927
326
726
312
269
582
190
69
970
593
719
634
527
403
740
859
653
469
972
173
489
414
323
11
781
396
891
254
281
980
111
195
258
828
604
939
830
492
199
413
439
303
912
834
923
543
693
283
923
157
5
860
283
336
584
593
385
55
169
539
239
816
494
544
118
585
424
224
34
802
470
411
972
815
950
83
889
287
596
626
130
156
12
196
820
110
921
780
712
713
269
965
529
340
302
328
35
989
993
219
911
148
666
127
819
726
445
266
336
279
532
640
604
18
672
481
375
333
347
862
3
924
806
901
640
514
481
361
191
493
296
986
30
733
880
643
248
194
983
884
745
913
314
798
414
664
643
870
707
31
379
705
253
305
88
569
231
277
679
137
931
661
701
494
916
39
429
653
91
600
588
852
344
118
386
235
270
811
505
668
633
44
868
755
745
967
157
265
30
10
780
408
848
194
203
144
144
332
951
79
915
701
645
250
511
797
484
777
212
529
227
506
187
881
58
564
480
392
200
514
761
92
240
179
931
868
921
657
747
590
400
355
498
117
966
729
250
333
522
463
284
512
520
516
254
756
474
528
107
334
415
148
379
217
887
619
411
630
961
383
45
99
852
293
921
42
293
896
390
276
349
909
889
288
569
57
669
892
294
344
413
972
669
195
864
153
176
84
902
338
243
827
826
701
65
883
823
335
572
641
138
93
484
657
83
521
90
870
178
54
303
264
128
82
382
209
471
105
239
197
984
6
442
279
263
876
666
84
940
987
277
387
4
503
905
532
830
30
617
39
649
712
480
373
48
54
608
613
403
893
912
141
123
695
730
120
672
224
501
892
543
344
510
681
465
697
454
941
246
765
264
857
149
741
556
42
140
584
393
200
4
300
421
206
822
416
470
737
928
18
984
832
846
297
706
180
151
421
669
864
276
706
886
895
571
361
722
380
481
732
972
157
853
160
320
210
279
687
167
794
315
850
45
524
672
704
371
846
328
710
509
950
308
818
975
951
401
20
49
880
453
111
413
818
616
970
146
889
641
861
509
97
91
317
303
657
693
201
746
587
883
677
570
465
455
960
723
916
118
517
636
71
834
992
436
178
797
604
403
758
421
123
680
473
471
503
608
415
257
95
632
358
246
652
853
409
858
360
468
401
320
213
985
577
174
437
497
759
923
129
659
529
911
790
353
730
485
447
470
67
692
183
199
834
961
915
269
4
895
408
279
190
966
110
251
214
946
168
984
400
906
930
690
902
425
274
578
842
890
248
791
503
823
569
588
976
553
424
766
584
867
648
337
269
86
942
794
179
80
405
884
292
178
9
765
86
894
485
712
476
313
388
514
218
339
881
475
512
684
918
239
348
128
763
84
709
585
29
783
443
818
1
657
730
606
700
704
513
133
103
467
910
449
295
446
153
737
436
406
611
58
450
535
297
812
466
843
75
567
415
390
470
85
556
277
267
348
635
688
772
780
382
1000
474
637
509
798
446
698
519
506
643
345
676
28
663
622
907
815
226
77
168
15
31
575
151
760
253
973
957
52
39
39
302
364
480
165
59
794
449
816
448
806
44
139
867
857
521
285
99
959
340
661
845
881
979
738
436
311
473
840
967
669
225
56
562
968
513
755
377
687
725
242
623
568
817
352
812
861
13
475
492
366
884
856
18
112
811
585
387
30
758
988
908
925
627
51
426
378
890
487
64
987
568
542
521
659
134
387
93
908
296
867
964
874
981
400
443
964
7
541
972
950
384
212
328
965
315
939
401
520
695
302
729
238
526
138
450
319
656
504
448
792
563
861
573
694
123
570
832
755
814
361
169
170
719
169
734
957
182
509
815
912
474
983
204
387
145
715
169
437
484
191
334
55
293
87
986
474
393
946
373
589
34
838
290
704
62
919
510
247
141
231
645
147
65
303
992
761
269
127
833
50
913
188
68
182
88
16
662
581
997
492
642
17
651
50
932
35
289
207
931
653
425
713
393
4
863
789
754
504
212
148
287
100
50
129
48
605
246
408
710
766
190
499
693
754
679
574
598
288
971
181
34
64
575
691
572
169
946
913
345
576
716
681
677
51
353
347
476
740
244
49
713
957
30
275
311
177
490
243
629
261
539
462
1000
64
832
956
820
829
580
229
665
148
972
708
478
684
58
643
396
554
674
870
825
271
799
891
307
580
876
860
886
335
992
557
3
332
695
397
585
372
519
841
949
314
870
590
543
612
80
383
494
183
456
899
967
516
746
526
745
236
705
275
824
197
707
933
783
426
670
51
18
661
31
365
675
560
679
312
54
138
907
591
298
738
766
554
170
337
465
677
35
986
731
428
323
193
812
910
437
640
598
493
533
590
743
981
677
700
190
504
761
801
313
580
601
949
270
576
613
276
538
497
587
286
720
416
24
237
305
560
422
615
886
485
608
533
246
778
373
902
669
256
92
508
935
281
106
537
268
75
184
66
469
705
489
861
491
550
46
79
867
750
717
413
493
307
46
723
891
167
128
374
317
356
54
264
123
708
600
523
747
675
511
907
590
37
235
730
379
956
98
794
249
249
170
935
158
972
640
389
439
917
565
810
6
252
609
51
641
533
873
132
938
27
678
343
460
189
162
681
651
911
727
874
172
29
217
380
647
566
838
308
823
58
643
478
811
777
21
225
377
400
41
198
500
62
895
138
434
35
142
995
178
125
102
143
316
725
840
412
406
639
557
88
454
343
826
592
383
14
90
140
728
120
137
806
125
253
876
725
750
617
495
585
951
411
611
272
779
406
975
823
721
841
531
742
199
692
894
24
663
126
224
541
294
609
481
372
121
106
404
673
762
668
199
859
770
905
632
557
275
914
185
451
857
954
383
310
551
353
128
881
738
269
842
143
259
494
363
809
688
960
669
691
118
856
100
999
422
361
964
777
404
701
718
615
928
995
329
625
302
317
554
331
76
874
812
499
395
713
82
187
63
487
459
831
90
755
70
679
7
890
908
169
969
396
978
265
364
643
446
375
308
88
937
424
207
451
434
519
55
770
915
646
54
666
879
64
655
593
915
944
965
759
844
470
349
605
76
113
418
715
806
764
188
773
544
899
163
285
256
930
137
173
951
393
831
428
115
686
564
444
364
730
406
254
364
759
268
738
380
652
621
394
544
600
968
170
159
534
690
174
883
342
636
30
875
241
177
449
895
934
624
113
686
895
960
745
781
876
197
156
517
554
98
401
182
258
721
861
242
664
335
442
677
453
677
475
750
36
564
166
66
710
538
479
859
469
420
935
586
253
408
528
146
158
950
539
648
234
70
729
934
514
807
156
197
211
969
327
589
182
645
418
187
258
763
670
699
597
128
671
547
666
129
580
598
102
855
368
612
600
490
961
242
971
779
286
613
144
333
204
406
252
901
149
531
18
624
325
493
18
74
996
831
438
51
55
136
601
443
846
762
537
960
935
985
115
942
703
718
336
493
165
355
233
918
130
752
135
61
860
18
356
975
329
51
641
948
619
824
498
680
889
41
931
904
164
650
819
21
119
783
967
624
147
150
738
733
322
125
353
34
790
282
108
959
873
129
756
81
701
813
225
421
649
998
687
722
645
848
393
530
231
293
785
874
530
906
636
879
206
512
348
689
314
387
546
386
629
346
558
780
817
495
229
857
288
495
293
751
173
419
567
25
537
967
241
675
408
586
588
955
902
302
202
127
231
586
260
376
132
273
811
834
388
758
785
592
519
98
540
390
6
487
456
692
172
214
562
334
662
574
339
974
139
756
233
161
52
184
827
989
754
96
250
335
45
983
502
243
427
202
435
364
304
691
85
333
644
87
934
799
192
862
232
308
980
413
514
673
4
425
321
738
43
225
962
45
206
211
394
699
638
378
945
571
120
555
899
192
215
47
345
463
412
689
342
113
137
615
632
742
562
598
298
632
414
333
860
121
544
292
69
722
491
968
127
937
236
836
783
796
963
893
678
602
972
29
917
405
651
593
294
373
801
591
972
880
643
603
604
583
652
872
27
373
556
650
57
788
164
61
997
319
160
938
417
873
75
692
50
190
326
668
481
878
785
513
902
745
273
483
383
763
826
974
281
838
266
987
345
606
539
811
803
970
229
486
462
414
753
706
919
619
654
64
878
31
339
342
682
977
687
38
301
901
156
832
570
938
941
110
284
817
940
745
232
642
11
430
111
681
80
784
312
361
842
543
319
828
146
477
849
135
224
33
949
732
50
248
365
678
377
14
826
476
470
310
79
70
107
412
117
313
45
802
553
832
582
506
290
406
248
868
689
813
23
769
821
660
345
869
72
632
835
174
424
763
509
834
692
291
712
223
619
340
112
65
79
765
204
568
512
10
216
244
481
647
496
603
601
984
170
667
916
577
490
755
970
534
37
916
457
939
333
82
975
367
977
460
966
441
423
812
315
333
901
862
730
989
891
920
470
384
594
396
642
6
208
669
552
603
238
871
325
384
827
772
65
963
532
9
763
194
257
464
407
4
624
31
199
414
167
983
646
977
682
751
677
878
936
600
789
171
799
927
85
450
674
22
658
92
354
712
260
303
905
432
843
489
646
625
418
930
373
656
205
768
390
52
907
28
155
739
881
544
621
292
985
283
242
41
1
479
830
351
574
236
309
271
102
476
795
343
278
979
16
894
87
633
372
431
311
34
613
735
532
161
931
508
363
977
955
317
318
197
926
482
866
875
918
82
29
688
218
355
53
264
766
722
6
984
493
655
440
719
91
168
952
448
721
212
181
274
59
20
653
77
691
896
749
770
749
506
223
677
549
472
605
529
560
992
781
863
835
238
956
444
85
520
107
9
5
291
15
416
386
931
881
17
612
945
585
36
418
624
406
65
425
665
593
273
214
989
676
335
845
611
308
85
5
998
641
758
723
788
700
736
759
955
38
110
124
793
660
390
290
527
836
696
610
896
362
357
997
547
643
798
259
380
98
41
225
344
990
137
792
402
647
242
65
541
713
140
20
58
521
307
181
48
613
624
34
961
146
800
663
977
574
56
449
65
150
413
158
736
858
65
960
541
859
409
802
902
2
916
488
590
444
596
644
84
741
20
413
127
115
732
811
198
991
92
150
900
352
693
507
959
381
67
71
437
786
513
15
696
717
207
205
189
300
231
765
432
529
383
619
624
482
169
774
797
14
487
922
141
602
71
555
236
936
756
422
316
549
864
94
624
258
936
781
363
447
262
943
521
889
246
662
954
728
340
514
896
746
809
54
740
586
25
900
483
223
475
219
319
341
814
748
113
979
537
87
487
61
177
825
830
676
670
710
300
629
790
11
138
1
569
303
929
672
581
213
102
665
209
10
451
381
916
42
440
989
376
19
47
789
466
659
765
722
222
559
559
901
634
927
88
274
982
735
140
720
192
824
464
385
917
127
897
979
109
603
884
12
207
660
265
481
977
482
306
20
573
584
589
1
764
548
836
27
119
140
691
546
642
811
113
429
253
143
66
84
525
754
875
727
931
626
450
225
51
502
725
828
372
732
203
787
62
838
649
19
622
931
358
68
191
466
31
236
777
98
175
146
746
992
862
112
23
490
252
150
773
391
575
883
507
976
512
271
510
498
13
257
788
511
59
122
555
895
833
262
843
308
201
757
675
357
695
481
144
863
520
232
300
548
795
399
937
322
446
472
42
17
855
959
381
120
768
174
100
586
273
723
692
181
496
578
427
14
81
490
425
349
837
588
858
21
374
469
152
599
53
722
934
28
923
609
163
932
75
96
455
192
243
962
961
441
931
273
762
120
40
859
557
838
451
286
504
874
458
464
629
549
849
740
64
889
75
502
395
761
531
565
706
400
433
131
21
455
299
966
815
550
960
794
691
132
178
685
165
865
826
342
399
603
507
669
250
159
95
845
714
987
250
355
628
541
157
615
904
837
567
133
281
557
876
422
662
511
415
114
662
282
864
932
544
379
465
521
1
974
980
580
897
794
101
885
460
379
370
247
919
65
953
485
537
268
464
382
205
235
907
59
402
504
661
452
685
637
590
412
604
155
38
277
211
645
212
630
958
338
404
810
567
252
752
363
937
848
998
415
753
114
763
3
444
540
401
391
76
15
965
606
706
222
280
827
862
360
824
70
362
916
907
715
865
447
214
769
505
165
348
878
525
568
594
943
371
571
148
920
159
241
419
981
463
63
519
747
187
372
3
226
150
358
21
1000
98
694
57
273
879
61
727
89
1
645
610
113
543
325
58
582
31
814
368
410
595
762
828
357
518
749
383
751
720
375
18
428
912
346
363
147
463
757
209
272
707
262
324
14
513
743
418
551
399
282
778
245
806
676
327
208
973
558
4
283
287
681
40
877
627
368
226
715
529
66
630
103
372
145
586
748
693
432
423
721
619
618
835
752
103
491
480
205
705
716
511
423
101
269
182
690
360
429
815
49
822
868
120
855
207
499
451
980
446
770
394
768
332
214
559
119
954
946
373
286
15
697
317
533
234
882
663
581
323
721
830
581
60
345
962
650
332
412
232
600
472
312
289
648
135
700
773
17
852
336
25
102
32
55
668
448
725
765
353
982
839
123
740
271
817
450
531
873
171
939
274
420
221
302
280
862
642
155
738
926
190
113
103
906
218
791
425
188
786
948
264
788
411
630
537
93
426
17
266
988
199
462
627
121
140
270
108
312
447
802
965
319
446
85
677
752
753
499
529
652
863
57
731
185
216
756
65
199
341
598
155
467
71
847
452
448
27
504
137
510
308
322
593
793
666
969
267
777
315
764
122
390
829
394
969
47
646
827
830
419
387
462
508
369
630
699
251
206
149
209
957
49
645
521
233
160
483
16
753
911
902
746
311
23
765
370
904
618
761
35
185
919
166
148
250
205
446
44
880
440
597
486
152
413
605
193
292
893
543
475
707
339
747
89
299
538
32
416
239
670
719
210
842
178
94
918
527
300
146
916
82
235
43
519
45
926
596
937
596
468
848
789
339
95
680
319
532
487
644
667
349
850
912
130
890
298
642
615
170
957
451
773
218
560
765
952
74
549
130
601
22
458
260
979
212
42
775
677
91
607
919
467
954
187
895
243
821
288
404
134
471
463
829
232
857
878
803
533
567
931
13
616
770
135
912
471
533
571
256
431
29
482
671
64
618
838
10
175
986
552
748
514
678
555
189
271
918
703
437
64
144
822
310
106
954
57
77
613
989
44
964
758
501
618
655
589
874
494
247
622
876
944
549
718
286
792
795
572
726
753
767
502
148
371
9
427
913
936
975
693
573
420
938
851
986
658
318
908
31
696
976
615
539
840
657
558
567
134
67
780
786
430
485
114
165
371
39
625
873
533
135
32
298
222
821
409
66
883
919
418
133
640
544
804
326
29
558
233
139
939
440
366
541
31
610
25
329
607
215
114
357
351
218
985
417
797
293
247
270
168
112
688
149
176
449
179
507
271
180
78
801
88
173
636
492
106
985
338
339
27
945
594
648
242
744
854
126
68
824
346
933
724
984
381
745
640
877
576
998
775
432
852
53
420
963
866
688
104
523
491
93
703
504
214
93
156
328
75
875
946
912
657
680
592
551
779
797
370
312
868
804
303
71
972
902
79
662
671
190
44
354
73
405
97
27
165
327
876
139
760
948
305
3
459
724
3
215
150
817
937
13
83
177
195
804
204
119
81
379
175
452
383
752
961
389
245
557
853
778
912
401
595
297
779
15
415
649
15
345
733
538
956
343
703
705
99
508
912
121
945
860
605
643
36
875
85
763
485
642
302
518
594
277
283
8
697
840
265
489
379
893
697
799
976
113
880
666
583
820
532
651
455
749
173
203
117
471
679
78
190
588
996
955
309
357
132
194
542
632
18
770
296
48
952
810
954
337
353
4
567
242
514
652
650
886
642
146
572
869
102
666
306
238
649
190
964
989
33
467
271
423
48
918
24
516
85
470
384
88
89
799
323
199
72
81
635
712
181
931
186
241
940
368
48
310
359
700
658
280
211
953
939
517
163
410
641
327
233
504
754
684
886
574
964
834
294
105
659
119
163
207
132
105
500
449
921
638
163
656
615
993
754
601
419
123
819
565
232
746
406
253
147
183
413
822
918
390
444
790
377
18
508
685
278
655
230
773
120
540
556
846
522
606
525
478
176
590
506
59
531
185
533
536
27
809
388
554
872
137
807
879
668
617
481
188
514
493
884
916
887
630
849
235
536
208
381
30
16
619
489
119
416
178
365
135
118
997
781
950
761
916
528
288
738
172
429
845
114
556
603
578
922
695
337
604
74
75
934
688
45
780
65
915
518
567
591
76
170
178
608
667
909
108
438
278
834
849
274
695
160
583
401
246
118
871
755
808
849
132
118
900
88
20
639
122
328
260
741
591
610
611
253
372
597
670
293
911
315
346
438
506
927
432
516
768
413
218
507
51
284
225
427
301
262
28
759
737
881
12
339
765
493
295
681
119
167
212
380
596
421
465
49
649
523
910
8
101
596
18
348
404
757
411
129
946
751
629
513
564
175
564
297
465
563
210
209
235
40
766
867
867
784
703
188
133
760
342
893
335
270
182
745
269
174
194
3
84
935
525
103
712
880
557
52
225
878
305
690
380
279
83
196
239
234
189
341
646
213
224
360
674
221
886
963
869
5
606
339
300
277
671
286
953
459
730
31
119
512
274
4
680
191
921
457
535
192
891
559
381
777
609
687
976
532
343
774
84
14
88
880
503
847
372
391
720
728
209
888
458
782
236
85
45
935
895
239
378
972
702
712
608
290
235
654
254
398
316
729
955
65
702
546
570
935
76
199
395
135
961
635
325
874
405
375
115
695
327
50
700
449
174
567
218
329
614
268
26
685
959
821
554
773
628
880
987
769
870
939
770
777
887
468
355
577
529
288
170
683
341
926
6
364
33
349
239
851
678
17
795
818
400
480
20
545
612
933
76
858
404
154
812
108
75
323
257
939
343
19
285
966
957
15
874
658
373
191
111
700
111
978
335
274
444
308
707
901
959
252
296
839
316
4
712
6
763
758
521
250
719
448
392
965
46
30
962
738
367
950
737
78
570
563
571
818
382
434
253
756
244
472
276
617
267
550
158
409
40
193
845
29
768
532
663
949
665
49
335
879
843
941
457
648
551
64
390
954
722
722
870
47
482
44
828
698
988
59
902
391
712
740
895
785
629
596
82
109
615
288
327
619
612
224
374
495
151
792
857
779
831
2
269
278
911
170
300
718
621
227
658
613
510
781
181
401
674
826
272
158
134
209
598
371
73
172
20
48
504
218
389
745
779
328
51
177
191
297
326
856
960
805
359
720
718
748
427
711
600
548
381
613
492
85
954
472
70
503
881
657
158
603
211
490
652
707
88
571
170
94
633
683
271
143
899
539
113
459
676
595
477
209
125
934
777
13
9
12
696
56
537
560
564
144
960
510
297
469
816
246
352
866
857
370
274
549
177
463
772
539
662
358
841
325
927
144
438
655
124
228
849
133
971
883
416
33
277
989
351
749
815
142
866
695
280
660
655
723
849
964
84
391
328
932
657
595
359
45
944
368
837
240
100
681
506
911
29
764
590
289
133
708
798
369
213
466
338
844
325
794
977
474
681
704
596
9
396
729
505
858
887
107
738
62
641
347
359
496
386
408
612
264
997
887
784
474
393
174
441
642
636
778
139
809
994
877
775
160
44
940
952
652
848
514
768
727
768
770
525
9
316
544
442
674
613
243
283
209
547
633
669
247
580
949
778
158
619
732
537
736
546
606
537
608
136
60
948
334
300
342
663
468
580
105
696
877
678
242
446
972
77
51
190
984
365
357
512
993
374
720
836
218
169
410
861
737
893
181
595
138
685
96
791
57
245
271
541
248
864
829
192
385
35
930
738
239
545
909
684
520
905
897
849
688
912
19
194
814
196
492
583
968
144
114
848
508
240
510
419
839
817
544
363
685
460
848
802
850
669
119
794
938
611
717
49
2
446
689
594
206
573
104
90
694
420
161
165
676
414
239
592
261
697
403
835
465
314
923
107
778
405
168
933
126
128
847
309
855
486
103
497
37
756
677
53
746
955
238
913
766
968
71
530
81
157
903
783
469
19
624
464
548
711
415
628
727
879
763
548
399
617
232
399
518
925
946
997
312
47
862
763
109
827
503
684
812
446
136
974
629
324
853
514
81
525
129
347
240
961
494
282
683
567
806
900
591
521
430
980
585
508
61
332
613
533
956
352
789
784
978
80
897
275
605
391
560
425
88
255
884
551
336
826
830
630
915
946
57
432
462
133
661
49
78
821
653
714
267
168
332
863
493
351
867
307
885
656
451
926
226
975
19
618
926
294
793
193
506
689
556
176
706
39
772
656
235
824
357
562
927
908
967
518
285
932
292
378
323
449
423
869
356
964
906
793
716
937
152
155
414
134
479
632
682
340
202
730
988
922
579
396
303
736
18
830
726
179
489
646
432
639
91
492
375
691
441
332
425
330
910
887
79
616
501
228
81
60
939
952
881
930
765
53
299
877
389
868
906
705
826
946
660
743
771
504
763
816
143
51
411
19
730
889
302
673
986
944
672
60
214
658
923
591
917
432
446
13
543
759
430
107
5
835
389
47
88
100
560
694
162
264
417
515
793
267
917
588
76
304
902
527
273
936
316
537
337
55
832
855
523
200
540
846
953
736
450
721
469
639
984
682
636
70
572
163
507
409
981
917
852
533
901
693
79
498
258
755
350
766
504
461
230
933
1000
10
244
724
600
591
670
316
866
156
933
329
872
955
542
715
811
650
402
709
922
405
828
935
815
840
555
144
513
930
659
548
733
773
982
120
929
563
125
708
113
451
13
17
848
674
814
964
474
876
561
348
287
843
140
264
569
585
831
273
565
264
881
875
669
417
775
621
527
936
566
100
1000
119
384
616
409
664
265
748
526
701
889
239
797
486
98
451
31
600
656
520
638
470
910
274
429
152
820
967
920
183
890
697
94
691
956
536
244
367
447
42
450
332
75
188
576
10
784
758
6
14
220
833
259
221
79
160
961
645
635
380
638
409
846
306
123
958
666
200
859
768
606
107
400
114
631
997
835
666
348
446
909
98
830
582
359
224
541
412
167
703
633
760
812
260
18
203
178
36
385
1000
597
505
191
130
55
498
706
196
7
600
443
782
314
5
969
397
336
529
690
834
633
359
46
127
878
601
490
164
618
610
316
989
212
758
139
594
823
437
753
590
6
655
701
615
852
574
87
335
614
360
243
664
836
394
699
502
62
675
220
480
310
524
377
319
305
584
351
815
336
898
447
649
717
254
985
123
26
957
739
180
873
503
18
899
475
800
697
833
551
774
161
295
165
87
793
319
442
168
316
932
631
790
846
578
831
740
728
691
426
983
765
640
412
780
875
267
896
791
876
642
286
599
966
348
642
11
115
34
865
692
376
154
175
446
30
734
761
676
395
917
653
457
360
794
518
223
285
894
624
214
92
956
713
369
11
536
717
335
159
409
69
603
47
217
204
784
624
217
496
677
695
720
849
903
900
410
236
99
16
474
684
372
344
777
836
183
163
781
975
237
998
203
541
801
945
508
715
413
808
362
626
895
407
242
733
996
513
584
952
690
804
443
530
33
662
906
332
500
142
140
421
617
549
644
962
931
749
311
94
854
254
214
350
878
652
232
415
448
440
147
613
785
459
646
841
340
549
1000
912
812
124
883
864
710
847
961
415
321
121
892
562
751
43
228
38
360
572
546
31
988
850
695
994
719
210
823
5
606
635
431
711
408
211
281
66
183
55
869
741
257
878
369
792
671
618
186
601
510
669
612
864
768
425
82
790
819
955
286
5
243
189
760
68
581
186
355
352
640
448
515
283
947
635
353
120
751
778
748
986
355
927
173
232
873
895
242
872
813
746
118
782
407
27
643
304
3
468
971
200
513
595
506
79
76
27
715
39
308
91
317
488
891
954
315
891
328
522
356
652
714
974
313
286
714
300
429
216
356
193
363
143
902
478
591
317
36
404
13
436
685
542
157
457
526
919
173
471
948
504
32
115
472
28
899
783
765
366
976
221
238
200
256
677
173
377
411
171
328
392
732
845
583
617
905
20
289
324
588
821
151
432
329
356
647
813
604
245
641
958
478
896
451
849
906
12
806
885
972
271
652
234
37
41
421
654
245
625
522
33
326
923
918
552
629
949
328
871
119
166
68
665
219
605
90
601
893
430
735
60
400
485
845
557
576
77
705
179
788
879
859
688
481
193
853
644
560
991
301
156
239
929
282
243
838
234
121
772
698
250
1
388
416
401
166
123
752
388
978
858
246
658
562
519
174
307
717
561
382
495
517
903
771
476
472
216
39
537
683
997
773
661
809
418
696
816
31
803
252
881
831
615
312
365
143
71
86
950
110
367
805
390
822
752
208
739
554
852
570
550
656
553
753
930
201
127
753
776
831
279
575
583
359
103
161
155
435
381
207
249
65
121
26
347
743
219
575
982
384
687
330
755
932
832
997
175
227
218
702
930
999
862
427
220
504
941
317
442
460
869
201
830
443
137
749
936
653
584
487
697
631
312
706
308
488
119
393
656
5
758
163
389
707
879
96
970
701
875
539
14
330
463
700
985
77
888
719
181
288
303
86
725
226
706
973
218
31
479
3
201
129
626
669
849
365
746
31
43
953
495
25
942
361
764
619
704
584
887
944
795
125
784
123
74
837
667
620
759
32
596
425
70
803
487
150
905
342
719
162
177
634
174
704
979
764
853
703
350
152
983
137
103
563
704
484
286
117
394
353
564
700
444
273
590
764
447
865
102
682
464
155
475
456
597
417
251
25
620
787
356
864
711
414
657
911
318
104
522
776
882
616
465
138
976
971
856
485
517
30
633
380
261
151
712
671
203
292
321
454
517
391
452
664
701
47
986
535
933
829
459
976
46
602
126
663
202
478
427
575
981
936
58
385
463
38
902
78
568
932
653
108
843
984
723
771
240
730
678
676
390
822
818
185
501
997
42
995
370
939
187
376
120
362
464
734
840
349
945
712
405
541
965
196
161
497
205
386
496
329
672
522
489
189
411
885
620
873
155
156
444
671
17
246
394
465
620
528
115
374
737
728
321
377
800
805
661
491
969
351
127
796
961
591
850
148
420
514
288
100
369
26
369
347
764
472
390
618
552
326
265
605
751
640
246
665
819
182
333
95
34
234
113
818
856
213
411
800
623
974
299
62
407
508
112
774
301
461
463
669
716
30
182
148
752
961
927
417
692
473
660
984
563
277
277
572
327
164
279
601
723
532
697
761
375
225
374
516
698
14
18
98
757
84
506
766
928
507
780
249
29
953
559
478
107
976
1
967
499
654
366
673
1000
405
971
26
533
884
992
994
306
932
232
45
383
933
344
913
710
183
949
262
510
492
408
297
314
893
561
678
505
544
32
116
576
38
289
879
61
701
579
892
445
244
349
646
210
50
540
991
893
458
854
813
774
728
951
284
297
132
423
255
379
783
662
615
491
64
22
864
448
959
532
66
4
299
953
885
634
159
123
379
51
622
953
367
548
753
903
933
463
173
605
534
906
231
686
661
45
860
104
572
75
907
208
249
567
639
834
924
840
11
383
601
620
823
561
873
983
731
600
139
978
590
492
135
415
828
865
322
142
235
188
283
855
934
629
395
457
841
255
242
59
428
433
30
955
282
101
327
390
864
417
352
145
351
176
589
291
707
447
110
710
327
440
270
122
880
280
121
192
497
232
999
875
883
210
962
618
501
753
176
409
393
169
960
22
496
726
202
63
73
288
231
370
526
293
115
878
423
33
365
266
181
526
626
67
233
867
997
552
603
759
54
135
674
363
252
502
549
173
192
445
526
275
585
275
500
781
653
761
727
456
750
731
394
958
382
936
912
636
817
75
783
169
841
426
174
375
2
419
184
861
444
128
505
862
549
78
533
718
760
80
45
348
139
38
274
682
171
370
288
874
585
246
264
517
732
230
903
463
283
863
182
368
295
514
914
35
15
855
764
89
571
988
722
499
595
993
827
254
155
494
301
722
167
208
991
242
551
991
467
567
235
999
20
456
718
127
240
155
335
743
771
229
58
170
936
962
629
197
274
643
254
566
738
743
793
376
688
313
68
471
773
693
380
766
429
685
831
8
573
311
337
409
914
131
227
585
616
188
128
379
791
249
168
711
57
872
64
426
331
829
367
832
749
699
180
38
625
825
353
189
595
931
869
159
359
800
36
604
57
365
885
933
411
311
497
837
397
689
944
955
308
521
4
696
98
338
186
120
364
16
950
909
394
910
694
119
466
450
292
670
873
809
966
458
880
197
434
509
84
454
564
670
424
655
632
520
323
357
705
557
245
632
674
185
767
401
427
958
972
387
552
413
253
451
641
884
123
461
529
252
304
630
511
476
220
666
166
241
284
626
593
356
349
859
623
40
931
251
390
71
510
986
803
948
587
949
696
915
547
812
125
736
432
337
437
151
729
795
436
806
922
409
79
95
51
94
271
770
135
463
644
970
817
935
843
768
110
602
462
823
621
980
257
643
790
486
941
682
502
703
70
236
678
37
103
734
388
914
214
794
846
146
144
46
819
995
48
809
119
49
417
973
766
921
550
29
912
910
711
135
812
828
137
60
858
172
781
177
920
835
60
464
931
53
798
577
985
775
81
567
995
207
706
382
55
951
745
520
602
817
703
326
148
312
279
536
100
142
301
33
499
212
696
217
784
391
239
178
204
103
310
546
239
90
363
370
64
6
303
124
6
99
803
138
535
553
946
456
619
34
825
762
4
713
226
244
549
872
663
953
125
548
643
255
345
751
878
223
323
296
546
373
580
472
670
309
201
840
805
14
532
356
751
662
967
976
164
654
198
680
880
425
991
411
320
778
20
554
97
629
91
35
462
832
578
378
135
192
836
501
412
97
363
31
765
186
796
27
369
938
236
870
548
692
799
994
213
935
843
106
960
834
360
504
263
473
643
819
280
631
472
182
833
149
973
95
922
679
971
271
569
774
420
666
161
256
187
387
815
346
901
393
223
257
956
317
354
752
657
997
49
878
343
682
945
988
364
723
964
254
229
99
342
245
879
105
633
180
823
582
587
217
257
608
637
835
70
889
945
935
445
926
670
845
178
966
827
614
126
288
571
835
251
502
901
82
871
890
773
600
341
10
711
752
323
715
278
286
599
336
535
618
108
614
606
324
205
896
155
845
413
427
344
738
237
733
919
867
26
788
515
276
356
490
839
282
904
907
798
983
573
469
443
644
474
584
92
268
517
225
764
58
715
962
232
350
265
123
571
790
663
903
675
498
717
87
835
63
119
797
166
813
636
604
649
984
448
45
315
755
401
675
856
487
888
783
941
580
623
510
939
974
224
957
566
303
15
562
504
886
590
978
60
477
329
6
41
208
13
734
488
403
884
250
699
421
165
451
862
72
127
242
414
253
746
51
220
199
705
524
65
443
184
811
711
461
186
487
127
459
250
519
252
462
28
103
787
681
152
711
409
15
168
997
524
321
967
421
964
375
732
163
5
262
47
41
852
862
39
302
918
877
505
555
640
897
417
195
839
915
408
492
736
367
239
257
951
907
171
134
884
273
457
786
712
457
163
838
84
101
131
849
703
959
487
899
529
115
697
96
185
203
777
295
710
449
792
974
203
400
337
4
768
845
611
534
440
222
281
864
704
443
150
721
807
234
116
168
512
987
527
803
658
200
500
51
15
867
520
849
954
648
925
940
137
860
705
59
102
599
944
341
349
277
915
365
187
687
51
481
16
216
776
933
671
854
746
355
852
117
391
674
211
230
294
428
39
316
824
914
118
740
561
474
17
148
113
569
491
210
61
849
557
747
125
500
444
248
127
705
228
265
159
267
485
600
444
612
863
458
111
296
677
410
713
440
260
877
548
241
948
106
372
891
641
729
178
142
289
899
196
629
406
914
697
243
796
797
806
359
454
390
498
256
559
429
69
343
688
775
830
353
293
952
775
970
902
992
236
237
131
697
17
634
907
961
289
929
686
933
980
7
700
627
231
836
975
473
994
913
895
190
888
983
269
438
905
66
792
630
61
372
396
683
423
715
578
759
498
617
533
915
715
635
409
631
762
91
392
970
878
702
687
14
674
660
918
174
713
372
610
547
917
488
460
958
261
274
645
142
804
684
493
939
581
864
159
489
170
740
395
249
741
603
560
364
657
895
969
557
732
339
990
969
656
420
996
508
295
802
832
250
941
885
96
769
732
386
775
55
227
535
842
71
406
233
189
777
397
390
916
155
871
452
127
447
782
58
612
438
189
270
51
814
876
149
620
680
93
355
152
23
214
999
677
687
117
640
394
20
670
192
530
319
693
476
77
739
178
22
771
615
494
24
417
728
55
577
151
511
981
554
844
159
180
551
873
232
995
301
559
43
642
971
394
716
727
33
200
63
616
320
557
882
594
584
352
9
245
995
93
440
720
134
39
728
907
283
458
433
919
490
797
820
879
106
645
848
223
35
438
805
670
312
71
983
379
360
921
995
503
72
347
140
928
178
434
632
212
574
426
647
703
404
642
247
267
338
579
470
241
586
200
453
335
495
634
621
898
437
175
5
181
4
18
801
263
897
896
452
521
697
934
952
51
795
249
1
65
379
50
215
302
329
749
116
159
689
243
140
744
596
218
994
63
515
905
960
412
621
542
82
682
123
998
42
177
797
56
303
814
93
579
558
249
108
12
457
71
761
803
468
884
776
111
292
901
664
898
563
215
871
208
161
482
34
331
690
565
464
862
194
875
478
823
546
149
603
944
332
590
109
897
323
111
277
168
691
279
280
578
218
943
650
779
356
16
838
39
128
541
406
719
372
787
467
778
442
970
658
985
267
944
501
733
964
572
925
273
117
701
450
559
847
90
294
624
363
43
193
849
728
84
614
508
907
368
64
262
637
365
839
629
783
521
6
503
290
428
640
686
413
163
243
515
867
766
312
625
585
292
496
36
533
950
894
745
912
318
782
916
232
294
694
742
699
744
906
245
952
490
319
104
971
574
737
23
447
628
566
491
158
225
953
111
505
477
924
674
151
578
835
240
705
753
952
352
766
350
114
339
155
329
365
761
786
700
620
766
447
703
785
737
391
429
570
546
697
764
618
857
218
219
32
261
765
661
334
825
728
939
192
124
840
638
462
708
924
818
518
976
642
664
163
782
580
564
332
782
322
461
701
813
560
522
810
886
396
374
914
578
650
657
831
486
169
481
465
664
223
533
907
862
318
968
120
736
4
976
430
484
411
19
275
923
396
388
880
231
75
233
643
886
136
678
668
551
353
727
87
913
274
620
499
480
471
756
91
414
483
496
926
814
474
374
169
264
155
514
461
694
216
986
266
865
400
770
161
336
950
231
833
631
810
330
566
315
505
534
56
573
839
7
85
850
36
621
350
500
651
609
394
747
267
623
480
509
995
950
644
493
558
889
211
93
565
777
210
656
888
99
636
519
596
220
50
501
89
221
720
169
418
606
49
82
28
169
144
636
122
564
51
329
537
833
209
8
544
576
136
500
64
500
509
157
686
765
293
883
867
294
758
679
269
810
686
45
254
100
1
781
260
324
79
65
402
199
160
770
620
790
945
840
715
340
948
195
214
21
159
990
642
559
147
973
827
175
145
134
167
349
847
824
186
625
983
19
928
115
437
794
917
769
17
716
834
419
811
770
795
188
201
716
740
537
255
433
546
904
662
328
788
451
156
263
303
649
76
81
572
94
440
207
632
956
83
400
118
842
488
634
237
351
429
12
828
359
663
520
115
231
545
481
151
657
179
996
157
157
161
824
176
565
348
180
847
32
679
968
863
959
682
93
32
429
566
992
253
853
934
618
434
984
623
122
889
523
899
687
280
892
587
505
230
350
705
286
676
366
455
126
114
162
732
340
195
877
339
147
429
89
539
754
900
5
572
334
979
860
813
436
281
733
660
362
716
767
607
575
551
527
336
805
940
278
381
982
833
458
702
253
887
45
755
10
485
880
644
287
14
998
513
531
758
662
724
417
859
391
881
42
109
317
720
256
502
219
543
834
131
47
428
125
535
367
997
357
952
200
204
870
559
32
813
269
430
315
398
976
797
500
121
117
160
970
50
264
744
218
558
679
77
454
572
542
231
625
979
907
717
301
604
4
422
138
610
916
837
189
116
882
882
824
807
704
963
239
94
285
689
918
382
802
806
376
950
398
168
68
132
554
218
988
141
786
476
916
190
20
420
558
266
22
877
438
73
141
405
129
246
193
952
405
737
287
743
26
291
492
98
213
623
705
921
816
524
222
361
622
988
622
367
249
448
384
857
4
288
956
963
196
703
100
550
461
170
880
206
233
334
138
764
309
17
570
143
81
115
927
363
209
51
424
576
19
237
790
703
801
542
732
658
158
435
156
534
6
136
751
866
581
7
32
233
196
172
638
899
273
784
82
748
431
645
679
442
323
699
137
707
759
543
677
909
112
773
218
345
91
669
974
357
581
604
664
851
206
363
176
681
795
692
437
269
482
781
86
738
972
470
213
305
774
691
547
773
117
314
222
477
728
980
251
543
208
391
853
356
901
324
957
571
795
783
782
716
642
601
579
878
186
336
574
468
537
633
766
610
575
754
198
269
833
933
684
919
343
832
337
360
188
863
823
288
36
821
948
88
166
816
813
162
1
227
838
29
563
143
416
561
938
617
642
788
241
849
790
38
217
678
743
265
959
292
74
838
323
487
523
1
84
508
30
188
615
411
485
805
165
748
794
269
638
102
635
524
972
247
263
278
853
798
973
786
804
409
476
304
116
581
84
350
876
337
790
466
266
410
647
75
858
129
519
533
341
596
778
224
179
786
575
204
961
609
106
938
375
978
682
461
253
322
687
746
53
682
318
684
471
275
792
20
319
889
136
615
967
7
756
594
159
547
388
31
234
87
773
382
467
452
179
145
796
525
374
30
15
917
722
546
465
618
683
753
131
351
601
255
504
320
730
17
629
137
76
571
695
579
660
978
846
905
428
92
975
226
319
76
1
205
469
452
561
893
185
782
543
430
419
453
196
813
404
665
646
749
367
243
851
204
583
427
310
65
556
828
915
97
702
766
637
975
11
787
788
561
16
975
633
305
256
60
874
96
988
536
710
605
851
846
504
744
672
175
601
569
750
258
542
427
183
687
763
334
591
711
891
148
913
530
283
274
763
926
973
920
709
679
941
146
263
160
108
855
109
905
746
696
71
186
143
800
424
302
983
150
445
150
956
136
25
544
619
369
161
776
819
3
884
967
282
7
363
79
202
846
68
642
346
663
612
713
546
657
68
366
766
114
935
645
797
967
682
314
280
143
223
635
413
333
5
731
39
854
574
667
850
311
485
797
570
329
491
667
156
139
280
744
726
215
872
631
610
152
532
74
849
34
424
168
761
495
800
593
845
477
417
719
932
1000
128
156
892
142
32
9
31
726
834
315
816
502
606
775
680
341
329
804
343
801
52
610
495
855
277
775
601
784
492
646
843
693
253
56
872
779
163
973
736
418
413
356
606
117
548
94
777
845
901
632
815
776
755
978
854
682
661
321
793
91
357
969
66
386
957
302
975
348
425
497
79
310
380
95
928
177
980
138
338
564
908
366
863
234
392
911
155
942
708
31
76
880
672
986
310
76
333
115
878
853
327
14
600
211
264
246
784
799
933
75
769
293
987
870
892
566
4
337
725
78
318
416
731
58
927
601
122
286
850
732
69
458
771
723
800
470
837
700
400
182
695
472
120
257
809
435
607
190
525
456
541
24
515
346
436
253
786
513
416
88
383
567
864
654
530
473
967
871
398
70
148
203
798
955
187
660
744
26
101
887
270
567
791
363
286
659
730
424
56
583
105
279
35
105
778
836
894
415
563
397
207
307
621
903
843
79
105
517
691
138
91
572
826
443
552
761
104
289
233
12
372
221
150
984
305
692
212
92
17
854
310
314
105
306
352
294
577
404
393
173
237
532
28
517
560
118
517
196
516
782
674
21
986
372
411
313
890
524
21
274
656
102
654
326
623
619
403
729
481
42
564
173
237
40
259
696
818
853
331
101
177
604
558
640
130
238
574
12
678
494
972
489
746
250
869
402
175
644
985
358
374
145
178
933
415
598
774
713
760
515
925
466
932
186
990
472
249
449
544
681
75
671
699
43
96
782
951
401
787
343
239
167
904
893
96
450
565
240
638
115
122
411
788
843
396
529
33
295
32
966
515
526
492
574
883
334
968
487
619
222
244
364
119
228
758
709
204
789
769
596
655
115
338
681
422
545
717
781
383
888
684
341
617
89
273
50
309
948
421
163
759
128
410
970
60
697
902
26
85
737
176
903
861
366
980
154
287
263
583
741
93
277
605
456
476
316
694
665
617
35
456
817
609
846
167
217
539
134
4
610
959
444
454
764
28
199
987
744
947
943
869
888
748
730
359
949
819
923
805
463
24
306
681
890
656
812
74
336
297
370
905
627
358
590
142
412
51
410
4
313
428
551
274
531
864
744
210
381
593
964
149
510
784
251
748
549
856
257
493
238
2
523
375
284
95
391
275
287
615
662
400
110
416
100
834
958
112
381
40
549
11
914
333
743
26
445
70
201
330
530
916
929
274
340
744
286
908
987
29
287
687
854
607
993
293
367
721
323
855
760
537
69
391
74
106
108
727
548
690
601
478
730
895
293
510
783
260
269
662
480
665
182
351
812
233
787
642
737
508
444
114
351
53
55
896
749
811
608
370
869
99
685
730
795
523
348
957
210
172
845
335
358
980
600
96
787
17
5
117
372
321
438
114
790
556
699
779
417
799
828
607
148
790
253
113
585
265
747
414
822
487
188
150
404
464
977
54
448
991
789
441
191
279
796
143
39
417
567
916
491
248
778
646
978
938
586
734
568
753
280
35
949
190
131
318
152
776
72
569
108
817
380
132
454
179
785
90
990
779
993
815
217
214
185
949
25
482
200
534
921
406
853
322
89
185
653
421
25
196
24
389
291
339
179
900
246
444
340
524
30
578
918
59
905
417
199
376
389
321
494
143
180
798
91
550
278
752
625
154
654
582
390
697
662
754
397
319
199
953
934
629
958
282
426
508
122
156
123
138
829
57
970
514
269
975
205
243
711
638
558
470
50
696
850
373
643
826
164
591
133
321
903
693
830
214
463
342
163
575
880
650
730
745
285
678
32
200
497
301
393
3
468
953
330
21
33
748
310
486
126
941
186
679
770
995
45
513
871
841
585
180
624
182
929
943
550
439
25
691
245
527
50
207
21
407
713
201
553
122
285
597
200
550
888
992
434
365
113
92
805
86
872
78
104
86
92
615
278
95
768
649
715
398
507
391
633
707
882
337
967
897
520
13
230
30
113
241
9
109
196
963
462
3
469
722
455
673
99
108
93
982
685
401
301
436
259
498
316
620
996
175
716
702
740
847
459
736
780
760
877
386
900
137
709
117
208
30
168
551
55
382
442
754
765
27
331
30
773
432
38
892
781
286
434
988
240
185
122
918
438
408
261
583
480
786
106
842
312
871
801
189
644
962
289
380
456
527
269
792
234
108
459
466
960
431
871
712
257
119
431
821
645
58
686
270
984
551
668
566
527
677
51
48
150
423
435
33
239
838
615
920
523
450
919
256
711
931
926
608
134
154
432
14
295
681
442
690
725
2
398
860
662
159
390
389
460
910
557
890
89
145
869
582
853
332
356
363
901
749
278
235
733
830
533
463
891
273
749
285
594
380
283
1
1000
115
952
907
920
431
371
265
505
557
163
203
772
672
431
781
179
704
778
499
467
72
504
210
235
787
606
423
756
359
463
710
499
33
670
769
740
783
300
375
323
31
710
258
760
110
260
284
853
164
22
532
728
646
322
171
489
141
674
177
74
49
138
267
811
958
83
825
506
392
813
426
810
778
430
467
786
39
649
404
691
84
783
889
2
865
176
87
299
247
810
965
988
719
512
185
889
51
33
99
798
132
167
150
308
279
25
323
824
725
916
758
923
187
926
437
741
366
245
765
623
218
553
978
995
94
269
681
571
734
8
649
849
159
712
216
115
12
110
326
631
216
70
867
497
507
814
925
961
229
18
254
770
217
363
70
703
516
556
785
339
505
100
347
434
298
642
221
1000
939
878
671
167
110
729
491
839
661
470
325
103
84
597
849
691
852
171
857
831
948
908
326
752
988
640
405
519
883
137
201
400
88
801
965
455
563
89
539
667
285
335
346
883
273
303
157
701
316
609
41
999
313
634
621
3
341
760
643
970
797
37
522
650
692
765
438
875
655
451
426
516
879
544
457
194
362
244
666
591
699
559
871
66
999
932
406
135
444
467
826
309
399
649
407
604
865
992
304
295
307
519
905
909
565
471
860
923
290
414
984
24
282
560
729
234
932
124
852
40
863
78
837
910
183
762
288
630
738
356
914
374
51
410
478
744
385
153
642
246
322
262
138
584
912
372
92
975
110
32
726
105
918
640
605
630
821
642
186
357
467
434
884
583
897
767
835
745
809
441
874
491
839
6
624
516
906
641
997
417
479
75
768
140
891
560
531
128
267
994
681
9
801
306
170
918
230
890
145
688
807
492
502
915
764
371
639
681
925
261
559
188
662
125
371
813
208
964
596
517
332
98
906
76
74
275
310
408
540
221
620
411
21
134
785
245
48
540
326
104
410
766
441
552
528
113
759
986
178
179
927
620
141
227
637
528
787
62
499
280
993
176
216
645
590
658
493
939
446
698
181
251
380
229
682
619
699
102
999
279
266
330
544
828
935
720
361
961
609
739
198
892
307
947
390
702
580
491
274
713
412
863
917
60
94
838
867
831
301
270
492
566
599
660
319
749
219
92
380
57
39
63
167
952
820
163
744
592
895
172
501
847
373
778
307
269
939
133
39
763
116
36
533
956
949
169
618
827
406
35
934
323
255
876
875
497
233
24
934
134
244
287
872
538
747
976
470
513
565
346
872
833
828
323
727
870
619
843
191
40
911
518
712
262
772
864
79
873
735
721
322
206
289
981
505
874
527
925
134
740
562
759
28
945
685
77
12
416
721
399
398
480
811
100
289
676
860
942
78
158
418
404
835
375
504
758
793
367
71
440
727
343
202
672
167
864
905
734
537
343
462
980
638
121
259
674
420
646
22
140
31
225
7
446
225
820
266
232
523
214
577
311
187
134
136
739
997
286
289
508
590
767
44
685
58
263
411
786
267
754
258
420
327
676
716
996
30
752
415
612
605
510
882
447
528
108
47
949
656
505
806
472
493
224
567
119
458
452
849
877
979
161
384
988
818
649
160
827
334
363
80
316
186
515
651
686
164
237
369
874
591
579
975
974
56
264
806
209
704
507
12
950
605
980
190
569
292
353
394
587
264
416
740
664
441
257
246
295
785
800
761
318
122
341
96
624
855
467
952
865
654
507
314
675
808
237
816
545
515
731
146
915
983
857
608
243
519
209
918
287
927
631
162
714
96
930
90
388
48
973
381
143
701
126
774
234
105
589
390
548
94
604
837
729
27
154
578
937
651
125
845
855
506
641
527
491
352
928
386
167
162
176
771
194
241
397
721
564
604
489
490
729
533
777
871
24
909
810
55
238
54
246
339
412
807
586
767
964
174
108
721
338
863
686
904
726
434
387
932
574
134
192
93
991
576
430
939
813
782
206
932
207
522
332
40
247
907
633
86
743
267
417
713
2
685
137
52
347
707
598
181
638
125
621
413
219
775
882
493
348
510
498
680
241
802
400
867
458
349
297
811
467
341
236
944
115
562
550
647
528
385
463
573
418
856
333
479
610
387
880
130
178
506
678
203
58
769
414
472
123
57
438
391
162
416
667
649
562
476
150
475
624
816
472
292
412
486
103
299
564
191
728
734
554
723
197
796
901
504
40
37
882
513
876
636
327
740
629
215
822
355
188
228
574
26
827
505
637
401
485
187
493
407
972
125
875
922
624
412
504
324
754
722
614
219
510
381
285
117
67
656
417
406
458
585
104
692
999
635
339
554
992
26
219
679
848
343
230
460
713
720
333
814
569
167
979
110
432
916
382
429
590
136
158
924
519
750
907
729
336
463
776
842
456
501
141
306
446
11
673
783
356
867
875
926
513
865
767
766
817
584
92
853
823
350
376
979
521
737
942
839
537
230
967
740
980
585
360
499
369
171
788
465
826
249
928
909
132
988
71
199
182
847
185
926
886
675
927
453
972
199
639
897
76
469
478
808
717
40
611
506
742
982
113
347
42
372
53
974
748
142
619
597
777
541
515
889
352
336
278
695
638
370
778
32
843
617
917
119
890
80
750
116
231
275
267
568
507
701
315
378
711
988
875
304
703
540
625
207
517
924
186
825
260
659
454
398
152
851
161
920
545
564
961
718
671
119
70
214
647
319
852
271
205
973
187
368
604
399
141
534
419
762
789
849
275
570
254
539
357
397
341
306
200
266
56
501
713
477
502
828
187
345
313
409
403
118
964
784
474
730
560
147
38
79
570
652
610
545
655
51
917
769
912
702
283
427
934
754
680
625
398
337
281
361
109
84
783
26
358
864
284
286
754
367
54
622
382
743
495
304
839
587
806
599
329
706
428
795
931
91
160
767
385
498
776
8
292
377
961
42
69
1
977
319
873
279
35
373
722
194
120
687
114
301
976
40
819
966
252
701
709
400
821
167
378
509
630
111
935
493
15
112
512
754
739
405
115
608
457
703
827
221
586
77
197
604
417
577
561
904
262
608
190
208
699
881
625
131
339
457
811
670
445
707
297
945
251
909
737
461
341
269
86
211
831
80
839
234
63
650
841
720
619
498
798
12
437
747
540
539
422
870
855
601
621
134
379
670
449
111
177
288
880
743
886
666
610
780
68
132
873
98
398
846
886
270
792
818
768
355
874
705
646
461
30
977
447
821
20
3
58
309
45
487
414
3
553
948
494
46
372
452
700
283
232
956
270
855
746
509
981
980
938
775
302
94
767
719
304
119
471
94
823
918
73
827
512
186
962
235
448
737
174
59
134
120
423
349
101
435
191
877
846
836
643
317
358
531
243
871
531
749
769
670
853
914
525
823
393
82
926
333
374
18
151
350
97
187
40
839
306
474
68
431
827
854
185
330
41
993
881
457
141
536
113
217
760
739
706
895
346
726
163
242
176
843
43
655
77
213
919
772
374
310
570
144
699
851
141
603
59
701
994
395
636
515
843
53
544
584
500
424
704
619
517
902
908
341
515
768
734
698
494
836
492
837
683
95
988
490
761
334
195
291
458
126
44
150
323
247
482
792
561
868
28
233
224
568
603
842
885
98
333
782
312
255
590
929
697
550
140
147
46
801
671
801
189
312
788
288
624
702
111
303
238
591
456
132
34
337
557
288
469
33
877
631
994
179
181
429
464
459
415
433
659
223
679
636
563
218
283
667
806
53
748
801
188
306
531
164
76
439
373
195
376
937
509
784
342
636
279
538
539
667
751
281
708
357
887
638
388
975
39
346
508
619
767
781
949
791
933
211
161
961
638
878
770
511
189
638
522
927
516
335
600
496
987
781
378
342
29
678
273
210
559
903
189
845
747
863
829
938
603
627
824
155
890
193
5
369
938
323
541
710
97
115
422
612
500
653
528
471
666
191
706
856
934
652
245
255
402
494
31
651
338
886
173
700
895
552
962
688
522
301
127
743
112
152
796
277
681
963
493
718
105
632
502
661
991
436
300
867
664
424
281
453
205
824
747
135
966
673
126
136
759
429
314
311
959
230
484
281
724
106
332
611
815
921
423
655
185
180
948
246
719
593
861
666
300
317
484
237
50
263
945
942
881
744
338
65
453
954
947
33
270
952
532
548
76
326
266
647
714
487
719
712
751
220
499
244
964
200
437
92
248
833
504
556
25
641
717
331
276
333
213
676
260
279
753
472
997
402
484
534
975
360
169
740
543
304
511
401
271
602
919
946
935
816
880
331
504
980
699
941
821
943
69
900
811
252
552
878
429
848
867
124
978
962
918
806
518
201
760
96
548
489
851
71
296
352
715
757
920
719
290
711
267
633
18
270
945
129
511
146
653
12
612
756
244
927
87
953
304
769
143
192
934
496
455
247
299
325
895
350
817
583
102
717
945
9
92
213
475
525
617
912
964
304
613
219
435
592
371
382
522
894
426
571
714
245
562
966
576
376
908
671
380
25
956
83
187
702
504
197
635
240
294
78
168
188
839
899
712
59
344
864
630
721
846
164
422
279
852
883
355
112
60
266
678
909
978
366
196
130
617
870
213
178
909
806
384
155
128
318
22
820
808
364
261
306
370
545
374
94
51
835
924
547
575
988
848
670
981
284
451
732
565
375
709
172
758
45
75
898
176
783
33
491
888
57
970
134
984
46
242
241
614
613
881
515
794
811
373
389
816
848
916
967
232
593
480
937
737
483
241
651
903
916
220
79
643
509
394
399
465
357
170
577
147
835
43
282
796
500
758
650
207
979
231
169
576
569
107
806
19
216
715
950
968
649
359
835
603
974
378
46
126
23
809
447
709
404
887
469
286
580
498
867
393
557
59
628
689
377
742
465
532
230
288
297
712
182
752
676
35
688
290
330
680
688
980
390
279
511
886
300
532
99
488
564
267
545
724
526
986
555
697
373
495
553
968
571
749
529
841
398
909
894
676
533
379
748
110
887
236
454
902
718
496
28
128
97
341
640
31
75
137
394
82
919
405
765
569
133
120
910
664
521
49
684
656
682
482
616
620
335
417
367
902
503
776
263
810
487
654
945
599
394
48
774
759
821
680
546
56
194
27
708
804
722
539
663
361
353
430
845
3
953
991
811
328
362
737
920
964
952
233
245
118
498
422
278
586
419
344
11
188
339
130
799
890
531
280
538
925
909
681
253
920
757
956
845
627
522
400
531
317
51
556
971
424
105
861
694
874
564
296
736
651
66
922
16
142
981
360
566
132
789
551
251
161
109
515
102
725
331
99
996
233
11
591
980
404
789
852
784
250
445
349
256
17
49
713
692
162
941
987
956
400
192
289
455
685
554
555
867
196
389
389
955
290
164
20
499
762
773
910
89
950
706
216
811
458
322
627
290
762
371
688
324
330
788
460
429
55
166
685
414
542
104
335
994
354
650
261
298
545
866
541
705
522
835
272
246
770
942
365
51
850
144
218
774
34
431
99
779
24
870
630
998
469
581
456
816
737
402
353
977
194
925
40
343
856
468
745
508
616
504
749
544
364
341
960
24
261
630
357
911
115
853
703
546
179
883
552
501
988
520
407
628
621
936
111
410
880
656
225
739
316
935
654
163
859
719
174
836
635
894
260
489
115
305
950
99
988
185
828
694
773
587
810
544
476
323
738
674
816
54
198
783
372
251
328
388
471
241
45
322
997
899
573
431
7
647
931
38
749
230
93
817
590
447
737
707
288
927
105
531
891
805
879
131
824
653
460
156
277
738
177
865
522
421
823
437
812
40
814
814
847
541
11
597
221
662
623
541
902
605
717
57
201
159
151
626
873
548
204
745
307
698
379
341
710
358
629
160
840
285
936
238
953
251
56
535
775
194
172
562
635
863
842
597
971
761
125
229
792
420
387
561
975
213
932
431
197
231
675
992
397
223
120
693
501
930
810
891
389
607
891
803
201
333
768
835
257
472
700
836
427
499
399
312
798
754
576
899
65
228
839
138
830
372
700
509
67
805
913
564
916
125
884
852
98
908
63
354
557
97
640
683
570
486
85
362
103
669
256
261
322
192
751
154
41
544
973
451
94
432
601
615
740
977
149
89
244
293
465
186
833
982
697
457
343
576
182
397
75
322
260
162
204
131
201
644
75
416
668
54
44
836
5
457
778
855
196
397
445
194
605
360
349
387
806
8
884
294
435
51
355
297
620
6
363
634
594
866
240
947
670
743
350
918
67
461
936
393
913
517
434
583
62
385
977
991
915
653
611
514
775
407
44
120
896
168
592
110
830
656
441
210
362
686
50
444
314
32
93
136
980
825
549
733
774
376
339
769
687
667
681
483
423
857
485
219
448
679
259
62
905
248
687
646
77
50
513
335
442
635
67
231
937
152
620
759
774
426
134
439
785
317
935
737
501
236
662
951
932
853
955
344
444
496
214
802
523
859
449
317
279
470
82
119
272
990
977
734
947
317
293
68
689
193
976
206
745
159
261
310
223
657
6
876
130
666
473
852
807
490
176
168
249
924
659
532
974
431
463
146
904
662
877
530
579
749
793
239
728
373
571
719
321
393
227
3
874
755
95
371
83
971
214
953
196
313
363
926
288
319
74
382
304
650
709
652
506
752
412
644
151
516
988
797
343
198
944
310
778
347
674
6
637
461
580
424
752
834
857
887
776
506
304
810
636
735
592
545
701
168
155
373
437
521
459
522
947
116
483
452
380
93
116
820
933
681
825
799
998
747
992
1
706
336
745
291
928
345
315
651
311
209
711
309
393
526
514
937
54
690
152
900
762
691
654
99
766
76
35
790
581
559
476
24
850
784
14
294
438
88
375
396
290
993
697
696
357
545
850
180
742
827
816
485
283
448
229
377
129
323
469
140
358
871
701
589
823
731
119
197
215
134
483
850
501
77
22
431
64
539
371
845
189
218
940
386
132
120
109
804
693
953
98
762
563
464
645
844
226
490
949
282
105
758
184
63
243
414
704
66
747
912
418
268
67
822
791
273
678
409
793
791
695
105
906
605
360
824
152
768
215
474
669
766
685
963
673
12
77
592
755
315
763
246
21
465
495
629
603
827
267
295
433
300
738
962
534
574
726
442
304
234
851
420
824
704
324
857
774
354
275
280
400
216
258
633
914
17
10
593
67
620
116
991
246
851
906
90
502
259
137
185
399
624
327
517
552
638
473
630
419
654
818
38
718
813
809
230
526
379
37
927
424
500
330
201
686
778
46
182
934
930
4
921
780
941
600
650
279
669
676
939
41
488
411
19
205
672
135
499
470
268
657
172
786
573
663
311
779
473
476
72
710
34
250
676
890
860
146
883
884
230
691
485
357
513
477
779
444
401
963
19
742
195
266
890
826
523
434
981
108
939
886
94
675
55
638
459
798
21
524
303
977
660
861
685
547
93
295
473
840
602
817
992
367
718
695
132
501
241
217
62
989
455
761
657
567
711
478
562
505
80
949
195
290
8
620
1
172
893
385
868
231
561
454
489
724
541
401
470
275
64
326
253
552
583
294
156
286
401
174
797
789
681
238
916
860
478
324
56
326
590
478
987
786
157
801
456
324
843
726
778
690
66
85
959
682
448
524
882
680
471
160
788
200
114
328
264
944
51
825
242
19
512
830
621
748
534
262
344
2
258
903
444
272
898
772
205
771
733
67
978
575
691
220
342
524
297
934
610
631
628
748
298
828
414
419
79
490
787
306
453
661
630
830
995
942
808
257
741
347
629
525
6
800
727
652
490
165
174
187
1000
122
344
762
763
720
577
169
736
921
505
608
88
883
211
143
692
364
221
892
532
437
225
549
977
340
234
424
420
838
343
413
256
139
371
970
648
247
877
380
540
897
544
55
238
737
596
610
710
360
337
539
480
493
470
737
164
569
318
903
588
882
92
272
355
294
567
176
962
356
218
504
188
255
488
285
302
313
920
580
996
190
710
72
955
424
648
323
930
601
187
232
396
594
810
274
713
681
793
365
374
159
600
866
207
751
332
473
142
624
667
654
73
360
190
490
567
518
499
557
103
693
243
177
23
390
379
538
596
100
955
107
12
117
450
238
129
683
277
845
236
540
513
532
391
317
98
236
316
129
386
343
60
8
558
786
697
883
537
800
870
778
143
622
891
6
264
178
15
234
204
317
784
502
218
376
710
339
100
123
893
96
52
535
452
962
953
909
897
505
44
538
254
806
996
670
864
572
159
240
204
956
270
447
948
164
835
84
956
931
600
449
279
385
255
560
986
897
253
822
684
953
140
630
567
352
429
27
478
1000
49
455
561
62
246
399
206
102
17
840
421
385
804
460
537
952
572
898
499
649
55
976
282
347
183
350
746
875
371
931
568
50
561
44
978
66
340
867
683
590
181
346
32
285
713
304
568
876
299
580
231
147
710
383
694
773
166
231
310
739
968
147
555
709
130
504
206
356
636
499
28
91
856
796
911
574
957
926
201
250
365
40
501
180
403
196
368
261
638
279
144
261
804
141
691
876
291
261
129
356
634
656
354
734
364
233
236
584
140
541
167
753
767
462
170
646
231
219
598
103
640
395
680
561
454
88
199
926
614
257
758
622
709
336
525
538
459
981
502
172
785
568
581
265
298
396
272
906
208
860
498
854
843
510
238
678
88
903
593
996
473
72
408
131
231
792
379
359
104
405
731
953
761
411
331
918
26
243
849
890
910
886
226
677
589
524
905
938
573
4
86
62
933
399
295
449
926
564
433
844
913
904
696
572
612
130
665
782
918
169
332
544
99
820
208
605
9
198
505
155
322
393
961
203
704
840
300
923
452
733
827
965
628
621
862
142
617
252
75
813
670
320
89
824
555
725
448
491
570
379
150
229
639
971
624
369
264
200
392
204
354
511
2
537
533
235
885
171
803
669
640
526
674
598
241
738
331
772
375
371
744
169
821
796
536
886
774
926
693
628
739
202
664
114
65
348
371
17
238
712
710
907
54
953
70
637
858
822
209
628
45
261
317
984
983
557
450
394
410
121
248
889
407
148
800
925
886
13
663
48
457
108
412
457
250
356
285
526
623
748
456
864
398
253
592
457
918
725
32
832
500
640
398
837
369
356
782
727
63
293
103
892
586
168
593
318
831
959
771
664
722
77
520
138
997
241
535
824
318
674
537
299
727
600
990
501
73
256
661
488
647
273
605
782
357
971
674
44
406
979
774
118
466
827
921
484
73
191
745
563
767
217
967
144
560
532
881
562
189
827
155
771
326
345
309
558
7
213
188
838
27
46
670
215
57
431
826
487
759
28
965
420
349
118
596
290
480
580
959
316
665
609
244
712
577
882
191
15
972
391
594
307
165
511
163
242
853
440
584
155
272
407
636
122
239
585
510
404
476
62
779
722
800
358
1
192
100
73
571
915
607
815
779
405
574
216
995
768
327
309
258
274
16
841
969
598
803
115
211
523
236
557
938
913
367
430
63
480
476
193
708
868
279
702
328
82
124
701
131
137
429
267
910
835
795
649
784
7
813
609
918
296
867
756
520
876
343
933
602
623
457
791
523
641
227
607
679
490
534
714
830
654
927
285
812
558
88
589
829
128
150
868
280
877
818
824
79
691
130
205
536
112
361
978
979
932
751
468
125
316
354
61
508
244
185
214
986
969
608
219
968
698
945
568
979
366
730
638
61
398
735
293
877
384
193
830
935
577
590
569
846
960
544
929
95
226
570
567
857
93
486
645
820
380
972
100
851
337
26
227
591
766
302
23
620
103
854
172
10
976
15
226
843
555
68
16
786
664
239
843
639
322
472
639
248
19
684
517
195
614
698
419
996
464
815
755
901
280
546
101
693
30
804
777
938
584
571
974
795
967
443
485
102
753
781
518
997
464
96
249
98
383
620
822
616
112
941
390
37
408
959
898
817
741
952
31
607
677
869
452
820
403
760
382
578
504
488
549
668
183
504
935
955
159
289
791
565
671
961
821
145
942
740
601
970
536
929
470
318
842
16
515
804
602
368
801
638
779
682
28
765
679
6
442
257
535
928
757
920
553
914
622
290
741
517
344
299
779
330
440
126
699
127
545
136
914
772
93
332
137
332
643
76
31
89
825
352
651
878
893
56
933
978
228
328
800
101
688
963
977
204
849
724
523
665
587
443
558
950
964
250
310
731
156
688
452
366
840
783
392
130
804
147
703
952
680
80
154
75
614
621
165
534
820
644
467
509
13
451
845
77
776
764
317
177
456
888
267
612
675
1
600
202
677
817
353
666
214
923
272
650
515
706
592
957
683
878
471
181
99
913
647
732
597
288
380
18
273
256
814
237
647
462
292
224
163
204
557
578
554
289
913
730
566
171
891
225
459
124
131
49
671
528
960
424
714
114
32
813
382
642
571
275
780
775
278
313
494
141
139
37
488
310
492
817
367
252
632
189
714
949
234
132
312
572
135
476
182
788
260
583
825
453
983
878
439
845
156
359
902
923
606
11
72
322
455
663
568
752
455
878
291
261
378
419
690
577
279
37
706
594
148
787
495
964
610
679
685
680
549
351
159
323
412
509
192
439
745
721
684
106
865
543
781
193
916
756
514
95
367
186
482
341
481
553
256
868
872
50
260
903
694
646
97
145
864
859
194
293
617
820
708
718
370
979
417
99
805
789
138
80
782
450
66
334
486
794
681
765
660
689
815
586
102
633
676
206
879
110
54
518
417
336
883
135
334
518
923
866
829
861
291
951
984
425
840
989
378
725
458
545
308
410
130
660
938
349
179
368
125
942
120
768
328
921
986
790
375
420
388
509
805
346
692
364
165
365
401
827
947
374
593
874
21
915
549
242
842
966
558
616
764
93
7
930
696
861
426
677
387
986
167
625
497
57
240
261
639
701
511
92
643
413
295
615
316
424
996
999
327
400
363
619
685
139
331
648
254
944
881
585
214
979
102
275
562
434
371
292
345
179
880
969
875
439
961
985
972
165
307
159
133
248
200
647
813
620
323
950
37
551
545
300
473
850
239
531
967
880
734
597
881
100
392
702
286
273
123
154
974
563
283
516
335
277
396
500
333
183
840
132
886
86
822
318
833
182
619
10
940
397
275
441
381
716
560
571
641
267
133
336
434
477
863
927
461
926
322
463
754
371
651
474
595
618
73
433
489
131
723
680
667
342
488
524
687
330
621
547
279
75
245
855
234
874
489
75
705
763
579
713
68
645
729
102
724
7
750
446
449
680
137
533
358
558
773
786
313
833
898
179
245
100
177
618
946
19
607
86
619
102
937
466
128
372
826
805
638
985
165
248
22
169
806
156
683
633
647
109
2
211
955
745
870
491
188
366
976
738
455
203
953
774
554
681
492
695
419
839
682
27
117
958
741
222
273
730
870
307
211
458
855
978
38
860
48
996
649
206
814
84
91
276
9
740
851
196
614
99
575
605
986
987
480
947
890
611
622
567
304
133
303
721
575
917
722
652
347
183
313
440
475
238
717
434
347
415
1000
145
917
527
284
790
397
919
352
187
901
367
288
442
605
727
910
886
162
146
683
45
381
892
987
465
990
385
140
908
681
395
706
854
53
51
270
642
950
496
794
243
322
774
968
462
46
131
555
417
205
874
807
280
910
854
908
546
872
89
464
241
817
300
907
738
415
943
967
852
182
292
529
255
796
364
974
17
581
583
361
362
637
121
586
549
659
416
532
422
927
837
576
130
437
741
537
556
339
419
600
363
236
991
527
280
930
154
387
905
31
382
554
190
525
313
274
266
886
103
461
555
28
594
461
525
837
290
51
9
18
208
558
933
235
909
4
590
455
117
792
244
979
603
416
227
470
982
335
299
736
40
334
544
179
997
785
751
692
825
280
236
816
323
900
470
494
138
144
203
687
815
722
127
801
586
896
867
656
365
777
540
794
591
848
939
19
353
3
421
611
262
839
321
48
285
420
737
466
731
378
493
19
94
495
41
272
810
892
918
688
541
980
358
525
743
61
796
826
257
942
124
369
51
951
638
693
702
943
543
793
252
717
253
599
516
946
282
529
234
888
665
435
866
626
357
32
308
925
272
829
141
693
183
619
121
302
345
44
547
283
537
844
133
724
533
818
908
712
342
358
794
800
176
861
173
503
633
744
98
83
566
852
323
973
753
829
920
327
170
230
135
888
682
228
980
779
301
85
957
591
6
679
649
736
945
109
407
786
264
152
60
112
234
505
590
546
938
346
909
108
106
799
292
956
224
921
172
785
274
967
66
229
344
303
211
443
896
25
917
592
69
624
991
357
840
808
546
356
151
67
319
808
570
237
594
307
723
483
534
501
148
219
356
922
466
477
198
190
479
286
136
561
369
449
482
160
793
969
389
137
997
709
203
192
529
43
678
564
313
676
571
262
275
91
370
888
273
877
513
444
917
324
662
86
569
821
368
63
271
465
494
322
932
81
979
880
625
667
648
411
282
279
685
837
946
567
622
171
591
550
935
644
502
417
738
723
567
384
708
55
81
778
480
364
780
62
590
558
789
852
751
411
221
762
140
737
158
317
155
596
629
258
476
314
992
318
96
567
923
137
616
398
324
900
595
961
186
11
247
850
860
876
681
539
450
160
593
499
50
953
907
999
306
502
686
749
652
3
301
498
337
484
613
796
959
399
571
331
663
320
568
74
629
267
58
814
503
333
207
285
220
619
951
959
344
896
293
395
674
133
968
841
8
611
861
295
124
131
853
254
76
343
942
154
555
195
414
274
203
98
216
786
412
624
365
967
771
623
592
159
134
666
5
100
368
201
878
603
681
537
763
485
990
912
210
904
522
820
651
479
660
718
273
319
645
254
132
295
527
43
469
334
412
51
534
960
815
247
616
876
245
319
991
528
79
308
789
860
746
790
771
636
330
519
184
901
432
626
407
572
474
662
629
577
996
341
10
178
569
679
379
349
421
609
443
982
724
873
339
36
832
268
402
291
708
676
43
169
123
991
13
21
84
4
747
299
453
691
190
81
359
795
711
395
838
916
768
941
304
214
837
888
30
117
567
636
994
198
480
487
498
159
226
363
34
508
348
121
563
691
502
154
803
583
988
233
490
139
201
583
168
944
936
772
878
170
553
562
458
220
900
370
478
185
46
211
890
815
742
317
162
702
905
49
82
950
605
173
958
758
163
597
268
814
301
419
948
754
357
523
792
507
235
170
398
281
446
589
117
149
538
763
948
842
950
173
343
288
957
655
901
87
886
89
160
589
278
716
309
486
150
491
710
284
472
188
999
247
78
511
233
128
175
650
722
572
582
875
914
770
543
347
344
183
634
152
85
592
704
976
408
666
401
938
873
768
686
325
264
68
998
378
581
967
274
989
654
731
713
956
27
248
32
667
394
102
68
266
397
86
525
164
594
109
16
649
370
958
238
959
531
231
364
17
906
454
597
8
10
578
964
771
42
624
517
714
1000
205
471
500
23
516
228
919
2
354
171
766
835
76
610
435
833
730
333
402
983
232
789
997
754
624
94
810
789
117
424
324
358
156
684
869
441
727
773
283
720
172
478
166
670
228
118
179
196
113
458
262
54
778
509
911
55
187
524
138
947
372
749
647
598
496
61
31
842
359
353
289
967
456
881
707
14
124
362
367
225
733
731
438
107
408
411
957
897
767
197
26
480
856
966
242
772
965
869
515
565
470
650
191
614
67
486
488
179
969
478
837
125
958
26
609
634
752
120
678
701
554
61
327
155
785
386
865
572
715
127
649
832
502
143
484
389
673
544
788
920
144
116
954
165
337
352
36
621
789
636
616
203
325
122
569
995
116
388
589
496
337
280
975
342
919
621
407
402
77
613
621
896
994
858
291
737
653
896
354
674
795
390
589
683
315
387
613
570
406
522
344
461
343
978
850
274
359
507
939
624
909
310
822
602
186
528
71
437
145
84
155
118
273
512
25
118
613
432
898
891
110
787
913
156
888
769
587
101
93
608
882
741
922
993
387
67
518
509
797
435
177
137
992
630
943
201
133
572
824
307
910
303
908
545
225
564
592
41
838
414
294
212
502
562
80
841
185
426
875
868
682
758
196
566
406
64
949
280
493
29
434
862
322
785
577
967
615
247
32
256
402
878
608
645
2
394
703
696
493
443
839
792
291
432
216
94
746
392
672
359
996
335
273
945
722
437
532
190
447
150
97
8
332
886
776
570
200
551
405
46
556
145
182
903
216
784
517
452
964
486
509
124
265
996
668
736
302
207
125
551
317
354
749
396
991
527
935
349
163
837
407
293
591
201
965
471
369
740
183
383
389
602
531
735
609
575
875
850
187
464
910
299
774
368
800
418
312
314
792
730
6
803
964
317
940
348
117
931
450
110
934
400
882
865
130
515
766
900
817
716
417
967
141
283
686
875
809
745
200
308
655
137
86
365
991
236
632
435
773
608
446
297
396
90
299
292
692
921
386
487
284
164
119
501
412
129
48
980
957
838
236
108
308
131
414
30
482
328
679
937
107
818
552
958
398
192
486
18
628
327
530
399
939
209
509
534
253
182
125
821
585
421
222
346
825
201
832
130
589
704
733
272
270
633
215
381
334
303
886
406
259
73
636
955
873
652
936
72
102
280
238
202
181
640
704
612
221
731
288
759
537
609
436
743
606
485
312
148
47
194
220
524
756
777
640
513
145
728
198
685
155
115
871
678
238
700
132
84
786
104
24
940
415
806
818
802
507
93
611
501
657
987
334
859
580
311
51
648
941
665
308
14
173
569
21
328
865
116
119
573
106
300
728
10
386
824
859
539
684
233
684
360
274
684
465
356
47
194
439
588
10
19
926
668
324
546
428
864
116
345
266
499
397
545
675
138
418
598
231
50
478
194
764
259
761
127
337
206
967
830
251
987
643
268
405
150
964
867
53
135
646
882
992
307
105
649
962
778
53
217
420
462
287
902
61
429
803
286
1000
152
727
271
849
109
686
496
837
73
681
282
674
997
27
721
41
720
628
601
938
780
242
609
805
487
122
118
601
561
569
858
560
874
118
431
261
455
790
62
218
973
826
636
872
94
128
131
438
62
8
308
257
698
175
9
889
955
334
946
987
428
380
131
549
374
278
890
795
498
63
209
300
646
17
112
452
117
874
628
596
495
714
564
677
951
867
891
707
231
769
735
951
140
918
407
151
303
86
273
263
174
573
606
733
809
459
701
546
108
926
471
614
481
802
515
532
1
761
833
669
399
436
139
347
510
260
975
551
103
691
783
604
832
787
429
62
800
723
632
88
803
272
993
143
670
186
136
659
389
831
152
377
448
945
369
530
336
52
302
452
650
469
189
263
745
920
526
475
605
241
802
623
833
307
781
999
102
830
346
717
619
144
428
567
812
381
891
635
221
715
542
740
320
831
611
409
527
582
583
489
527
256
447
30
191
264
417
664
360
860
738
11
316
220
137
634
6
874
852
608
398
19
737
471
334
502
332
428
642
924
433
856
431
287
557
539
449
761
327
805
733
868
638
836
827
520
886
92
42
649
85
599
746
937
507
734
509
386
504
660
536
588
382
566
183
971
302
218
957
165
431
360
401
622
116
209
856
967
26
466
497
830
302
937
307
729
513
36
167
786
996
281
368
503
804
395
65
720
230
780
185
383
314
18
943
654
50
128
847
405
639
824
572
739
75
134
920
638
193
765
684
221
524
622
961
517
88
626
253
992
247
222
52
957
184
69
119
247
461
182
710
549
971
988
875
88
685
511
461
501
869
827
939
403
625
617
398
656
749
512
993
456
931
506
907
96
266
751
657
948
85
812
725
576
174
326
26
178
818
969
478
633
915
793
287
634
406
766
30
571
397
177
192
673
965
118
528
411
900
904
17
588
949
89
777
807
776
669
837
845
972
512
608
800
537
682
857
290
276
561
460
786
336
710
226
710
308
606
91
216
268
672
674
593
776
639
203
424
941
879
499
224
892
32
429
928
306
976
906
510
531
328
366
207
372
821
716
728
937
385
918
36
843
887
84
648
902
315
952
446
414
896
931
973
211
697
190
860
917
167
939
39
106
702
62
741
741
939
52
60
105
965
32
70
112
420
128
732
606
280
611
422
506
159
789
167
490
77
833
867
1000
659
81
96
348
403
216
31
215
922
62
436
782
14
211
288
409
104
129
826
705
930
110
935
413
177
715
655
399
102
320
391
249
874
255
368
702
231
870
359
849
77
456
374
848
815
927
132
683
808
397
1000
493
889
231
361
511
673
774
922
444
793
449
586
574
165
73
363
121
527
695
17
215
567
787
692
832
276
750
66
726
803
444
978
572
405
733
260
704
393
967
930
298
63
604
467
452
250
79
597
655
253
551
811
810
123
478
143
720
272
274
270
866
696
109
384
611
118
353
237
651
845
247
157
331
358
31
757
905
900
163
720
456
35
290
400
886
255
165
54
96
324
425
797
713
78
784
668
479
168
160
726
160
900
959
694
569
972
157
500
525
677
829
133
41
341
430
61
112
425
242
889
216
134
546
894
408
650
930
323
1000
632
591
53
724
949
418
449
149
474
652
153
713
797
541
419
273
450
507
713
474
747
466
918
696
455
627
869
200
188
483
485
615
152
612
698
704
508
949
970
445
592
619
4
371
777
944
394
38
214
172
215
487
951
603
482
694
798
786
270
433
818
853
823
312
857
797
992
736
252
584
959
52
615
162
760
372
690
389
937
270
157
332
238
488
710
985
459
249
895
164
660
832
834
57
204
752
644
860
809
24
432
472
390
682
861
279
2
972
501
915
792
601
765
536
496
425
359
700
541
532
212
172
964
865
257
759
177
810
761
404
372
966
507
34
95
578
830
582
514
616
450
408
159
562
186
526
578
5
480
982
318
356
427
189
987
825
142
988
845
74
698
370
334
786
354
677
512
488
589
995
695
586
10
426
673
523
553
501
483
519
936
557
769
150
464
368
208
193
859
371
780
16
937
375
884
308
273
423
650
78
634
695
196
319
335
807
483
299
72
590
141
668
260
830
224
451
969
283
726
542
201
620
928
793
245
446
452
460
922
662
92
920
913
737
293
204
93
879
431
654
546
946
960
188
425
83
172
82
687
430
215
66
965
287
741
231
436
371
381
948
61
537
841
251
469
156
190
239
904
28
226
996
576
620
98
211
764
943
989
965
682
967
448
615
990
737
894
701
789
409
68
571
348
123
227
958
741
311
263
348
892
755
614
909
997
378
120
256
556
371
426
446
516
173
1000
776
218
563
357
807
340
743
578
296
609
251
44
281
73
358
568
934
199
509
945
169
390
832
702
791
405
885
51
502
915
367
901
587
221
427
637
969
637
143
874
875
345
953
51
885
576
535
462
989
31
798
404
748
653
915
280
436
295
366
670
824
893
19
581
54
928
402
394
296
397
297
204
230
311
30
509
50
153
915
850
943
684
518
720
15
761
918
734
183
179
650
935
445
484
671
669
405
123
712
729
716
47
762
447
266
777
242
266
388
793
705
910
81
356
924
481
72
987
988
832
63
328
65
518
421
409
279
611
177
126
890
608
955
892
663
816
968
728
114
466
23
938
894
554
31
505
840
469
346
169
812
868
243
532
729
106
403
322
514
22
519
689
758
117
140
725
113
460
544
331
179
947
673
346
589
98
723
939
39
865
532
96
658
283
19
79
996
828
124
423
466
127
797
47
417
701
915
773
385
198
944
263
170
222
6
443
330
911
754
773
430
868
316
884
177
780
139
541
945
391
53
644
270
171
479
302
391
554
37
22
723
896
344
221
8
511
166
40
730
215
434
459
500
314
91
370
862
828
16
386
229
222
794
600
438
164
250
34
663
140
180
281
927
363
538
499
414
249
562
8
778
107
543
500
206
654
125
892
989
383
373
884
300
835
34
888
762
385
542
59
949
707
916
571
162
688
431
626
141
236
24
979
121
487
788
163
216
720
902
488
598
629
241
481
220
513
536
480
264
335
361
799
708
464
533
870
762
809
738
107
192
242
636
551
385
661
863
696
966
197
338
135
698
197
24
925
971
750
241
394
89
305
931
346
94
530
405
995
840
97
419
640
231
28
699
799
41
736
316
925
764
757
546
644
145
340
457
758
751
418
248
319
360
259
223
215
757
519
592
991
167
216
780
181
691
226
472
820
580
896
515
433
16
833
292
416
956
231
158
885
601
783
987
554
148
893
798
985
147
262
392
314
316
630
844
124
743
760
939
712
439
681
575
186
732
742
951
633
161
296
227
571
280
687
396
762
473
701
452
423
375
822
427
595
111
337
997
156
53
419
36
737
500
965
123
736
561
261
602
419
820
589
573
864
765
311
63
343
139
901
748
168
419
628
423
624
895
868
15
461
590
229
310
103
885
831
931
500
19
237
788
365
123
194
981
817
452
199
610
10
419
38
31
997
973
586
75
18
636
707
736
615
530
454
316
856
165
464
327
612
728
584
160
295
485
739
809
82
891
377
105
988
138
940
261
285
879
932
376
78
424
229
236
132
375
546
822
209
583
209
866
406
227
494
162
847
124
297
177
853
200
19
19
934
690
507
145
530
455
587
703
135
206
681
65
497
479
236
750
71
240
548
421
285
830
360
733
564
412
759
694
535
319
478
296
430
449
941
976
206
790
749
122
922
480
892
998
724
7
254
619
246
74
608
467
307
986
210
208
635
911
797
471
211
295
552
655
802
541
660
499
399
18
767
259
900
57
303
709
625
398
359
512
570
893
533
699
929
44
813
647
754
549
49
12
361
193
189
385
941
214
959
673
26
66
362
573
901
635
541
480
880
960
877
535
528
242
762
132
834
39
455
493
803
314
196
950
964
371
210
804
604
668
999
383
39
807
869
683
798
713
380
901
560
660
518
128
311
776
424
369
611
852
879
817
391
62
379
853
652
667
204
273
21
282
958
390
313
810
483
576
609
839
799
369
521
483
522
910
855
407
203
794
749
339
273
10
574
268
996
497
57
380
245
906
975
573
206
104
112
134
724
160
705
627
19
861
776
401
357
261
931
3
598
22
234
791
119
251
716
955
332
240
451
354
192
69
668
749
709
399
550
604
297
115
530
763
446
343
509
399
197
139
746
738
372
787
678
590
632
148
183
893
812
355
967
401
551
384
403
929
228
431
603
970
903
888
541
108
687
621
400
972
895
591
796
888
718
416
240
140
296
626
393
468
379
959
41
32
166
579
882
337
984
267
498
41
373
1000
789
148
114
762
464
338
217
32
737
219
558
121
799
344
296
320
43
538
24
456
769
544
161
526
259
494
598
206
981
269
466
638
778
732
156
610
238
827
855
770
532
120
888
159
158
384
753
664
809
171
802
228
819
298
735
518
59
946
131
849
245
978
955
160
891
290
167
184
697
269
76
922
142
516
178
232
146
528
520
792
907
286
467
518
153
913
143
484
10
954
170
253
408
467
952
280
163
573
568
677
741
227
38
436
161
489
970
387
699
145
436
11
82
381
386
170
34
260
176
293
358
351
393
801
464
246
391
584
708
238
801
333
696
450
184
915
328
994
749
44
441
36
960
828
415
114
160
114
443
907
676
359
503
616
907
97
697
873
157
921
219
516
163
20
433
131
879
511
707
871
928
647
576
942
884
925
546
126
723
29
475
524
93
704
434
726
119
831
432
224
824
204
806
509
106
256
28
755
307
239
214
179
916
604
55
267
121
243
757
222
108
639
379
453
570
296
20
435
973
939
156
843
476
204
779
500
597
512
673
997
924
313
211
630
968
994
442
804
835
779
299
297
543
13
656
133
598
969
943
109
753
472
542
281
600
41
230
13
961
307
104
214
93
155
817
475
775
775
845
294
793
60
935
447
546
788
849
220
676
1
590
543
340
715
208
208
246
806
514
81
775
514
46
354
272
102
653
17
42
595
387
99
309
500
391
282
39
740
755
443
162
959
386
17
228
265
426
539
694
952
458
200
41
786
956
2
407
523
451
745
45
501
850
910
431
453
96
914
977
738
232
911
902
749
982
384
33
241
101
942
16
881
883
225
197
21
873
850
81
530
404
440
350
553
412
934
534
769
953
747
995
925
646
724
232
308
322
249
42
949
862
864
561
138
218
598
235
342
857
355
719
268
621
315
259
798
874
792
646
12
215
816
193
838
710
435
338
690
655
904
281
25
334
938
327
112
848
569
646
336
330
867
433
461
191
899
390
45
783
991
377
810
310
883
445
740
917
409
923
281
35
262
669
60
323
351
388
539
53
755
262
311
705
799
512
500
376
170
365
99
949
448
558
67
439
78
835
466
646
492
799
921
348
659
276
207
176
446
303
251
559
841
978
612
557
140
917
442
807
114
801
46
431
43
117
681
809
311
731
945
415
792
892
365
761
516
782
263
263
777
164
245
481
761
213
436
761
736
469
940
871
13
935
227
848
467
300
462
743
285
967
204
59
497
141
226
629
329
115
594
30
129
137
989
573
389
368
338
708
51
425
264
615
403
17
327
693
362
916
292
509
578
231
502
988
529
440
881
345
482
915
30
744
233
744
716
251
511
682
171
128
959
504
257
140
791
882
603
625
863
293
405
311
797
366
81
135
512
496
390
595
324
563
429
41
393
393
302
891
32
958
825
807
95
133
88
602
733
931
588
434
571
74
599
33
973
724
649
259
267
515
702
185
198
668
374
234
487
881
438
913
195
566
42
539
531
273
761
335
317
22
447
934
624
776
589
34
60
501
609
684
318
620
58
360
729
50
438
199
651
931
806
931
847
104
221
421
987
175
568
599
417
252
141
471
716
585
24
166
182
831
212
979
685
943
232
414
736
410
407
32
893
499
904
261
347
558
745
640
33
660
508
393
150
966
487
681
387
898
524
202
414
201
377
534
807
973
767
464
404
234
97
342
726
948
697
94
495
156
495
948
307
802
256
873
479
670
438
141
586
899
763
458
108
704
96
918
808
524
753
607
658
140
310
65
280
424
813
773
299
100
615
634
201
632
784
716
290
436
435
695
124
559
108
309
982
887
406
694
820
173
738
549
836
330
518
629
333
193
987
6
664
202
700
250
966
490
365
635
284
343
102
459
939
907
354
304
266
728
749
667
844
415
104
967
19
96
305
258
20
226
733
729
119
106
874
797
125
972
605
569
923
856
752
940
940
401
308
717
666
295
925
540
232
723
360
32
103
333
266
424
3
688
411
29
24
197
266
645
545
293
262
496
165
193
866
623
811
527
391
525
597
701
864
72
183
204
575
869
823
869
829
314
261
888
985
429
291
458
637
559
723
244
370
115
587
687
183
431
153
198
959
34
231
776
314
763
198
887
106
856
957
68
929
495
288
497
750
324
984
833
181
635
673
1
593
553
497
595
520
598
970
18
214
989
776
369
661
794
136
532
915
931
211
14
424
688
257
910
634
651
503
262
480
727
376
933
959
710
967
457
608
72
487
570
302
704
118
868
288
977
522
375
868
285
775
906
696
276
759
49
168
66
609
708
485
541
390
388
162
638
314
812
388
419
83
685
895
582
733
855
451
280
102
391
352
369
453
995
124
749
155
815
583
639
589
473
270
57
996
568
953
982
908
896
46
175
310
528
709
590
180
426
872
703
268
13
594
981
257
186
85
894
763
907
461
191
213
9
307
97
6
925
125
87
278
818
234
812
825
521
890
797
808
667
32
375
405
834
384
684
260
883
705
548
962
672
372
873
546
74
765
744
139
818
902
996
676
193
229
644
184
655
686
145
375
122
319
654
386
592
40
729
699
521
896
499
82
595
240
783
739
584
749
182
442
956
711
972
576
556
670
112
999
139
256
950
371
119
864
12
280
715
79
659
710
637
136
825
19
600
539
857
571
774
467
422
248
169
546
943
759
882
822
712
126
487
111
442
258
985
737
249
565
713
342
4
238
50
804
331
607
58
818
957
653
595
146
957
16
93
448
104
868
413
417
617
859
674
765
640
8
879
257
274
30
239
136
776
326
542
448
470
115
150
43
150
295
10
431
404
727
48
772
849
740
209
434
560
446
530
347
409
877
390
528
960
288
421
658
162
701
804
75
807
314
628
650
443
690
749
976
90
356
350
923
396
18
485
84
255
540
885
506
979
992
7
458
561
39
987
985
959
489
119
414
799
7
365
216
994
971
590
639
235
404
341
186
32
314
202
215
669
503
462
1
694
836
202
584
395
800
121
410
90
933
494
582
379
170
352
557
275
136
540
348
49
166
509
539
797
296
82
212
590
764
971
788
706
485
106
962
881
187
134
925
967
452
837
888
500
215
109
173
817
253
368
741
81
623
720
969
777
12
162
500
830
726
945
895
105
475
296
4
142
686
179
211
757
579
72
430
487
276
74
642
632
52
527
662
730
237
585
517
996
765
70
63
760
274
313
271
638
197
87
259
485
275
147
114
757
912
615
960
979
324
287
762
989
438
600
631
45
974
424
120
701
752
220
703
888
626
559
474
403
888
395
351
538
651
452
250
141
13
684
964
847
455
480
926
825
432
738
400
290
632
696
102
883
827
72
706
171
442
976
690
592
495
932
185
196
892
352
621
211
213
774
566
442
904
893
678
684
310
804
578
466
243
713
814
904
71
739
210
599
268
28
112
418
599
591
479
489
72
625
469
867
873
995
577
137
471
541
408
53
170
633
849
565
674
283
513
645
126
101
736
973
957
834
119
242
867
16
55
209
161
269
69
22
534
99
904
948
953
237
889
670
497
563
656
467
879
457
517
310
763
203
525
427
469
784
11
19
495
815
601
451
945
799
374
667
651
369
654
607
260
943
825
296
482
723
264
993
276
530
19
744
790
142
966
300
306
39
126
444
137
865
160
178
778
759
195
798
797
925
981
942
644
814
499
410
908
48
372
768
553
455
150
729
475
974
574
201
123
734
6
767
648
434
16
181
540
914
569
544
671
188
801
460
160
750
825
152
772
911
825
383
528
220
706
518
702
455
932
697
519
544
493
724
540
430
881
333
560
582
783
19
739
611
428
613
897
845
404
251
572
94
480
703
520
699
20
702
114
527
620
718
615
247
950
935
223
955
735
444
50
63
826
394
277
541
934
95
156
605
490
864
866
382
924
606
178
484
415
191
660
757
510
354
444
855
742
131
433
64
173
552
779
262
292
609
710
898
762
514
670
544
822
268
34
135
273
747
748
455
686
872
353
758
512
761
966
765
393
235
694
412
349
891
597
921
946
307
90
796
438
224
756
526
327
22
679
296
474
345
310
205
499
697
477
880
12
295
751
592
704
8
639
192
24
299
12
234
110
931
989
67
228
526
398
871
190
65
461
719
104
621
257
831
941
965
900
118
92
976
857
958
54
874
882
21
645
313
283
158
351
823
134
815
311
309
672
910
9
549
423
416
146
466
496
230
139
923
104
23
215
365
490
400
729
958
667
260
369
372
612
657
241
150
81
195
585
83
548
521
427
129
266
199
204
791
643
733
515
466
607
29
484
894
473
243
628
183
183
996
797
340
542
55
564
48
442
130
849
607
668
395
471
980
71
741
244
485
191
789
869
43
294
724
25
805
533
944
770
85
212
816
725
314
574
659
572
193
235
619
693
956
341
952
182
99
497
102
420
201
617
858
37
249
919
80
388
266
256
664
488
880
328
269
33
629
708
996
173
25
974
253
88
894
57
652
221
384
468
820
149
572
552
552
858
829
586
855
856
685
893
95
261
489
36
13
158
927
367
725
112
843
842
754
621
377
761
967
928
715
634
757
3
947
206
910
469
49
561
412
534
653
413
349
528
952
793
816
522
45
191
653
171
596
957
638
111
901
298
935
480
706
375
428
998
853
148
874
152
4
591
89
214
103
458
445
518
743
157
280
671
671
7
25
568
930
826
805
176
239
672
513
59
395
127
978
49
581
355
666
460
891
310
364
752
398
680
342
34
280
472
564
624
579
570
73
294
724
778
665
733
292
768
237
600
158
290
409
920
659
385
881
129
896
23
851
558
652
495
949
835
202
39
325
73
978
417
900
271
690
846
936
47
130
573
988
156
22
811
978
389
634
866
52
653
835
508
394
671
218
576
988
909
729
549
515
544
13
910
318
823
607
412
38
719
679
325
278
367
570
614
284
570
779
373
43
88
647
646
598
833
842
722
997
884
954
950
848
931
635
673
370
822
106
27
784
241
67
771
699
161
695
480
603
40
619
75
395
498
532
404
211
95
23
254
892
419
876
156
254
595
234
765
331
723
833
288
61
957
969
14
405
712
713
151
744
741
442
185
788
193
159
197
641
240
625
494
586
597
923
942
579
512
393
631
128
170
924
445
909
718
150
599
118
801
531
762
56
10
443
515
804
354
797
624
533
988
632
17
229
219
746
244
76
108
618
672
536
926
408
401
292
221
493
544
890
27
525
650
412
754
251
857
619
873
234
344
661
700
203
864
98
515
45
484
297
416
584
868
448
60
430
345
872
87
346
992
421
112
583
59
829
804
91
688
124
974
999
629
475
256
815
277
624
795
197
906
953
69
343
881
288
866
483
84
625
547
417
162
837
491
231
520
822
310
208
843
968
128
897
88
747
855
568
437
771
974
732
1
735
537
941
552
568
234
667
751
323
527
623
259
81
38
57
242
786
166
626
791
994
611
136
755
491
210
858
660
48
760
2
835
631
493
665
365
714
541
526
943
103
894
374
357
953
412
72
528
553
192
873
734
813
203
704
120
567
929
607
674
978
7
241
20
204
298
466
979
125
752
809
613
423
929
822
691
138
211
2
749
638
600
703
669
934
668
755
906
767
535
447
618
490
714
68
245
331
863
300
10
266
369
257
129
581
71
543
778
607
696
212
461
841
37
571
568
964
853
921
273
122
946
26
538
344
832
259
938
363
65
142
527
320
444
405
944
278
374
604
75
282
604
454
446
105
203
524
280
33
661
297
967
766
166
921
232
903
992
932
273
641
165
706
51
438
527
259
604
114
698
54
909
745
321
404
81
960
907
940
221
394
963
918
512
668
526
35
470
380
859
520
558
83
966
610
116
579
94
95
662
577
386
439
585
619
699
516
258
482
474
259
415
934
195
866
783
728
697
662
343
585
437
850
506
117
571
759
18
755
838
987
826
455
370
334
319
985
724
115
187
924
729
483
572
419
870
552
352
280
571
945
353
934
801
776
448
138
703
263
909
484
790
791
15
927
909
734
63
548
448
972
522
171
324
934
100
438
955
605
77
95
930
205
158
322
191
459
408
670
860
88
215
238
898
327
381
561
471
88
708
698
113
561
798
391
57
617
318
565
611
767
361
140
640
645
832
56
266
187
577
354
746
228
27
292
967
169
104
575
584
650
599
670
870
77
510
443
612
807
148
651
786
176
722
812
868
219
466
886
623
361
677
553
301
940
941
169
606
646
163
511
89
323
633
398
365
218
109
72
374
236
889
542
400
531
755
856
391
487
251
846
782
294
607
211
610
253
227
28
780
991
415
938
534
114
569
772
378
581
736
992
255
255
540
767
466
667
178
383
857
555
124
366
201
330
820
185
946
174
464
261
82
661
304
354
273
842
159
336
183
88
798
85
168
323
859
336
944
989
837
565
973
271
781
647
896
954
258
844
413
957
847
931
698
266
65
400
756
659
247
170
341
935
456
491
752
435
64
209
280
593
268
123
113
331
646
898
102
233
599
871
439
14
840
223
855
873
734
374
540
523
612
67
109
511
467
725
958
632
364
668
3
655
356
786
585
584
295
305
188
313
858
596
326
317
846
988
345
645
381
455
17
315
58
204
129
401
47
440
172
180
194
243
615
583
342
953
919
897
285
578
101
920
344
987
202
879
98
410
733
672
39
116
356
603
993
470
546
121
187
543
295
405
939
689
195
375
753
893
674
324
613
425
9
379
399
702
549
300
314
474
203
808
326
223
368
62
985
681
604
8
302
666
897
144
426
15
452
602
60
319
903
860
537
596
788
456
512
648
529
605
474
770
634
941
520
993
896
752
962
988
244
761
88
581
25
867
145
674
533
273
939
930
635
135
893
328
897
17
449
823
811
134
989
866
846
150
108
815
864
871
304
161
472
195
606
908
375
175
860
505
544
707
443
466
270
113
759
626
961
183
415
402
527
238
121
883
798
124
303
443
704
787
79
252
200
978
47
413
752
960
171
730
995
756
521
691
542
975
243
431
574
840
318
32
906
199
136
607
570
722
914
390
812
582
47
756
631
92
694
393
596
541
740
80
698
502
800
637
701
306
91
911
776
930
878
446
37
359
464
209
711
470
684
790
2
768
63
307
740
480
782
339
125
320
189
873
194
535
50
554
729
252
562
842
87
538
630
495
750
192
857
95
932
88
546
521
947
379
243
75
635
812
225
545
353
619
864
418
870
37
294
843
625
675
756
885
791
53
190
231
943
578
928
413
887
806
80
581
646
147
511
996
806
17
560
802
367
971
792
771
556
46
804
371
720
165
837
811
862
416
922
44
950
567
560
98
168
486
330
634
466
660
728
519
293
3
618
310
638
199
187
444
337
416
65
541
446
83
700
942
57
739
813
922
731
961
606
579
710
520
11
541
479
606
929
179
510
924
354
204
250
811
103
731
635
482
327
255
243
685
759
994
556
854
840
83
256
676
671
24
382
541
617
661
738
942
785
224
113
878
343
156
693
459
598
300
375
612
104
878
759
104
224
10
817
302
560
996
306
717
377
415
657
858
891
993
919
995
327
15
757
459
681
347
484
468
54
401
994
542
476
852
214
49
251
327
75
283
461
540
542
421
229
449
520
42
121
145
282
895
287
692
695
593
217
378
648
112
475
329
298
467
242
294
500
312
21
370
246
332
166
670
180
703
381
182
441
174
918
195
555
165
51
23
734
478
870
249
294
389
412
363
947
600
496
587
750
310
652
598
866
199
70
633
921
682
42
903
117
175
901
590
607
679
236
932
538
72
114
773
812
891
636
206
620
326
867
351
35
91
691
346
935
623
956
795
328
885
290
236
413
250
497
506
68
810
688
204
860
149
729
554
705
870
468
810
693
124
754
600
673
391
261
414
664
638
913
445
898
748
319
314
922
506
828
569
166
229
747
191
974
371
193
854
657
378
264
550
926
102
102
59
592
980
33
436
548
665
15
574
901
36
131
539
34
727
103
196
227
93
429
730
422
644
160
585
832
376
89
4
542
586
686
476
218
242
769
213
179
823
41
611
78
487
359
459
968
447
71
922
639
348
300
183
438
427
265
311
218
844
75
311
672
523
218
591
906
93
356
794
221
815
904
279
604
270
172
245
115
564
507
133
700
635
195
888
484
940
673
686
393
922
469
82
559
479
430
248
260
903
928
995
932
847
397
544
925
387
385
418
2
824
179
867
253
964
514
558
524
376
68
322
134
527
366
563
435
36
504
735
590
9
285
138
313
702
330
470
886
563
437
665
13
490
372
512
651
400
506
90
413
725
939
393
8
22
57
359
970
622
756
609
412
994
528
181
72
613
261
271
77
127
969
156
152
690
316
538
83
558
782
669
791
700
622
781
628
64
476
767
364
114
81
171
484
588
92
753
176
948
46
276
220
565
973
585
396
670
606
556
537
849
315
593
593
995
332
37
31
786
257
210
622
981
391
136
718
17
269
639
964
308
740
153
444
70
379
570
365
248
842
538
639
721
909
323
146
644
858
847
594
806
338
498
900
882
342
958
770
208
965
121
69
813
447
595
193
431
400
17
642
696
559
190
817
471
919
857
872
681
611
454
187
124
849
1000
591
236
125
953
645
516
399
326
775
71
694
528
588
466
516
5
989
750
65
853
128
660
153
362
555
15
211
538
245
947
454
458
746
645
326
630
849
718
596
399
102
496
948
721
759
281
399
749
103
714
930
873
325
248
762
656
63
460
861
151
139
271
646
627
511
768
275
480
692
628
769
567
842
648
648
228
122
112
500
36
367
934
853
146
967
493
571
765
530
980
272
234
798
868
100
81
505
941
497
658
341
741
283
275
42
443
84
815
552
77
115
978
624
911
314
781
538
556
636
244
285
68
510
674
134
329
511
627
457
545
514
558
467
846
952
749
600
520
332
372
147
269
164
331
349
842
774
350
325
146
308
768
836
301
239
779
462
531
832
900
22
280
28
964
746
26
547
628
507
106
878
12
333
900
830
549
83
155
748
157
381
158
963
427
755
817
254
801
420
21
582
572
184
557
586
689
424
302
45
248
959
844
546
872
407
113
81
441
40
55
585
590
94
664
513
700
975
406
68
546
80
76
59
854
705
958
280
727
537
164
756
552
548
937
397
510
749
231
935
673
435
73
537
551
626
970
753
904
793
358
920
271
879
515
987
233
66
143
821
905
965
882
823
573
375
350
715
883
739
827
752
979
821
825
421
105
489
909
990
731
283
268
14
796
496
326
441
237
411
468
609
129
706
360
662
760
119
417
892
472
421
602
519
897
768
160
76
142
198
147
867
629
705
770
60
34
36
887
219
316
866
280
830
297
522
212
726
252
74
202
469
804
464
384
966
191
827
324
246
181
568
823
80
610
943
661
302
738
350
731
950
616
622
14
774
809
39
289
407
856
689
424
546
501
759
392
63
149
626
209
879
107
562
416
954
799
723
709
26
990
977
712
9
250
789
246
951
570
561
106
242
10
74
467
149
815
198
52
349
657
142
728
178
728
84
529
510
810
842
676
223
184
566
3
443
729
828
93
415
154
645
239
416
569
448
641
298
823
443
163
653
487
380
893
388
727
291
870
362
112
279
368
456
551
855
991
36
616
346
397
998
224
810
350
591
765
84
351
177
3
101
617
662
916
537
661
376
299
368
726
190
625
256
552
106
698
612
996
929
757
178
802
503
189
422
886
145
734
125
552
463
626
29
322
844
550
529
685
154
116
86
448
927
391
59
761
687
996
735
308
800
790
839
396
677
609
584
871
685
48
612
164
507
72
872
932
250
932
70
176
438
394
314
71
727
873
588
422
1
696
109
387
65
342
165
337
41
524
309
787
737
951
69
894
268
1000
18
981
345
804
535
915
597
164
292
594
286
702
263
784
745
502
721
801
233
635
866
651
516
310
409
655
464
99
984
214
493
810
838
751
809
840
249
787
323
719
60
334
192
872
244
990
713
302
417
196
692
445
435
677
418
178
726
498
494
996
823
152
458
67
209
295
275
967
61
740
629
711
299
696
681
92
709
66
292
510
472
667
893
673
511
663
415
104
410
3
545
927
826
323
853
17
743
97
418
25
966
532
689
8
277
906
624
31
833
299
507
109
991
766
614
444
363
304
925
205
413
752
9
160
464
416
582
876
284
479
50
594
631
962
573
157
594
64
354
287
529
48
865
307
544
418
971
692
906
582
907
920
656
329
422
651
137
680
113
492
470
779
171
73
662
465
954
815
607
954
920
746
749
439
15
911
812
775
363
49
54
900
924
976
64
479
994
110
761
172
477
57
342
743
16
458
205
82
756
867
65
440
20
823
825
701
658
216
520
299
139
172
977
591
288
421
482
494
877
122
659
48
456
63
791
380
667
740
620
802
445
381
836
588
411
583
361
810
594
62
441
168
579
404
43
304
371
98
668
168
16
460
298
596
292
291
198
594
331
683
244
437
207
723
208
542
911
560
663
994
442
93
733
303
160
549
848
605
245
392
238
148
374
602
270
508
813
221
516
647
128
472
712
795
463
907
770
454
47
619
303
893
962
43
231
904
465
482
812
143
353
795
289
631
327
403
494
932
551
939
611
164
246
421
127
443
7
88
474
784
786
335
981
991
152
14
188
255
838
101
677
2
879
12
802
143
36
93
263
831
3
550
871
750
716
111
263
992
62
34
785
266
745
707
980
975
764
530
500
684
695
474
997
416
339
355
294
63
931
255
516
357
52
832
777
217
213
147
39
445
418
625
783
882
33
382
805
720
603
66
522
85
781
895
118
741
566
260
963
336
641
258
430
938
980
592
81
239
989
127
930
623
628
345
300
696
808
35
690
527
834
2
449
985
328
281
95
7
839
793
562
812
717
546
980
798
394
326
356
106
258
420
866
353
348
924
26
843
679
928
112
673
685
921
863
286
636
26
936
965
284
602
667
458
928
47
570
615
798
14
208
608
542
125
546
263
384
832
56
774
255
285
197
27
237
247
690
924
831
976
865
190
277
763
955
484
574
703
273
848
41
797
183
898
215
363
914
19
758
886
369
75
823
632
798
239
955
677
852
180
645
641
133
162
572
577
452
813
376
779
630
773
668
154
859
8
209
644
422
815
509
555
231
127
853
27
589
136
70
862
333
64
320
233
28
927
409
154
103
84
505
160
358
424
677
589
586
345
620
851
395
26
109
286
589
29
556
964
877
982
5
925
90
515
793
171
973
231
438
639
732
979
386
275
863
55
297
487
47
174
22
608
650
281
637
664
773
214
657
182
692
240
244
575
635
823
692
168
985
674
921
3
101
187
41
143
87
680
141
443
545
519
715
875
200
991
690
540
50
736
748
419
605
589
944
998
927
612
260
966
561
629
303
734
367
531
163
403
142
209
73
837
929
299
532
341
509
115
132
915
939
890
916
288
475
750
21
352
298
496
775
714
430
814
278
617
481
533
286
813
482
708
628
146
405
146
721
193
411
348
680
619
847
816
57
183
245
441
741
480
813
535
217
512
37
712
597
407
553
335
932
321
415
872
854
958
838
158
666
489
307
150
339
118
749
58
278
447
848
46
667
703
546
750
379
716
185
475
745
246
828
655
945
18
251
858
450
12
270
670
167
50
677
824
967
277
849
262
647
389
363
11
366
536
935
918
845
710
225
231
490
272
32
588
564
510
1000
242
600
119
537
496
179
809
139
625
929
58
662
940
359
255
923
948
704
189
469
783
292
648
932
405
75
741
258
452
306
415
120
747
935
356
322
940
120
702
402
869
838
661
47
342
940
270
431
503
813
555
961
652
359
768
117
687
66
681
365
173
264
377
274
384
428
331
759
362
38
647
393
757
106
917
135
34
263
638
341
163
852
610
897
731
368
838
347
169
149
536
123
997
582
892
220
565
639
446
218
867
376
980
494
912
193
763
196
352
85
566
675
891
766
975
763
313
679
113
942
868
327
453
487
761
287
648
285
400
722
722
758
436
267
429
326
501
545
217
741
836
478
993
616
903
961
746
897
607
955
217
740
627
570
684
700
632
833
722
413
33
372
890
120
811
433
107
377
897
745
894
379
174
354
938
797
67
195
651
439
74
398
127
658
126
612
255
251
779
461
623
830
53
45
489
61
325
557
424
226
269
759
103
335
708
469
552
344
79
916
677
938
895
528
291
287
167
743
878
9
704
168
852
859
104
647
105
301
303
550
37
156
654
887
481
87
598
615
736
193
185
986
525
345
804
15
564
708
860
490
920
342
719
996
35
537
307
477
719
282
927
338
481
427
457
951
954
799
814
67
570
73
771
459
160
668
406
957
405
212
495
791
323
846
391
351
838
253
188
976
715
598
764
823
155
525
237
933
721
859
929
146
83
930
85
281
667
586
951
881
414
141
115
941
351
387
763
471
851
547
800
534
907
31
147
694
231
592
285
925
462
458
136
85
814
644
323
947
409
872
244
694
78
475
300
183
790
754
700
944
20
561
619
381
17
210
903
11
33
29
71
291
591
42
220
145
424
157
702
656
973
313
901
778
418
530
846
275
185
331
747
853
716
790
26
74
435
226
795
270
152
489
188
992
271
110
108
188
646
509
681
481
196
488
183
1000
966
834
714
170
814
994
569
874
470
207
638
144
859
799
682
817
536
913
881
538
631
45
482
442
69
443
104
285
318
109
49
490
951
72
340
737
446
281
186
128
349
643
679
330
838
648
771
738
217
679
953
557
322
410
301
356
267
441
647
285
338
552
170
359
385
350
780
166
805
789
824
465
556
740
873
149
503
315
392
414
768
575
395
826
698
847
433
666
394
231
770
468
659
670
942
303
270
906
975
687
878
466
821
309
744
900
343
299
436
351
373
430
664
37
73
772
662
92
821
602
824
935
563
33
386
800
294
839
413
614
596
10
273
330
443
390
517
993
199
510
828
451
756
490
467
675
170
107
785
715
309
498
619
97
665
98
392
51
172
334
933
802
933
557
494
366
583
351
663
449
659
161
555
848
189
911
11
538
800
454
778
993
114
501
934
624
246
911
853
772
95
687
358
522
58
572
936
390
435
22
58
605
787
761
682
146
771
723
434
993
624
760
581
129
763
442
575
786
668
793
790
89
22
959
24
551
226
397
767
544
371
528
634
850
351
395
834
582
294
148
806
468
52
757
906
276
847
837
532
342
708
391
532
879
784
281
341
704
285
174
183
298
698
720
212
850
450
771
100
281
227
669
590
760
757
876
805
773
29
346
448
697
720
992
30
447
954
258
758
921
319
474
419
294
604
295
58
742
468
748
715
539
835
568
963
464
426
832
754
268
18
35
30
830
542
82
886
636
396
978
372
973
200
521
379
940
860
765
898
298
120
684
890
359
142
765
590
136
300
111
620
425
273
500
430
132
129
640
164
690
127
562
25
719
547
867
778
456
286
868
73
444
460
557
268
336
284
975
732
293
207
262
238
272
96
36
251
279
141
323
87
990
105
278
302
908
811
3
155
455
852
641
644
922
933
625
818
334
171
918
396
173
293
477
933
311
834
758
711
360
694
575
753
230
127
400
89
311
306
868
403
906
178
932
357
674
397
670
729
524
856
286
717
692
120
51
798
172
202
993
203
177
503
519
300
296
375
445
402
330
289
977
694
345
840
917
473
676
41
111
386
995
827
162
514
9
838
824
92
988
389
668
551
365
683
672
862
98
66
210
852
568
951
950
517
165
316
660
616
605
528
270
251
531
993
364
548
565
332
35
463
189
620
977
173
442
232
808
781
500
491
128
813
239
541
67
960
96
246
859
380
342
534
510
229
430
669
349
785
848
284
703
473
717
406
86
940
872
774
763
991
227
822
924
618
818
518
923
195
142
774
875
125
953
898
771
547
121
943
453
118
860
4
5
63
532
460
941
980
10
742
708
338
579
915
837
325
658
548
565
439
304
506
378
746
436
812
50
993
822
848
525
9
518
493
271
879
422
621
21
664
69
795
980
961
704
574
351
373
189
420
688
534
700
579
936
1
31
854
151
960
543
385
666
501
835
755
418
92
655
146
435
41
1000
141
672
153
123
212
744
320
694
846
652
374
222
441
219
924
794
197
803
446
8
146
256
906
245
962
546
46
497
59
5
157
191
244
483
37
242
272
182
654
674
666
431
123
891
297
849
668
765
277
712
588
137
370
819
919
814
807
759
33
614
187
771
787
499
752
739
68
533
69
631
918
479
658
147
861
199
408
700
787
22
588
547
392
860
859
454
730
231
696
209
210
56
823
1
389
611
592
236
260
978
850
428
791
201
974
296
300
715
187
278
841
495
595
878
781
203
57
855
460
576
114
183
208
365
446
364
964
807
275
640
537
981
9
764
971
917
549
266
97
538
470
141
842
567
344
215
653
418
372
301
123
691
638
494
151
47
576
109
707
590
564
668
425
779
974
17
650
324
776
418
278
752
238
392
384
112
388
105
1
392
95
182
56
6
329
515
8
919
845
565
222
909
776
996
466
307
179
951
13
515
400
142
980
301
588
295
238
824
324
329
570
417
219
607
464
778
289
58
103
772
968
774
820
372
7
4
78
708
754
633
923
13
284
733
900
149
71
294
658
811
905
553
359
323
743
734
143
115
510
500
347
290
137
620
57
22
367
308
202
465
602
404
212
481
615
147
712
838
722
703
406
703
832
778
288
769
556
211
177
703
159
208
935
775
761
336
965
543
589
822
517
240
920
7
310
311
112
140
230
146
596
737
503
500
249
189
491
597
845
596
761
598
344
94
138
336
797
395
855
223
237
909
829
365
466
620
337
581
635
853
749
546
754
477
258
482
238
35
519
582
921
967
453
622
427
137
51
297
767
491
518
54
854
236
161
520
922
179
867
536
178
52
819
579
722
728
691
732
874
953
216
598
211
169
305
120
660
29
376
399
849
943
240
908
930
29
601
151
513
968
811
453
983
93
30
122
485
904
210
905
813
937
838
792
868
320
141
841
416
871
41
297
838
806
202
1000
421
22
594
962
843
137
902
84
696
958
729
41
954
113
796
98
725
579
841
420
514
327
357
85
716
534
10
60
553
114
264
489
208
919
947
353
208
628
17
547
592
614
465
398
552
491
355
86
902
707
750
927
816
874
127
726
296
310
16
804
175
499
341
178
531
776
800
336
124
50
158
297
496
252
27
287
209
592
385
108
224
110
92
663
427
430
319
316
424
386
442
563
7
263
227
69
795
144
745
506
190
900
78
853
91
73
488
405
19
755
799
143
961
486
838
306
327
745
615
460
906
132
766
171
819
53
726
625
485
801
414
690
605
812
399
623
38
528
133
474
953
722
977
713
614
167
43
52
825
441
217
243
624
362
613
574
236
173
579
695
573
540
199
137
204
695
64
337
662
898
355
832
514
427
516
512
356
164
178
468
441
901
952
204
787
476
607
667
259
288
585
80
839
32
859
874
415
155
466
339
519
498
546
734
646
379
17
794
980
9
542
301
17
559
897
173
762
49
8
629
646
883
266
396
263
21
903
754
924
152
565
512
617
546
626
687
321
538
104
136
680
215
310
728
63
776
472
509
335
474
787
838
809
991
462
623
417
762
752
258
47
374
258
611
903
713
33
235
597
251
693
370
241
942
617
644
709
596
175
406
17
410
973
561
949
584
953
804
600
263
540
570
421
435
158
587
801
321
141
157
132
308
920
116
917
749
669
530
423
603
695
85
712
753
670
950
169
390
939
696
254
398
538
454
862
812
945
654
784
696
447
401
760
614
210
750
700
478
742
94
107
164
21
297
72
277
186
675
379
418
269
672
303
510
954
268
482
10
501
216
446
286
926
181
34
262
602
825
808
539
101
625
592
731
648
874
297
514
479
468
558
450
372
397
342
537
314
763
358
973
50
72
773
840
568
736
94
805
368
503
87
821
943
881
748
926
557
975
244
261
687
330
621
252
697
18
356
841
301
981
949
610
984
66
415
968
781
803
433
423
235
549
205
638
330
532
478
129
288
615
130
227
913
241
806
461
221
462
532
483
234
956
236
518
772
352
665
884
841
813
607
746
492
707
992
505
888
380
437
15
615
603
959
934
442
726
363
870
360
874
476
477
661
482
17
774
740
801
106
415
764
834
735
429
331
379
426
422
738
418
522
471
764
958
138
556
85
676
667
334
376
323
809
222
434
183
899
517
438
626
410
755
672
977
209
588
839
734
383
301
257
109
926
793
514
858
637
508
459
807
989
158
88
951
607
816
124
488
262
244
191
521
977
113
291
687
21
412
203
745
273
426
627
651
830
945
927
68
569
107
445
851
304
199
418
988
726
185
33
643
490
9
130
855
928
486
905
438
324
974
949
711
471
392
233
303
818
939
726
661
762
830
650
775
940
521
758
632
120
990
494
939
97
975
213
671
726
125
2
971
390
39
280
784
168
986
605
784
511
874
891
536
470
393
325
1000
305
220
562
634
41
551
398
427
35
388
531
809
650
130
43
120
303
469
779
940
720
606
772
942
47
851
109
398
952
297
39
406
331
545
712
124
786
506
993
693
77
322
917
621
692
878
330
583
914
469
80
739
112
238
796
627
677
39
467
503
385
226
805
761
666
238
649
901
354
567
470
895
586
940
957
84
221
568
560
241
94
831
899
962
806
655
685
569
440
316
266
181
922
168
146
589
641
630
164
782
719
601
957
488
828
573
993
257
595
883
232
629
806
321
313
584
945
650
36
679
893
371
733
194
555
553
189
681
404
86
68
47
410
44
690
195
832
543
764
183
43
928
672
857
339
730
566
589
985
737
412
572
371
692
398
318
613
322
284
352
995
855
220
11
335
481
498
712
155
28
882
341
920
206
684
549
816
930
109
878
760
684
900
152
107
213
481
636
928
453
985
247
903
652
405
468
878
537
773
924
450
726
35
552
221
207
950
864
878
812
149
922
30
842
574
363
584
253
649
850
187
535
23
834
713
240
482
51
266
706
348
391
674
604
228
597
876
297
785
935
946
210
993
203
363
104
327
356
993
929
832
732
749
83
915
293
150
159
853
129
212
805
684
871
331
879
932
612
302
567
497
245
655
100
412
935
244
93
583
667
366
964
379
460
785
878
715
473
593
483
722
426
407
869
104
495
557
825
510
789
505
722
643
401
91
305
434
954
224
504
922
153
242
166
769
591
73
37
924
73
214
141
67
966
722
204
167
25
118
396
453
187
519
845
268
884
1000
590
327
143
99
950
336
132
169
456
448
490
879
252
483
332
408
426
482
713
302
738
81
496
503
563
824
695
971
531
861
508
39
57
411
175
45
410
815
309
264
886
877
217
683
147
45
538
873
68
108
299
741
926
288
344
58
877
901
864
393
201
687
671
803
712
441
61
858
519
516
895
655
284
846
588
165
692
602
192
160
979
461
40
663
24
898
875
238
682
261
176
987
626
280
223
223
481
123
573
371
438
903
549
924
548
284
776
79
827
231
676
630
839
264
148
511
951
153
887
773
118
201
20
283
197
748
558
308
637
340
491
58
235
942
220
224
487
840
571
167
298
742
581
885
437
748
552
4
689
556
713
199
142
114
581
291
719
666
976
760
285
569
366
415
82
549
681
890
57
427
427
487
113
471
349
499
564
260
545
303
500
974
589
862
392
728
60
759
227
909
897
1
868
882
404
264
169
98
220
605
792
371
59
21
900
549
768
55
560
704
506
365
600
134
182
187
245
328
347
56
618
217
243
127
33
769
706
175
838
330
559
950
335
314
450
737
778
931
766
571
267
907
941
909
536
852
228
706
832
452
31
524
549
867
852
814
409
444
360
640
16
631
148
82
646
912
748
120
372
149
826
295
756
188
787
694
197
537
280
433
48
910
388
59
350
951
67
987
355
398
548
7
314
471
314
325
555
230
330
944
80
216
465
504
543
927
707
321
795
945
788
555
532
564
678
482
649
955
733
241
53
729
370
701
379
534
953
123
97
153
854
574
14
955
100
177
821
323
558
215
479
209
998
36
934
458
877
559
856
445
760
206
739
849
410
871
328
681
473
148
7
757
61
177
882
616
903
486
165
541
802
698
551
882
670
151
101
93
403
178
50
481
910
36
547
971
94
800
515
18
433
413
568
353
981
470
817
997
602
567
833
157
49
748
857
241
531
796
713
334
970
644
521
150
86
848
274
59
115
191
660
474
795
407
982
684
17
365
736
803
694
538
216
262
684
792
860
570
607
377
336
833
912
579
952
877
832
133
573
65
936
613
922
846
282
172
744
654
278
105
207
151
310
523
963
802
816
266
504
592
295
85
43
960
961
913
886
87
173
460
95
33
693
65
49
977
425
239
622
639
203
386
998
220
557
138
587
144
652
474
920
684
836
235
796
273
424
274
830
178
664
416
158
405
236
514
136
815
272
823
484
234
63
172
879
262
289
198
54
971
463
632
989
29
719
355
768
758
698
435
791
787
484
359
389
526
979
743
926
515
945
812
383
232
472
139
158
106
712
554
743
295
82
837
794
514
519
297
820
833
256
975
41
19
499
118
885
319
252
89
223
571
485
588
124
588
976
597
133
464
647
843
804
556
818
820
287
921
755
784
397
23
32
569
747
448
375
269
948
348
521
802
986
964
524
382
696
951
493
254
139
408
210
12
798
568
622
187
742
564
879
819
571
448
34
904
317
180
95
202
499
389
856
49
605
609
176
181
378
62
998
204
595
399
322
487
607
959
962
958
54
757
629
369
669
121
214
72
648
821
786
173
911
288
59
601
557
114
75
933
667
668
159
41
847
648
987
926
20
505
451
689
914
575
788
861
881
517
578
493
426
65
259
391
893
708
684
211
583
235
359
915
130
328
386
663
692
383
496
500
298
468
838
206
134
288
87
297
590
784
441
276
512
293
81
287
618
546
536
448
163
934
263
199
590
591
251
17
990
672
642
29
140
821
702
332
167
191
651
615
2
465
16
371
966
785
776
80
542
838
341
555
749
542
824
69
601
255
493
243
613
986
673
130
262
929
231
575
360
335
301
696
104
633
978
798
137
855
399
376
676
366
642
526
107
521
719
254
227
117
781
403
201
672
904
978
751
615
989
384
858
835
335
872
164
417
789
394
11
987
345
393
264
803
688
995
814
891
760
816
586
433
369
978
110
218
94
708
879
290
875
206
373
334
401
821
696
32
206
99
107
43
99
888
336
144
38
495
111
326
615
722
143
813
626
865
725
618
866
184
873
797
805
425
492
887
665
297
934
567
315
676
14
298
554
463
775
872
307
705
427
275
629
213
793
306
64
27
887
882
565
277
922
406
876
933
611
564
916
39
56
104
879
589
280
367
304
703
379
216
782
686
205
863
465
536
162
890
465
133
932
207
330
789
987
211
602
478
566
180
534
339
35
468
179
861
658
631
504
124
333
93
127
266
695
126
714
148
797
71
536
930
467
611
794
782
816
316
703
871
614
953
464
447
885
975
356
470
734
676
422
200
310
447
788
666
185
422
172
574
738
913
408
301
498
222
499
660
352
523
29
440
417
278
182
804
208
758
717
534
755
499
178
776
620
504
272
526
448
929
341
89
560
589
82
319
372
694
964
1000
494
416
196
479
411
612
140
914
982
542
56
227
263
139
176
406
514
300
949
31
659
793
319
949
369
331
271
374
359
305
225
163
935
581
24
56
504
992
639
960
991
932
573
633
408
160
761
925
599
463
62
928
927
571
884
504
811
463
550
158
212
182
94
411
81
133
662
676
890
201
615
599
803
337
470
585
248
63
918
865
542
4
656
646
199
145
139
651
771
554
192
595
433
516
584
916
136
718
549
743
76
753
625
190
858
661
926
476
996
734
453
944
68
47
438
751
178
974
373
177
486
554
358
52
785
601
217
838
289
220
271
453
770
248
163
3
687
675
597
522
184
877
229
784
556
309
69
329
81
590
948
202
23
416
244
6
749
371
834
34
262
383
80
125
939
242
106
243
652
810
200
53
12
76
464
974
50
367
730
803
562
358
139
640
395
570
326
118
360
253
849
869
871
421
117
35
432
413
4
251
356
786
526
50
63
62
898
272
593
313
383
504
822
510
679
321
108
468
727
918
109
685
328
284
547
766
590
85
847
773
66
741
822
626
516
658
126
499
838
996
681
941
480
2
109
976
363
742
286
288
533
652
876
933
129
148
264
800
869
432
536
437
848
100
804
828
464
749
363
377
254
459
951
391
719
555
399
952
66
708
948
110
408
247
212
662
267
124
132
112
508
589
24
389
686
285
362
340
395
817
318
750
589
769
62
195
918
713
864
619
557
113
77
552
121
581
220
898
728
742
984
411
266
553
659
869
1
56
232
865
451
709
718
472
896
905
719
536
280
580
884
584
788
520
586
664
634
194
339
354
322
288
51
847
269
940
898
572
765
422
420
26
239
497
219
852
183
323
262
839
977
76
483
598
468
121
921
139
494
424
752
739
904
182
432
463
805
890
489
754
106
621
476
215
775
355
394
545
225
812
188
266
157
367
88
372
989
860
765
990
494
423
654
491
480
390
233
881
228
138
934
816
594
92
464
522
855
644
933
41
366
597
69
41
795
980
573
25
782
958
74
963
585
789
473
895
861
650
393
882
784
987
820
729
37
127
698
924
820
204
866
583
717
832
572
393
320
624
587
931
669
877
80
109
60
841
534
267
141
60
809
257
339
22
181
713
397
417
41
403
606
761
627
566
719
938
447
228
623
522
986
479
610
864
458
14
759
250
506
372
63
733
685
207
619
180
815
326
587
634
866
703
199
59
388
650
219
216
324
822
560
471
902
913
512
538
841
779
709
415
61
578
368
545
499
629
789
48
563
521
361
133
423
218
73
770
396
446
341
222
518
517
27
831
307
257
330
644
3
224
516
158
333
643
294
298
668
173
963
99
564
213
771
926
366
169
724
481
784
230
584
378
161
151
950
194
261
577
523
507
627
471
314
840
824
631
376
194
926
459
316
299
796
990
901
180
718
791
928
10
93
13
509
150
381
723
550
514
343
857
943
251
352
24
377
537
190
555
566
349
652
493
211
488
205
158
449
794
35
763
152
464
422
996
74
753
375
12
875
356
162
576
613
592
722
693
898
156
276
445
964
8
184
910
763
543
523
376
508
291
275
711
322
222
777
241
330
626
345
553
647
459
581
207
168
795
285
911
20
904
755
650
246
341
649
149
856
335
660
273
698
432
712
829
37
892
71
894
969
426
227
347
614
474
548
653
37
178
967
660
100
550
693
221
740
54
688
857
995
409
723
1
511
897
938
36
575
673
449
455
51
237
953
984
768
78
186
739
446
886
395
766
923
624
473
354
568
650
744
907
849
795
152
187
520
592
748
98
253
684
221
826
451
96
641
193
190
882
775
344
656
318
651
670
567
712
294
344
614
721
31
722
888
56
838
117
631
910
325
641
648
94
572
284
930
860
280
680
276
749
381
547
179
37
529
443
889
366
568
32
214
340
623
584
433
734
996
48
826
531
842
595
586
142
618
415
439
383
686
206
697
604
890
713
847
210
783
205
685
934
730
485
561
968
241
524
342
284
573
740
808
35
528
637
410
359
861
615
814
706
948
358
750
920
560
117
323
260
953
309
210
283
508
885
347
711
620
638
994
940
574
479
626
148
776
256
803
235
268
656
661
804
104
160
404
282
631
796
175
832
903
788
562
865
143
145
480
656
257
584
531
143
594
932
954
424
182
928
275
155
116
807
62
359
495
118
341
303
103
443
8
141
446
77
843
381
676
852
415
280
755
484
731
53
931
342
590
18
980
873
846
917
345
871
619
935
451
395
909
702
245
143
89
697
137
38
998
219
761
24
281
5
138
352
848
45
11
574
846
351
563
958
10
861
347
470
500
11
157
64
567
75
504
985
246
102
18
369
263
889
906
944
713
227
211
597
12
340
800
77
273
843
767
567
201
54
237
869
903
857
736
594
423
537
947
50
488
614
282
766
338
92
435
956
630
386
681
608
445
656
360
653
161
453
584
300
790
697
623
694
355
711
328
937
57
531
560
342
194
976
874
718
124
910
673
586
450
338
884
420
864
473
311
765
13
362
81
509
102
195
104
235
121
29
871
83
662
332
587
607
120
296
322
956
668
593
155
123
687
717
178
650
948
879
89
433
795
938
772
701
646
993
301
449
613
751
590
82
354
6
862
355
150
115
849
222
741
343
759
859
604
930
492
411
551
383
822
193
687
756
328
257
597
923
501
218
49
637
480
459
157
464
533
652
999
645
230
951
488
687
395
374
994
371
336
432
738
60
392
410
834
361
941
717
579
926
859
867
246
65
274
759
226
830
594
429
367
335
746
12
904
188
688
803
610
129
315
966
82
820
545
466
76
759
707
671
642
843
146
241
390
897
622
11
210
795
460
845
234
453
48
570
398
967
444
999
726
885
267
595
565
95
124
564
775
205
786
469
144
238
234
366
69
373
593
641
903
747
713
197
452
408
16
116
521
942
118
995
94
396
764
856
918
924
137
203
357
437
310
352
226
458
671
275
655
885
772
152
346
282
562
371
372
824
870
807
634
34
139
927
559
573
591
744
805
859
400
893
632
728
580
524
637
844
28
399
448
928
187
728
980
388
659
294
362
202
730
261
243
3
71
555
43
793
924
99
887
93
881
881
316
456
639
474
547
986
570
792
755
455
857
637
956
438
906
555
130
558
139
172
75
491
483
206
841
902
238
346
848
88
66
254
714
107
97
23
264
14
755
39
757
215
23
710
138
214
794
436
64
931
835
741
303
854
541
619
661
44
954
754
984
425
484
579
861
558
341
180
465
809
571
941
782
913
737
255
141
203
935
380
166
378
571
354
557
503
343
825
54
207
255
719
542
8
454
80
161
273
911
941
873
858
456
983
819
640
347
576
354
994
258
842
477
929
646
164
325
360
568
899
708
740
401
50
736
918
339
793
625
388
737
178
259
52
120
597
358
446
488
122
519
430
203
923
591
570
684
495
871
13
282
974
935
960
749
195
271
262
34
408
755
589
82
675
231
460
857
782
631
639
891
632
158
350
32
665
38
939
491
498
912
220
986
197
133
98
242
538
638
110
189
550
557
468
472
96
267
199
96
531
512
227
973
154
396
370
11
505
70
744
560
567
889
319
567
907
820
778
985
950
938
75
205
698
467
1
631
915
489
488
629
935
564
835
993
431
8
85
736
888
479
546
121
744
594
366
998
453
275
362
626
679
210
415
488
363
320
979
195
318
830
979
587
811
249
341
242
417
477
924
173
513
191
127
1000
842
676
904
777
500
875
256
502
787
371
685
715
841
304
897
597
733
787
782
758
397
401
224
991
428
231
948
884
584
84
788
493
798
633
872
583
418
568
342
79
358
445
234
487
663
667
336
390
633
512
695
338
966
984
274
730
389
939
550
835
429
208
780
928
225
641
251
665
894
520
81
449
725
264
556
889
990
274
711
928
156
359
513
789
248
528
973
911
882
519
252
569
589
127
161
475
247
782
143
495
121
51
372
664
792
35
806
372
76
136
101
331
676
821
541
664
825
587
771
20
223
603
502
302
978
503
195
839
854
206
91
126
63
961
271
937
650
11
594
171
859
280
537
143
424
548
550
73
688
71
258
555
249
712
439
469
613
682
777
26
831
62
301
586
261
202
26
345
700
99
321
740
214
435
188
724
651
301
615
348
242
146
229
14
816
162
107
359
313
324
440
907
481
497
241
308
628
137
417
373
87
850
202
822
165
699
879
491
217
566
637
51
57
374
871
388
185
176
301
938
399
646
4
775
875
347
353
671
205
433
907
853
105
790
14
567
871
621
620
681
823
227
507
407
218
250
741
601
843
956
485
436
182
588
330
91
617
422
279
982
384
22
428
347
460
197
554
641
688
143
248
906
832
815
768
233
603
686
350
280
591
293
226
764
309
133
493
433
67
519
563
681
60
479
558
509
807
710
379
145
843
410
916
96
263
439
426
798
615
616
258
209
945
241
131
896
748
364
259
621
131
334
301
148
527
454
367
165
471
105
941
618
691
432
456
686
557
54
683
789
658
190
853
176
702
668
139
800
131
195
865
521
84
478
491
224
263
447
240
176
257
718
263
871
16
614
498
111
887
84
449
771
628
902
586
996
253
862
626
451
478
321
314
258
170
239
838
283
155
175
609
473
579
194
379
261
431
679
752
953
840
606
52
65
146
970
965
950
183
969
163
749
888
612
110
754
430
812
958
611
79
300
615
924
722
833
577
757
517
465
49
204
635
719
997
886
670
461
227
862
577
178
574
429
214
524
18
731
503
507
126
188
412
46
118
13
432
382
280
279
656
426
78
604
580
694
494
124
409
562
855
476
510
249
901
600
54
297
25
384
863
177
387
642
285
533
631
291
635
540
851
101
465
682
224
823
727
839
676
718
584
982
752
933
210
738
168
240
800
882
794
638
930
932
386
795
160
41
126
238
607
469
591
624
240
478
267
456
327
557
35
634
190
862
770
559
683
70
975
546
578
501
651
84
477
110
125
249
968
161
828
937
258
255
441
128
155
117
413
817
657
741
235
853
758
214
666
239
91
350
465
480
461
417
421
761
421
19
523
620
453
430
955
817
311
508
377
96
41
188
935
248
41
751
883
816
691
22
295
356
597
924
204
415
453
112
765
171
675
775
581
483
106
460
653
734
929
678
337
78
767
111
158
396
934
628
400
956
502
219
671
618
230
48
504
167
477
662
119
699
344
948
665
792
105
472
788
452
680
957
653
369
674
887
280
69
279
41
361
822
738
48
839
19
400
640
211
133
506
460
781
477
817
444
673
26
701
879
5
756
110
448
402
878
606
456
660
108
291
318
773
621
522
607
878
890
210
866
122
450
408
831
467
530
586
352
441
490
361
548
217
845
462
545
111
522
898
126
410
682
762
202
547
854
104
102
600
503
17
820
617
930
886
271
373
716
301
297
740
286
715
310
274
44
966
672
300
366
579
681
663
937
752
943
630
185
535
67
305
785
430
130
956
856
423
738
285
251
507
862
211
915
61
414
41
799
511
764
848
841
922
670
755
307
575
219
559
787
343
721
891
791
710
163
30
941
508
617
11
194
150
840
875
942
917
156
947
911
64
252
111
336
815
341
671
511
579
227
540
838
159
222
167
215
930
870
380
886
685
447
137
769
677
632
250
999
35
688
809
840
17
986
138
957
17
21
262
288
988
999
228
115
7
93
78
464
400
928
841
727
296
972
822
404
192
224
731
153
334
486
404
78
621
886
807
754
648
762
796
996
800
245
506
364
310
537
788
303
561
568
228
300
795
533
855
901
618
319
471
98
593
793
568
911
91
564
654
579
291
977
117
628
583
194
590
778
712
347
592
864
572
974
470
129
839
644
40
153
732
490
108
994
368
283
224
58
268
745
566
154
269
732
560
956
705
166
77
29
269
91
172
73
761
883
351
10
610
372
935
730
852
720
547
794
419
607
640
812
996
427
217
231
539
761
842
969
805
793
8
743
89
861
427
770
974
263
84
586
120
216
695
806
7
505
447
870
898
476
776
991
521
192
418
1
715
526
595
268
27
484
904
167
954
458
4
500
532
266
358
770
113
560
831
897
1000
226
237
845
266
285
935
33
648
489
295
745
747
162
590
939
227
201
188
866
309
694
428
888
891
268
904
423
659
540
475
593
111
589
581
320
385
572
254
782
829
336
418
616
279
51
622
190
103
695
898
393
736
906
68
496
401
957
720
638
224
380
241
622
833
228
506
964
586
861
714
920
236
73
888
493
476
948
449
273
372
775
22
785
77
721
792
20
249
196
542
399
106
211
823
664
997
586
242
680
981
264
504
232
496
782
891
851
128
338
924
445
818
728
475
608
233
118
937
901
71
741
205
195
170
43
949
603
206
779
383
14
971
918
247
724
900
572
400
900
888
673
773
686
244
476
782
466
3
137
64
659
727
948
364
511
509
490
841
549
13
607
228
537
250
796
317
179
205
960
13
239
306
468
964
400
751
763
578
150
99
791
310
96
228
177
283
585
126
227
730
310
585
375
433
605
515
763
391
151
732
688
483
817
810
140
555
211
371
474
958
328
99
535
66
593
242
689
418
662
172
190
858
444
45
977
636
517
951
999
467
792
906
55
677
376
401
408
56
53
356
585
753
46
503
290
626
688
157
296
449
379
158
971
787
136
114
585
549
47
294
201
890
7
767
395
679
131
387
562
152
686
593
388
404
59
633
571
965
957
566
724
624
259
97
230
899
697
716
569
45
136
15
222
667
572
9
260
174
545
241
73
180
162
269
197
831
826
196
634
971
67
249
521
987
263
30
754
765
967
277
692
667
746
846
209
591
494
846
78
70
327
2
255
307
128
338
411
649
948
466
261
416
723
206
907
246
188
364
750
41
291
280
795
590
320
346
276
528
825
872
158
448
154
371
418
977
93
855
64
984
109
366
532
405
648
969
313
721
916
40
588
508
138
27
888
270
222
559
420
652
620
151
741
394
960
982
230
327
542
896
706
835
649
332
318
319
611
36
834
341
35
588
480
335
231
762
764
577
958
532
367
510
303
71
521
919
399
953
629
833
51
166
558
586
763
479
966
142
66
307
745
811
779
999
110
939
505
827
570
515
185
418
740
158
36
702
177
134
448
19
777
64
274
467
651
441
454
149
653
96
347
480
731
192
53
682
903
300
486
202
34
944
471
405
435
892
122
930
90
592
562
110
412
68
522
997
792
244
593
561
203
219
12
361
96
560
401
614
589
520
331
788
769
918
994
69
7
446
370
694
567
833
153
927
742
545
268
221
300
84
174
531
486
410
925
558
911
399
57
448
821
442
878
849
454
238
212
298
299
684
184
702
308
401
705
856
774
659
92
737
894
204
788
314
28
858
782
429
604
106
220
679
155
71
17
151
714
730
774
430
842
678
329
191
704
526
394
409
395
841
548
335
749
308
920
13
623
337
976
324
647
419
899
96
484
628
755
49
569
866
552
449
627
358
92
529
439
315
124
178
927
596
219
512
570
381
759
334
123
319
86
525
263
327
933
281
113
341
187
661
272
23
903
15
388
614
572
613
703
712
13
377
440
834
793
378
81
74
499
810
477
435
589
588
968
568
399
384
168
614
157
534
941
413
316
887
786
465
362
628
498
6
208
918
469
268
417
714
190
486
855
989
90
270
799
687
803
81
559
961
793
381
898
183
678
845
585
819
730
802
53
367
388
968
137
220
283
128
689
737
102
54
850
648
765
36
873
216
791
859
834
74
898
822
475
402
938
109
470
410
885
604
930
107
495
247
435
813
804
679
683
150
887
568
813
847
885
647
558
347
428
666
61
723
290
706
737
405
514
715
78
879
928
183
379
961
284
92
241
775
111
717
64
976
351
912
93
586
297
953
988
648
858
734
170
554
715
311
727
52
152
56
591
913
666
110
436
57
710
967
947
492
570
913
586
328
41
133
769
86
246
142
235
863
179
753
26
623
686
591
741
581
355
618
702
406
596
273
21
425
740
585
487
899
544
720
475
46
274
81
501
466
242
442
685
106
525
796
532
9
199
867
15
940
418
922
301
97
367
484
586
396
520
767
517
987
582
33
33
720
86
344
738
272
658
657
651
351
689
835
310
942
544
811
572
896
527
935
313
976
413
623
910
498
883
332
142
308
383
571
67
923
999
479
972
681
712
548
97
648
882
518
414
127
823
851
518
180
865
900
200
87
495
861
138
693
150
256
460
552
112
938
706
38
414
456
57
382
980
8
870
696
273
440
712
446
491
941
757
460
819
403
678
868
479
235
802
651
180
788
358
83
991
142
189
83
349
527
58
593
591
920
323
494
295
77
12
86
798
346
990
81
970
924
359
573
710
604
228
227
640
225
821
591
257
286
680
770
496
829
619
356
580
600
795
52
159
217
803
532
957
258
561
816
540
17
224
761
656
560
762
662
564
470
98
299
870
293
872
423
901
90
482
230
795
639
654
102
491
229
781
401
301
386
948
795
384
438
621
558
89
482
508
78
895
450
23
486
686
360
106
145
687
690
371
552
669
75
819
705
505
180
133
470
625
292
822
164
215
271
916
524
417
40
819
479
734
533
742
183
904
125
999
772
863
272
350
146
141
631
995
323
211
136
545
9
63
350
163
35
995
965
379
112
33
862
5
229
89
857
729
918
103
297
836
478
27
383
826
67
539
238
578
369
345
561
147
788
467
209
319
544
577
693
253
73
604
689
353
311
410
450
610
300
483
244
697
340
803
169
285
55
859
521
5
384
78
166
799
35
982
777
485
659
727
667
344
909
73
639
536
146
742
229
843
6
501
338
352
414
403
649
153
454
831
504
608
439
529
846
755
659
252
801
873
526
267
499
939
589
619
46
411
622
686
577
797
509
715
507
762
815
389
80
173
457
22
847
261
88
552
996
611
455
63
152
789
665
294
984
379
36
491
787
701
360
26
96
184
260
961
713
8
764
872
518
783
615
603
172
216
912
806
62
748
40
287
670
911
658
478
153
448
815
322
704
533
946
258
534
831
327
116
272
978
542
659
835
509
726
979
696
282
248
306
836
282
852
588
137
991
631
726
302
256
140
615
563
104
979
752
26
749
536
254
232
575
297
945
843
54
417
136
899
132
113
846
427
862
202
777
999
571
822
92
662
416
627
258
469
955
337
708
136
59
529
843
888
184
936
704
442
729
430
322
186
782
559
224
187
232
115
205
157
993
951
841
953
449
806
693
289
615
194
52
320
411
344
625
603
295
745
974
219
92
68
129
578
507
892
188
613
768
11
482
461
48
508
107
418
994
173
537
55
747
837
785
988
810
274
532
98
799
842
997
751
16
342
602
395
77
910
402
787
968
486
992
764
528
747
284
536
483
487
553
434
460
271
30
32
934
830
960
868
195
928
610
592
722
828
458
494
95
925
721
250
891
781
300
732
989
856
21
614
212
999
563
575
426
267
677
850
318
705
598
880
166
155
723
894
977
294
711
531
586
189
620
175
595
147
262
584
729
380
326
615
749
9
181
569
62
682
503
294
365
916
787
430
742
58
519
8
63
509
513
461
597
680
379
145
432
16
387
498
543
634
557
197
426
293
631
98
303
523
326
718
132
416
684
736
942
25
610
971
319
823
286
141
409
109
914
960
604
702
186
819
641
14
540
969
686
1
496
978
149
648
359
135
998
516
918
438
10
20
892
274
241
741
685
279
369
209
343
1
773
625
42
68
768
648
159
527
237
534
491
754
782
364
104
113
991
111
733
979
227
247
494
13
273
221
551
129
633
696
480
721
967
113
442
189
691
100
89
735
274
991
20
888
100
688
758
685
969
314
199
383
391
856
99
621
380
800
117
762
852
154
296
843
941
643
603
411
996
150
690
799
681
648
391
322
874
986
13
129
207
451
250
796
141
956
104
337
482
240
882
915
959
33
387
367
457
937
704
683
89
789
37
673
344
99
89
960
280
784
890
178
708
9
838
473
901
113
158
205
931
185
948
250
233
55
134
989
127
781
278
626
373
515
87
880
240
129
61
417
722
571
527
229
692
534
712
74
6
44
137
108
224
817
862
793
667
114
874
614
102
726
32
727
346
658
775
430
47
818
945
406
46
562
491
138
999
925
441
878
950
478
113
615
916
850
390
720
514
294
19
298
424
258
457
968
173
393
310
827
887
140
516
631
751
365
494
470
965
751
811
633
987
215
915
882
754
317
996
399
790
224
392
118
853
120
911
988
947
309
570
383
801
825
974
780
112
322
747
141
806
540
129
740
389
129
785
862
181
112
726
108
437
109
872
677
436
222
523
881
630
303
426
249
236
106
397
494
804
893
762
713
453
701
596
841
336
707
169
725
40
879
806
276
165
200
63
182
606
699
715
375
309
627
141
133
778
399
3
62
662
484
327
917
418
529
619
544
907
169
302
540
744
440
815
128
567
154
569
254
513
756
376
821
501
278
213
467
271
172
835
82
950
137
131
611
869
151
598
335
582
605
1000
703
517
841
401
492
761
738
377
1000
593
335
114
878
544
198
303
476
197
145
445
713
251
435
121
664
685
586
306
333
946
182
521
91
570
385
368
550
412
807
265
900
620
984
547
805
944
577
622
644
650
858
131
325
715
619
667
190
352
756
544
249
557
767
760
979
65
560
262
281
457
69
926
897
544
234
87
31
910
154
588
511
643
149
644
317
956
548
51
893
49
578
578
315
311
994
267
106
208
281
343
199
722
254
189
807
217
442
661
293
589
622
646
494
61
564
22
521
449
597
786
191
817
727
499
19
61
795
44
777
238
44
519
527
853
539
704
959
204
405
99
784
638
175
284
737
577
86
22
458
282
808
236
12
855
169
274
403
621
111
127
167
862
43
835
583
631
907
12
692
261
860
172
472
692
452
216
671
904
824
730
16
710
970
866
278
757
964
69
387
852
296
85
214
748
373
763
342
784
324
717
435
987
658
541
858
621
243
323
275
566
550
728
34
43
394
934
518
164
368
324
582
95
617
827
183
366
628
511
337
513
915
509
386
700
28
831
728
96
254
992
201
440
569
656
200
22
234
71
638
79
664
331
64
640
115
987
531
874
438
337
11
11
899
691
924
103
713
154
533
896
1000
802
693
446
716
47
894
237
965
335
140
174
917
362
983
818
685
729
313
159
245
118
431
377
25
979
484
679
11
72
174
390
426
555
484
879
121
39
276
195
292
898
960
122
540
781
815
851
44
211
440
201
60
754
577
985
176
32
342
362
493
452
410
467
67
928
877
57
137
970
94
327
156
142
28
777
723
460
87
28
639
802
472
212
975
706
541
514
804
607
431
536
524
131
53
139
867
238
671
914
793
208
335
146
572
120
365
874
472
19
680
645
825
761
899
181
62
282
548
693
880
699
671
458
935
352
491
291
958
448
149
898
172
363
204
334
306
942
239
974
510
580
294
635
687
485
160
758
621
58
866
540
180
875
939
520
392
884
375
532
897
836
997
234
130
749
931
381
130
659
745
579
969
477
956
404
797
509
609
296
764
581
517
993
388
240
826
89
469
548
966
324
56
277
247
149
563
991
250
886
208
53
15
784
724
470
347
143
522
135
703
861
76
902
208
972
600
248
861
602
907
271
721
839
257
357
149
102
781
734
661
993
400
845
274
198
290
556
455
196
128
586
807
39
898
505
110
792
921
704
669
933
832
428
420
945
125
682
475
854
411
647
437
29
532
564
310
735
366
802
322
542
738
687
47
10
857
637
563
337
514
415
174
474
57
929
469
220
538
759
298
564
722
942
386
219
273
864
563
250
677
435
982
223
202
893
132
313
191
234
369
935
526
258
958
385
950
148
590
785
840
57
130
755
577
308
197
901
191
606
370
60
637
838
132
399
873
504
496
922
838
489
821
502
831
378
52
444
807
577
426
413
806
918
727
951
748
832
588
783
730
318
241
619
584
631
229
855
435
658
326
1
615
902
167
913
687
512
283
769
977
18
778
900
334
541
642
497
46
963
140
27
137
267
531
305
915
403
467
827
362
169
323
98
732
156
43
567
124
856
691
246
547
857
806
102
430
28
623
255
917
733
179
976
670
344
261
511
285
738
800
172
481
453
428
622
601
84
969
753
938
389
744
253
953
91
786
461
648
357
804
145
612
100
387
288
116
790
883
61
825
32
219
134
790
943
815
275
704
950
630
528
736
108
87
659
755
910
7
888
95
120
962
223
164
221
204
133
577
630
830
924
163
607
525
181
228
128
448
639
84
420
852
964
761
390
928
524
490
820
157
489
920
169
726
736
121
400
783
294
315
370
559
536
978
663
458
382
983
446
614
240
212
306
152
5
385
26
292
23
627
781
210
207
357
646
926
335
145
619
475
273
878
616
298
127
50
350
814
108
479
9
526
923
184
282
806
769
188
512
881
138
277
503
44
165
325
206
561
140
894
42
192
724
459
974
504
488
76
889
70
144
423
686
686
784
548
439
854
497
552
529
524
682
430
920
639
97
639
82
544
792
524
303
452
481
538
664
781
34
195
947
15
149
522
240
177
337
849
75
818
230
325
781
497
415
96
134
366
747
338
115
848
413
304
229
708
371
429
64
189
895
405
624
330
509
397
951
696
170
552
78
61
101
212
961
170
726
951
772
804
770
788
541
415
807
118
33
521
784
844
472
281
611
660
113
745
160
714
749
707
703
474
915
387
453
472
713
165
983
606
569
216
816
933
907
554
66
943
480
403
445
936
930
558
289
609
512
6
436
514
218
260
941
972
817
586
348
384
756
819
833
440
416
605
815
484
832
762
177
640
119
33
414
806
139
26
573
935
472
181
650
688
511
957
841
32
2
61
651
631
896
499
124
622
615
79
45
223
832
321
339
603
841
28
223
955
803
118
593
574
460
207
997
587
309
662
628
775
128
795
781
553
662
10
474
886
28
639
981
746
82
183
489
280
237
367
563
619
579
798
839
517
369
715
360
19
374
859
269
683
378
265
779
292
270
317
247
236
154
12
466
905
60
989
754
851
445
270
707
242
888
741
266
340
551
845
575
240
165
541
243
802
806
260
348
192
511
889
308
95
787
466
667
843
652
671
753
343
525
452
455
738
761
138
372
638
577
527
677
32
583
781
58
800
905
139
857
814
906
873
800
745
213
238
88
603
993
912
473
165
329
694
791
150
33
799
621
108
579
906
122
178
135
330
757
195
321
434
425
286
922
980
837
186
658
383
695
573
120
238
980
432
550
427
201
137
667
104
444
799
193
913
676
339
163
377
697
253
52
760
299
780
818
986
175
554
151
324
913
75
363
510
724
565
190
652
349
14
276
829
309
861
767
780
286
850
683
694
767
139
42
235
999
436
773
427
468
536
139
494
360
131
606
824
736
136
818
671
691
816
701
688
970
674
352
545
729
483
841
747
418
798
386
359
878
333
653
277
719
893
271
76
167
284
944
183
143
834
672
729
234
800
671
712
857
514
240
739
603
377
449
467
127
333
309
735
405
285
585
642
202
884
546
13
507
655
84
271
792
86
623
792
483
297
104
582
645
151
265
613
817
67
784
769
330
939
325
476
563
853
178
602
785
773
753
496
476
67
334
344
681
434
629
117
789
187
495
787
860
723
149
448
255
46
374
787
423
851
432
937
560
449
714
230
147
461
544
822
214
247
619
667
310
276
561
587
511
407
205
319
701
759
205
69
184
732
169
299
265
312
277
164
467
371
556
76
765
882
175
947
646
836
56
366
621
917
864
41
173
148
583
737
389
986
352
692
791
198
121
69
216
315
507
15
751
401
537
989
986
68
949
789
384
971
667
436
852
247
62
321
982
706
434
207
544
524
32
85
207
348
515
404
674
914
810
930
613
990
624
722
58
651
785
202
610
783
184
181
416
4
256
774
185
421
392
505
715
148
730
648
151
506
381
950
720
432
985
111
592
77
536
90
20
532
984
861
227
346
98
417
705
617
911
470
890
914
179
921
622
370
822
306
705
321
245
126
889
747
589
456
440
226
569
839
254
808
277
937
162
657
169
503
1
28
158
552
267
971
145
349
409
390
175
161
300
168
36
404
960
785
760
512
961
947
596
696
525
654
993
199
570
679
271
64
246
256
808
414
98
735
558
569
83
974
341
520
463
247
380
189
625
592
985
254
13
103
932
981
856
965
103
987
210
844
887
456
586
740
938
405
930
620
362
448
287
81
583
664
644
885
733
555
338
323
816
969
505
570
643
163
455
586
377
56
861
881
510
533
872
430
106
480
572
748
521
344
573
191
823
27
736
607
67
997
333
476
670
902
175
201
316
479
607
261
135
660
911
971
975
811
694
707
95
733
197
509
821
982
587
894
715
794
914
71
784
858
819
593
677
776
697
964
392
462
269
879
822
143
390
434
437
537
291
198
743
318
293
656
352
77
6
369
786
974
983
336
687
609
794
300
86
20
663
88
271
141
862
851
12
931
716
350
233
176
625
931
226
529
577
711
620
43
210
327
553
242
313
998
888
263
92
815
680
192
365
840
971
215
363
495
280
397
37
569
512
898
328
708
373
225
780
250
897
306
955
629
31
633
604
248
773
560
979
954
575
888
356
443
234
232
348
576
732
274
992
519
240
937
470
727
502
303
584
152
524
93
909
601
314
235
948
922
307
492
825
840
973
608
768
34
524
969
117
42
858
199
868
767
182
165
290
602
698
963
213
778
125
159
506
259
631
513
853
71
806
816
621
48
857
766
468
908
225
301
116
510
141
821
324
480
3
289
141
468
666
623
159
747
309
578
114
542
488
11
667
505
399
639
828
182
160
28
972
7
796
100
768
790
169
634
51
955
502
783
957
490
27
347
873
731
214
12
954
341
267
337
157
457
751
548
899
918
875
660
125
934
518
143
172
856
612
167
792
275
22
149
495
671
150
237
324
946
411
801
254
267
192
430
529
231
757
645
434
224
330
524
799
362
759
818
230
462
776
780
150
556
238
67
848
381
502
812
22
870
521
931
874
11
930
522
608
793
153
55
718
430
446
925
585
294
1
104
656
732
124
979
12
822
330
283
447
695
162
626
18
252
251
904
506
933
281
813
201
671
425
361
12
339
111
534
990
104
888
661
788
808
726
480
889
646
14
149
117
762
820
10
862
861
592
982
95
296
623
184
701
501
655
250
858
741
587
388
19
514
114
519
470
62
599
229
887
999
47
49
384
33
585
707
869
939
963
133
919
544
396
221
409
361
163
48
401
833
948
410
194
790
487
868
183
560
112
809
608
952
695
174
282
436
871
259
10
827
237
882
826
530
606
690
490
901
62
527
622
635
226
56
47
200
443
591
41
637
63
44
570
566
321
80
795
113
57
48
996
991
649
535
874
938
809
485
757
288
583
875
419
696
86
986
953
868
228
583
531
874
11
874
242
656
156
575
242
878
308
224
3
167
768
716
282
926
856
485
705
579
656
379
539
109
327
251
462
353
519
887
965
248
734
887
904
939
514
166
569
524
133
236
649
834
464
299
910
655
51
636
254
39
889
479
832
518
997
264
373
24
161
827
417
262
325
206
674
466
210
494
461
348
37
55
622
509
23
249
276
239
454
799
311
889
896
412
768
573
919
383
976
502
661
428
419
439
475
333
166
513
877
863
25
699
745
595
360
437
818
581
222
649
657
696
936
145
712
731
158
379
101
43
502
817
610
972
439
121
812
945
194
197
498
584
459
561
710
918
440
667
837
149
15
603
101
965
100
948
455
534
153
337
455
141
129
698
166
535
820
604
220
767
385
340
575
170
453
303
261
292
308
133
78
708
4
594
60
608
704
966
905
466
163
669
914
867
326
453
123
483
628
615
849
496
585
452
780
643
935
19
766
154
473
764
862
876
622
511
170
386
764
85
727
930
338
85
287
752
39
964
387
903
555
338
452
623
499
34
591
612
360
106
354
128
871
165
907
30
892
979
847
791
381
996
10
816
516
976
758
258
824
714
169
314
993
605
729
643
220
173
666
788
357
261
479
211
527
243
115
256
407
866
834
944
291
704
425
732
652
624
491
320
710
804
611
795
32
661
524
676
79
561
676
962
237
190
36
477
373
155
10
119
302
65
621
146
930
674
55
921
13
517
917
618
997
179
695
419
974
351
81
916
110
357
16
49
103
537
797
797
867
63
592
940
708
321
402
521
628
160
99
454
75
329
11
806
737
793
207
293
758
606
876
244
458
952
646
671
225
405
683
748
473
164
663
566
365
636
946
75
920
675
299
543
823
456
126
223
397
744
249
685
132
903
441
867
432
563
974
702
486
449
984
73
998
691
201
833
470
86
365
827
501
433
107
310
589
886
900
425
1000
426
907
4
988
220
792
392
780
503
92
706
570
766
208
620
617
574
24
966
995
54
263
42
350
710
157
120
803
778
236
19
193
90
106
877
261
890
378
846
296
748
574
128
589
317
621
173
742
232
504
823
297
445
345
375
19
593
960
692
387
872
915
749
578
12
158
881
359
153
39
539
114
4
247
277
390
111
380
443
550
514
331
63
14
10
501
863
949
995
576
548
576
346
206
802
390
541
396
919
86
274
684
953
578
880
528
432
85
603
848
189
169
381
476
787
608
965
873
396
386
727
877
559
256
894
448
920
434
801
84
684
401
588
491
170
128
151
453
884
688
19
110
113
609
639
986
652
559
997
434
742
656
583
1000
192
107
973
554
339
30
203
502
675
963
565
704
798
8
940
968
176
261
65
48
870
614
86
548
3
858
529
124
78
437
461
803
888
743
150
8
512
498
475
89
901
534
469
214
884
942
465
778
384
912
491
928
994
902
290
852
868
66
483
380
410
776
472
861
107
430
661
819
532
109
484
825
998
651
206
97
396
978
758
504
173
396
894
667
988
343
396
936
991
825
410
199
180
810
429
944
893
114
674
546
363
448
787
906
801
387
490
991
470
788
407
427
891
833
614
919
514
959
652
301
361
860
230
968
471
934
739
231
519
241
237
761
80
790
295
937
991
392
408
503
125
87
530
871
756
576
521
578
454
438
527
279
103
511
975
302
559
114
975
318
399
369
60
634
935
851
328
343
706
4
443
677
870
42
991
911
216
229
811
701
583
4
188
937
863
33
834
147
106
312
87
209
4
817
338
436
553
939
547
435
347
392
512
269
499
733
311
282
457
993
316
668
789
922
90
101
621
512
272
959
234
607
93
684
876
246
884
918
650
832
920
22
27
541
231
696
839
446
204
76
667
36
816
741
560
996
85
217
361
680
336
459
280
547
387
613
521
237
301
527
857
750
791
651
159
895
539
788
80
407
292
442
195
79
985
532
99
476
452
949
167
112
66
768
671
463
666
820
505
165
936
478
223
62
306
246
815
334
176
990
45
885
456
424
732
402
288
472
537
522
202
328
409
239
472
254
627
361
510
970
429
449
21
656
766
555
45
79
362
429
346
289
141
649
71
136
645
115
1
849
858
504
699
657
482
930
83
694
774
530
583
99
478
616
741
342
947
393
792
652
762
919
531
164
73
464
292
130
585
326
614
907
58
702
863
12
345
19
461
747
806
991
598
968
861
874
910
319
26
510
64
639
645
805
484
163
298
319
640
379
391
233
547
162
624
324
359
570
13
235
7
999
539
556
73
61
179
604
949
533
915
394
289
162
350
967
812
356
809
710
886
608
960
955
374
252
760
613
681
30
99
815
635
517
174
596
159
235
235
668
84
896
962
746
996
144
175
144
414
997
374
749
129
571
680
254
957
418
779
972
20
808
188
505
806
207
122
226
435
898
734
991
269
451
670
94
111
129
132
10
259
171
618
103
522
423
11
412
880
9
533
258
619
415
511
745
770
611
532
780
41
173
458
182
274
870
278
976
284
279
136
499
979
429
576
435
278
185
656
947
49
512
934
3
844
404
922
267
379
994
313
326
310
411
563
842
499
15
98
107
719
481
463
896
805
988
682
784
842
502
209
982
345
455
896
931
169
461
129
199
913
316
161
769
881
348
25
492
834
265
476
35
819
646
895
298
416
500
851
123
210
833
415
42
82
974
195
891
50
927
280
429
585
416
875
587
324
675
931
33
603
291
85
501
482
109
186
784
82
789
825
806
499
894
352
697
304
784
269
687
343
947
31
644
228
362
6
978
662
371
997
917
481
855
442
542
154
899
806
566
632
785
477
839
758
91
144
88
50
317
621
359
336
453
254
894
34
750
922
353
788
906
795
560
398
657
187
157
651
206
187
480
393
961
369
698
217
784
557
570
852
316
790
110
44
944
865
598
866
722
888
687
433
587
160
64
154
945
200
433
68
138
516
611
157
413
732
853
174
554
530
332
164
669
43
426
946
614
192
741
867
68
601
199
66
144
296
908
510
903
790
905
138
222
941
951
683
227
100
14
489
571
893
917
836
665
883
138
373
966
322
587
161
723
838
131
756
955
43
268
876
519
764
754
382
441
580
361
806
253
709
448
287
526
627
203
689
329
219
3
185
853
230
109
457
75
404
144
630
729
76
886
338
617
548
569
854
127
282
631
630
147
140
9
905
747
291
477
680
791
15
945
453
954
402
365
620
992
20
192
231
846
45
8
24
754
754
777
159
531
705
607
966
927
875
192
16
92
706
258
91
826
765
615
481
650
314
617
185
538
359
372
488
861
414
869
966
846
883
692
489
65
118
45
621
159
648
419
581
235
576
415
712
667
689
398
264
458
920
352
481
77
204
554
624
299
588
217
941
631
913
450
868
723
42
201
48
278
462
109
970
322
373
326
108
224
602
219
303
687
945
249
499
752
631
809
544
648
130
711
422
98
895
809
341
132
75
69
438
680
324
487
700
90
671
583
708
333
85
402
926
292
143
805
747
384
587
74
780
197
496
765
396
870
132
847
35
513
872
329
215
908
569
668
96
284
870
801
956
730
770
87
443
962
513
740
630
151
773
676
337
7
690
126
662
638
604
182
414
409
4
220
369
291
847
417
15
80
781
688
348
410
329
690
10
273
691
782
178
125
88
96
926
206
922
188
564
567
780
395
62
877
438
696
983
374
642
717
332
165
292
600
802
16
72
48
671
228
866
204
198
660
908
414
907
635
312
776
99
755
6
933
377
963
579
932
620
184
72
291
342
559
544
140
752
371
667
469
968
961
616
107
901
550
655
461
733
96
951
356
977
748
916
439
685
179
530
138
39
942
327
564
797
471
498
728
437
122
957
66
585
731
440
405
511
802
460
560
525
708
785
779
192
267
983
77
69
582
422
258
658
880
21
235
575
843
537
586
308
622
735
685
620
124
161
768
459
445
255
774
581
408
33
345
975
844
332
204
231
874
138
300
366
370
814
48
728
789
195
394
995
39
762
88
246
387
268
413
130
23
595
159
601
987
458
399
208
833
635
891
280
305
945
193
800
532
334
346
561
577
165
777
963
332
829
530
8
961
745
413
758
225
683
142
75
809
755
621
624
806
271
569
44
878
134
564
806
935
573
813
868
109
205
951
437
532
912
753
380
293
813
713
393
779
741
598
401
330
845
905
998
761
244
109
677
540
241
12
47
796
64
451
432
499
278
302
755
852
930
447
615
643
625
154
283
779
71
850
886
826
805
784
525
884
423
150
853
816
779
333
653
470
762
775
950
336
702
78
489
757
316
509
762
645
316
890
110
637
685
123
890
772
165
8
307
981
746
281
781
689
88
646
516
269
113
543
306
738
41
47
410
704
590
936
323
558
288
513
214
738
557
454
772
393
561
666
560
624
935
159
432
751
951
179
149
226
723
917
511
754
997
719
40
505
413
534
816
243
261
449
72
856
926
924
585
198
355
239
147
126
176
837
943
17
899
83
479
776
296
18
287
693
502
489
278
181
873
771
642
742
378
183
788
810
573
611
433
16
410
394
304
993
780
45
235
1000
626
843
800
916
134
821
118
310
539
798
199
841
591
549
665
642
735
298
583
662
630
214
82
618
42
586
427
501
124
423
276
733
933
210
368
8
889
342
273
167
29
573
219
19
813
212
19
720
102
245
940
104
116
750
979
345
139
141
358
975
712
183
391
51
833
702
547
556
435
246
240
415
361
101
155
778
199
637
290
673
857
146
94
950
939
367
499
551
950
500
792
687
83
788
951
495
224
247
374
493
902
89
118
998
663
309
948
539
124
169
758
776
794
364
264
418
592
936
434
924
736
18
866
349
352
425
567
471
718
14
931
497
926
166
696
71
902
775
739
219
585
460
688
908
993
767
632
748
482
236
540
309
793
490
204
810
255
180
990
493
56
654
772
802
496
980
126
214
608
899
131
106
670
161
653
946
452
673
898
534
457
137
80
174
242
4
630
59
772
695
947
798
320
329
575
608
397
635
225
105
469
64
292
216
562
456
353
645
924
8
559
246
30
579
907
739
232
107
229
881
216
367
537
919
999
23
763
529
940
210
724
286
271
697
460
837
227
157
631
667
182
101
510
996
918
309
846
562
500
368
980
19
102
55
831
521
386
703
285
216
115
682
995
818
375
977
514
455
585
812
446
905
876
804
460
843
577
673
522
121
358
259
269
584
776
245
554
834
338
790
403
450
223
877
651
273
892
376
655
314
272
47
835
638
598
465
594
627
118
380
697
637
46
216
769
158
819
884
287
920
454
614
264
525
206
425
964
645
805
158
673
667
475
642
777
283
222
86
218
8
584
454
446
667
721
246
92
407
231
93
304
378
604
182
137
568
456
885
426
205
6
298
997
700
51
766
965
529
376
842
322
472
768
794
702
699
735
110
443
454
621
993
955
895
507
416
919
407
903
672
633
416
656
117
390
511
575
498
372
731
826
304
958
4
951
118
576
535
63
415
69
253
198
935
931
524
788
693
484
561
681
569
834
372
222
497
991
542
276
47
212
885
548
338
1000
294
754
292
79
542
403
46
78
458
242
745
265
776
254
76
353
794
337
962
856
377
45
975
641
169
948
635
581
676
420
621
602
345
230
532
713
117
821
839
438
334
699
747
627
859
195
952
873
908
15
771
445
850
978
541
541
128
53
993
961
838
63
855
549
262
145
359
531
878
702
512
691
962
667
202
323
795
754
550
14
892
196
587
989
312
411
986
70
902
398
25
234
42
151
725
782
662
988
764
29
960
414
540
750
973
119
263
767
889
36
657
307
355
740
270
72
483
524
374
111
19
568
599
899
304
25
947
984
281
422
424
357
621
684
248
65
140
440
802
347
886
39
361
818
542
260
376
417
721
470
207
27
902
334
429
952
448
984
801
380
977
769
448
319
56
921
827
972
70
907
774
688
77
609
338
452
84
644
163
156
910
461
148
178
474
894
233
531
630
595
795
457
814
968
615
106
510
236
812
69
879
149
102
10
300
571
17
964
529
447
130
17
533
863
914
305
474
84
370
50
272
180
144
276
341
88
845
923
650
725
226
192
625
937
322
461
514
372
726
157
571
778
410
986
132
630
208
492
289
422
296
586
697
747
554
18
724
712
711
810
106
969
361
108
91
816
102
105
826
471
213
514
289
201
672
928
273
322
471
142
970
31
172
504
547
255
789
981
392
408
592
473
552
802
363
119
495
928
988
261
876
685
39
964
505
864
615
82
159
992
193
7
161
911
133
284
261
642
107
591
541
353
98
999
457
130
820
882
82
239
514
129
673
672
225
635
526
298
799
661
162
129
498
923
859
884
292
339
610
569
844
218
143
89
40
383
416
587
769
108
541
197
504
26
662
86
18
447
515
65
898
252
271
340
282
197
243
219
539
768
311
994
912
591
478
24
45
789
934
929
100
833
832
739
168
453
24
367
927
12
6
644
190
881
541
367
97
300
667
161
253
211
182
569
598
516
441
710
599
188
724
761
397
763
295
695
274
622
716
678
779
249
287
660
267
354
675
779
85
46
324
629
165
498
601
904
937
310
382
285
930
872
840
106
805
698
804
165
586
730
856
423
808
990
533
945
579
409
40
81
844
5
737
115
894
524
624
456
975
878
688
680
421
779
721
860
901
790
403
801
766
296
333
489
615
361
922
68
329
527
676
67
75
938
603
95
455
401
54
886
176
802
311
515
509
983
477
814
785
907
220
193
541
204
792
347
149
33
569
965
141
259
97
787
206
816
542
703
149
457
795
961
661
742
130
201
329
156
943
201
323
239
970
210
217
861
325
773
553
953
915
158
846
452
866
382
31
89
59
830
496
457
849
725
509
769
730
156
536
780
935
610
77
521
137
143
522
692
96
397
942
641
631
951
994
358
620
655
169
356
263
276
423
843
51
792
472
210
116
108
921
564
690
975
939
41
230
52
102
355
989
543
476
905
482
80
685
605
437
441
839
297
194
32
122
82
289
505
146
828
480
956
730
727
808
640
312
57
284
455
21
623
302
828
843
832
939
581
944
57
648
899
342
145
54
389
566
164
181
172
348
130
131
518
497
60
398
239
76
35
202
909
458
507
176
610
835
522
927
785
627
184
646
271
402
739
94
864
876
300
965
928
269
946
155
949
775
973
4
845
789
142
994
914
896
706
294
729
492
887
648
57
6
393
94
469
953
396
640
593
790
626
324
763
724
852
308
69
319
379
281
158
692
758
598
573
493
936
330
406
204
357
558
43
176
497
108
752
978
637
416
609
154
55
277
304
126
613
634
94
991
243
389
916
583
590
298
908
901
474
653
363
487
726
771
170
552
418
686
80
718
718
349
805
188
887
100
589
765
748
622
726
323
241
564
364
457
174
95
707
49
746
145
726
702
13
400
51
691
524
7
441
674
612
538
406
753
73
577
576
70
401
590
3
587
231
819
564
567
809
924
415
9
371
95
313
282
236
691
215
691
560
477
620
348
949
845
720
770
238
171
654
758
334
908
27
56
50
999
771
453
385
818
820
551
192
846
334
57
411
13
281
98
415
833
658
726
386
54
871
229
836
768
979
440
507
542
237
81
718
396
500
153
851
531
796
603
484
875
77
532
896
516
546
209
364
65
110
947
143
710
131
823
339
553
778
933
254
245
56
520
473
432
745
295
441
306
884
592
348
710
194
394
994
95
354
793
310
918
110
895
860
870
890
623
135
373
218
76
264
118
932
126
219
811
313
335
549
487
302
823
911
664
212
624
689
258
563
456
16
982
43
953
861
634
712
17
112
610
560
241
340
396
472
367
449
590
108
473
289
208
399
951
993
533
444
402
593
526
440
917
548
617
692
29
580
550
274
459
820
333
111
133
985
564
113
291
63
174
767
914
793
995
546
607
138
832
25
645
296
787
741
740
367
479
897
258
723
309
266
341
721
717
74
966
494
879
227
426
280
758
713
799
538
553
685
131
109
376
562
698
811
546
740
129
760
707
482
337
380
249
47
370
22
976
913
449
484
845
683
644
753
430
90
318
216
993
802
221
300
965
505
1
266
812
89
979
229
223
538
203
151
766
911
864
662
481
414
400
440
725
868
278
272
395
274
69
405
498
407
555
57
898
165
999
61
36
891
817
871
239
727
475
523
633
776
406
544
710
557
308
548
506
922
374
400
269
551
83
693
167
496
641
767
155
400
929
554
43
627
626
751
121
844
871
424
744
456
517
455
793
786
380
475
533
816
554
135
515
540
648
742
130
746
414
51
793
722
603
553
812
855
883
478
368
323
944
110
508
700
635
792
33
552
154
426
852
283
377
935
964
886
782
344
715
232
705
273
903
865
783
201
481
711
835
119
632
511
303
658
300
321
329
584
102
157
972
438
754
776
152
147
926
724
365
958
611
614
145
36
144
686
310
550
575
414
985
932
774
79
545
358
655
854
916
459
552
968
490
495
132
479
134
612
977
334
959
123
922
166
443
975
192
421
200
200
112
819
474
301
259
224
608
291
104
115
690
93
679
702
672
670
845
394
128
882
510
571
40
525
573
683
320
441
807
21
143
736
879
276
583
683
148
871
548
959
505
732
144
798
711
740
121
667
41
846
979
800
125
228
399
552
289
440
476
610
184
532
505
225
648
885
979
767
258
90
541
685
972
570
469
503
666
425
133
348
304
831
685
28
159
402
100
560
621
796
539
690
1000
999
442
778
669
961
168
861
134
35
714
496
781
376
878
369
631
591
366
810
121
448
759
322
194
590
902
652
925
571
122
956
529
706
812
790
31
424
678
251
339
606
771
526
914
439
986
140
465
901
666
923
958
714
35
449
179
1000
579
132
278
759
344
517
349
854
203
158
479
228
642
28
983
184
605
795
835
765
800
526
323
296
214
964
802
78
238
331
381
387
392
868
167
15
189
141
543
835
877
190
979
236
152
909
310
827
165
360
652
428
350
221
53
855
529
929
58
851
127
504
219
527
217
604
913
864
563
208
211
405
185
514
115
935
890
679
767
742
930
420
352
541
548
131
858
401
958
993
675
596
508
180
984
100
757
157
623
189
991
799
696
20
417
313
903
450
836
343
989
468
193
952
805
134
753
45
333
50
253
852
216
439
579
1
103
34
797
856
39
396
770
100
152
246
57
103
14
744
588
709
775
131
596
235
752
601
314
830
261
309
598
947
679
248
708
861
611
891
197
415
976
247
758
101
293
665
68
968
230
637
81
443
38
680
658
22
6
705
903
604
406
772
785
448
422
718
436
398
95
841
430
605
632
371
574
873
659
752
749
798
359
745
302
924
414
717
655
380
454
189
928
956
22
110
42
692
696
45
430
133
226
224
916
516
798
399
626
457
609
218
129
874
841
750
240
433
170
398
646
562
257
955
141
435
264
749
90
381
190
865
41
440
890
451
808
727
379
603
267
330
140
262
964
866
634
895
226
874
9
683
652
452
476
57
396
285
142
151
4
826
20
271
891
548
246
992
666
354
576
266
814
576
869
849
689
447
809
918
131
545
58
413
233
949
361
465
65
516
485
646
716
363
591
46
780
683
944
784
881
621
572
669
359
240
274
798
798
580
690
124
952
49
814
856
537
905
704
565
422
858
25
950
110
316
477
664
920
184
929
173
230
523
866
425
981
372
939
943
444
759
634
192
854
541
78
916
979
707
582
372
601
691
631
960
536
381
612
29
815
730
295
881
56
473
803
988
35
205
387
510
251
895
126
427
846
554
596
929
942
947
161
148
781
863
213
385
449
397
137
106
382
191
77
570
396
350
309
375
68
741
492
552
997
252
56
568
64
882
998
144
212
951
488
469
977
580
306
546
980
174
232
124
773
212
683
398
479
863
50
113
280
59
345
703
292
772
4
513
13
887
932
721
639
878
330
416
934
981
207
165
329
836
436
421
792
822
900
254
227
57
436
150
45
460
851
785
266
798
940
285
681
373
635
509
977
221
439
650
789
343
16
845
867
357
299
323
749
465
733
317
636
628
519
474
293
467
6
554
924
694
913
588
735
584
298
36
153
320
478
448
889
355
973
187
497
902
942
369
20
792
547
374
807
368
254
141
949
724
658
37
485
440
363
740
103
124
636
636
771
503
97
916
996
394
212
761
68
911
240
954
905
816
428
13
297
676
372
467
576
196
132
927
510
941
941
466
504
88
922
501
811
606
402
428
271
622
371
482
640
503
301
243
670
85
54
679
763
212
769
243
682
244
245
810
560
487
251
797
805
353
760
394
208
548
688
616
412
941
767
826
506
435
59
605
608
639
671
372
122
620
925
107
533
890
797
242
713
858
662
128
209
603
9
975
83
870
818
285
577
5
838
140
8
70
682
261
682
181
22
57
873
71
597
702
298
877
24
597
859
308
698
827
239
6
477
750
812
8
624
974
16
384
783
205
518
976
715
743
908
402
431
836
828
831
782
786
254
617
916
180
167
497
744
323
759
773
132
747
640
385
384
326
209
780
588
413
313
736
477
522
308
747
112
697
189
344
343
760
800
603
618
333
181
750
81
953
131
558
46
710
470
910
951
601
205
755
651
960
930
594
489
787
848
749
205
382
172
633
693
735
324
186
685
313
313
369
857
124
342
883
979
880
643
558
729
36
941
9
774
226
870
164
290
713
40
579
1
697
550
939
459
584
970
825
477
546
635
934
634
687
4
788
762
77
165
761
151
560
704
813
717
337
768
285
751
101
492
252
794
491
359
414
825
44
622
673
66
52
302
279
81
477
224
345
944
698
424
703
459
796
812
960
724
914
565
861
79
282
746
226
507
401
676
746
984
464
790
332
790
149
84
139
864
574
264
988
968
593
865
610
946
742
967
52
255
866
132
237
973
941
214
580
672
118
608
498
822
753
581
689
777
114
169
625
316
854
970
642
942
400
836
274
916
817
244
304
659
703
111
530
475
412
666
534
294
84
526
621
693
723
138
62
241
653
785
60
857
193
823
193
550
139
90
25
167
754
831
470
230
112
412
617
565
489
863
184
127
610
849
894
326
942
917
774
473
975
240
648
521
992
368
986
912
156
880
569
276
999
163
764
287
454
439
482
966
76
661
453
590
416
573
547
176
793
965
108
973
109
234
9
575
407
439
843
315
550
546
404
280
22
940
975
88
279
76
86
991
618
138
870
196
742
532
270
956
449
162
898
317
774
913
39
444
741
818
600
277
934
460
947
664
894
694
619
769
970
532
654
246
609
121
73
550
48
48
330
398
233
593
970
620
470
279
465
155
417
186
422
579
87
481
110
748
195
425
936
744
739
920
913
916
917
102
31
904
884
411
891
629
820
692
213
881
41
900
662
774
259
281
738
803
56
537
605
129
899
91
373
905
704
595
70
453
411
481
293
438
518
905
964
274
23
588
31
269
837
720
802
629
165
112
475
236
276
959
538
805
453
364
902
950
764
678
379
175
529
772
790
646
993
251
781
813
115
389
915
386
237
356
439
727
417
406
293
764
635
424
597
808
213
189
410
700
346
475
651
949
852
35
209
993
906
876
754
837
391
751
888
83
644
825
216
367
862
740
989
376
16
997
295
589
491
854
371
88
396
935
518
683
71
346
217
489
897
879
974
654
107
467
310
328
590
546
165
279
110
137
245
72
236
307
139
329
273
116
50
940
685
583
147
165
871
967
995
441
542
414
455
214
937
839
647
827
15
605
871
14
413
943
158
20
462
644
624
854
98
812
365
465
340
708
718
505
639
732
865
655
676
776
373
296
938
690
197
577
386
372
203
484
169
281
680
843
55
445
830
402
559
69
589
182
588
483
467
803
438
720
219
309
197
783
812
377
756
485
209
447
119
630
78
701
149
852
278
876
361
192
926
395
978
971
993
63
787
191
972
462
989
920
754
104
452
576
210
274
879
959
92
340
623
590
739
285
224
278
265
141
570
849
499
686
717
812
298
869
603
865
106
846
640
925
971
133
110
41
551
74
844
699
745
832
471
945
242
390
4
986
882
535
434
767
452
713
418
358
102
620
456
833
424
212
854
6
479
92
718
603
756
286
52
576
277
245
108
625
834
722
72
326
287
183
46
875
606
742
6
566
639
534
547
488
487
441
770
979
84
276
590
123
109
869
938
505
597
378
2
273
545
196
106
163
437
214
746
407
520
45
76
123
142
888
405
815
537
308
441
481
796
135
109
841
330
217
382
721
562
503
409
799
140
515
160
48
73
100
698
76
259
155
822
702
955
477
479
695
704
841
686
493
315
781
992
360
976
27
84
373
310
917
112
608
82
111
465
183
23
832
652
377
373
926
223
649
946
881
161
644
962
361
629
95
827
969
171
148
205
742
66
806
810
625
205
693
116
888
105
639
612
236
223
749
189
520
349
298
255
712
364
133
342
878
918
251
942
745
368
824
587
983
746
313
371
479
199
537
848
68
496
277
879
311
636
169
987
347
613
839
154
461
120
453
6
929
245
621
337
212
579
724
425
358
612
115
523
759
186
399
680
829
655
570
931
336
852
338
655
836
825
442
154
252
579
745
33
280
988
777
771
699
630
271
153
966
816
143
405
55
720
817
193
816
235
359
358
347
489
105
674
529
575
5
312
770
52
834
898
404
27
333
73
297
190
132
830
735
267
279
243
273
217
199
720
470
428
839
866
872
725
162
218
95
85
433
54
508
167
288
817
931
801
809
468
922
155
751
366
596
203
387
135
712
388
186
535
147
828
167
982
807
773
815
839
590
960
825
893
785
459
379
904
323
701
187
351
76
52
543
131
537
809
964
622
125
371
128
732
486
588
461
205
820
65
287
551
695
850
15
908
74
671
592
604
150
240
202
860
171
867
389
614
212
294
727
33
743
317
429
768
13
772
600
692
42
73
997
535
83
771
777
473
233
740
254
311
307
845
867
526
276
480
614
169
983
374
907
189
596
331
17
469
867
743
382
41
637
186
822
911
995
135
501
61
982
14
358
5
134
444
367
147
801
957
207
932
247
329
168
482
870
812
238
41
430
650
317
325
860
145
85
336
959
380
837
382
693
504
941
587
43
267
36
160
325
87
92
805
518
131
739
834
585
163
421
946
678
501
481
760
241
606
748
793
725
722
259
214
933
860
310
33
767
729
581
850
685
288
982
401
8
763
903
776
162
150
424
814
158
836
969
831
172
239
322
946
883
663
447
29
838
226
800
829
51
767
276
420
610
743
908
354
86
74
437
549
889
62
241
665
659
80
204
385
321
861
588
368
480
691
100
242
972
100
811
878
923
342
835
939
149
728
835
843
565
752
70
417
698
213
6
584
862
795
947
234
231
59
198
110
812
218
503
499
968
330
267
290
881
391
858
969
660
287
977
707
346
212
76
851
960
180
514
668
963
753
749
867
200
888
842
717
486
602
637
662
667
398
924
986
222
691
823
400
613
718
511
846
955
914
782
398
805
367
597
302
452
98
803
602
219
144
851
258
35
167
614
283
8
74
999
258
57
669
27
166
661
742
825
967
111
8
702
858
160
137
570
834
191
729
427
139
199
188
277
881
196
382
697
425
534
490
111
592
512
871
439
648
518
902
58
220
406
949
996
934
462
504
143
643
980
890
348
905
164
637
487
66
954
47
677
765
615
942
557
461
544
497
700
647
678
380
767
852
79
833
252
87
129
404
39
103
108
174
117
254
772
61
350
899
327
91
572
277
347
76
514
962
508
323
368
405
362
399
805
20
165
84
987
915
616
147
10
632
514
962
388
905
48
927
647
181
305
611
963
954
999
598
257
787
284
674
702
960
267
688
577
34
919
584
448
956
716
976
170
360
774
579
52
729
295
15
27
932
103
624
308
959
646
590
456
641
802
591
618
40
864
12
954
308
717
99
772
906
303
678
774
179
85
554
476
135
137
375
938
325
81
553
847
564
540
716
136
362
476
798
134
873
880
616
971
488
724
308
720
58
615
388
231
944
183
238
546
76
625
669
856
716
353
979
783
790
184
250
62
72
999
862
397
507
511
183
890
988
771
831
846
804
961
879
809
194
229
138
797
169
180
361
77
273
702
709
896
521
940
741
948
340
543
927
340
768
441
756
459
381
677
980
416
547
663
779
945
39
292
806
369
723
36
879
736
410
938
81
945
337
148
52
784
931
769
890
726
404
147
750
879
176
293
934
1000
249
706
395
444
805
565
122
971
326
84
741
62
434
65
156
447
285
22
585
680
716
316
13
551
266
111
125
6
450
224
350
557
561
95
469
42
225
968
16
840
47
326
635
570
667
939
793
423
342
690
563
566
682
177
840
983
98
93
506
827
342
442
202
491
340
5
797
86
16
160
314
549
928
820
824
293
880
417
589
755
224
283
156
269
66
358
958
399
878
19
228
62
377
321
559
230
31
606
660
676
477
354
735
24
400
972
714
536
21
400
325
593
2
190
723
590
90
180
720
262
63
924
828
173
37
80
169
61
826
28
224
572
495
341
444
490
816
939
542
399
71
641
318
942
162
176
457
849
855
436
545
321
671
160
747
879
661
71
201
896
977
130
791
703
724
417
82
409
957
375
539
31
919
610
796
32
311
508
433
453
889
902
540
158
992
857
160
829
819
467
528
224
261
606
906
270
582
833
599
955
236
633
576
995
909
720
458
145
992
909
571
137
46
830
153
710
626
235
236
171
457
226
671
336
910
358
484
302
285
747
77
510
724
728
617
396
873
462
963
210
320
947
79
700
330
587
478
129
252
444
695
186
885
732
123
847
14
159
479
660
499
206
725
712
317
249
480
387
933
730
957
421
76
522
754
653
669
284
381
101
381
6
328
45
199
268
891
8
806
940
114
243
621
383
892
8
721
182
955
451
622
750
341
310
111
322
844
246
777
537
284
473
896
986
499
327
427
922
715
755
605
560
322
996
276
386
473
39
510
189
210
586
673
511
380
295
108
928
307
161
841
478
542
337
683
42
456
786
521
81
995
523
414
374
55
129
748
110
265
677
398
175
753
757
1
448
595
860
948
752
357
849
254
521
917
170
730
254
8
16
352
462
114
834
424
691
671
458
941
17
279
273
887
930
385
225
556
706
64
809
959
598
565
773
787
442
314
343
802
146
548
646
717
300
12
293
324
760
304
457
472
688
304
883
754
689
804
993
512
487
92
504
93
595
353
481
226
293
830
551
729
931
768
780
869
532
304
37
794
128
660
812
343
115
646
30
260
450
94
862
351
966
522
99
671
342
832
65
977
865
269
10
564
245
79
260
415
665
905
257
729
715
761
91
182
524
595
879
640
334
275
11
671
571
789
442
299
244
896
886
417
206
358
652
713
172
507
700
992
596
738
778
941
583
298
250
495
352
274
959
29
605
497
623
179
643
429
79
463
288
319
142
853
455
356
724
799
863
977
618
30
284
493
510
675
120
58
90
91
407
55
873
53
10
490
948
750
151
288
934
700
906
431
575
765
410
52
435
571
829
483
378
243
79
45
973
663
281
741
411
181
149
491
15
447
852
682
744
407
193
898
13
177
444
308
427
499
988
351
648
388
836
288
795
832
767
916
350
516
409
457
539
198
488
421
727
348
432
190
346
196
197
163
659
801
985
417
664
990
666
553
583
741
426
101
763
408
955
798
52
19
194
731
206
568
470
954
136
12
979
118
473
887
251
824
768
804
863
63
247
32
735
511
794
379
274
714
232
753
361
342
11
73
779
158
144
741
670
338
565
50
920
689
50
253
55
853
271
545
377
845
420
2
882
339
516
21
58
823
667
727
603
354
932
957
565
873
81
327
937
211
104
43
366
400
187
296
350
548
89
242
240
507
287
880
691
846
964
414
398
766
900
612
592
41
138
183
671
90
317
378
535
804
864
225
161
976
241
932
413
778
860
687
961
292
356
972
674
175
115
961
134
106
677
129
86
787
524
780
790
207
951
596
526
534
839
923
767
651
281
918
636
170
777
435
608
539
322
45
536
115
60
844
779
460
548
269
454
205
562
264
628
851
294
764
531
226
415
165
422
284
639
42
437
964
136
689
364
61
913
890
868
460
369
157
825
801
174
502
708
266
104
876
338
795
293
907
160
447
266
156
119
906
742
418
709
945
360
704
48
561
766
321
508
763
464
843
189
962
226
516
596
152
208
266
330
5
378
623
433
361
913
502
378
612
336
666
522
291
589
917
802
251
832
937
617
659
401
372
901
508
247
898
147
217
483
733
806
795
990
404
431
556
752
569
568
344
598
542
170
160
745
127
30
460
559
580
482
805
877
778
261
877
629
213
372
861
991
101
124
901
640
476
84
530
738
118
326
933
315
262
805
173
635
881
804
549
356
451
432
683
393
882
38
180
371
5
657
723
319
35
489
626
922
863
877
42
567
477
648
32
483
282
297
930
253
661
957
574
597
758
94
305
731
30
54
178
967
433
282
343
533
467
453
844
608
487
721
110
623
836
956
628
545
828
721
510
950
50
221
269
650
739
885
191
106
689
952
715
292
588
417
408
118
741
559
369
210
492
802
102
308
801
838
147
407
42
962
788
705
57
418
968
830
263
994
651
895
926
574
404
202
182
735
492
841
438
818
674
933
771
543
732
449
982
629
359
173
696
613
821
661
497
232
260
736
141
839
978
387
696
693
503
509
215
88
74
943
893
330
959
941
660
669
62
350
707
618
286
753
349
642
894
885
65
513
680
698
754
470
234
939
156
194
752
495
60
724
816
695
102
216
263
129
44
600
239
746
387
594
196
256
552
193
75
377
414
303
955
47
831
608
606
76
987
860
96
866
36
735
579
419
701
635
294
415
326
376
982
877
213
375
913
804
701
735
503
343
680
937
952
811
357
119
465
712
372
789
999
299
221
644
93
237
538
946
470
979
553
396
379
284
442
508
222
89
622
39
122
588
705
12
653
495
814
434
590
976
870
847
111
842
395
172
929
848
872
244
784
403
792
120
33
394
40
658
933
193
779
846
765
259
801
975
985
405
924
90
61
83
705
798
326
799
319
442
891
379
69
754
613
278
321
954
443
747
824
45
925
746
555
852
888
563
27
458
422
519
748
674
223
243
244
264
64
176
633
10
340
401
696
977
652
46
410
763
112
933
431
281
401
629
790
808
295
780
419
134
965
910
584
766
161
993
83
255
177
107
60
770
120
916
481
908
319
174
364
492
352
163
974
677
767
63
205
81
731
100
736
340
830
78
520
335
255
59
575
970
225
834
866
284
620
951
822
568
434
501
648
836
14
256
343
840
613
674
475
631
252
777
345
506
395
585
541
676
45
43
82
380
809
37
824
463
928
452
103
510
921
756
429
115
26
9
872
441
756
244
592
187
454
726
569
85
459
320
969
489
639
92
807
80
408
978
189
736
580
127
804
696
223
999
698
884
987
611
468
379
144
749
314
863
815
905
732
811
764
524
349
380
836
281
470
267
318
262
724
797
164
617
300
714
98
974
636
757
352
629
170
377
465
12
818
652
811
446
584
123
656
460
974
632
93
387
468
620
142
20
302
649
368
142
50
94
531
145
812
262
626
407
829
529
935
627
442
182
881
56
773
641
56
342
648
564
469
773
40
991
792
837
1
188
541
535
407
131
175
229
504
472
761
295
28
499
367
673
900
291
85
582
275
443
753
166
392
693
464
635
63
377
560
977
849
775
947
814
597
916
602
855
755
712
405
178
72
236
477
281
748
333
949
721
181
393
469
150
732
271
38
365
737
826
994
122
139
532
298
282
65
970
779
570
77
747
203
977
507
865
735
384
95
961
166
288
872
647
941
679
69
510
189
305
359
891
720
366
351
35
984
918
574
263
671
718
305
191
173
983
901
596
975
725
649
29
418
955
392
357
527
784
106
139
554
961
692
298
902
455
189
544
869
781
21
744
386
431
413
594
38
876
131
148
462
245
808
858
643
777
189
36
674
946
735
658
805
913
127
269
705
956
487
616
967
490
40
735
960
90
226
773
254
105
545
580
88
98
713
146
678
410
887
128
579
677
909
484
38
673
962
840
674
153
719
495
663
257
698
959
673
1
879
617
972
215
405
773
307
918
792
854
4
319
890
196
403
741
922
386
675
211
10
515
687
474
183
142
351
641
790
692
892
420
598
849
910
389
645
828
536
373
250
44
709
463
932
897
523
479
993
624
135
56
144
872
774
420
421
188
737
741
665
166
691
667
842
37
304
315
819
671
905
593
423
606
784
961
86
685
336
516
851
43
500
169
80
941
646
333
535
435
419
114
757
995
766
448
887
277
539
934
371
373
302
363
971
125
805
451
322
811
10
533
904
951
79
610
789
516
604
2
328
91
720
752
917
379
435
326
712
919
354
55
987
360
379
458
325
665
482
220
307
598
446
434
500
760
313
304
848
321
515
166
944
637
219
302
20
922
622
130
670
274
927
598
312
125
26
300
726
1
154
454
643
967
60
365
54
536
924
15
341
556
734
867
799
534
507
385
277
142
889
503
527
147
989
567
789
771
137
767
61
119
837
914
575
917
253
931
176
512
560
393
324
452
854
329
382
676
377
736
813
523
963
670
215
884
663
10
162
255
42
872
606
277
693
22
193
905
895
864
824
398
815
63
884
653
459
463
780
386
895
332
946
367
350
691
578
454
477
110
185
420
238
549
939
998
295
485
633
382
434
244
982
449
841
216
906
260
389
844
797
705
958
82
991
506
379
306
909
956
513
339
686
452
982
652
951
589
15
614
339
760
599
556
407
248
425
888
783
101
623
659
112
138
268
238
332
303
301
287
537
791
735
258
456
539
340
202
507
551
73
886
495
859
466
670
286
831
27
304
337
2
466
330
65
574
405
28
70
887
783
321
4
541
296
1
965
937
31
684
660
768
60
95
464
315
110
633
419
421
625
444
446
740
546
848
423
408
163
835
385
710
438
279
727
513
509
721
277
777
548
355
406
145
611
220
519
697
947
695
125
578
950
913
944
274
597
821
12
635
364
4
798
604
508
397
197
209
70
957
49
42
769
566
210
843
844
456
901
95
705
825
510
855
508
329
447
610
44
126
922
301
984
459
411
332
94
519
588
549
590
50
857
348
536
835
912
406
693
777
989
18
196
943
494
228
238
69
501
666
310
614
107
454
625
73
95
125
48
196
534
697
567
433
336
357
800
420
849
31
704
744
111
364
366
285
350
491
405
121
6
414
783
601
723
261
54
600
516
837
108
194
959
743
691
341
238
110
369
319
155
217
1
457
180
305
508
302
422
345
190
325
521
182
733
226
497
712
482
361
795
703
898
851
832
998
56
535
88
276
963
317
748
129
77
494
319
581
630
323
990
741
67
534
320
456
493
667
162
315
819
348
244
37
890
435
104
187
870
418
443
104
319
218
382
88
137
749
388
269
58
587
790
555
521
115
52
626
850
736
835
942
753
138
800
628
121
253
122
436
598
855
776
929
339
864
419
860
882
916
719
327
870
393
270
54
915
135
350
952
825
653
92
225
458
367
720
634
597
699
858
175
146
610
809
96
980
741
706
780
467
979
841
396
331
409
892
744
561
629
395
876
209
167
701
723
900
190
402
972
23
601
427
821
633
123
30
305
444
774
244
172
907
283
89
154
634
738
86
735
227
637
694
559
180
366
612
582
737
221
39
757
474
768
724
358
878
33
481
155
657
60
776
879
492
506
794
508
817
51
30
414
17
486
845
34
165
298
16
743
271
386
469
662
993
856
949
231
193
17
450
101
496
525
741
555
906
827
480
906
485
2
780
557
1
157
779
507
926
574
689
22
516
835
156
694
46
433
509
844
570
520
685
461
146
385
728
491
854
247
837
362
820
950
31
901
648
233
609
95
997
855
575
655
893
769
379
647
730
454
815
40
423
733
560
685
959
637
905
863
928
537
478
75
982
401
468
267
817
78
698
986
105
982
504
496
326
715
474
187
824
850
699
913
569
879
854
7
747
179
236
902
912
613
300
122
323
637
503
603
307
375
818
838
403
511
830
594
938
173
164
603
536
646
732
213
96
354
266
733
975
352
412
835
302
136
292
409
488
388
606
957
661
91
491
840
348
318
248
410
357
800
223
491
612
633
329
407
65
865
640
974
18
688
409
318
552
138
776
537
899
740
403
1
125
856
137
670
343
639
9
892
673
71
331
823
411
957
837
646
546
589
645
287
805
778
240
947
880
359
374
840
597
441
315
298
222
663
211
900
780
673
701
506
744
713
661
61
130
943
508
281
929
606
99
535
105
503
535
802
283
151
243
918
946
915
552
943
78
341
198
418
827
899
277
770
644
385
897
553
510
397
474
559
530
439
964
415
228
598
781
140
685
689
672
846
718
490
814
141
442
264
60
679
52
145
324
876
802
800
107
262
329
617
394
96
109
661
983
161
632
640
447
12
486
114
921
343
439
248
744
447
396
536
479
842
91
907
61
468
9
100
951
367
46
237
39
518
785
176
253
38
857
292
451
413
752
158
894
482
999
780
613
129
833
933
669
991
906
485
978
654
735
744
286
372
261
775
409
947
293
337
471
291
175
209
101
615
229
360
68
604
279
266
410
931
681
157
585
856
63
115
846
684
979
663
40
356
99
394
682
467
590
87
203
35
567
149
144
168
353
708
637
608
229
115
68
341
955
929
372
39
314
196
86
577
928
23
26
586
38
395
104
468
440
137
515
492
870
230
531
822
110
808
158
919
394
724
566
282
470
124
469
53
864
408
299
259
82
782
74
781
601
713
212
175
67
526
317
162
127
278
579
938
694
35
466
229
304
448
377
771
60
503
26
350
450
529
494
356
992
686
156
450
11
358
116
677
250
672
625
828
346
891
361
891
556
283
185
605
339
134
507
403
405
142
675
294
354
902
298
499
70
372
409
725
637
277
185
641
915
294
926
713
611
395
787
381
927
78
354
604
895
384
178
577
194
501
686
192
105
367
275
220
28
465
542
496
558
946
545
650
139
903
271
599
435
215
330
577
486
61
676
413
258
612
595
182
884
840
21
787
745
318
569
730
365
753
530
748
747
345
760
736
905
538
103
788
209
688
175
611
179
503
296
256
88
119
352
656
596
271
826
590
159
428
416
125
58
348
431
255
397
360
429
453
14
413
39
737
397
843
778
936
385
427
96
125
102
565
66
157
261
969
79
43
425
785
689
624
428
729
580
702
637
455
236
908
993
220
765
390
506
190
738
740
994
832
14
253
781
463
634
521
865
71
515
120
769
620
114
814
717
942
672
783
426
604
530
787
388
188
855
476
259
250
522
895
793
902
521
458
522
991
399
160
598
649
850
690
121
990
828
921
497
415
999
476
970
281
930
42
946
570
152
375
248
258
178
42
435
619
688
390
350
23
879
257
224
648
810
406
51
905
501
540
718
976
722
798
601
932
944
731
630
512
190
633
61
731
219
601
61
751
566
3
403
766
366
566
961
232
896
174
734
228
66
933
958
247
895
351
368
274
46
16
84
436
453
624
742
17
270
60
722
822
703
986
221
239
522
267
433
1
761
811
28
129
577
480
603
124
319
904
693
846
30
394
96
620
362
793
109
787
618
20
220
779
955
900
359
18
989
501
344
394
116
481
434
826
728
77
167
251
811
885
688
906
751
240
531
376
616
48
544
598
349
958
966
220
363
536
460
2
949
36
934
783
396
510
185
53
655
442
628
36
397
314
479
788
805
401
55
463
322
104
100
784
128
322
982
233
610
51
887
755
680
202
850
753
495
645
484
850
820
327
718
459
118
36
548
537
760
600
808
973
89
869
850
766
509
38
145
268
876
110
699
280
302
807
182
480
342
503
533
372
803
478
973
740
362
599
798
548
154
870
399
336
688
543
646
655
170
555
871
500
259
251
307
734
701
216
267
586
637
988
952
981
817
488
176
816
67
7
255
975
564
643
68
936
976
959
862
370
812
650
187
954
4
450
64
474
590
878
905
681
695
69
792
871
359
80
381
416
65
528
294
650
283
822
886
774
687
443
215
486
376
104
742
48
439
610
484
769
254
291
831
557
361
706
936
647
864
409
683
933
44
500
37
574
536
72
265
408
266
721
334
308
112
430
999
526
236
455
488
420
36
754
852
200
8
758
924
865
781
237
170
283
52
287
902
732
16
288
98
881
855
495
598
103
691
445
798
510
834
934
610
894
883
724
84
58
400
781
67
515
628
772
325
167
614
622
861
531
144
335
873
958
355
661
292
437
838
714
642
571
877
366
947
293
157
229
229
520
630
847
318
178
408
114
981
677
523
209
729
506
197
568
379
710
69
456
372
175
186
119
63
479
646
921
611
450
776
405
727
862
913
430
876
971
202
133
743
222
699
110
857
222
723
659
795
869
58
733
676
963
950
105
423
160
900
74
862
21
76
890
851
981
764
291
330
719
386
688
314
969
286
365
7
309
372
996
24
987
217
858
760
622
43
618
270
79
185
842
721
172
251
515
347
867
706
289
367
542
365
161
569
769
332
688
645
555
105
179
85
449
181
107
915
762
438
676
331
667
548
63
624
383
319
617
285
750
52
326
578
514
96
171
726
796
787
506
100
690
517
751
766
516
27
548
454
332
946
14
197
479
289
201
791
349
366
975
162
960
529
768
303
502
787
310
553
538
340
805
903
693
867
4
998
856
146
530
269
39
986
751
4
145
287
206
537
315
465
409
377
214
589
33
219
552
279
95
130
530
793
870
79
649
314
889
643
564
39
845
599
532
427
530
178
985
454
286
943
521
875
525
742
659
171
501
600
43
139
813
260
740
420
619
90
716
889
275
133
322
749
724
404
355
421
289
487
361
850
950
144
125
577
479
802
832
143
998
501
33
250
990
717
631
804
193
611
801
569
298
692
687
814
394
720
305
894
519
399
309
504
814
311
933
871
387
267
798
1
118
671
18
598
596
363
655
55
419
889
382
902
719
62
672
610
180
871
449
858
848
853
802
471
1
903
856
276
282
959
37
790
216
701
919
534
271
354
363
836
105
441
765
534
296
863
798
589
402
29
183
780
658
300
8
389
348
741
145
474
502
303
838
154
186
259
200
918
682
249
624
242
983
748
660
616
52
335
351
744
928
641
961
937
943
669
742
574
916
18
472
962
398
848
899
460
806
809
237
908
748
783
152
519
101
455
181
944
632
491
845
294
793
723
252
315
142
898
603
796
455
847
280
950
735
258
589
635
181
666
315
681
218
773
583
313
410
949
989
732
258
446
161
122
32
174
708
787
602
871
555
825
285
559
427
489
823
556
707
527
251
644
961
613
627
919
174
662
520
432
841
457
377
268
441
341
702
654
398
871
47
875
937
277
692
202
94
539
168
678
367
477
390
983
188
46
933
30
812
823
586
247
840
111
221
626
6
197
323
776
256
482
35
340
130
934
570
672
355
566
774
531
717
766
173
670
653
201
744
123
28
79
854
468
843
42
247
370
291
446
846
74
795
4
183
672
283
483
621
159
264
797
796
377
103
187
683
968
679
621
459
670
80
236
519
483
424
26
569
6
679
210
107
521
401
530
38
630
792
768
571
10
567
759
902
796
92
515
329
273
862
486
57
205
814
794
528
135
176
649
971
599
188
513
413
764
787
111
923
757
196
80
189
161
378
116
874
748
85
535
535
979
845
938
123
992
448
347
925
653
777
21
308
108
817
118
595
498
344
706
300
60
484
750
820
865
294
687
104
773
594
935
458
355
982
546
591
900
664
423
723
351
564
326
600
206
234
152
366
2
667
4
176
275
428
282
72
670
753
196
896
286
459
782
389
758
207
601
869
78
26
526
151
769
344
307
123
715
901
615
585
496
17
36
740
427
57
95
527
182
585
110
518
196
1000
775
751
646
185
549
440
6
343
988
267
188
572
588
85
390
617
862
543
327
916
862
303
893
810
142
103
137
614
57
391
912
347
527
955
537
384
475
876
11
476
619
689
214
560
605
436
618
862
777
970
256
605
309
215
149
576
747
927
566
99
452
620
248
417
398
182
917
442
874
597
963
232
19
488
11
518
190
581
81
287
740
839
919
251
986
178
522
377
853
160
955
578
399
289
702
453
72
859
652
28
542
991
293
801
631
439
626
726
53
825
731
339
711
462
187
652
686
212
152
474
288
127
119
380
125
293
85
488
755
55
149
655
285
648
113
151
540
267
823
159
809
118
905
790
661
532
24
322
625
638
192
377
48
784
446
992
702
793
775
882
984
121
950
595
368
477
45
485
86
124
889
746
797
930
829
948
530
807
580
620
868
812
63
481
657
831
491
591
223
894
712
658
832
147
851
574
194
369
256
941
706
469
406
695
33
779
309
501
5
943
911
33
744
34
633
241
259
329
698
968
171
492
69
304
758
271
280
619
114
965
346
608
702
488
339
66
111
585
483
572
400
221
967
231
83
761
689
456
121
480
481
654
904
579
167
406
935
577
64
653
653
140
719
336
28
395
815
743
413
13
671
939
198
871
962
94
934
620
521
392
511
476
322
703
182
698
813
769
399
33
146
456
621
431
205
227
475
116
226
601
566
238
950
176
12
590
772
979
459
136
165
877
166
555
93
234
873
53
756
98
135
963
619
222
357
629
690
88
21
49
20
758
644
337
862
721
973
997
213
421
272
51
798
660
953
158
321
125
602
964
796
667
522
848
599
349
45
614
820
148
168
445
1
739
115
930
268
577
724
79
474
715
376
629
52
352
834
534
92
750
949
631
632
46
974
965
109
770
707
165
457
331
1
355
332
689
669
966
842
592
462
612
970
102
40
847
975
883
296
955
337
563
603
426
290
739
64
767
607
45
245
25
1
558
957
242
606
479
445
352
546
974
493
685
608
656
901
264
353
350
689
269
88
94
781
617
179
624
441
228
871
537
10
798
725
630
770
839
213
407
778
84
61
223
142
751
198
910
719
812
778
814
458
941
179
234
765
300
696
721
894
12
563
947
354
93
181
470
880
770
769
830
273
814
582
941
623
917
748
758
283
434
807
262
20
905
765
518
324
597
335
458
906
532
710
471
490
167
108
262
860
341
195
452
370
974
514
611
425
553
507
928
881
575
485
10
124
484
485
791
349
945
33
954
855
867
979
34
662
264
685
250
46
619
480
513
592
58
855
807
97
72
850
857
560
918
237
674
896
336
398
831
305
989
908
665
332
245
483
855
714
446
221
568
483
700
982
660
478
421
873
420
216
40
636
217
27
738
361
614
252
363
248
767
401
454
791
112
876
783
73
833
140
35
527
564
580
752
210
920
842
245
962
122
752
72
625
145
358
454
522
770
270
723
416
94
595
812
645
855
960
861
450
421
412
993
361
880
457
846
534
839
836
959
419
71
13
934
253
975
376
855
729
99
205
54
46
905
190
376
809
249
244
402
800
981
935
196
313
891
924
320
648
251
110
585
56
564
685
67
478
507
776
877
586
122
161
423
205
547
387
218
606
299
344
432
167
796
336
325
60
122
741
502
678
292
770
26
419
814
335
486
467
131
368
309
936
921
419
309
785
257
382
735
315
649
795
563
546
236
56
526
761
780
790
490
538
142
110
118
1
170
953
808
602
54
770
611
484
642
429
629
133
320
927
303
802
899
348
992
430
511
842
412
186
385
452
2
312
665
800
408
944
256
354
848
80
703
225
625
608
798
692
811
275
167
907
91
490
356
551
525
301
544
110
923
289
800
759
77
917
962
731
173
66
968
709
454
826
240
805
44
130
92
892
532
894
772
400
303
101
369
989
198
398
260
330
119
456
209
807
521
674
649
831
676
217
55
419
478
357
239
290
716
721
399
316
458
248
166
304
338
839
886
629
212
661
344
3
293
967
256
472
466
349
449
424
429
82
486
515
219
835
199
577
429
425
688
182
414
220
179
373
252
795
248
254
642
995
185
279
38
789
800
719
252
931
909
257
763
444
338
794
625
424
369
427
293
505
896
251
321
42
865
440
61
938
536
657
275
503
518
737
525
148
202
624
971
93
713
903
254
874
320
183
7
148
24
133
342
549
566
971
628
299
564
900
810
982
379
844
992
905
574
372
685
744
496
591
464
937
775
517
623
735
746
349
422
956
253
630
762
495
421
5
619
785
946
376
651
189
754
258
343
670
878
88
337
448
352
694
333
380
128
349
761
466
125
625
964
941
649
517
613
918
57
185
811
44
359
572
143
487
834
690
287
226
29
682
78
832
638
201
446
818
651
119
632
783
73
791
247
406
775
249
470
731
594
267
501
294
57
508
152
444
474
197
141
84
590
219
11
925
654
338
345
238
892
778
28
619
956
962
786
576
406
562
845
455
559
623
605
973
951
997
775
77
492
552
420
81
409
4
509
603
571
350
106
153
1
890
305
883
17
154
898
783
170
729
590
980
879
917
968
768
455
934
787
502
212
832
107
711
754
233
35
799
789
316
200
551
940
912
810
168
927
231
664
820
394
455
5
429
658
821
381
696
573
39
765
143
304
74
31
684
970
277
915
161
779
754
178
887
313
739
193
943
650
670
846
856
477
609
154
609
956
152
770
84
821
573
41
137
262
853
586
677
656
293
58
552
485
949
305
989
977
808
215
319
400
765
725
61
998
651
127
313
399
966
3
566
939
923
403
884
696
212
921
721
610
757
931
167
200
802
698
1000
730
490
502
277
820
648
509
431
947
691
682
778
704
366
432
42
278
652
141
996
845
850
387
45
623
506
375
803
941
12
377
766
722
976
355
627
756
210
886
101
517
579
312
156
480
36
112
775
582
125
936
416
844
258
71
177
223
245
811
801
488
486
491
334
545
402
369
930
397
427
839
451
151
198
78
653
22
135
476
277
65
831
616
255
836
251
874
263
493
197
685
784
253
803
761
943
624
992
887
909
96
486
791
141
937
247
905
338
650
874
890
271
16
790
635
900
419
250
698
67
734
253
146
61
227
684
793
494
394
2
451
180
970
433
717
928
243
19
753
611
424
104
72
611
383
291
591
473
32
915
531
543
42
338
840
766
83
278
12
462
765
193
505
335
897
964
243
503
866
358
972
325
265
942
484
53
883
94
799
726
117
632
258
946
466
591
698
523
105
253
349
861
323
291
925
816
101
570
641
39
175
393
624
714
212
652
618
858
314
323
219
769
653
200
184
153
404
939
727
761
42
623
529
720
675
381
760
974
515
425
249
63
61
148
199
806
432
703
263
999
260
622
651
683
822
36
546
114
886
78
248
561
124
395
943
583
538
81
457
412
370
321
453
477
738
80
614
505
467
27
561
41
906
713
331
997
757
899
422
404
277
621
108
259
594
990
728
763
637
799
416
926
885
399
742
205
789
12
955
612
283
441
689
663
879
169
425
28
890
803
292
639
615
567
107
531
818
497
587
54
866
941
757
455
345
790
244
621
571
454
887
88
903
855
983
371
809
437
654
27
945
352
976
162
597
615
131
470
830
568
925
25
383
923
705
854
228
256
926
97
928
921
571
833
278
255
381
984
524
627
467
179
656
453
110
241
672
838
249
464
757
269
113
853
95
138
589
825
191
924
881
564
384
970
537
225
15
325
207
364
986
862
213
999
634
822
777
651
607
81
31
631
843
563
754
180
41
455
194
979
397
463
143
964
501
745
328
138
619
167
475
999
994
332
509
76
574
589
797
232
128
1
644
690
755
62
787
664
108
132
228
277
51
801
164
135
470
101
696
236
836
380
860
856
670
439
786
207
623
752
959
881
9
880
638
460
618
319
684
163
267
924
562
741
701
427
254
286
390
394
253
506
273
668
244
408
926
754
162
38
784
930
114
653
923
786
907
665
922
382
537
542
714
918
56
61
119
932
556
503
210
596
583
18
343
320
47
923
328
547
912
734
979
415
599
622
816
171
770
466
365
901
194
775
942
747
243
287
428
491
727
245
240
778
938
471
454
727
380
999
600
345
75
761
609
351
799
883
35
743
835
15
63
697
311
418
69
690
564
839
146
613
283
323
10
675
733
677
964
543
740
696
563
450
768
164
197
818
691
80
135
660
20
34
429
745
239
626
86
72
225
887
845
976
820
650
855
895
423
615
225
404
113
508
724
992
636
231
397
655
508
306
444
824
365
238
255
237
109
602
193
39
574
299
980
701
740
585
415
790
794
132
838
705
263
146
139
497
572
389
291
156
963
699
877
514
962
741
972
99
475
561
155
787
970
974
156
593
655
645
498
95
72
491
472
150
145
681
602
276
670
270
701
669
21
722
780
838
889
634
365
778
975
862
525
944
867
919
88
518
478
813
318
211
471
353
127
273
849
753
183
507
552
972
478
748
431
667
607
674
187
230
395
304
679
908
2
616
529
867
331
492
216
405
584
11
764
683
682
28
355
458
42
645
184
913
808
162
735
996
867
169
438
39
576
510
801
893
49
637
665
533
984
706
626
693
247
297
371
299
114
228
592
937
87
656
565
789
168
541
451
66
375
172
893
883
517
865
907
562
680
747
280
139
590
982
830
384
837
862
2
937
301
341
943
353
34
666
891
614
804
320
725
159
937
848
674
459
589
261
666
941
238
589
678
449
145
442
734
645
725
671
642
783
76
496
934
217
82
444
52
888
9
441
392
351
662
80
856
550
435
316
983
70
333
617
726
206
647
337
848
118
303
428
689
548
760
381
480
529
558
710
632
816
811
149
899
902
339
23
967
172
473
257
157
808
182
551
642
704
44
562
616
267
377
577
973
534
613
901
451
85
241
100
794
530
98
687
679
346
430
963
365
835
529
486
442
151
885
347
772
779
505
861
723
324
327
337
414
586
856
407
630
589
161
198
538
87
841
326
573
786
106
500
101
738
610
552
893
842
518
440
879
513
668
266
298
704
288
289
865
920
264
103
275
908
706
72
88
688
907
969
395
704
528
692
233
102
214
727
198
544
395
906
903
827
585
741
324
204
743
583
133
847
555
298
414
190
621
719
48
461
118
954
487
406
104
860
500
156
440
583
868
468
809
287
992
438
163
603
433
989
964
257
666
33
164
315
633
129
641
955
735
792
812
635
650
3
69
466
934
836
71
513
309
311
882
186
320
509
172
493
190
508
77
816
369
981
932
255
376
988
90
12
651
248
167
315
436
717
129
304
293
914
913
888
42
356
14
644
531
157
996
503
172
471
318
245
910
760
699
13
855
686
611
983
436
955
999
453
17
3
788
403
411
256
538
586
220
854
829
235
971
134
496
770
387
32
731
621
221
933
521
949
609
509
218
476
558
269
964
732
478
934
991
152
151
682
10
775
828
349
179
327
349
28
482
37
993
383
672
785
205
670
818
593
986
131
533
377
897
394
160
306
411
124
697
302
518
929
783
228
205
962
241
748
556
393
256
605
49
158
119
245
780
931
691
66
455
535
319
135
864
728
437
337
873
801
940
497
545
611
999
405
179
676
499
511
782
316
218
367
782
794
715
794
227
989
160
491
281
587
84
308
818
175
90
718
702
117
10
265
181
336
340
6
663
889
798
428
2
950
828
918
965
299
222
620
123
548
276
893
261
363
777
772
211
673
615
454
346
309
460
414
9
942
973
550
992
560
746
368
443
943
605
477
210
71
936
795
706
161
882
950
695
508
856
773
762
105
124
21
629
303
859
722
898
845
518
702
169
139
576
757
931
51
785
262
930
152
211
852
845
137
685
172
363
894
532
762
44
879
242
901
641
588
196
633
448
817
446
89
836
404
29
337
453
622
688
280
492
679
635
237
567
811
444
699
781
2
372
256
268
597
300
93
2
924
47
642
310
96
608
412
923
718
813
954
880
710
958
19
93
626
34
837
7
87
170
888
411
723
792
712
640
38
531
227
744
205
91
434
291
920
922
151
83
694
374
450
538
239
257
270
945
911
217
309
359
541
50
922
734
4
483
307
343
682
339
555
466
531
744
842
217
424
691
953
353
396
523
396
786
928
177
663
663
166
17
452
547
574
441
196
229
528
371
865
40
698
758
37
482
618
761
168
802
890
288
744
382
562
253
120
153
594
332
123
640
271
983
798
640
339
63
720
745
474
388
146
479
632
120
127
135
774
203
344
863
860
517
421
5
523
316
116
771
786
727
211
81
507
553
73
835
524
447
348
992
286
994
309
259
510
40
90
318
695
274
165
817
406
884
408
702
1000
565
157
551
964
86
177
528
537
266
24
295
540
839
582
642
790
839
386
991
935
400
575
229
907
946
599
901
315
448
804
43
502
564
709
644
268
373
86
504
895
637
421
347
507
55
530
697
551
361
594
506
271
523
530
599
710
699
503
333
89
747
725
847
745
66
736
615
735
149
577
446
854
914
25
692
455
509
295
756
317
386
810
883
179
285
844
820
351
282
885
548
990
764
9
221
530
992
978
734
436
378
747
677
698
315
672
174
56
724
810
283
351
815
781
390
11
930
258
469
566
569
796
236
60
279
264
718
4
493
916
217
313
120
63
697
140
485
902
632
701
745
342
399
773
226
150
278
678
176
343
193
190
354
809
123
591
690
754
999
476
622
303
355
996
928
686
563
580
273
117
925
711
38
577
10
487
301
127
722
144
804
839
710
166
893
824
179
398
260
298
159
660
522
446
766
72
656
35
123
863
989
439
520
96
749
715
817
684
768
462
417
104
772
702
90
279
164
604
924
242
433
835
715
443
156
722
526
168
231
135
518
592
491
151
671
730
667
421
356
598
560
696
847
540
20
816
638
16
626
364
128
119
237
496
162
730
58
935
265
717
771
371
27
152
308
120
922
219
825
279
237
136
491
312
776
294
538
877
677
13
497
388
700
915
509
872
498
894
468
897
122
774
93
62
570
154
641
856
375
846
97
941
222
430
288
903
395
92
314
935
139
149
855
479
799
60
591
376
501
873
189
432
407
806
276
196
400
601
752
907
987
347
77
321
208
213
280
937
724
605
255
854
327
381
861
536
438
546
142
266
914
577
585
171
750
938
594
53
496
301
844
691
959
163
266
289
273
338
450
430
147
269
76
811
318
145
1
92
630
915
167
693
202
412
913
30
503
424
182
891
304
766
25
672
471
560
893
38
333
834
979
595
662
252
553
947
207
703
213
966
9
334
92
14
575
335
862
604
725
879
537
901
858
608
498
517
702
938
888
258
842
715
835
907
453
850
124
575
906
44
157
317
341
67
568
200
446
738
706
58
520
811
186
973
449
720
784
652
833
596
451
256
143
393
387
415
376
109
433
905
246
316
518
930
261
757
220
142
7
608
687
371
588
895
744
920
888
385
955
242
407
512
387
418
889
55
810
175
794
432
802
136
440
859
833
959
902
200
628
591
491
185
580
420
544
102
859
937
100
142
832
584
993
753
555
279
713
771
952
215
250
262
121
811
485
8
641
806
858
252
783
960
740
238
592
148
620
708
278
730
655
339
162
854
558
613
352
728
31
140
69
13
545
264
435
954
248
756
997
68
751
398
922
52
110
881
176
487
397
546
447
631
556
989
198
739
741
127
661
449
772
659
7
79
830
438
418
99
338
359
995
306
464
524
412
529
13
831
224
665
643
688
345
686
287
676
999
708
989
944
810
419
142
543
717
817
501
3
740
613
261
186
869
92
701
241
896
883
667
690
102
44
678
387
243
415
450
372
134
347
958
404
566
805
434
98
236
231
918
625
912
505
543
18
903
335
320
955
802
818
748
907
992
957
601
780
331
368
920
642
534
132
268
113
487
136
125
560
11
19
126
594
92
623
951
189
208
727
737
652
166
561
215
673
30
528
731
971
669
65
502
844
741
100
883
248
307
888
41
136
546
418
811
4
126
22
28
10
867
719
601
23
313
893
883
89
190
124
91
476
142
678
627
499
382
312
830
835
739
198
856
495
647
940
5
686
678
906
392
534
793
787
772
455
915
870
109
623
876
574
35
569
635
21
447
851
166
320
37
167
479
964
509
690
382
418
348
298
389
995
712
692
343
373
825
46
504
503
513
251
464
868
675
524
912
361
93
494
569
664
424
615
562
75
637
629
514
936
417
71
556
573
17
531
12
106
883
117
745
198
832
904
395
171
845
337
703
441
281
362
157
580
919
538
51
352
233
953
20
278
592
189
280
959
875
591
384
565
755
294
296
691
68
229
315
911
257
167
902
545
321
918
822
529
372
534
772
298
818
535
265
88
658
552
400
727
371
593
640
211
801
844
123
946
263
425
793
66
708
974
783
49
615
778
398
740
774
202
888
488
312
441
991
286
903
229
257
799
456
391
72
940
597
140
276
937
571
354
165
49
843
591
812
280
383
328
531
269
318
596
434
60
757
279
343
204
499
239
624
873
411
491
612
370
133
526
125
63
174
868
250
500
956
860
103
713
973
261
96
605
819
502
831
293
854
328
887
225
125
240
899
279
157
924
678
412
877
530
749
886
248
617
998
219
666
881
382
403
3
581
103
134
176
82
878
420
191
985
679
386
101
217
364
614
130
642
459
2
980
705
63
304
142
824
736
799
518
678
329
58
378
361
464
721
915
291
571
265
182
220
503
828
827
742
520
748
731
112
750
33
646
784
717
112
445
750
370
501
870
134
931
58
150
990
676
341
441
241
820
25
997
159
693
932
228
515
415
652
341
446
312
737
722
486
992
100
308
334
698
380
399
494
730
213
867
845
470
955
1000
893
183
167
679
280
757
857
569
225
272
734
605
522
484
431
984
441
720
829
317
365
150
187
504
888
712
853
396
393
718
543
173
997
461
206
758
979
712
953
969
544
237
564
911
657
42
714
337
542
465
182
875
844
523
517
842
963
852
672
755
179
576
631
940
590
48
124
488
349
428
643
116
47
713
708
357
115
882
294
346
884
995
325
42
957
291
848
812
12
652
75
1
695
17
320
844
508
515
595
95
138
773
949
681
934
636
203
485
125
378
828
414
381
149
709
674
670
885
325
807
744
247
825
257
632
405
854
453
186
303
108
835
617
486
491
552
604
16
10
865
532
154
840
477
103
839
496
196
838
913
152
189
803
461
921
982
671
100
521
568
593
345
565
400
778
583
806
82
191
697
994
415
696
339
272
492
147
289
753
45
629
254
595
985
97
429
155
770
349
394
632
55
320
694
469
752
123
805
403
952
2
782
905
821
164
482
191
836
722
380
128
653
757
323
853
938
960
228
109
370
52
253
357
687
567
453
851
547
190
976
633
176
325
245
266
847
859
425
329
141
361
858
641
731
874
129
942
481
299
895
942
455
80
338
853
423
35
194
238
314
595
730
84
869
678
42
102
195
9
826
992
179
308
522
996
39
616
746
998
427
504
89
181
196
639
453
328
347
793
502
991
668
901
218
398
576
935
694
252
367
741
83
687
742
979
869
786
262
714
91
882
706
746
953
948
935
820
727
216
376
639
441
929
662
927
575
561
322
991
204
380
968
168
95
254
714
1000
240
83
388
31
383
32
769
281
417
493
1000
841
905
950
551
779
582
338
72
902
34
701
510
695
105
189
512
740
329
163
327
492
952
293
683
416
708
624
330
754
107
285
396
517
512
10
363
640
273
221
611
127
91
810
76
679
134
380
178
240
157
149
402
713
632
257
884
313
864
454
354
210
888
574
643
607
872
799
764
253
999
324
195
212
924
521
871
476
999
408
691
38
763
259
187
627
349
585
660
826
548
548
285
559
480
588
910
511
544
856
650
444
246
831
28
267
470
590
629
997
643
251
950
280
529
353
836
949
928
495
967
257
853
78
34
580
107
958
573
837
622
822
602
61
773
889
698
189
874
296
181
365
800
976
797
635
187
615
901
68
493
877
646
106
469
327
571
114
519
189
47
532
226
755
249
127
641
49
540
34
905
942
274
69
986
456
197
888
608
533
920
122
660
493
586
360
532
371
931
504
505
605
436
937
525
637
769
650
883
724
48
493
173
765
230
283
688
708
196
993
538
999
532
267
297
2
481
867
25
711
545
124
580
173
396
838
696
198
383
339
181
190
47
775
653
748
638
520
949
431
334
873
342
401
603
736
599
218
584
705
410
811
929
979
173
659
516
744
663
740
105
913
441
310
132
50
128
398
320
935
446
467
159
404
101
23
574
996
653
583
712
607
186
535
961
432
175
360
115
327
26
542
814
170
800
799
727
930
185
696
68
878
697
498
338
331
988
481
203
646
393
304
955
442
635
606
799
229
260
876
76
372
297
240
375
52
589
301
488
898
748
82
586
659
823
713
526
126
891
610
401
277
483
939
272
196
350
854
605
464
543
86
928
894
563
573
443
302
90
477
569
318
378
896
452
911
214
162
961
555
457
444
445
259
347
96
825
102
351
303
165
183
693
115
235
951
468
898
347
422
392
152
321
323
974
356
127
407
458
548
231
345
37
952
865
842
665
801
85
877
382
71
257
473
285
56
494
968
204
962
829
820
358
383
954
170
619
736
905
988
723
94
444
427
69
818
226
77
619
528
442
915
493
333
599
269
679
390
586
140
230
945
266
732
633
833
926
267
468
783
831
956
591
2
143
831
250
767
206
705
843
699
850
32
353
480
549
367
184
692
1000
772
807
28
963
241
470
265
397
358
363
579
771
79
299
402
45
212
625
944
811
573
174
781
789
642
119
117
626
883
383
84
362
133
257
474
342
689
685
644
742
758
285
255
563
659
600
338
861
781
10
793
785
401
845
790
535
972
195
755
190
270
982
705
798
590
542
699
473
112
893
630
210
807
640
490
479
488
699
370
4
77
13
452
66
723
70
686
377
931
623
399
584
346
219
186
34
221
666
445
747
669
948
180
679
779
501
64
384
901
801
609
54
24
628
290
761
765
490
555
66
385
386
58
400
98
868
392
991
113
995
357
122
27
164
818
923
910
82
866
52
953
364
566
73
56
681
893
91
560
937
359
883
786
505
481
844
245
232
986
259
959
625
374
632
574
343
803
701
362
647
261
46
465
220
266
198
239
354
350
144
450
56
686
353
567
784
923
894
48
736
198
46
348
616
96
358
418
647
30
101
149
137
539
787
935
28
848
465
570
600
572
64
714
718
910
785
81
721
701
22
262
144
226
710
858
779
244
414
553
384
279
778
893
559
135
534
701
260
185
943
524
71
686
976
221
784
771
46
129
571
639
62
497
16
260
342
34
297
184
484
974
235
766
44
851
359
156
553
903
229
8
37
321
120
359
847
214
395
672
422
303
526
944
862
547
696
173
697
723
59
853
334
467
567
730
609
602
289
618
785
528
115
942
495
253
802
917
700
744
113
291
614
539
628
362
642
394
6
26
108
661
993
757
200
685
247
536
620
666
236
529
267
821
268
715
859
628
993
99
421
147
822
951
669
349
667
582
612
267
717
438
966
497
471
97
274
974
455
822
860
878
996
523
935
938
266
473
138
350
138
661
409
828
678
24
955
604
589
439
526
474
618
414
993
582
816
708
468
922
413
792
490
990
2
159
697
604
660
298
428
161
303
173
766
32
754
318
705
43
963
686
895
181
172
66
377
312
944
355
444
517
340
334
600
138
747
612
297
773
294
345
431
929
767
586
937
697
208
773
365
720
234
591
188
660
496
49
20
959
93
220
584
588
386
820
302
114
185
713
309
580
13
690
282
632
842
70
220
228
484
764
956
875
216
351
834
347
350
872
374
741
29
372
663
633
639
292
394
265
833
288
768
783
712
222
442
51
123
567
473
579
99
659
173
620
93
602
809
788
184
362
421
693
786
334
456
669
683
543
462
778
475
254
35
302
646
577
638
8
834
197
88
270
297
678
419
651
941
387
45
773
22
364
671
744
820
508
194
801
353
455
350
61
677
457
493
463
599
364
924
53
56
166
872
639
642
299
712
52
663
741
918
685
604
718
571
910
203
814
946
469
413
545
454
605
680
818
636
974
554
742
886
925
667
181
360
709
895
560
233
131
303
730
699
972
238
501
118
599
90
935
492
546
811
583
931
712
576
472
883
306
948
854
327
4
49
405
117
189
869
341
617
632
46
356
509
686
204
547
776
844
598
933
87
130
338
231
312
136
859
343
558
442
823
808
995
808
866
437
848
238
976
172
735
228
999
294
840
28
267
313
998
612
795
139
900
77
623
794
987
663
408
501
771
49
982
823
508
523
921
37
426
271
432
305
623
392
726
706
174
800
376
60
942
206
95
875
557
354
461
93
915
547
500
44
234
913
624
733
645
419
716
604
611
856
46
556
638
917
272
744
277
432
923
857
245
688
409
44
978
690
688
168
19
954
438
462
264
747
917
65
52
28
940
798
691
702
620
669
271
689
22
520
789
95
494
821
522
928
140
542
947
98
538
811
912
576
191
284
847
805
634
88
81
331
193
973
212
167
337
326
961
291
547
801
719
410
907
742
233
135
210
473
895
263
561
519
153
935
444
954
674
643
765
988
539
368
100
766
691
674
389
15
32
570
627
627
107
634
47
43
256
548
466
579
697
528
149
858
808
181
835
351
329
839
398
893
888
245
216
99
312
295
14
19
466
836
494
749
591
210
784
385
459
187
487
523
251
464
901
724
148
262
333
248
910
213
341
463
517
164
984
788
726
746
58
304
922
79
917
80
249
632
880
49
172
738
118
370
890
66
103
540
828
340
455
217
834
29
801
86
666
333
959
237
545
996
471
839
811
104
750
576
217
335
915
981
344
187
933
605
794
568
736
534
235
520
197
138
201
779
601
483
360
123
504
302
298
456
14
73
854
268
803
613
787
626
124
66
47
497
285
538
288
34
763
9
85
966
339
256
903
473
147
143
473
871
130
710
335
716
436
99
825
656
402
428
637
763
615
475
663
596
323
710
209
524
634
34
867
551
498
423
805
201
379
46
808
957
512
910
422
533
410
848
675
229
630
810
434
321
108
24
169
298
353
970
84
527
130
567
142
65
100
628
264
790
920
736
310
154
167
184
952
435
91
454
804
649
431
651
254
162
269
234
513
888
195
813
528
16
383
759
882
881
877
331
248
610
959
415
541
235
875
820
242
331
121
527
649
386
429
61
737
709
437
153
856
810
957
571
389
964
566
516
990
467
973
415
769
354
76
500
845
313
998
199
670
307
558
218
689
673
332
342
777
996
812
954
117
595
875
705
223
317
834
415
662
808
755
532
75
70
841
855
474
525
108
94
446
815
543
95
559
822
190
67
370
975
976
848
841
798
252
644
34
334
456
393
167
361
470
52
445
330
411
894
550
303
195
897
746
971
371
130
54
773
66
212
27
331
973
920
33
448
247
954
35
542
812
390
724
459
968
159
266
447
223
36
55
106
47
286
230
364
321
790
300
780
989
354
193
751
753
593
674
121
998
120
814
709
795
333
914
505
128
633
942
688
216
871
254
970
906
239
753
554
319
759
643
776
481
296
334
646
988
993
767
609
865
564
577
263
439
432
679
206
137
330
312
986
476
4
107
615
374
573
8
987
39
421
355
548
798
906
653
348
924
875
94
673
271
66
106
44
377
683
413
737
778
246
845
933
786
717
576
518
88
821
366
484
565
356
18
794
612
302
717
382
177
142
782
672
833
140
220
821
34
68
316
705
226
770
756
103
469
407
258
209
232
100
283
261
850
263
878
323
276
585
367
269
866
631
349
850
65
1
442
941
772
95
165
724
664
721
916
332
603
810
319
551
388
55
546
317
938
28
743
775
97
594
623
398
445
206
357
287
34
297
701
114
726
373
783
289
880
931
752
159
205
346
840
807
513
163
367
985
471
701
794
541
388
760
754
182
839
95
758
683
771
768
223
952
611
886
980
850
855
11
81
599
645
789
903
584
542
164
624
470
709
539
377
743
73
244
983
426
570
20
492
531
598
212
241
565
574
108
997
991
256
940
335
561
494
890
604
414
858
463
842
12
809
437
61
354
77
549
160
867
792
145
322
160
702
563
125
623
323
282
557
469
775
169
846
653
810
388
376
575
149
385
375
182
799
850
224
113
879
724
259
698
40
311
434
86
793
536
650
743
385
398
677
122
105
299
754
511
937
89
267
694
680
461
948
716
550
791
678
607
671
223
265
759
101
770
755
808
896
892
790
652
602
479
136
546
105
898
687
270
784
37
785
435
14
782
155
581
946
254
237
165
404
249
338
33
10
619
996
771
435
352
571
599
474
166
310
305
226
457
108
946
346
127
185
825
383
656
737
987
437
55
480
44
704
106
771
938
266
739
729
855
326
961
710
709
63
505
496
711
425
839
578
848
954
214
458
993
930
940
221
820
609
442
405
333
173
506
198
940
879
131
63
483
251
27
225
256
242
451
396
466
304
435
521
557
549
785
992
167
188
206
419
344
321
545
28
374
839
813
482
231
508
702
929
722
334
485
680
168
588
418
668
904
322
147
737
215
271
360
592
74
960
377
392
83
406
855
17
883
522
978
613
77
973
184
161
621
552
606
36
928
156
428
730
575
631
774
738
51
795
327
198
76
744
689
377
154
526
889
116
493
521
189
13
765
427
180
556
193
897
960
263
46
723
60
371
102
702
85
356
960
752
394
207
534
491
800
550
650
863
372
500
703
561
241
8
848
695
153
892
698
525
234
738
573
404
3
558
403
667
188
41
837
243
89
203
484
392
354
79
744
114
51
960
522
993
683
723
673
192
456
856
837
607
260
520
951
585
336
543
397
137
249
687
632
445
40
547
575
576
899
972
971
624
582
291
795
504
357
404
482
435
363
700
228
278
189
646
641
550
789
10
643
886
450
140
294
950
719
509
941
292
825
442
631
619
439
238
397
853
221
136
267
501
65
413
989
12
820
244
953
612
314
270
322
765
373
440
917
930
81
678
512
842
805
276
832
775
614
813
879
486
690
75
619
125
661
48
703
451
668
336
901
305
736
707
426
720
84
281
868
286
800
858
796
242
479
751
163
725
405
37
375
743
636
368
280
144
102
670
764
221
717
438
957
394
51
932
159
212
403
966
476
872
100
989
877
654
434
722
123
253
100
724
846
458
184
602
242
580
630
621
985
539
914
722
711
396
381
885
133
173
536
640
17
775
388
383
497
601
4
488
895
355
900
184
59
966
893
339
747
768
791
225
458
416
476
511
933
973
445
635
747
418
238
467
913
923
331
415
633
750
627
701
315
319
794
510
202
527
394
876
365
842
394
938
416
417
592
166
543
318
149
518
596
397
210
975
556
400
227
701
177
220
965
218
517
31
367
706
287
301
971
365
390
197
295
265
533
184
689
266
21
683
101
324
266
851
118
854
484
764
547
30
546
228
690
63
193
988
728
495
702
537
142
845
740
258
627
687
883
419
656
823
606
790
222
208
24
888
998
413
736
226
459
950
751
856
274
372
207
836
241
234
240
307
265
452
380
990
23
259
236
117
500
645
802
798
23
677
103
23
716
769
495
48
673
58
681
813
916
321
826
488
209
335
606
961
20
433
652
705
619
756
406
777
703
615
537
700
924
359
697
411
163
684
220
359
25
943
607
214
265
197
711
2
587
408
603
125
939
830
687
993
767
781
52
216
734
45
520
199
332
284
447
994
195
355
678
668
644
152
817
954
905
363
884
932
673
563
793
358
939
497
388
526
983
886
863
970
959
115
817
736
56
536
344
139
820
504
952
108
477
120
352
698
387
626
411
426
84
82
456
758
781
699
69
802
861
854
944
479
281
461
15
16
725
458
450
332
96
738
423
219
171
242
807
849
101
519
951
382
178
559
190
267
72
690
945
26
326
372
591
665
43
881
996
2
962
145
616
292
476
609
262
181
947
418
657
796
792
172
505
48
157
440
798
538
601
509
34
970
451
85
584
831
185
927
888
670
529
586
699
92
751
910
590
205
364
716
108
991
652
786
382
942
136
799
726
459
350
242
744
844
209
388
870
419
628
821
78
988
851
13
802
687
856
322
245
532
147
604
103
916
496
798
308
75
548
502
851
72
866
509
202
140
89
455
503
5
938
809
870
899
546
775
221
568
168
246
371
399
662
130
772
123
669
657
887
812
787
272
831
454
626
804
220
495
247
764
802
987
864
412
607
201
749
745
574
916
285
781
285
995
363
601
134
11
241
818
741
247
383
463
861
552
262
827
67
456
19
792
672
911
568
423
369
802
313
942
204
25
874
564
502
867
543
5
336
400
615
453
959
683
894
862
766
477
64
405
905
418
532
787
261
804
412
887
751
289
961
42
933
904
329
886
333
893
807
620
52
68
810
847
855
732
933
440
668
382
175
624
285
810
668
11
451
708
604
704
79
148
220
379
285
782
576
649
584
254
163
294
534
590
226
989
366
991
251
660
63
441
827
674
849
596
134
163
190
787
61
55
873
913
965
172
781
68
101
237
461
333
601
375
708
941
371
495
179
153
768
8
593
176
119
256
339
333
988
521
951
978
543
64
911
393
697
739
1000
840
950
440
566
944
266
40
195
410
146
956
834
128
888
444
685
691
639
627
4
619
261
773
37
299
282
865
785
278
934
614
230
285
394
768
172
460
148
45
283
769
987
893
268
427
86
628
97
155
259
876
81
300
414
846
645
918
63
410
667
635
91
666
95
251
439
92
360
408
86
275
158
452
885
633
739
911
597
203
71
521
744
712
939
488
395
733
290
41
49
950
754
332
382
590
31
913
851
150
796
590
69
756
205
410
894
518
560
104
613
472
887
432
132
668
120
994
257
2
572
539
624
548
77
609
659
707
557
549
878
232
943
934
469
248
565
337
803
36
544
272
852
650
431
304
19
550
894
583
922
687
577
449
630
1000
367
269
912
521
467
330
809
99
872
229
794
640
227
74
77
336
575
19
948
292
419
637
561
810
113
58
467
460
811
257
852
164
94
464
240
439
122
689
727
457
511
443
815
27
824
970
174
617
624
556
342
937
380
468
578
447
594
945
33
484
258
156
47
93
823
78
872
484
683
640
413
152
977
24
875
509
555
269
216
948
733
361
152
215
624
366
465
467
125
781
16
569
197
216
596
694
239
181
363
690
266
68
160
451
357
312
769
445
514
550
612
618
243
450
569
171
137
568
225
745
661
316
290
912
203
340
704
46
382
849
71
438
705
318
115
123
939
941
203
272
344
896
851
514
149
704
134
635
216
834
134
59
291
105
275
373
524
732
113
382
480
948
368
84
791
37
644
132
88
133
688
46
741
13
811
289
756
277
315
835
849
890
722
383
78
340
239
37
178
61
521
629
982
897
371
296
187
912
625
785
278
562
634
598
570
638
745
332
899
298
574
194
644
307
477
809
712
34
769
360
595
144
730
615
468
913
868
267
713
683
619
408
246
797
555
777
230
43
170
714
714
527
747
842
412
692
666
221
636
368
444
240
5
454
413
778
581
305
898
523
82
990
782
277
233
131
38
891
315
454
389
464
398
857
877
588
328
586
100
757
106
277
258
94
716
716
783
57
201
704
415
330
423
86
160
999
32
912
858
868
434
329
700
517
471
108
726
779
316
912
307
445
262
545
66
246
30
178
751
925
33
702
478
48
117
692
218
864
620
724
206
562
107
134
840
49
75
330
467
223
153
488
789
233
831
895
362
207
9
645
65
615
273
651
522
642
807
794
206
167
190
795
858
503
576
605
124
877
741
222
408
384
428
596
370
359
540
80
231
923
806
111
859
252
611
379
575
3
726
649
866
344
94
42
665
850
983
200
271
816
414
627
735
418
811
717
127
660
786
303
434
416
83
824
637
505
105
266
663
680
168
23
434
114
291
946
698
987
497
247
6
132
782
59
68
100
871
905
591
525
212
455
214
255
217
373
698
344
170
372
276
570
794
857
886
989
947
680
970
608
102
690
216
771
983
770
737
159
752
604
649
834
441
676
166
63
822
708
528
52
10
419
8
485
414
529
840
419
174
158
460
452
323
881
699
357
605
311
941
554
205
368
361
252
344
504
66
793
948
207
351
628
471
901
439
254
587
519
679
988
449
986
227
850
986
244
18
500
510
738
517
141
463
843
413
5
939
369
109
936
53
786
176
897
221
358
563
883
285
28
921
104
168
703
440
975
509
774
779
882
255
460
151
314
494
804
725
913
771
339
665
62
375
542
50
322
510
772
616
545
780
524
855
240
204
167
407
906
348
252
987
490
715
239
826
8
91
662
415
818
21
105
109
517
943
330
454
97
91
329
777
946
730
595
829
213
425
61
152
370
383
685
276
622
414
857
706
625
924
442
528
978
982
649
286
710
268
490
555
544
587
552
816
660
712
791
702
128
960
548
798
832
500
569
878
25
461
966
621
292
554
879
379
581
415
821
494
790
90
611
863
673
928
710
932
350
870
850
647
894
538
795
518
798
413
37
671
649
231
756
569
94
22
129
439
203
202
676
429
209
251
683
750
505
342
624
723
871
824
276
550
198
637
467
618
809
704
16
457
883
802
476
948
849
961
785
880
622
125
244
295
928
2
928
849
73
85
486
979
251
191
318
743
895
765
27
366
575
747
450
800
368
473
822
734
637
150
254
875
818
161
749
553
726
528
96
363
913
468
128
466
350
584
666
449
308
755
346
603
907
374
401
411
738
759
591
657
231
456
651
839
348
396
865
114
755
183
153
410
364
933
433
263
859
873
492
59
17
562
597
873
993
152
1000
458
174
817
962
826
798
804
783
109
899
334
273
91
142
721
227
636
539
437
602
528
947
689
958
662
231
560
68
746
926
738
453
99
119
844
260
64
42
151
213
539
104
235
846
293
274
967
486
160
774
857
245
229
47
807
930
996
251
638
398
256
906
791
24
934
894
280
238
52
624
241
308
261
644
225
663
194
306
161
529
477
785
567
691
720
231
566
73
67
863
478
826
525
975
686
386
673
821
63
310
357
466
72
32
86
264
657
906
386
396
83
172
251
940
426
683
352
477
654
193
778
877
785
966
28
890
340
992
350
916
995
642
821
252
384
646
367
40
14
720
394
339
584
110
757
910
639
779
547
237
408
444
774
88
838
554
184
120
986
966
635
385
36
405
413
809
626
212
630
484
575
978
143
778
790
355
845
88
562
23
363
528
927
321
897
466
117
116
132
992
764
730
191
973
787
665
517
415
509
115
447
581
942
407
582
952
394
888
920
707
129
742
211
295
306
116
296
171
650
116
916
966
385
353
910
676
342
60
209
744
901
282
312
773
411
181
956
428
264
404
649
992
492
881
462
509
212
221
389
128
541
598
381
73
148
627
693
119
107
425
697
436
461
769
548
275
794
623
811
675
227
128
211
377
605
80
609
443
57
8
845
209
551
43
121
687
779
668
509
167
300
425
128
171
772
23
507
889
478
202
160
851
906
120
390
386
534
159
439
204
117
687
293
589
116
428
192
426
356
363
748
311
93
437
617
375
663
692
678
921
323
211
833
482
401
108
367
574
239
90
92
673
379
248
48
311
96
473
302
128
246
524
107
860
23
267
750
111
833
809
256
1
11
610
682
616
71
603
102
692
464
247
448
504
172
100
605
674
475
538
236
229
438
82
981
953
233
825
394
915
267
930
95
886
100
805
851
193
870
896
773
53
266
266
595
344
285
727
169
644
234
721
12
237
946
913
529
839
167
272
30
756
322
244
526
411
860
99
369
204
621
416
273
236
415
763
83
883
829
894
333
508
321
856
357
629
431
902
73
636
382
572
603
224
185
297
155
582
998
769
412
265
947
284
531
380
951
458
218
892
534
374
573
700
836
737
843
952
65
162
465
14
541
386
779
360
718
229
862
818
636
231
809
366
801
61
121
325
312
54
852
146
333
869
449
161
813
255
23
362
456
283
530
74
169
734
311
401
217
622
871
887
495
335
374
836
429
399
666
877
35
949
638
383
17
233
396
263
913
519
73
338
97
801
808
702
543
773
363
620
871
317
10
913
91
25
925
707
818
893
241
125
230
794
338
500
532
582
697
139
394
429
980
318
17
59
298
583
204
752
482
994
554
264
631
400
932
611
256
510
226
33
588
451
285
953
391
860
311
344
54
524
991
603
504
325
984
384
250
823
182
930
142
87
567
826
268
204
504
627
397
51
296
799
545
197
42
123
522
118
696
45
236
789
506
724
925
90
668
660
45
90
159
894
935
337
702
231
693
430
370
152
882
437
581
152
240
463
965
118
383
494
906
395
490
93
818
457
537
144
792
463
328
742
578
33
411
475
930
657
150
940
719
91
702
946
585
133
956
983
273
263
762
797
633
216
366
411
607
457
790
861
769
321
348
784
935
880
144
24
132
997
381
497
398
578
848
141
783
591
547
434
906
713
236
962
979
796
850
975
957
990
666
773
291
231
573
399
755
843
919
719
960
787
898
947
319
959
490
594
392
200
514
400
573
681
854
925
777
927
335
385
498
1
704
113
597
226
498
494
730
737
600
649
647
793
810
373
50
102
834
735
292
301
441
731
719
275
678
212
414
146
292
182
421
465
392
419
52
331
629
234
54
801
998
247
928
917
703
97
52
75
760
791
674
318
835
855
862
524
850
363
975
107
94
863
926
122
810
15
216
925
681
148
33
861
639
887
96
481
260
500
307
233
405
919
126
374
344
264
565
907
786
439
526
116
112
45
620
490
152
563
551
365
407
964
473
135
899
105
541
135
976
601
763
983
710
509
209
781
357
436
100
821
501
336
930
369
338
268
457
775
119
357
411
788
382
725
75
164
737
973
177
540
404
761
641
643
549
838
971
61
296
265
127
340
607
51
238
759
35
995
637
41
521
763
453
650
210
528
70
466
221
695
992
189
406
874
744
820
546
180
241
348
2
704
909
728
852
833
356
514
882
217
411
702
205
225
239
493
232
319
780
869
452
754
508
926
42
374
955
945
820
116
291
361
783
304
317
106
628
829
942
31
600
935
257
799
788
443
420
872
267
935
957
798
233
929
380
932
492
14
40
930
294
26
164
195
938
905
67
480
162
253
102
64
686
275
21
213
728
493
123
107
232
454
507
447
868
525
315
396
25
563
54
78
5
167
142
20
74
19
28
527
100
858
524
993
113
684
872
269
610
447
114
958
313
285
797
431
155
872
574
176
205
927
483
899
563
435
968
812
744
173
868
111
394
239
447
797
177
696
860
953
922
293
184
478
305
669
203
350
713
124
57
774
738
285
42
874
104
205
302
232
418
52
504
165
189
297
739
650
813
18
977
836
5
622
598
532
35
663
178
542
552
848
836
228
171
106
598
443
75
716
929
607
774
273
405
832
249
994
873
937
720
734
383
545
671
936
122
889
706
477
625
530
15
491
206
107
465
969
103
931
995
398
348
307
369
425
136
645
714
422
117
446
75
289
918
900
886
779
342
189
459
915
441
558
709
714
811
824
59
178
318
776
446
973
870
848
860
214
95
878
583
465
113
946
525
438
191
182
616
360
548
688
100
245
976
27
765
65
942
671
899
200
472
495
352
702
417
775
930
76
688
111
927
33
534
566
698
710
536
983
120
329
876
598
85
391
966
161
220
295
756
905
252
80
837
155
237
312
25
941
935
687
515
866
903
389
355
777
137
66
489
832
604
899
801
610
194
713
87
207
967
154
285
620
972
288
973
961
338
434
528
242
551
937
695
739
918
904
385
614
68
542
592
781
745
638
788
90
949
609
633
303
49
252
156
655
739
563
537
924
992
293
480
778
546
110
771
702
884
440
346
953
880
482
401
256
480
924
763
734
262
150
601
512
300
867
409
202
570
824
824
880
449
353
945
154
294
670
931
688
125
976
249
254
66
750
786
633
133
12
57
217
473
358
184
925
146
22
181
93
969
233
729
95
883
11
77
340
342
514
531
338
195
505
9
124
277
190
534
758
940
337
501
350
467
875
117
236
24
801
917
803
951
87
869
577
164
324
211
749
422
453
522
739
433
890
277
14
774
754
233
221
175
232
323
448
852
405
159
6
90
893
125
931
656
989
615
428
407
846
552
526
464
97
124
825
828
446
158
957
736
184
794
387
236
370
402
716
456
474
905
275
171
227
94
442
202
701
735
399
346
835
698
870
922
311
799
196
556
207
424
983
593
656
873
793
882
824
89
424
557
77
678
68
869
964
415
802
198
723
198
828
944
605
508
531
655
860
583
449
302
401
439
359
21
940
769
636
525
936
185
714
386
171
27
463
707
797
52
303
369
711
629
206
527
284
47
716
473
345
861
950
496
910
159
771
722
691
653
80
58
816
254
172
79
420
369
901
637
352
926
913
833
352
150
510
70
326
565
418
148
549
30
287
854
17
908
97
889
316
988
2
941
564
575
578
422
838
850
951
507
466
636
769
340
718
483
564
940
600
940
638
640
110
929
220
524
629
739
881
130
211
48
803
392
961
202
701
658
331
798
196
775
897
382
89
657
571
661
757
460
815
42
514
4
367
101
663
271
947
440
269
84
156
983
676
238
222
149
871
513
745
970
921
574
622
307
947
643
89
533
726
713
980
972
567
490
807
317
192
68
624
269
340
549
88
599
652
193
495
566
240
164
636
208
499
969
509
385
934
102
772
467
328
16
406
170
880
853
61
376
477
514
760
364
485
456
189
623
25
75
845
173
437
853
799
274
427
978
185
356
46
661
1000
533
86
75
675
516
522
971
753
167
226
118
740
434
478
949
135
638
778
705
625
861
560
896
897
896
895
406
971
591
184
282
887
444
70
682
887
379
84
570
832
447
881
549
333
162
599
22
756
720
498
169
183
488
620
99
326
337
808
866
687
12
964
159
948
540
920
446
430
499
617
926
392
587
583
107
233
892
334
714
446
74
273
405
991
147
28
386
278
111
210
932
671
494
959
616
23
724
404
494
183
233
75
876
53
316
219
572
136
502
822
86
322
518
718
893
114
35
85
513
623
987
831
460
598
813
842
927
75
566
77
877
283
896
33
818
874
118
612
297
697
341
304
871
770
826
456
398
880
793
950
705
877
62
461
676
314
132
193
741
234
447
890
567
641
27
871
794
810
426
589
735
721
553
277
599
19
429
146
566
687
814
816
249
71
499
980
647
848
40
8
57
795
289
711
347
750
32
177
226
811
789
530
395
743
782
58
882
437
562
787
882
553
662
942
225
388
39
354
396
933
187
940
481
175
179
585
819
784
391
764
320
106
593
402
601
157
281
402
454
882
255
197
466
324
611
810
429
853
101
90
591
830
431
444
96
88
595
31
198
848
312
962
30
163
291
520
716
289
389
344
836
928
365
575
414
766
811
944
364
809
923
729
885
493
87
850
46
875
699
973
633
734
546
621
610
22
75
946
705
352
715
80
879
644
410
379
5
428
161
516
91
377
40
712
493
529
674
454
644
74
587
431
865
319
724
702
556
499
656
705
122
977
137
247
38
761
749
887
313
996
848
353
14
141
956
622
141
26
489
232
190
581
367
20
157
886
609
627
340
659
128
745
800
98
458
775
781
53
370
492
314
854
550
821
52
781
771
405
443
66
200
697
848
224
600
889
176
593
835
29
854
886
460
119
518
579
198
346
20
990
245
595
868
448
245
919
129
816
940
315
719
456
444
714
203
664
625
120
524
984
181
584
382
964
47
477
586
849
982
202
225
413
314
976
910
337
539
302
879
547
727
609
409
828
450
357
966
984
536
1000
547
594
344
555
77
781
109
88
664
763
231
542
882
142
408
462
61
904
446
729
29
794
285
642
691
392
584
531
966
941
530
747
314
929
812
851
49
848
373
51
879
319
265
128
330
994
853
573
738
196
585
566
590
902
655
685
712
349
207
829
131
368
542
78
671
715
670
473
2
115
114
670
467
999
166
606
851
660
624
697
513
175
164
375
499
373
733
754
852
369
271
612
2
76
49
145
553
893
838
77
930
135
675
168
891
331
302
179
726
238
725
401
265
666
823
361
220
658
184
334
750
158
196
851
866
436
392
705
117
572
298
521
699
455
806
919
637
194
877
439
183
930
587
145
508
171
212
962
438
757
912
984
70
104
381
927
572
55
613
750
731
688
701
862
318
253
241
721
871
785
977
715
616
8
587
315
854
156
619
669
370
409
878
639
932
391
633
801
147
438
176
341
228
241
222
264
941
558
359
175
923
957
696
421
219
545
166
908
352
235
910
315
46
664
883
633
924
510
728
520
287
652
244
744
798
421
894
142
47
811
811
843
463
661
456
55
678
282
918
332
221
995
755
154
760
950
812
672
594
285
920
978
767
500
132
811
254
609
323
361
772
852
857
767
144
105
649
205
1000
413
129
524
237
29
466
368
638
790
889
942
311
910
818
776
476
79
610
393
396
58
642
662
329
861
842
586
324
353
510
282
861
373
214
162
303
421
599
95
337
249
814
847
872
997
909
274
925
652
348
468
994
128
316
315
418
801
2
906
972
6
469
337
581
774
34
280
89
964
917
982
675
669
424
255
112
346
720
525
814
281
35
305
297
474
159
520
229
738
222
47
731
459
871
252
669
806
417
985
683
961
582
102
218
667
267
701
723
56
834
91
577
361
589
150
493
598
536
11
745
896
990
737
103
954
556
477
841
760
766
466
48
370
556
311
389
460
532
316
754
301
271
721
695
857
992
597
219
53
292
33
655
966
590
865
297
174
218
604
984
105
896
750
783
761
308
296
393
251
412
775
5
609
533
218
794
979
939
92
760
633
974
958
138
330
535
744
857
580
639
561
978
767
449
696
909
656
137
883
444
170
86
157
492
995
916
273
126
667
914
766
889
765
473
672
913
705
395
458
479
302
491
403
373
448
10
840
654
257
140
778
301
401
86
177
441
358
291
312
928
744
1
424
489
14
6
78
574
157
761
71
426
1
121
156
307
681
459
692
702
157
658
182
809
593
957
105
632
358
60
406
505
320
695
145
345
938
409
178
877
727
59
710
367
181
386
758
992
914
650
763
718
536
241
564
687
232
278
757
192
73
598
893
604
931
705
652
80
547
1000
189
255
306
690
578
112
395
261
87
906
556
874
60
35
926
206
425
320
465
685
252
716
786
771
941
965
45
274
41
369
80
722
262
665
76
823
405
885
299
10
572
443
384
564
146
287
760
259
810
278
501
320
451
592
875
67
816
900
846
729
515
566
606
117
42
30
639
404
478
104
824
916
950
90
426
352
352
755
846
926
236
802
705
833
11
428
217
39
470
114
813
536
732
217
397
199
772
292
648
352
17
789
850
755
536
546
383
674
203
264
238
564
955
849
5
809
43
559
783
888
333
307
76
425
67
625
355
491
571
711
590
72
606
657
386
387
92
437
61
888
695
798
325
359
879
473
662
632
780
790
797
821
747
31
483
738
542
852
142
823
962
833
56
95
402
237
560
780
406
975
229
995
795
16
92
429
342
741
896
899
175
353
870
398
423
995
921
777
682
472
727
519
157
986
488
324
76
783
759
719
555
161
658
788
232
179
178
443
666
69
165
337
879
845
46
718
898
360
141
906
893
346
186
827
368
999
222
851
256
312
959
312
874
771
205
863
34
769
21
291
697
789
813
507
291
692
989
378
920
317
657
660
817
587
854
119
463
360
863
464
255
123
339
730
413
193
74
499
429
485
874
768
565
923
266
999
268
247
1
350
972
359
789
414
11
886
466
451
564
693
149
870
93
567
365
383
642
206
796
173
302
796
109
390
971
519
795
489
120
267
412
588
172
50
325
849
381
56
296
124
358
704
59
736
298
218
770
655
381
927
680
270
543
686
764
765
141
134
272
596
637
357
791
240
432
16
287
782
24
897
88
482
695
507
360
466
253
254
582
844
321
411
361
470
225
617
356
514
276
758
751
358
545
802
825
901
371
195
409
988
465
949
909
405
868
947
243
907
449
955
492
825
647
821
767
402
490
836
844
734
504
740
794
912
497
66
497
165
178
143
77
726
561
817
505
780
54
318
138
431
716
599
554
831
25
470
805
959
292
962
8
115
838
923
404
738
802
863
756
216
460
257
439
909
469
158
457
175
543
174
279
328
633
723
44
490
261
395
542
548
435
210
241
638
849
417
181
285
733
856
715
440
115
481
7
267
272
256
836
71
713
294
601
583
213
492
230
907
205
84
488
93
586
903
515
17
262
167
312
937
247
359
87
115
163
836
597
841
256
301
485
660
999
154
331
416
545
834
902
518
107
803
391
382
556
778
385
660
890
741
909
470
768
198
148
581
118
563
508
959
348
408
754
317
600
584
391
774
928
259
862
677
80
303
269
965
3
525
799
615
345
238
855
725
858
829
904
631
250
161
637
152
517
574
102
286
909
100
828
465
907
793
592
367
66
35
543
815
521
743
866
10
828
781
231
298
236
499
533
768
298
433
637
665
761
594
931
653
984
500
589
698
235
147
686
228
423
461
926
725
323
399
427
519
268
228
239
916
98
138
59
713
136
824
674
332
509
789
439
254
886
635
249
104
244
736
260
924
22
267
346
328
346
985
541
233
728
232
289
690
30
935
769
837
866
241
218
748
649
490
57
730
413
947
53
604
82
280
469
929
1000
987
729
322
566
939
993
742
570
801
760
10
830
514
437
384
511
632
915
155
986
212
888
169
687
691
819
328
379
36
430
288
832
244
639
25
990
477
254
650
689
103
464
359
927
937
42
578
764
96
531
980
376
471
181
37
97
283
310
700
385
75
778
900
561
707
442
492
898
580
407
525
372
207
680
582
135
902
782
129
558
101
771
300
866
929
256
218
526
894
517
806
191
843
12
272
69
631
141
408
38
254
310
140
309
144
569
822
234
735
373
962
582
86
297
835
303
942
513
288
637
310
66
371
285
205
528
463
741
904
133
538
76
707
262
891
480
889
503
770
307
584
11
550
519
662
69
529
328
917
326
797
311
559
776
836
879
982
635
624
494
696
979
291
408
628
694
829
689
494
471
507
28
334
59
519
318
722
743
461
825
447
927
115
162
370
260
442
452
324
708
180
922
134
361
818
182
955
521
248
289
971
5
358
404
660
166
444
778
439
39
159
644
514
831
624
322
635
214
650
628
40
588
338
613
622
887
218
196
582
460
573
506
84
150
357
209
993
541
71
870
348
575
169
528
174
409
703
406
82
229
602
425
757
663
814
226
410
189
376
769
62
370
51
53
908
137
615
236
473
504
762
387
573
740
61
680
489
785
208
327
572
875
44
930
952
745
349
814
538
897
795
642
485
961
391
800
835
409
857
1
84
559
49
990
306
623
672
862
485
362
620
557
563
186
980
648
186
555
338
238
585
112
811
843
600
437
504
652
389
649
696
671
210
154
617
723
878
662
682
17
421
787
67
48
177
303
364
660
367
869
669
562
71
389
511
822
860
609
159
415
775
553
468
490
775
373
245
232
441
744
894
498
386
263
207
576
341
790
306
71
133
385
222
583
193
939
531
944
674
714
561
790
688
772
654
985
389
292
904
261
512
860
449
532
259
334
405
106
675
765
601
672
506
530
999
368
239
113
871
195
111
708
312
158
839
555
990
850
6
578
317
956
390
451
905
200
21
272
76
713
983
715
363
705
393
515
44
819
49
862
48
991
145
655
826
166
472
854
660
959
616
20
119
79
67
6
9
626
829
111
749
209
723
394
125
153
28
540
136
409
82
188
791
7
527
310
212
209
555
908
716
353
925
229
829
739
413
663
316
678
94
529
50
305
476
836
445
582
725
124
137
546
850
468
173
308
964
555
12
266
453
389
711
684
134
685
646
817
496
588
232
116
275
173
359
921
965
197
840
803
901
358
367
834
648
999
271
88
261
319
835
924
835
675
448
98
254
802
77
368
463
421
910
340
85
165
787
564
25
468
373
236
386
785
662
461
193
736
170
419
423
155
743
700
364
374
292
10
260
259
277
24
164
256
292
752
788
679
159
103
127
301
828
727
745
107
944
858
644
468
636
536
253
387
777
630
633
671
370
941
884
552
962
185
188
150
472
733
88
185
584
703
641
509
77
342
162
872
443
235
638
562
611
555
111
56
350
708
627
857
193
846
179
188
12
760
593
316
544
465
259
494
625
726
102
64
753
358
160
860
548
405
596
999
246
692
299
98
15
9
614
904
747
801
321
999
834
763
386
772
266
944
119
31
201
914
251
332
625
172
142
600
955
713
769
409
403
195
166
82
493
782
429
796
626
911
543
306
410
531
1
504
661
499
149
907
273
797
743
314
44
44
832
326
457
614
589
293
573
347
973
784
267
927
574
941
106
694
126
110
542
378
300
152
521
429
37
887
858
786
646
410
243
205
529
875
558
390
791
347
907
312
635
522
676
298
296
517
162
48
348
426
355
892
808
241
585
961
462
521
390
485
783
279
196
23
378
366
518
363
699
611
856
679
844
978
931
166
625
686
407
427
826
889
71
970
847
881
589
968
376
867
885
777
760
363
391
310
141
816
914
505
602
332
716
197
146
583
732
601
631
80
270
48
157
4
521
355
768
232
349
587
52
7
337
588
119
557
532
125
759
347
947
217
67
170
560
65
397
729
496
635
911
284
483
624
692
37
497
877
921
360
498
449
287
898
229
422
180
692
644
705
795
265
472
731
576
176
85
241
370
485
207
654
796
189
995
677
850
949
368
790
919
193
948
406
455
241
935
945
329
147
399
390
97
103
23
364
867
96
730
955
583
395
92
295
442
954
30
610
231
806
897
381
356
858
140
914
999
659
222
733
890
176
117
940
6
462
23
470
783
418
505
933
370
9
1
808
480
503
349
920
499
781
720
537
670
536
856
537
292
18
354
531
295
327
775
561
226
584
450
3
644
40
916
285
239
691
212
462
577
196
925
468
255
119
195
5
277
597
581
927
686
682
25
851
442
434
930
643
232
456
32
116
893
472
83
214
967
280
605
567
409
849
907
991
742
650
249
655
716
180
254
149
653
275
600
632
600
306
247
367
263
698
545
981
500
503
74
225
652
430
455
253
946
846
557
757
601
130
606
21
815
872
152
564
10
994
49
856
938
538
944
504
621
461
267
537
652
69
882
838
359
832
612
656
845
349
586
430
104
995
595
681
690
693
477
47
951
345
568
131
92
270
82
759
910
904
352
846
505
527
537
668
616
751
203
484
502
917
292
274
81
201
350
830
405
55
324
278
567
603
822
702
727
157
694
990
666
171
277
62
66
659
695
21
780
150
659
198
507
923
727
234
261
554
642
893
874
743
890
76
567
280
564
624
281
146
100
94
909
519
452
724
14
444
376
961
439
234
688
500
887
667
925
191
692
242
422
884
877
965
943
728
230
436
163
943
434
633
276
653
414
819
87
653
117
206
825
762
198
657
835
857
65
23
167
711
551
500
704
422
596
422
837
113
579
664
587
475
815
649
789
224
697
870
292
465
233
780
191
931
521
994
648
459
409
697
323
702
526
326
292
803
867
359
523
792
817
220
941
952
115
844
181
160
294
479
955
731
259
477
944
814
443
643
460
215
868
377
243
742
578
99
50
346
529
324
761
918
71
126
672
267
331
867
638
848
899
964
909
856
923
601
194
34
529
137
772
379
460
464
152
610
493
947
680
678
682
403
108
562
447
462
640
491
603
484
880
169
335
163
641
338
803
88
387
695
433
912
946
785
573
187
27
565
691
714
755
897
192
237
626
849
720
949
925
1
560
480
725
629
315
217
268
340
622
293
253
828
9
132
690
737
29
71
358
246
849
562
311
234
292
600
795
966
842
630
988
564
608
264
946
190
705
248
187
577
808
688
639
65
661
635
784
63
439
33
763
804
467
377
898
414
287
136
640
928
823
772
785
189
182
42
282
427
829
496
285
659
611
406
55
126
712
233
403
345
153
722
852
524
923
26
975
970
554
155
750
872
344
136
383
280
62
411
138
129
451
153
741
532
283
416
267
128
716
606
343
337
64
359
302
953
768
854
850
778
508
51
793
696
679
111
15
701
411
349
925
782
583
472
554
196
825
916
907
86
304
187
915
992
977
763
742
174
875
137
498
250
953
448
716
279
586
407
438
395
719
351
249
742
498
579
71
130
877
304
743
460
981
37
63
499
12
879
243
725
683
984
55
695
380
778
616
402
419
237
885
573
316
34
816
955
106
329
642
450
153
673
145
923
62
210
741
361
111
848
649
157
177
471
930
168
885
77
328
172
321
189
726
850
492
970
807
910
181
860
986
236
975
166
349
513
429
820
730
862
391
696
41
24
355
768
633
966
274
845
937
39
183
254
631
724
775
85
926
138
842
772
391
845
433
342
25
929
825
719
231
678
930
899
300
157
728
752
91
388
836
541
671
39
634
616
410
129
884
377
752
92
92
370
204
640
355
347
627
354
309
783
111
719
122
176
813
923
280
825
214
739
721
190
181
73
116
722
348
525
176
480
748
233
784
136
105
28
367
923
645
212
607
491
688
646
303
401
253
272
260
539
139
924
44
546
839
175
772
161
485
50
773
495
824
511
414
610
278
939
840
595
488
822
49
208
331
315
224
304
132
620
350
342
975
430
657
595
851
455
573
366
164
956
378
916
55
439
768
638
573
981
38
119
169
590
176
300
851
803
930
319
85
277
691
166
610
81
193
10
900
907
943
961
237
606
159
565
850
335
742
138
712
220
565
236
708
136
917
357
419
20
523
223
958
686
130
688
452
576
685
294
925
192
764
548
635
775
345
219
785
505
442
535
192
981
441
295
289
568
616
714
504
535
89
42
588
15
47
175
323
354
668
560
539
894
622
664
745
362
9
201
101
756
460
883
161
176
741
123
460
383
70
690
514
659
644
127
910
664
828
596
640
376
296
45
343
837
958
827
186
668
763
391
545
858
930
176
355
750
110
414
556
207
531
140
411
55
607
900
733
224
941
317
414
976
815
641
151
921
393
911
301
972
1000
789
502
949
984
822
45
666
94
357
295
169
179
957
591
974
455
332
881
609
893
919
523
589
867
418
652
388
24
452
691
430
143
212
186
239
895
695
944
57
930
911
912
185
682
707
652
736
739
634
199
27
286
321
26
859
826
642
556
779
58
497
870
464
697
693
28
919
604
331
41
67
744
319
934
294
118
302
884
868
239
342
37
124
195
965
243
104
118
347
505
380
846
656
564
782
103
371
936
453
414
209
605
213
124
200
603
137
873
312
206
990
538
415
773
6
726
865
801
355
224
948
564
194
392
428
315
214
957
533
689
262
315
365
546
392
182
399
133
217
716
795
189
432
907
341
368
702
570
753
298
945
759
404
571
592
379
260
825
93
256
933
883
42
813
704
534
897
676
604
350
775
3
582
413
543
414
221
693
46
25
856
726
470
758
59
523
455
152
423
588
874
235
862
253
935
137
40
372
577
471
929
982
567
704
950
868
165
44
673
502
211
920
719
309
658
4
202
605
801
108
934
313
367
193
433
369
119
533
38
227
590
837
508
706
588
286
421
905
584
71
869
475
162
578
977
850
337
367
254
314
687
323
176
744
980
896
979
987
236
387
928
523
320
886
563
336
462
141
803
86
36
359
281
23
974
308
67
415
906
728
950
566
635
280
608
734
2
933
540
11
820
255
359
866
191
966
200
106
490
491
933
921
170
255
871
513
924
444
91
58
45
896
346
565
724
186
778
453
445
488
972
57
309
400
509
820
608
697
851
407
490
553
614
581
827
851
81
462
250
393
545
451
770
535
746
923
251
752
720
955
393
554
156
522
546
360
947
446
398
733
586
446
713
920
400
753
351
631
813
495
581
464
316
953
653
257
385
768
612
657
822
135
814
785
644
965
99
509
345
306
19
7
288
327
828
283
957
862
581
801
181
289
468
137
629
870
440
321
486
950
196
31
535
800
558
873
130
973
345
613
18
79
827
950
918
220
759
493
55
935
984
546
239
931
236
230
889
602
815
570
50
157
628
247
763
601
391
471
992
108
894
528
320
191
925
65
357
635
936
927
475
867
451
268
816
476
91
676
230
545
355
434
384
855
806
466
284
144
251
751
160
240
602
148
788
852
813
29
556
904
533
325
955
475
186
96
249
341
410
49
850
19
810
895
305
452
299
384
25
495
181
642
152
447
341
338
127
875
897
230
31
382
417
941
182
797
466
340
10
4
614
704
177
341
437
208
974
179
503
737
252
329
281
709
704
669
29
209
303
273
383
214
837
361
603
226
763
180
171
480
352
653
753
390
345
371
953
408
115
286
858
310
119
445
529
930
96
609
971
106
621
164
650
83
364
101
957
442
134
893
720
865
679
334
423
116
835
34
961
408
734
906
578
38
489
343
248
165
177
869
956
731
934
69
244
78
391
853
97
96
910
552
567
200
247
581
33
498
301
950
728
495
129
945
684
866
342
355
818
739
701
143
224
901
226
772
331
270
7
297
842
230
977
830
540
176
954
159
950
345
927
971
651
35
995
634
759
44
539
909
894
390
928
33
21
305
742
646
575
29
962
127
831
852
94
881
725
558
243
881
852
451
871
166
296
822
477
74
180
598
207
547
693
902
147
704
440
250
534
375
463
275
263
250
492
31
486
556
743
307
660
845
127
946
112
867
900
419
38
585
854
878
660
483
417
847
773
902
440
831
985
552
967
526
746
771
727
598
210
751
928
382
964
480
403
686
876
893
39
613
133
908
535
239
650
496
936
263
195
235
845
762
462
726
201
867
785
992
497
546
824
847
614
177
609
736
357
208
48
957
134
154
790
322
987
447
361
294
536
393
862
386
477
144
123
656
128
525
49
189
496
194
208
941
686
579
955
775
750
347
599
292
664
577
731
900
975
776
357
799
405
401
806
614
893
172
421
789
205
958
540
600
6
387
973
874
457
977
821
654
606
312
658
205
429
521
883
88
465
845
814
762
951
270
395
680
111
402
214
79
422
94
633
653
382
479
807
483
26
399
991
93
268
437
278
928
59
66
130
455
968
256
197
210
752
444
384
505
345
200
70
700
406
138
636
99
37
313
307
638
729
6
910
165
453
347
72
416
239
490
293
94
687
748
774
242
76
554
383
451
803
719
903
253
101
403
366
771
32
252
869
797
799
356
594
518
675
294
353
934
237
233
593
763
313
119
326
897
338
216
466
581
175
205
679
28
841
272
344
913
806
655
616
107
960
566
920
5
45
720
988
980
813
580
59
847
558
685
522
33
426
376
449
283
446
672
59
327
212
133
782
77
611
710
133
7
666
258
137
305
481
168
912
999
775
115
545
704
581
999
663
370
81
357
227
671
254
582
815
42
930
187
898
476
946
896
484
26
179
229
398
727
423
866
160
483
967
677
51
202
947
68
531
36
10
975
936
434
699
696
355
56
21
466
41
12
979
247
156
772
379
896
932
310
611
735
471
167
342
344
692
522
931
534
833
162
927
733
629
663
12
188
729
150
226
270
871
249
581
707
977
983
52
35
941
720
603
145
347
884
325
896
900
321
680
56
516
93
257
839
458
268
398
953
372
695
995
947
213
359
509
111
80
505
806
216
728
739
504
910
59
138
249
642
97
916
897
944
313
81
182
626
231
748
668
935
306
943
971
680
343
315
100
56
47
563
364
390
94
675
279
664
192
220
813
16
300
349
657
826
345
621
151
538
340
270
263
448
185
687
132
354
315
839
556
85
895
791
872
967
857
769
924
779
713
88
192
516
922
770
194
467
481
96
662
546
922
965
382
11
680
749
389
238
700
272
738
545
536
520
994
450
584
687
671
41
754
898
832
61
980
434
580
802
959
771
599
85
335
329
527
16
387
754
373
951
480
170
141
79
486
67
636
394
361
80
868
160
133
359
133
918
707
842
274
60
507
563
719
210
568
604
833
110
987
413
931
616
871
928
785
249
718
130
586
694
258
244
51
96
46
996
322
936
509
247
86
858
689
619
56
464
371
195
165
890
831
705
533
651
711
280
884
84
843
169
501
51
281
757
579
416
357
677
19
677
274
952
817
84
230
332
297
986
938
269
535
968
726
732
511
360
918
505
310
976
83
257
940
620
436
629
198
907
502
907
56
349
770
57
495
456
41
696
588
782
505
565
344
602
874
981
526
906
482
31
514
871
110
306
907
233
229
803
997
125
238
48
750
947
519
847
350
42
33
462
916
669
247
139
656
616
166
628
911
944
849
798
875
381
541
69
296
959
208
547
203
641
855
484
913
30
203
366
173
387
521
101
634
111
161
721
631
290
483
170
877
791
359
602
894
551
788
562
877
717
643
708
456
676
416
37
130
34
28
435
998
953
21
188
102
864
569
581
83
275
368
41
170
29
876
905
630
455
218
189
116
699
301
496
835
345
974
705
21
801
274
933
441
224
772
305
909
371
912
295
237
686
887
611
666
503
749
925
100
126
226
493
346
26
238
135
440
123
725
190
325
408
655
785
12
97
712
706
99
826
482
121
180
924
711
764
747
531
825
124
93
942
485
615
222
4
940
24
437
621
262
163
230
510
431
882
352
13
138
950
611
377
721
901
130
635
143
485
492
852
887
571
902
447
563
344
749
422
645
790
964
95
73
820
710
780
436
224
619
823
985
777
915
218
382
488
579
764
666
324
653
45
710
713
123
934
827
974
618
268
546
393
5
302
374
765
913
205
363
516
32
37
218
72
183
906
756
951
609
437
489
411
194
85
739
790
7
523
593
699
524
412
121
897
510
694
571
909
183
986
136
816
511
199
613
485
658
905
277
343
360
692
904
380
238
131
92
828
597
778
346
424
191
374
404
576
755
869
975
773
195
135
397
220
190
490
153
729
946
118
25
415
980
935
200
279
52
754
770
204
164
662
108
840
188
387
279
596
340
679
737
398
125
628
655
271
896
202
287
762
237
822
568
658
424
82
241
718
931
54
820
491
894
818
268
100
230
291
680
725
622
399
313
195
400
10
741
748
220
513
223
857
727
168
154
555
874
750
461
152
25
593
234
474
508
191
542
778
247
1000
860
643
460
751
227
142
960
401
466
532
644
290
11
285
421
944
173
78
561
30
633
76
660
653
25
379
391
913
947
780
305
509
853
441
570
863
256
686
509
36
860
38
19
855
451
547
952
642
503
276
729
504
840
58
938
580
138
669
362
470
61
260
956
988
884
985
910
154
893
932
705
293
665
451
134
124
737
907
419
592
111
456
544
340
945
864
475
757
814
761
957
300
44
526
835
499
42
990
666
979
796
370
334
856
195
230
334
434
250
984
268
198
826
455
565
902
591
97
28
90
460
633
560
249
796
769
385
645
981
274
362
278
185
19
996
8
691
662
481
548
126
590
830
219
991
680
932
354
987
886
230
230
243
165
15
921
102
722
320
90
120
208
456
12
636
664
581
949
891
552
878
671
213
314
839
288
106
644
366
732
977
583
9
300
722
413
696
738
273
302
101
374
196
436
166
846
453
407
219
312
56
730
648
561
627
681
284
190
276
244
726
214
884
371
924
839
970
830
242
984
928
703
146
802
207
381
194
895
441
958
640
769
231
436
202
611
917
258
54
842
990
790
816
10
495
313
978
110
387
252
928
948
75
715
465
172
574
604
358
1000
111
198
398
950
32
278
713
434
323
701
282
446
877
363
151
913
256
314
859
313
475
499
959
664
192
156
32
274
725
33
41
269
71
175
547
907
162
344
264
358
215
250
86
450
93
642
616
554
99
158
201
171
759
57
565
626
689
491
667
986
685
823
472
607
448
618
350
657
281
23
32
282
966
747
359
644
950
345
503
240
1000
912
750
497
602
571
502
770
742
751
230
911
715
563
295
951
133
55
880
826
721
791
221
771
457
877
349
369
908
759
411
693
882
346
892
494
361
825
400
498
378
920
740
409
892
5
936
197
295
709
971
155
445
329
369
960
959
749
109
740
174
556
874
959
38
907
884
890
776
573
920
574
674
210
59
718
803
894
706
266
923
583
118
738
801
908
39
968
587
53
616
996
103
123
537
36
145
646
706
819
663
357
649
805
430
23
634
297
839
91
459
833
7
238
462
975
376
830
876
35
358
193
827
209
145
615
824
534
201
135
98
32
277
84
228
569
345
721
408
431
246
912
229
885
335
376
394
194
886
443
774
90
322
979
770
424
300
650
961
675
792
638
211
571
522
139
498
249
533
827
143
612
756
498
901
594
945
613
450
538
654
200
754
294
433
114
698
565
477
351
853
32
595
684
45
557
963
340
432
775
870
43
153
602
680
340
428
69
739
911
872
284
334
509
816
414
989
527
648
112
740
320
88
431
346
245
630
11
799
976
229
558
952
852
583
30
600
327
607
915
337
787
497
232
287
971
832
607
983
381
426
950
609
613
223
662
785
402
420
147
665
537
872
490
524
408
468
930
340
521
79
488
389
562
544
256
989
995
618
375
867
417
687
405
507
709
285
631
110
513
635
400
148
169
80
14
222
590
141
571
684
782
791
682
48
450
231
92
806
326
61
218
875
97
230
807
910
246
599
860
613
610
998
792
944
965
399
362
69
99
984
443
359
71
297
932
470
640
872
138
662
595
723
456
1000
929
249
70
829
292
980
39
776
812
613
588
47
284
933
793
262
354
661
601
844
113
590
295
872
588
710
799
814
496
13
184
583
151
835
870
745
983
106
153
142
858
416
402
949
360
465
112
831
249
379
20
725
4
369
934
813
770
716
479
651
329
530
299
363
894
940
205
742
27
298
133
212
691
115
656
134
574
324
479
418
22
880
504
967
246
6
323
762
194
820
10
955
568
623
347
579
724
535
140
88
336
160
672
135
706
618
26
110
104
305
905
347
755
600
120
35
118
496
552
346
759
453
283
984
245
580
83
718
911
305
714
648
189
441
503
381
664
293
993
842
479
623
533
413
506
91
909
908
780
951
130
222
857
60
804
569
667
913
905
300
777
533
537
756
593
672
255
63
531
927
129
652
803
27
199
134
779
817
997
373
512
31
521
609
808
284
295
276
97
841
912
941
550
182
580
429
176
657
95
1000
831
172
51
241
492
822
136
435
624
229
274
171
654
296
249
466
842
743
679
439
588
808
74
692
33
808
40
322
922
464
680
673
404
97
606
482
657
889
107
36
622
702
736
220
265
989
463
419
584
619
848
635
219
396
944
101
490
766
822
934
94
474
35
735
747
974
247
645
894
547
397
718
788
677
740
407
390
245
608
627
456
1
471
49
429
113
518
602
680
840
611
729
438
199
929
591
837
395
368
335
443
160
214
964
997
716
586
816
113
926
295
344
138
332
255
694
4
475
421
576
314
944
252
79
500
847
253
17
175
444
29
538
500
586
699
210
309
611
592
496
387
14
421
865
409
967
229
710
809
705
817
106
299
476
424
958
928
749
653
122
590
928
18
861
489
291
213
449
385
977
203
219
264
386
739
268
210
642
959
329
673
138
267
81
321
182
676
870
817
955
890
51
461
961
400
424
745
955
782
747
570
136
688
586
967
968
891
143
573
828
261
282
37
985
963
649
197
94
5
44
628
136
259
64
990
568
675
572
811
469
965
445
758
880
868
658
571
753
615
530
317
473
243
958
43
587
252
754
988
542
884
138
21
163
172
773
592
749
539
443
820
43
147
443
504
984
325
32
110
894
737
357
907
193
725
137
359
915
261
589
537
12
722
606
316
771
597
678
276
515
703
662
692
804
1000
247
658
199
886
741
715
761
395
654
475
136
964
313
193
345
485
423
337
737
515
735
833
227
899
535
711
550
124
149
383
316
208
914
658
542
744
220
616
908
181
591
379
7
671
43
239
745
694
774
752
14
136
644
628
681
853
263
482
320
827
562
243
155
621
216
124
966
339
429
644
480
987
720
141
671
749
888
708
153
773
159
826
373
160
652
42
328
669
554
912
28
449
670
941
540
761
729
974
591
100
465
721
481
286
56
787
393
568
370
27
630
237
267
516
52
517
923
313
288
477
584
290
988
995
480
473
861
583
192
576
414
518
242
71
65
742
224
83
293
32
109
698
239
567
900
493
81
326
448
852
812
599
767
645
493
136
807
780
671
449
879
358
212
477
230
155
801
620
505
895
221
432
306
921
633
480
316
498
835
46
686
125
284
257
135
971
314
16
567
566
639
336
61
350
805
773
948
893
866
292
735
485
215
241
49
239
764
915
329
240
209
788
550
871
902
91
511
358
101
807
368
653
682
548
349
689
365
195
899
815
964
854
440
259
844
246
354
138
652
169
283
320
412
936
528
446
11
44
797
214
301
640
789
761
783
192
687
159
809
514
287
781
193
280
335
539
724
423
940
74
302
59
999
774
331
82
140
828
502
472
524
133
274
840
271
185
668
609
315
740
249
315
982
767
671
560
493
550
799
362
539
359
46
546
746
200
479
585
716
868
729
122
309
881
784
808
610
971
610
84
995
927
319
283
267
891
321
260
116
966
454
14
972
921
971
563
719
718
943
846
480
419
692
768
965
166
125
409
651
244
847
795
562
447
371
251
515
880
299
821
913
817
449
116
744
98
650
158
897
511
444
274
473
732
944
41
774
184
399
96
100
836
345
736
857
459
223
790
373
845
949
748
774
705
51
655
172
278
763
396
706
278
682
698
785
579
632
861
659
322
467
929
451
450
419
844
787
789
736
818
367
672
364
86
136
876
328
913
994
254
548
902
707
521
961
598
570
894
705
630
714
265
396
627
658
390
766
288
639
570
929
33
837
316
920
341
539
67
233
628
664
854
329
266
857
689
51
18
784
468
888
470
138
131
506
454
948
826
213
601
710
164
551
479
711
179
189
182
415
667
334
204
638
779
51
251
863
73
386
273
767
436
952
953
254
263
347
984
843
200
587
323
617
922
950
692
171
939
4
855
35
790
333
955
874
496
72
894
705
979
948
788
964
257
934
679
783
626
796
445
204
329
519
628
238
432
252
287
909
215
520
718
391
232
97
193
133
591
44
473
639
215
865
347
776
706
398
665
782
348
298
699
396
237
261
238
352
930
964
652
50
801
683
856
576
280
545
587
970
481
631
943
924
851
742
657
449
401
37
587
161
167
719
823
57
299
674
283
825
350
664
84
891
56
77
798
362
847
870
723
96
243
579
384
828
755
134
306
160
646
837
226
186
426
705
989
48
720
368
806
405
979
527
63
796
379
895
299
211
848
719
225
729
787
90
251
410
472
91
587
570
448
751
808
709
487
261
990
719
174
144
352
953
86
191
221
236
846
498
818
618
478
614
97
269
959
849
771
386
709
535
201
867
738
879
999
548
727
797
934
83
349
665
291
670
436
202
587
245
882
108
980
361
118
191
994
541
425
705
657
852
355
568
583
491
252
342
519
346
501
953
101
401
557
731
463
154
233
821
115
307
369
267
42
535
700
617
165
91
576
631
571
698
823
933
366
746
59
406
752
872
556
238
855
761
667
627
479
376
638
688
32
653
659
364
563
585
108
571
746
350
677
119
122
626
347
607
465
533
665
405
856
347
615
132
142
589
510
839
288
860
69
24
350
649
91
611
137
754
141
423
3
823
704
428
544
310
837
767
784
86
728
189
334
59
221
917
639
199
233
675
705
165
393
102
424
679
647
30
78
752
124
873
191
294
69
631
742
105
409
782
997
517
415
593
888
720
374
772
502
794
694
171
201
824
646
16
96
350
493
933
335
162
229
666
294
993
9
622
83
421
581
620
246
650
631
179
261
948
635
700
771
72
767
495
338
59
306
810
721
873
71
942
573
96
686
304
936
222
29
8
884
204
475
678
340
489
457
795
235
5
527
852
573
538
251
553
91
429
656
16
300
13
587
108
940
393
501
988
609
75
50
790
310
85
426
947
974
384
392
416
583
973
623
104
328
669
682
60
279
34
249
389
967
501
586
537
391
984
482
405
719
729
393
514
305
907
182
636
687
854
907
390
535
539
213
917
777
190
508
474
45
734
286
471
314
541
58
591
796
797
409
490
972
197
163
657
931
65
568
631
505
766
499
675
619
872
584
748
207
710
887
736
663
774
446
435
574
899
859
147
551
462
269
650
578
534
711
162
67
626
460
109
906
38
304
85
905
339
201
861
198
765
338
718
256
305
642
873
272
954
483
352
161
322
816
165
507
279
749
303
713
272
61
86
533
911
481
486
231
769
524
479
863
52
555
578
842
967
584
846
898
108
970
21
398
689
487
843
370
746
281
775
494
960
81
108
930
903
501
863
368
516
716
257
397
14
211
473
938
281
797
917
730
556
471
454
728
517
721
86
838
268
794
106
87
888
41
611
311
149
738
872
775
558
545
962
172
602
594
470
396
575
498
374
67
700
507
466
539
814
672
863
47
803
679
842
805
84
569
771
368
387
749
734
208
1
763
315
198
113
803
421
891
103
201
869
647
256
646
1000
396
938
662
349
747
864
141
791
849
131
942
176
853
127
387
612
767
623
30
964
726
186
639
251
908
589
731
313
834
408
82
834
743
24
773
812
552
667
105
8
880
555
732
253
580
338
975
92
345
975
967
970
265
4
395
469
955
482
478
819
434
406
408
319
755
36
828
774
707
229
699
148
913
478
484
901
89
925
581
930
973
609
968
770
216
700
349
829
959
244
513
935
466
313
991
721
821
456
932
726
175
485
886
153
337
51
351
771
484
467
627
237
446
32
332
738
241
941
988
310
295
296
608
989
369
308
618
294
81
123
869
430
219
8
781
274
115
473
716
271
677
277
109
293
31
51
939
861
126
615
727
553
391
669
289
118
472
163
841
485
567
971
109
184
713
909
135
717
182
143
697
72
170
110
231
131
363
72
125
569
445
788
56
237
213
482
143
16
176
443
614
659
762
812
229
257
45
772
980
915
738
91
566
592
231
497
263
314
378
263
178
426
315
674
642
252
277
431
401
383
97
331
538
228
137
856
245
948
376
108
358
818
410
369
434
632
422
717
72
834
733
102
63
967
128
986
246
947
982
721
691
89
189
73
451
944
892
882
52
412
404
756
683
853
854
188
347
935
606
723
555
51
431
300
241
974
387
875
622
200
851
14
337
844
414
38
821
134
445
12
529
931
309
344
183
83
849
33
698
551
254
345
145
141
715
381
736
498
598
802
169
970
822
680
212
992
712
606
298
694
951
229
737
496
911
508
320
676
804
961
176
523
158
384
285
695
414
403
849
944
89
712
441
818
7
186
877
152
202
948
841
377
814
166
473
278
899
847
235
584
35
918
203
566
826
174
919
745
628
457
587
770
580
390
290
329
18
45
614
493
270
557
25
232
871
241
578
641
808
902
258
286
636
693
272
367
681
226
943
568
423
920
269
844
736
366
497
498
708
66
471
714
654
332
899
915
878
635
784
925
962
427
710
9
18
418
281
240
773
342
909
435
266
657
993
143
661
210
833
780
613
472
902
480
914
63
680
952
17
695
291
484
776
90
429
425
483
936
423
850
441
275
269
277
223
730
394
687
74
774
453
567
153
162
189
109
241
6
385
605
737
838
523
616
516
467
9
51
24
248
94
474
644
34
496
890
256
409
583
710
32
292
323
103
747
261
802
233
657
622
982
741
901
54
858
622
212
407
6
733
254
812
748
775
59
824
780
274
426
133
763
732
290
426
961
791
580
878
458
70
726
248
878
154
934
575
412
69
823
779
422
742
62
588
745
427
904
316
61
792
90
273
723
643
713
441
709
558
35
255
214
451
709
996
490
399
35
953
425
78
996
7
782
643
470
744
571
173
761
800
837
493
930
445
950
60
862
444
849
911
538
150
814
637
332
320
135
68
567
601
312
626
576
693
866
183
234
818
584
725
568
698
84
852
714
478
558
822
819
288
386
749
713
112
146
949
987
7
369
896
669
555
489
429
9
800
280
944
265
954
212
745
469
879
108
515
644
983
580
461
883
376
239
390
529
923
263
121
661
124
288
94
644
597
49
304
679
380
202
297
517
191
564
933
139
753
723
8
522
68
874
442
124
90
450
190
937
838
256
586
728
672
914
355
967
46
571
773
728
726
273
836
553
733
719
526
882
389
646
5
868
119
137
483
540
105
946
977
141
168
170
321
943
607
677
569
228
926
714
998
756
554
410
548
656
186
222
173
233
354
828
478
987
277
379
255
316
541
585
529
864
441
513
192
142
406
530
488
282
343
452
228
663
404
326
460
298
918
359
579
424
20
154
298
171
718
211
206
107
718
855
154
265
627
956
378
775
354
43
476
82
815
265
615
597
176
559
658
39
933
475
83
641
177
604
472
170
636
186
339
217
369
166
552
505
783
113
14
737
130
480
942
106
540
637
747
460
79
349
494
500
807
933
850
494
76
531
775
600
566
51
9
875
813
187
140
847
489
234
486
637
420
882
543
124
85
798
830
887
498
528
66
871
600
776
68
853
5
259
514
822
840
712
386
612
332
879
829
968
432
503
906
87
90
372
270
460
664
313
637
356
439
284
267
416
409
189
376
574
632
497
440
108
693
512
392
445
629
613
424
660
908
955
441
834
215
305
967
601
753
570
531
320
114
166
687
144
762
942
719
382
24
661
496
233
869
59
300
303
318
250
646
623
515
414
261
947
893
705
811
786
788
385
394
819
526
26
677
662
59
672
292
622
890
931
993
510
638
826
192
25
899
958
199
742
505
568
304
797
294
293
35
542
828
897
226
833
191
536
330
886
190
706
874
16
535
231
756
604
179
36
683
293
531
970
604
340
990
539
337
336
814
611
869
379
765
359
549
367
726
360
365
688
330
930
95
493
294
818
443
901
870
986
577
230
837
499
836
630
132
736
925
976
771
30
446
1
275
588
683
711
171
495
626
568
218
314
680
262
433
204
957
816
977
689
576
179
458
160
330
228
402
357
391
272
892
405
493
824
173
374
219
846
709
386
767
346
303
908
956
569
117
804
65
130
70
250
585
159
270
837
357
597
598
936
627
439
467
216
64
842
347
102
197
563
74
135
50
868
942
688
688
635
631
182
210
316
748
896
218
303
86
838
166
579
361
270
43
332
758
227
648
806
895
137
154
372
567
825
170
49
937
812
23
170
87
139
285
907
552
970
795
805
936
565
785
498
298
254
654
745
746
199
979
327
43
435
358
640
465
164
228
452
778
152
895
882
539
431
175
684
623
703
665
922
208
503
377
983
891
127
778
865
18
100
640
822
659
446
118
375
10
702
639
859
114
952
606
801
983
616
500
734
270
139
647
386
128
274
927
937
719
106
430
382
632
830
304
876
635
233
67
175
622
605
318
153
643
582
145
62
978
330
754
839
353
680
524
857
289
606
526
736
562
467
655
741
863
939
574
557
228
305
637
290
649
601
119
141
296
107
847
376
165
450
762
649
891
220
222
260
295
263
568
573
265
38
502
148
684
207
424
723
30
701
358
697
684
473
212
549
744
627
688
268
247
201
122
764
718
242
608
212
207
907
955
250
502
652
196
198
309
15
2
431
647
700
811
179
586
506
319
797
943
446
586
409
339
73
889
11
627
779
660
95
320
584
772
115
643
880
390
836
146
273
506
473
207
119
264
302
523
187
598
174
200
631
664
154
908
422
347
459
882
322
937
708
227
808
209
882
3
687
472
493
332
992
582
450
16
663
625
543
656
381
280
518
266
164
222
238
564
302
424
265
481
215
685
523
818
123
594
45
752
311
896
361
858
323
731
657
675
728
285
956
232
87
968
978
130
38
308
870
734
202
185
559
705
953
775
87
289
530
266
231
943
798
674
559
138
186
59
95
370
208
669
917
518
715
100
989
798
933
493
937
158
386
745
106
42
198
611
359
616
411
501
740
150
753
33
564
726
769
998
530
17
758
450
949
384
64
716
697
532
316
528
273
795
395
752
813
516
916
139
994
746
16
352
873
679
892
413
376
511
130
461
465
629
816
939
419
93
959
329
253
243
568
747
843
920
864
311
351
460
109
549
955
322
18
977
290
38
535
172
865
322
990
113
836
788
313
116
25
95
603
498
458
316
574
910
875
673
456
698
496
395
670
755
691
29
625
843
586
963
221
548
736
434
293
478
584
304
205
2
262
755
480
657
971
390
884
591
643
48
964
501
329
13
421
796
661
396
846
801
515
237
510
652
629
654
346
915
629
24
100
634
258
382
678
927
419
582
746
653
772
192
680
213
577
70
864
522
715
611
539
120
374
14
234
54
140
306
189
558
205
786
197
664
698
757
766
968
713
13
352
458
941
105
376
183
486
734
22
478
615
993
78
438
598
116
540
853
92
995
717
143
645
450
376
368
142
758
612
486
606
559
612
529
384
225
775
244
684
894
318
779
931
120
728
68
103
987
852
93
1
460
247
937
985
50
561
40
922
772
588
974
866
993
884
197
37
832
550
93
350
304
141
146
915
946
256
799
410
571
552
119
925
903
317
588
236
659
255
206
323
559
142
201
842
858
958
368
873
853
159
311
161
775
8
124
913
903
560
362
525
76
116
73
869
122
726
668
718
396
112
170
196
158
414
761
291
661
972
648
871
572
215
400
922
89
796
287
335
859
328
252
197
930
600
801
199
472
433
500
329
778
500
252
538
780
966
192
306
733
127
939
549
959
298
497
645
653
248
72
953
243
695
760
30
192
495
614
381
564
84
74
203
951
757
630
492
891
683
229
7
800
127
83
319
936
909
81
422
380
458
409
897
795
900
504
626
415
796
922
879
92
625
957
884
976
214
30
925
255
694
375
566
838
204
250
996
420
204
48
890
88
5
224
186
124
43
204
468
934
446
178
812
247
662
376
483
212
723
678
787
993
230
74
141
931
441
247
759
14
18
656
859
915
84
984
424
185
442
876
334
480
401
63
644
114
155
186
734
620
248
300
630
300
490
226
442
340
345
487
179
750
435
445
822
781
211
222
301
101
548
420
271
807
137
425
449
657
344
397
844
882
293
923
30
843
630
868
977
939
517
332
863
62
495
310
905
584
209
53
627
526
557
332
736
569
671
632
417
33
818
603
953
30
374
475
922
825
372
904
416
696
124
459
199
33
293
403
369
233
956
199
532
440
254
383
771
147
483
169
550
527
820
283
989
958
566
47
671
596
127
135
8
290
990
99
527
327
113
112
235
580
438
981
390
263
260
562
371
939
390
353
78
448
325
250
634
527
913
689
448
357
54
611
935
225
342
698
473
684
220
823
63
166
527
956
83
674
969
116
672
368
956
139
203
965
777
642
304
855
640
88
463
72
547
816
758
429
185
573
809
184
142
387
685
779
572
690
493
798
280
345
606
356
808
782
456
859
178
683
708
166
35
522
64
992
102
622
874
192
166
615
394
554
769
580
372
777
325
829
149
168
437
302
200
563
942
397
800
311
612
173
827
677
261
671
137
612
996
573
799
16
585
653
860
499
661
470
321
917
874
752
837
502
123
907
668
876
251
27
923
609
361
120
678
472
491
16
614
910
452
517
777
467
8
795
323
3
713
727
775
897
203
805
150
400
1
3
165
719
651
825
639
804
161
309
899
860
985
135
378
92
436
941
815
187
83
1
528
350
638
816
850
703
810
514
550
308
251
828
767
903
817
211
174
879
737
391
310
148
246
886
328
397
870
785
422
325
102
327
500
833
434
421
261
630
94
806
653
19
581
842
559
337
342
1000
635
576
541
384
423
599
95
296
44
914
969
271
285
341
744
150
953
426
756
146
985
53
593
905
499
919
699
482
741
656
987
132
729
185
343
61
898
18
369
473
262
860
300
392
527
433
137
983
23
247
972
251
84
713
711
185
498
734
486
864
973
736
604
553
481
253
800
113
424
783
143
404
940
6
465
992
457
507
621
711
292
569
85
946
639
164
525
967
622
417
61
130
96
717
548
410
444
275
717
399
823
846
656
721
58
312
736
414
855
721
109
925
165
13
99
185
351
760
531
909
378
423
283
400
746
515
286
843
446
470
529
636
574
26
407
329
920
986
510
639
57
62
864
270
146
168
607
21
991
663
193
425
894
71
926
361
928
29
225
528
428
137
199
264
237
780
788
396
420
122
408
605
363
947
345
193
407
911
644
84
188
226
118
996
816
818
356
182
365
698
851
300
96
344
869
872
199
313
706
930
1000
884
671
434
965
303
319
318
774
430
205
590
235
469
490
384
560
327
128
148
777
304
89
825
548
790
143
841
280
465
610
426
372
171
374
60
839
674
906
802
426
868
55
701
655
923
568
712
673
253
454
816
33
365
403
968
125
846
918
34
234
356
571
664
591
458
662
140
371
493
902
15
435
8
251
909
523
954
136
657
622
474
716
463
698
807
130
848
584
131
835
95
511
144
466
294
165
567
923
8
413
590
466
878
506
867
325
835
110
616
415
992
897
940
496
502
602
57
452
598
627
707
899
683
674
71
980
178
540
293
642
894
129
569
733
447
967
315
395
643
173
934
903
241
857
826
710
882
558
878
565
126
345
844
423
615
225
595
808
775
355
571
391
59
974
804
750
826
52
896
512
12
914
174
185
214
183
31
232
298
290
674
754
625
798
745
674
656
725
386
917
347
875
468
562
715
386
284
35
72
980
767
918
676
696
303
208
552
961
422
411
688
850
220
124
490
530
30
137
970
455
478
713
621
641
882
351
24
854
683
36
977
725
968
440
448
726
106
674
846
144
537
136
371
355
363
864
60
778
159
763
602
818
825
394
138
664
819
287
179
42
392
898
137
857
409
699
467
128
96
577
506
576
709
653
36
374
239
574
317
970
16
70
648
139
997
123
317
911
6
94
166
517
400
675
861
822
279
407
299
181
929
153
6
94
347
242
884
527
261
659
197
774
996
31
829
119
397
338
860
511
795
7
144
420
857
791
343
439
130
598
657
236
432
770
373
482
984
238
315
90
354
876
911
660
413
399
742
517
848
529
923
10
418
780
200
899
543
408
642
610
727
898
818
47
525
854
139
928
696
51
96
336
509
687
135
238
351
658
541
307
516
657
672
767
25
162
17
281
947
589
332
69
175
427
603
774
596
555
503
184
532
83
925
32
341
305
673
629
146
674
161
657
112
642
971
897
932
555
482
789
805
833
164
781
497
95
759
688
84
617
846
377
481
59
272
492
28
374
137
67
560
428
177
116
608
271
456
3
865
610
934
540
67
129
748
755
905
877
516
477
31
438
84
589
186
765
412
657
220
100
984
464
68
61
544
541
932
121
105
855
596
583
162
716
279
598
55
647
966
387
804
507
137
651
724
969
173
805
56
242
381
728
156
31
187
240
565
931
977
948
98
342
294
89
647
931
60
546
651
819
626
988
450
750
694
564
599
442
939
998
788
100
21
807
90
669
194
957
696
625
129
861
691
453
668
176
167
873
635
152
727
322
749
143
29
120
230
376
422
590
830
142
398
599
668
565
690
280
671
533
460
854
654
916
53
199
105
623
736
79
958
250
876
280
900
680
480
954
657
420
752
222
446
870
619
393
18
835
825
924
368
739
430
841
40
693
426
464
209
856
499
915
274
351
975
211
191
205
802
689
988
924
186
915
533
26
332
406
933
738
686
943
491
552
526
437
869
648
177
666
556
707
900
24
585
881
266
69
276
860
32
801
949
527
780
454
901
228
111
845
810
809
737
789
506
240
629
942
935
24
72
671
971
7
613
929
1000
122
686
598
930
960
773
798
213
243
263
213
638
66
117
8
715
663
599
276
931
867
424
931
114
963
280
325
858
383
880
702
506
505
999
727
645
751
480
889
461
677
358
656
130
726
642
315
515
827
335
695
16
621
198
270
558
171
627
11
165
501
307
395
55
361
559
731
622
481
744
667
401
620
928
529
44
180
107
950
169
806
811
11
418
496
77
881
82
643
558
736
870
645
146
686
628
239
367
245
339
696
245
763
750
955
566
884
324
34
927
425
868
674
925
104
339
296
884
206
864
134
688
310
719
948
188
396
851
43
556
679
43
352
548
77
485
352
827
935
137
531
537
15
386
121
451
442
529
876
121
12
262
455
954
399
312
137
187
440
943
191
115
833
527
115
613
233
290
79
697
597
996
304
257
888
193
670
50
259
863
441
964
96
988
526
556
569
326
351
916
750
772
327
187
44
574
45
175
998
115
369
772
448
386
446
899
497
472
236
798
586
816
485
58
92
793
676
392
817
498
977
782
525
160
398
383
510
768
79
578
243
924
884
508
662
477
146
792
790
973
537
159
665
201
713
490
134
191
447
284
242
559
268
818
55
999
16
264
265
441
344
600
957
314
679
259
155
323
42
440
788
625
912
598
693
433
553
733
508
566
656
334
802
379
26
346
521
337
891
401
380
489
534
419
886
1000
245
641
323
146
970
509
271
661
138
181
1000
11
879
951
439
922
165
38
631
695
598
17
520
342
566
593
255
857
799
405
31
234
360
570
970
77
815
79
9
415
60
263
937
606
870
125
382
575
363
928
434
68
438
870
551
119
198
880
752
968
625
595
16
455
609
838
344
991
554
310
344
54
586
884
342
857
856
21
741
122
506
335
574
603
379
153
404
199
289
764
825
730
522
237
271
396
215
863
772
102
185
827
435
279
206
593
348
726
98
855
625
336
741
739
14
396
3
848
905
591
340
346
713
462
754
602
157
932
854
577
645
9
204
436
217
574
555
943
84
738
759
195
974
933
229
367
859
701
677
697
982
279
563
60
212
822
830
790
941
491
40
947
59
904
170
344
109
30
461
327
985
837
52
634
49
645
817
597
217
343
175
978
885
588
477
558
288
174
689
460
21
766
239
814
53
988
573
686
368
469
448
386
113
636
366
701
123
965
393
394
431
147
419
970
224
688
868
643
725
796
979
898
379
618
919
319
263
261
813
629
740
21
905
960
282
629
53
247
421
117
321
711
948
649
606
34
768
908
489
567
806
193
983
421
969
35
329
496
800
335
643
259
635
877
97
110
363
761
41
250
20
484
19
168
614
594
97
29
5
450
367
857
229
755
13
76
426
506
357
488
475
472
526
557
334
867
735
696
73
517
541
971
428
53
298
735
250
250
260
704
215
465
997
970
783
107
882
261
505
606
466
551
12
243
516
234
583
393
865
802
640
619
843
523
708
944
194
778
354
483
161
105
425
554
802
941
235
954
547
294
611
143
449
790
677
42
46
720
763
439
294
316
186
275
513
326
786
309
160
355
510
1
816
622
159
670
381
980
567
857
56
567
553
659
576
671
872
212
927
461
723
467
223
767
252
5
885
831
945
69
476
572
241
670
863
971
710
129
156
750
733
548
552
789
453
687
698
991
248
599
304
972
47
512
499
16
641
641
377
702
540
847
293
357
584
972
926
339
211
973
351
604
632
787
917
490
193
220
480
185
876
929
404
190
884
583
77
54
554
258
78
496
371
266
260
290
670
231
850
14
356
151
89
902
283
986
442
575
63
112
626
853
609
489
696
503
627
790
274
976
967
955
884
944
642
180
639
961
547
918
322
787
368
816
703
900
11
852
928
470
538
665
651
279
582
782
753
847
116
195
154
774
966
341
676
998
386
978
757
265
140
418
852
835
211
881
825
95
484
346
372
718
121
471
19
313
613
488
297
472
596
88
657
763
625
892
755
911
4
16
173
458
330
973
625
64
419
169
17
937
509
101
454
562
550
259
53
933
812
882
816
535
135
313
443
241
476
780
223
667
94
156
122
206
382
37
282
263
890
207
688
867
864
939
206
407
668
637
601
556
71
552
159
53
372
144
120
359
424
879
249
781
941
233
48
436
608
961
464
55
883
126
771
776
993
553
308
67
348
565
810
398
29
116
605
566
187
710
415
996
763
549
691
581
431
309
459
99
537
965
464
458
471
14
72
949
977
731
64
913
361
534
862
856
38
748
697
914
604
802
737
755
54
149
28
445
732
109
623
323
861
36
913
564
281
726
948
12
96
428
611
215
752
76
753
487
473
28
234
518
152
279
886
94
568
694
478
766
728
836
499
878
597
175
472
46
34
345
112
827
538
417
932
739
804
289
230
389
888
75
921
172
558
530
774
474
73
756
536
431
591
530
643
774
760
124
195
555
374
273
903
435
141
363
211
968
596
209
473
440
405
279
136
487
180
899
508
417
743
71
937
149
51
966
177
364
296
392
802
160
283
804
416
573
129
39
343
936
47
680
128
733
604
994
287
9
749
750
553
894
851
967
700
763
406
690
118
468
116
658
761
215
83
981
90
671
100
401
467
107
129
171
266
738
870
535
188
584
567
511
416
524
729
228
230
138
8
236
438
773
553
88
768
783
224
363
434
797
105
971
275
12
712
841
374
773
736
694
869
566
477
799
901
38
356
765
498
815
85
908
925
231
712
4
826
97
315
330
199
977
571
260
60
298
712
240
646
590
926
745
506
352
445
794
826
150
129
31
30
653
419
433
534
926
457
539
582
89
497
750
653
957
782
459
287
729
443
307
775
919
10
131
435
75
384
967
481
299
28
248
15
327
174
407
199
34
927
602
853
326
667
19
652
903
881
864
567
668
153
732
884
819
861
243
361
474
784
472
146
286
823
339
202
948
294
594
582
954
726
702
428
58
469
277
885
574
769
427
567
377
306
970
501
357
648
113
767
99
390
785
400
183
813
497
531
424
721
457
858
876
754
759
689
968
107
251
890
222
299
896
731
950
674
69
206
300
989
26
291
247
165
457
758
354
95
918
225
125
759
855
121
752
824
479
573
826
248
462
965
946
307
168
620
562
485
144
153
570
208
548
744
564
679
766
983
630
256
543
438
649
761
182
922
44
320
898
900
660
114
681
758
239
124
727
651
701
793
922
601
909
76
16
631
616
571
85
422
804
818
430
198
456
37
493
971
885
376
41
547
575
294
210
618
223
38
224
98
157
922
114
711
639
247
233
268
955
21
349
689
531
986
659
602
848
108
840
609
195
981
393
776
418
275
561
425
504
675
29
110
172
461
93
559
993
344
242
847
68
893
50
439
563
507
732
716
376
181
341
904
557
959
27
412
325
665
499
935
145
384
883
451
182
143
686
494
678
666
894
824
167
343
710
241
716
463
997
505
531
244
751
811
748
704
550
467
316
818
849
985
313
651
559
957
516
179
288
330
449
92
10
872
537
365
94
204
762
537
736
998
931
374
538
925
663
956
254
252
481
866
46
268
960
694
581
386
64
970
981
884
238
197
625
799
177
844
981
761
359
711
232
401
964
343
127
586
686
104
370
254
4
319
933
577
581
45
547
996
792
17
705
817
740
149
118
612
403
978
650
481
589
976
332
550
432
895
647
504
915
377
687
679
951
486
87
929
317
971
822
776
476
956
643
475
574
548
339
771
831
370
358
999
466
353
129
249
737
559
793
849
923
775
137
929
168
794
457
210
612
120
928
754
893
310
220
656
190
175
921
79
164
115
310
161
2
941
908
292
135
116
530
754
486
877
870
68
741
942
470
137
313
369
138
593
400
839
10
358
857
10
807
585
47
706
652
127
725
88
789
435
655
734
852
573
580
670
840
668
483
806
146
65
498
604
15
556
795
551
567
935
984
372
821
189
532
369
516
889
513
84
288
74
368
692
277
669
490
926
756
942
578
527
78
461
719
629
33
474
761
724
31
117
31
447
736
112
152
152
985
534
74
98
965
804
491
945
529
306
607
367
775
493
457
503
805
993
528
246
6
143
473
895
113
447
689
831
309
487
487
849
237
843
327
20
994
516
957
529
559
452
533
675
556
794
684
967
702
735
143
186
283
381
964
562
479
215
110
262
65
883
599
450
333
310
424
419
722
909
925
643
160
49
463
365
133
909
226
173
936
686
377
85
924
225
350
405
586
662
567
841
546
768
465
939
145
826
319
94
168
39
830
378
613
500
497
155
86
243
473
569
714
737
635
936
37
163
726
616
540
832
205
55
251
211
975
277
345
346
494
571
270
352
553
725
90
443
325
286
382
746
757
341
730
756
311
333
12
982
540
391
225
929
697
560
983
394
270
840
624
699
751
358
381
145
463
153
818
167
959
800
510
242
371
572
932
578
837
565
232
707
856
577
351
686
254
562
982
437
442
349
373
669
137
516
253
682
411
316
697
204
452
237
51
948
636
29
719
201
448
304
772
861
991
789
944
145
57
251
685
265
451
479
721
605
672
333
541
911
717
947
739
589
944
128
871
754
99
486
823
424
364
894
414
193
289
306
938
132
796
50
953
514
437
689
693
117
26
282
688
202
949
200
888
843
945
306
841
227
511
531
898
215
464
641
13
598
930
482
569
839
962
932
366
876
22
616
529
349
517
763
792
611
377
379
756
874
156
98
386
794
170
226
791
718
146
100
59
61
674
400
416
143
714
637
11
16
437
993
889
818
118
741
498
730
506
875
401
966
226
574
921
968
115
367
607
474
596
399
826
735
412
115
408
436
863
227
226
818
320
342
774
540
487
218
628
131
119
616
396
606
858
564
786
162
275
50
599
953
67
832
397
604
347
493
330
525
623
357
622
602
591
222
175
603
92
213
461
51
261
165
572
458
922
221
624
373
600
813
18
109
413
350
418
483
635
31
387
73
757
995
414
832
596
85
775
709
539
815
582
317
171
109
281
867
708
883
816
492
509
922
517
948
978
104
911
169
925
516
699
306
117
232
578
281
732
192
989
63
385
360
944
366
596
591
80
746
258
852
726
462
262
21
963
993
153
736
941
883
689
276
226
139
200
390
840
733
332
86
362
742
425
747
445
117
466
897
233
820
309
825
378
103
3
80
91
642
730
691
719
819
181
429
197
598
330
291
771
970
757
75
834
593
981
895
621
132
20
364
27
950
807
889
916
865
279
297
883
315
739
477
401
948
132
562
450
938
971
989
297
33
799
450
77
766
928
447
186
786
325
618
357
661
45
577
680
195
401
342
383
600
778
861
750
963
169
591
446
491
664
249
335
707
13
875
675
101
190
759
652
616
840
464
219
86
343
824
725
724
973
205
580
605
489
425
542
94
426
441
602
392
969
35
957
311
729
7
830
626
659
985
147
34
584
217
307
276
118
638
270
420
540
479
432
586
397
368
98
34
491
706
455
921
52
268
699
67
215
700
544
791
998
306
932
232
291
858
122
758
914
758
692
993
906
661
466
962
115
805
876
656
559
673
340
304
580
807
869
910
322
447
264
985
456
499
245
708
376
943
688
452
517
660
247
620
953
503
102
767
538
505
755
478
681
316
879
730
719
510
367
465
655
622
171
63
648
88
890
721
371
665
327
219
961
627
990
446
946
508
56
387
817
145
318
51
393
757
174
781
523
184
336
509
695
353
13
332
7
218
485
951
146
735
286
672
18
235
833
595
511
86
328
983
988
878
509
172
189
510
68
191
158
209
662
857
867
123
95
513
709
733
828
388
982
954
597
526
413
235
72
183
449
488
414
616
356
99
272
699
617
424
778
838
587
683
194
427
268
648
561
822
897
281
5
146
237
70
313
955
625
584
44
434
445
622
807
216
894
503
551
626
202
456
623
256
73
99
369
831
343
405
530
920
43
929
486
88
259
620
715
795
95
758
164
279
144
403
283
309
699
350
229
588
603
24
549
730
864
901
614
106
17
868
13
573
65
991
312
799
671
251
855
985
153
700
473
694
523
709
501
414
389
71
678
477
914
208
308
195
906
796
703
681
80
661
817
83
282
122
133
485
92
847
854
986
322
530
653
154
799
193
665
99
782
428
332
243
572
186
163
36
625
254
537
689
204
710
706
249
700
641
354
525
93
468
661
873
407
109
718
815
458
488
44
633
698
888
560
477
625
13
932
459
788
706
265
881
100
403
383
32
287
193
266
50
364
186
783
406
543
781
101
393
645
724
744
780
174
409
476
659
679
266
729
185
889
509
815
35
999
971
775
750
501
116
590
575
809
763
158
412
876
307
756
767
495
377
779
898
527
862
846
350
706
175
703
672
375
486
372
963
415
443
888
460
943
745
416
205
429
57
742
954
732
854
656
814
672
272
159
616
849
761
168
47
229
885
312
340
967
919
237
890
748
17
841
90
722
27
462
185
327
601
997
692
466
541
587
313
381
522
605
204
462
124
124
882
515
876
944
388
428
468
616
359
309
487
205
653
568
183
652
759
646
617
525
744
941
49
755
884
485
634
97
1
138
107
23
854
363
45
139
937
26
12
527
734
511
271
736
315
321
952
900
595
88
810
757
20
580
933
297
378
139
553
581
944
833
237
992
972
391
376
527
354
973
892
476
797
753
728
534
773
31
426
779
331
227
684
673
310
709
674
77
638
610
685
794
749
385
761
210
284
791
584
830
817
442
464
272
315
913
687
861
624
82
795
672
195
406
361
540
297
366
579
25
985
954
271
648
639
783
473
590
999
507
789
693
660
378
100
741
746
335
516
601
320
966
928
672
454
790
331
308
916
15
475
427
377
62
628
44
516
622
177
143
914
108
148
565
159
906
462
495
277
214
773
300
389
653
996
946
83
642
482
994
262
717
313
553
95
147
583
213
520
585
607
876
495
806
625
487
328
467
703
390
177
349
767
85
438
706
323
1000
308
677
439
201
167
994
232
390
202
426
132
798
976
895
470
730
365
385
544
729
847
15
687
289
268
595
660
64
576
175
983
183
200
619
593
38
575
276
592
956
926
513
887
795
595
686
578
716
886
289
618
457
249
760
241
388
763
771
737
411
128
89
866
872
289
155
137
386
624
610
984
153
583
135
375
775
805
714
684
104
551
333
932
571
374
163
175
725
627
561
58
877
210
8
728
45
680
713
892
535
818
9
364
617
446
945
908
122
839
170
666
197
242
561
600
692
971
332
895
227
228
380
731
817
806
789
15
155
159
79
166
918
368
408
13
876
68
752
631
321
712
271
811
171
98
986
171
55
398
982
68
49
291
662
878
921
694
725
332
323
696
826
522
455
961
111
833
777
224
432
230
93
270
960
455
655
464
319
150
732
216
161
569
422
118
825
371
664
456
703
478
931
790
754
185
355
462
839
151
332
392
95
442
343
207
850
801
511
594
776
595
706
411
553
260
904
673
467
321
756
539
11
764
140
683
754
849
771
96
956
74
721
408
623
780
718
375
944
898
45
455
286
441
109
997
616
914
59
219
768
651
569
248
134
432
404
964
982
746
356
987
935
29
608
256
993
723
24
351
267
588
208
378
467
961
351
896
32
874
332
667
841
448
938
897
882
957
155
312
23
388
896
753
855
8
906
476
521
133
654
724
450
374
566
459
804
504
49
990
566
863
91
669
490
524
358
775
311
965
999
66
66
476
90
923
515
529
142
817
454
456
652
187
755
146
283
717
994
801
330
134
324
994
145
73
74
518
484
710
101
170
16
449
325
794
463
377
760
328
655
425
391
724
700
757
259
133
599
600
706
343
784
197
553
894
35
791
733
750
282
101
501
535
138
980
153
250
579
575
828
703
511
101
204
163
19
884
746
571
134
68
126
753
204
805
124
898
727
571
809
603
143
575
333
917
551
618
735
718
494
400
460
435
984
232
552
534
465
458
503
472
978
81
671
976
126
776
952
114
221
503
407
715
987
768
835
405
343
763
441
611
492
678
559
390
750
559
828
685
163
60
332
220
993
439
242
996
127
808
990
946
343
483
846
221
724
313
202
626
3
48
510
441
39
445
796
960
775
163
896
939
416
323
351
431
524
580
107
54
999
599
861
441
808
275
633
852
716
820
515
381
496
410
930
989
385
945
797
863
210
224
432
478
655
202
600
513
311
486
411
661
256
392
475
79
135
132
470
690
773
611
712
429
13
67
940
745
34
654
45
523
719
113
543
340
461
918
694
948
656
167
306
968
370
761
425
997
180
207
147
861
810
236
453
816
635
222
555
569
5
575
893
364
237
778
315
665
330
186
27
765
623
634
387
728
344
950
930
176
583
901
656
700
959
569
523
441
225
131
865
811
687
415
391
361
660
37
978
375
860
430
59
11
466
900
336
372
71
836
820
287
188
189
31
867
825
105
469
15
217
307
957
32
909
222
945
485
498
4
905
484
824
779
543
104
9
364
380
279
289
751
283
324
449
363
135
101
572
572
537
562
546
439
701
938
411
87
4
128
616
553
40
959
761
409
609
96
351
939
243
190
766
432
105
985
422
848
178
164
343
315
526
161
411
666
248
5
911
526
433
854
168
997
663
520
788
619
98
471
989
464
297
549
569
241
45
167
867
367
292
91
520
160
696
544
557
216
258
891
749
980
537
113
786
198
160
382
375
576
759
937
323
467
682
581
973
651
988
804
239
418
719
868
346
294
695
657
808
665
478
694
393
288
474
804
896
513
398
326
640
831
153
14
348
961
749
965
841
109
211
871
966
778
849
568
158
81
574
792
954
930
511
118
817
109
666
168
29
53
756
768
873
72
472
537
4
643
601
492
10
841
955
651
274
225
38
641
79
962
176
29
844
478
297
942
566
691
73
943
842
124
723
214
370
214
624
849
61
289
445
112
420
464
597
879
401
586
84
501
242
80
938
988
794
832
698
748
838
326
182
230
403
172
999
841
186
466
712
405
193
93
219
963
890
396
529
594
139
435
64
704
404
399
460
426
855
814
891
939
750
976
191
234
484
155
439
817
217
783
506
68
250
121
666
843
371
896
981
309
955
221
795
45
872
455
735
187
41
774
114
299
387
171
686
999
149
886
89
510
460
761
676
996
760
869
305
772
322
632
939
834
606
549
393
632
130
59
560
887
265
652
916
724
951
752
335
534
255
151
994
294
863
223
578
64
754
575
825
725
468
982
559
91
602
345
832
883
106
241
901
584
116
889
949
46
637
481
293
176
219
775
594
876
462
407
507
702
583
936
498
706
424
502
822
1
367
453
600
708
251
317
113
318
494
140
430
487
694
417
33
367
707
402
651
216
321
173
790
464
827
977
209
179
626
875
651
272
622
866
160
237
193
222
873
48
424
808
632
280
788
187
802
999
470
839
310
775
194
660
290
948
171
839
139
318
537
16
772
136
872
506
70
592
61
785
218
794
875
584
926
585
43
677
680
397
260
949
320
889
417
509
287
917
454
327
381
411
92
751
685
583
108
548
799
365
53
399
325
905
445
480
772
430
582
333
293
978
955
544
489
469
765
542
350
415
534
953
133
471
732
691
770
252
155
34
826
355
312
188
365
631
875
115
248
61
478
970
7
453
20
390
897
309
896
26
515
641
857
96
416
583
716
141
439
434
786
108
808
178
225
785
198
728
649
332
823
841
237
558
330
359
86
911
370
402
601
422
144
523
270
146
600
778
487
589
480
585
538
747
227
845
659
160
720
366
326
91
357
445
474
769
184
589
914
418
561
619
51
718
609
683
845
270
613
247
48
377
542
388
740
577
302
59
674
830
905
283
753
482
4
170
823
947
248
7
821
696
9
740
998
782
262
107
927
922
344
167
205
684
235
396
281
424
411
852
442
310
844
103
384
476
407
301
813
236
797
6
338
610
346
98
585
538
192
904
81
887
662
384
415
807
80
252
187
831
317
862
697
70
690
618
494
272
36
929
196
587
307
907
250
677
214
521
802
335
315
960
64
773
885
592
44
200
77
906
230
631
310
803
737
459
743
48
451
560
392
742
456
999
750
331
369
103
898
285
444
782
340
881
315
558
799
889
706
876
38
8
66
131
854
254
517
264
22
935
470
520
367
524
226
260
428
259
597
59
406
697
194
590
389
716
355
106
136
226
910
973
128
814
479
783
237
399
523
338
628
948
220
73
274
718
119
485
509
311
460
182
324
32
411
153
783
294
569
184
201
309
155
9
284
745
547
467
214
239
839
193
484
621
513
235
443
940
257
18
941
556
318
92
298
930
945
738
26
262
569
663
208
916
989
286
438
188
921
563
218
977
935
1000
248
732
76
592
794
901
816
745
50
146
440
681
978
527
521
44
200
43
14
840
232
374
958
306
984
827
352
194
149
371
828
381
986
433
632
12
649
247
215
356
794
180
928
774
424
262
269
109
733
456
643
408
725
240
626
787
853
615
583
380
442
998
765
23
387
772
785
314
922
936
705
994
55
258
169
157
541
854
377
116
605
112
97
535
995
797
477
49
143
454
168
593
265
320
206
249
326
612
211
89
231
865
874
668
906
570
21
477
993
952
244
979
171
694
563
132
660
932
383
355
879
279
442
942
534
597
340
437
577
310
913
635
160
940
291
524
768
655
671
474
639
892
948
675
622
674
613
163
521
4
731
699
569
59
389
617
19
998
223
130
559
791
284
433
672
371
186
48
100
736
675
766
378
540
186
287
768
717
464
948
421
107
281
681
255
674
843
330
193
342
368
733
810
82
380
714
55
843
808
79
694
84
287
650
377
681
714
355
481
991
735
694
430
375
854
489
784
15
423
321
133
486
548
655
945
660
784
403
852
388
392
637
744
978
561
308
198
817
728
440
238
651
603
163
241
764
979
215
160
964
88
848
554
851
854
167
200
294
265
764
666
576
747
628
422
199
100
935
206
791
315
950
428
821
73
248
924
126
266
778
225
792
15
658
83
870
785
88
741
527
288
367
854
468
861
239
636
158
291
798
348
894
702
132
236
687
249
814
493
658
791
56
897
284
148
69
512
334
552
90
94
460
178
38
355
239
816
251
801
34
54
714
622
903
197
829
638
10
797
373
726
355
433
35
600
905
483
526
443
47
611
699
973
682
891
377
536
861
776
13
327
973
295
168
910
101
986
197
431
852
679
638
620
741
269
416
713
374
137
465
469
548
754
863
859
331
556
44
763
290
500
34
590
161
147
459
659
862
412
602
12
207
700
731
170
644
959
942
564
454
861
344
823
560
664
70
156
860
31
221
461
97
747
951
836
310
820
894
422
921
874
209
450
866
415
475
206
927
624
296
156
651
830
680
241
730
851
433
625
496
878
424
254
353
624
34
975
548
934
786
939
767
855
922
269
247
768
689
410
595
259
949
464
704
940
857
413
263
973
137
657
257
460
225
588
338
610
97
896
456
59
60
783
696
866
685
766
981
386
638
370
377
436
766
721
446
694
314
133
12
680
810
816
726
931
470
987
298
873
951
205
843
884
220
389
210
120
684
608
183
90
32
671
453
504
405
816
686
540
96
621
865
498
841
928
556
540
857
180
742
217
640
581
399
931
946
449
973
933
344
789
902
424
710
593
144
444
762
708
395
773
130
421
1000
355
59
374
333
265
353
35
196
656
275
167
198
384
354
322
566
850
976
313
40
327
475
590
338
628
480
227
490
496
899
590
935
14
243
474
369
203
343
305
128
310
535
618
977
170
677
375
389
423
369
94
396
161
287
804
893
665
476
426
849
123
22
899
328
489
636
582
483
83
455
199
333
501
133
326
136
230
568
878
426
331
181
567
127
602
238
925
767
335
471
948
787
634
375
372
64
232
710
346
931
477
536
325
471
969
707
606
866
171
351
389
158
748
339
33
411
316
731
98
50
921
49
664
897
529
222
620
745
746
193
947
901
236
38
639
557
330
568
189
254
450
202
818
383
539
62
819
953
321
497
888
126
160
829
520
238
593
124
5
77
649
715
611
82
243
538
170
930
705
898
294
24
236
112
993
70
184
580
429
588
128
108
269
675
413
818
459
298
320
510
857
647
20
830
102
723
410
727
726
597
885
368
598
710
825
357
522
936
617
416
493
874
521
682
771
793
408
361
845
702
113
465
151
316
216
976
105
670
186
887
592
522
280
937
657
320
791
884
939
62
366
589
175
775
217
458
39
119
809
198
452
937
963
628
640
936
121
183
44
148
309
604
241
141
191
606
486
649
500
685
386
107
584
952
612
816
63
501
993
243
157
401
965
845
949
367
216
608
787
160
245
545
663
651
332
953
603
28
389
934
927
106
465
585
253
575
348
807
8
869
436
405
434
734
493
415
362
395
189
439
853
768
454
201
323
978
159
740
800
376
616
271
58
98
909
182
737
176
154
309
489
353
22
630
24
330
141
356
699
657
606
170
206
371
617
604
895
534
383
380
460
514
928
443
214
652
233
427
626
335
363
625
886
697
44
902
155
825
510
652
895
915
178
226
858
671
803
204
244
791
935
920
214
144
52
274
238
286
990
949
195
716
1
986
729
686
397
37
409
49
36
722
385
8
442
129
247
665
583
682
174
911
70
996
624
847
497
889
550
68
950
88
442
699
700
392
887
391
499
165
161
858
724
845
130
527
358
694
504
283
426
262
91
566
680
299
961
565
331
570
95
950
167
991
584
844
797
831
383
674
182
802
512
108
53
928
224
463
761
564
874
163
255
821
337
176
485
34
163
695
147
355
382
508
371
3
484
326
858
29
418
533
128
34
918
99
401
439
238
60
626
987
499
483
480
694
142
118
877
182
475
706
6
363
421
60
661
981
151
936
552
17
632
79
302
728
182
727
196
6
537
731
689
790
668
804
579
329
998
489
493
774
538
339
58
247
388
741
933
169
621
450
724
985
37
944
827
139
664
130
189
76
758
548
346
967
499
530
926
441
371
943
638
456
838
507
96
506
904
355
571
652
238
301
960
85
73
109
850
853
27
565
239
492
808
704
475
902
601
166
414
379
399
692
936
879
531
612
504
181
907
442
195
165
609
703
307
991
472
634
370
428
303
505
508
404
388
804
992
191
299
406
140
223
635
871
496
58
896
168
126
623
357
763
895
472
141
628
272
338
320
331
789
295
637
209
201
335
139
395
420
292
694
743
299
892
95
799
493
166
467
914
504
207
384
640
734
775
596
179
499
902
150
927
183
664
425
476
270
675
248
242
790
220
375
317
841
874
858
486
946
988
731
379
660
506
159
299
185
741
129
104
975
338
367
497
866
393
591
206
311
744
718
311
45
939
333
459
450
768
874
428
340
731
841
850
211
34
309
594
423
697
180
624
903
995
296
471
889
238
406
179
261
51
254
506
227
743
547
630
251
750
756
519
136
5
173
231
389
74
222
93
465
145
497
293
943
519
234
401
302
237
645
287
121
784
857
357
385
70
306
117
900
926
255
674
747
571
57
696
655
558
18
880
818
626
634
692
736
637
87
545
423
39
223
82
920
433
630
260
202
519
110
239
112
623
776
965
379
600
73
842
855
610
236
458
687
346
603
309
81
495
928
299
755
383
777
67
119
542
662
409
427
791
74
910
584
291
997
593
307
113
465
571
485
364
517
787
181
234
838
7
21
673
470
760
935
41
109
133
762
601
828
983
553
803
889
15
526
890
720
73
20
298
298
597
868
927
391
568
649
17
71
1000
970
953
894
954
980
193
287
486
100
501
513
13
30
494
283
947
713
971
421
541
129
649
172
187
44
686
897
919
418
436
567
861
165
688
440
945
490
528
926
172
812
64
991
93
962
705
699
300
910
272
485
291
173
430
21
329
524
981
648
521
28
113
70
871
242
352
382
552
396
180
18
955
599
920
365
276
797
550
982
681
216
594
611
201
451
789
500
831
400
766
743
128
777
203
747
372
992
275
317
623
50
629
611
675
605
794
725
827
65
988
691
855
892
834
651
144
754
76
370
1000
19
643
253
304
513
810
487
450
524
661
673
792
414
135
346
805
565
804
208
33
67
2
164
756
541
738
534
437
357
218
641
865
123
229
787
360
858
159
341
419
494
804
755
319
211
389
237
620
84
910
957
378
861
747
280
105
403
482
455
389
700
526
147
20
828
159
247
57
583
819
582
724
623
498
85
660
593
775
727
572
7
730
497
891
544
981
123
457
192
350
386
274
268
602
332
507
739
528
51
661
540
457
27
486
263
675
708
364
471
188
2
502
79
829
698
237
628
816
373
665
675
437
219
591
938
880
777
825
658
679
409
274
148
670
257
384
636
243
870
663
639
703
162
961
807
712
621
536
498
202
854
423
213
20
182
267
19
105
440
740
893
723
245
93
411
686
707
318
827
85
73
660
970
991
997
764
896
896
500
355
75
195
329
95
526
181
445
296
477
150
236
367
627
229
340
698
508
919
950
25
564
680
977
71
941
197
544
167
591
288
594
552
408
538
529
395
744
639
474
698
870
571
232
907
134
350
342
336
953
266
256
147
433
58
767
149
382
876
761
453
327
715
864
143
180
470
799
189
668
947
164
946
438
750
476
231
450
997
181
29
600
598
83
309
615
144
177
4
731
745
565
632
456
989
847
109
113
642
545
524
410
567
658
712
74
690
346
282
42
919
994
457
395
870
984
661
383
798
462
808
583
710
770
961
125
331
272
764
985
334
156
580
754
306
162
568
244
825
642
407
16
133
725
996
192
522
526
183
120
435
634
921
966
983
460
170
724
499
943
497
105
479
495
454
547
229
826
199
366
285
255
943
371
802
987
572
843
722
348
366
636
651
371
978
874
656
467
788
753
761
770
289
892
680
231
720
561
463
620
202
883
188
151
304
145
50
549
456
718
725
955
470
665
254
308
524
159
735
472
275
622
191
374
474
375
702
938
836
632
527
341
647
447
186
97
603
675
585
328
760
549
191
940
259
480
261
921
738
173
987
115
441
883
403
903
411
96
807
921
263
521
298
624
367
414
772
946
730
972
789
789
351
40
555
9
981
781
390
259
646
599
643
899
280
52
828
34
288
168
937
875
901
173
602
835
228
941
536
213
713
993
800
284
787
274
407
826
712
572
909
978
847
829
775
286
430
40
902
253
216
263
517
499
494
858
966
514
681
926
244
111
471
315
820
319
696
886
746
628
335
303
402
906
385
134
521
287
172
773
564
824
944
640
438
339
714
357
248
374
905
523
50
720
665
174
870
511
36
653
36
540
146
570
280
687
799
920
442
432
303
785
364
115
961
507
858
10
883
783
851
680
575
162
287
94
434
532
154
407
973
193
765
324
528
629
802
297
46
745
80
814
633
231
860
781
777
406
881
880
522
452
253
658
796
837
577
903
361
750
856
398
766
288
145
1
912
700
349
620
287
456
645
861
411
470
234
105
12
984
593
306
834
647
403
164
798
67
270
451
541
812
365
342
43
263
716
166
488
189
45
384
619
609
879
145
463
762
501
43
93
678
464
515
825
341
995
722
988
993
807
671
925
569
676
170
74
742
193
187
714
6
17
784
629
624
410
31
964
204
432
736
575
137
477
680
970
957
804
559
889
467
750
735
600
132
992
549
713
542
670
910
486
359
995
987
796
539
614
891
536
11
131
13
478
108
685
27
606
690
398
321
767
251
450
970
881
460
609
819
319
159
920
636
429
168
11
974
408
910
679
122
779
552
524
594
299
428
841
897
690
497
761
351
832
944
289
603
396
19
325
91
168
753
854
692
413
822
53
713
437
363
357
222
951
317
157
598
788
426
303
798
654
812
46
490
251
724
956
224
586
14
375
479
880
831
76
418
72
244
626
625
790
9
340
904
853
632
250
119
973
58
402
585
828
146
375
616
990
333
236
190
585
50
739
485
767
507
57
412
483
150
322
285
265
740
633
69
777
144
879
309
909
192
819
832
12
354
909
643
898
424
341
809
60
710
399
780
578
711
650
707
922
330
619
168
379
521
362
106
91
146
137
802
231
949
531
166
626
53
887
298
778
792
718
517
556
755
600
988
45
332
527
672
997
781
679
121
887
27
184
953
114
913
321
841
731
338
618
140
549
932
463
914
123
149
449
563
574
32
748
409
460
808
400
793
510
795
764
548
713
698
431
73
406
125
995
702
695
404
595
488
660
817
919
497
96
997
232
793
703
203
802
34
629
810
801
912
91
457
81
31
401
523
884
695
687
646
635
825
68
27
64
87
802
706
280
402
182
377
126
996
498
250
411
508
691
923
731
112
310
71
386
250
327
274
436
207
490
801
459
674
955
18
981
2
584
671
762
766
7
272
929
932
836
786
698
974
557
806
642
720
233
96
217
316
45
944
681
455
336
336
19
194
427
577
373
791
637
513
986
680
322
779
766
274
675
677
10
9
124
570
966
569
769
626
499
5
647
442
256
450
48
215
143
318
428
35
30
866
910
648
2
717
729
310
696
210
461
390
568
138
337
553
232
748
694
426
514
575
832
718
54
699
434
663
196
252
789
464
26
43
58
801
528
731
827
109
835
389
848
638
941
724
754
123
755
799
690
833
823
783
925
647
491
825
341
287
404
308
424
586
92
881
979
227
813
941
276
129
695
116
769
260
67
261
474
614
783
840
964
354
672
939
607
157
800
158
996
886
979
290
118
735
341
637
710
363
6
25
389
788
919
195
6
815
894
836
230
327
68
711
399
355
713
690
578
273
808
725
178
31
625
833
69
767
392
545
991
362
70
721
283
736
566
814
971
180
27
903
889
978
199
474
750
110
672
288
885
484
392
471
683
630
450
296
598
428
38
916
609
446
663
30
54
173
466
196
231
591
704
199
609
143
994
109
792
432
133
786
829
896
786
628
131
307
777
13
603
711
539
86
412
664
55
522
889
606
792
627
546
814
690
981
698
878
772
430
167
294
462
368
481
750
216
335
528
869
903
952
855
719
182
989
423
714
903
564
661
496
75
654
869
405
85
922
460
197
844
767
787
419
920
494
170
360
867
829
339
332
677
221
281
727
850
952
339
554
646
893
665
629
209
59
131
557
897
129
19
736
260
220
515
442
675
927
106
478
643
102
342
230
772
20
669
316
638
662
43
80
389
653
874
351
872
677
890
868
513
328
886
413
394
321
510
729
921
84
691
142
608
218
347
561
821
655
303
153
563
915
804
598
459
694
458
390
557
791
467
992
141
593
153
204
596
159
881
585
626
83
616
820
448
336
423
674
37
727
845
619
277
976
653
858
432
598
732
749
761
358
642
696
608
180
69
295
779
893
480
217
17
511
905
396
733
342
276
756
934
601
348
761
34
881
367
754
782
842
283
688
678
312
893
538
749
278
506
180
677
628
771
642
173
119
982
201
611
384
511
981
762
707
125
915
800
542
843
777
775
298
825
406
994
939
524
607
584
914
449
484
246
170
999
206
435
996
208
330
57
647
129
102
88
486
180
401
134
716
194
832
548
675
515
452
486
139
42
133
217
263
678
334
630
721
750
431
528
112
929
742
83
178
299
727
744
608
270
20
662
529
715
743
921
874
250
38
391
10
646
885
123
601
27
189
245
210
339
522
38
487
210
112
478
370
627
327
73
659
714
481
127
581
589
82
493
817
826
484
184
234
415
911
98
234
379
552
351
771
28
731
334
314
873
168
433
158
894
598
693
934
585
959
24
908
405
793
617
788
636
793
291
594
681
448
186
675
365
473
913
202
531
895
583
927
13
71
866
64
608
675
337
136
254
744
722
22
983
907
397
511
572
985
857
703
657
961
798
460
351
54
351
766
800
204
906
460
878
655
886
885
432
876
310
38
750
607
38
427
743
193
450
61
984
913
368
439
402
739
511
733
257
249
491
454
901
63
490
109
751
70
120
359
599
2
761
749
872
5
751
702
386
231
342
761
784
109
778
381
872
796
92
493
792
883
919
130
851
38
921
437
650
225
567
215
15
818
913
976
465
624
603
782
54
934
53
710
289
586
815
880
865
978
999
114
558
279
915
961
156
880
977
765
565
114
299
421
270
485
980
727
803
886
20
453
857
220
924
866
748
894
500
514
930
350
102
443
268
256
821
452
212
94
824
304
948
970
675
119
327
753
741
797
36
184
718
296
953
684
584
662
784
598
946
495
394
809
974
305
587
397
712
337
568
572
146
897
337
792
669
950
87
815
185
504
734
414
837
771
577
749
366
439
189
901
967
577
778
613
915
652
169
144
330
210
815
290
234
761
326
429
72
552
159
471
193
25
271
781
716
615
362
557
306
324
190
265
394
773
697
257
34
717
12
683
140
323
329
590
623
38
784
625
573
835
420
769
510
936
470
4
957
867
540
227
883
683
824
254
39
236
951
713
5
634
695
535
255
499
199
94
340
788
439
416
347
388
887
376
64
488
985
613
971
31
866
311
171
363
58
904
708
101
225
740
469
745
208
25
541
475
809
894
148
678
732
107
701
547
605
552
670
646
518
144
18
992
683
814
697
480
577
137
926
682
483
820
952
282
290
84
121
97
835
799
925
816
169
413
932
835
767
813
460
995
517
60
290
266
51
657
417
764
420
545
164
54
979
529
228
409
2
9
211
373
952
557
982
374
708
201
491
553
495
362
413
556
328
719
641
632
129
169
73
2
62
419
592
107
383
903
170
944
675
402
408
791
911
211
439
782
959
490
879
470
717
702
703
718
944
901
812
69
704
729
585
977
45
663
699
826
375
61
651
171
757
132
898
110
84
302
300
875
280
562
671
778
970
24
501
58
8
746
160
523
720
417
740
833
180
163
415
708
977
210
241
598
656
456
756
173
655
918
585
204
849
426
861
314
602
786
517
85
357
576
938
988
193
924
336
606
158
984
882
115
474
556
766
442
360
72
748
855
438
148
343
346
245
864
172
181
811
801
645
156
616
913
62
221
858
886
976
209
236
141
286
721
106
626
518
519
265
477
892
358
334
780
320
810
686
238
463
575
830
39
97
807
8
130
21
681
818
668
657
162
242
852
483
581
846
145
21
937
437
995
231
366
71
688
695
781
234
382
819
735
285
967
350
287
745
832
293
984
408
242
567
697
898
577
328
549
820
650
711
59
738
942
771
150
771
560
631
106
427
889
281
499
973
287
120
821
830
467
338
511
451
451
189
765
30
900
980
424
157
727
293
597
957
179
850
661
536
948
180
754
982
108
214
691
330
389
166
800
374
401
761
975
77
491
312
766
847
799
602
177
479
764
101
57
125
132
287
482
784
588
43
407
914
465
996
476
41
149
108
859
612
992
549
571
517
24
281
935
864
43
265
228
521
851
548
87
828
345
239
137
761
369
605
525
790
698
249
675
930
569
671
750
773
470
508
529
328
268
326
721
291
166
160
97
178
676
364
600
945
589
768
757
884
188
953
528
624
423
204
131
663
949
529
948
117
710
569
73
468
152
346
386
9
659
976
719
949
646
847
569
433
147
368
45
71
258
985
147
44
248
570
43
157
399
259
228
466
105
924
908
8
94
541
558
686
833
473
341
294
790
170
923
518
161
629
394
646
270
322
633
72
688
396
291
575
473
359
536
457
320
963
788
898
130
522
814
242
830
404
358
46
134
22
591
642
854
514
566
350
245
895
218
189
665
752
297
518
309
636
10
1000
512
334
952
720
547
122
956
140
902
959
899
323
801
491
435
391
981
111
490
638
399
630
462
169
26
821
526
395
92
362
519
117
555
735
804
298
60
443
784
161
274
672
569
242
427
577
840
125
796
404
825
939
299
590
454
574
415
850
702
22
859
508
327
386
872
376
552
814
407
355
243
221
561
727
298
420
397
112
636
473
592
477
802
551
434
361
347
311
677
395
577
847
858
466
966
250
780
530
634
18
928
282
430
937
784
219
102
346
59
544
879
252
713
458
283
237
691
992
979
636
60
969
507
211
635
544
485
251
394
38
316
62
459
227
378
735
430
216
170
708
744
608
374
224
106
81
162
973
244
216
100
688
621
253
86
32
354
334
184
516
247
319
278
622
185
807
757
175
224
401
244
517
890
591
203
763
239
654
141
343
206
872
85
788
87
824
528
675
136
109
774
939
676
889
316
838
313
188
25
206
695
361
841
711
389
527
373
910
554
687
542
497
978
210
442
493
403
690
479
53
581
53
740
271
63
137
698
376
890
624
471
401
49
932
681
992
271
949
450
687
50
249
785
928
305
987
373
896
445
856
861
752
546
493
131
649
307
592
741
121
105
123
125
93
507
99
443
387
734
389
104
442
704
122
746
609
801
265
786
714
741
55
365
672
590
267
594
290
435
860
19
267
555
557
705
720
697
974
681
729
913
698
357
699
932
320
622
863
61
281
241
137
554
586
13
578
631
734
456
610
206
185
590
474
805
528
92
179
892
556
742
506
5
523
171
251
825
376
624
171
721
23
902
781
414
960
315
72
59
842
442
905
298
7
579
378
342
55
728
78
785
758
689
890
381
925
114
354
648
784
164
364
165
861
47
481
124
181
566
901
560
133
38
724
504
68
304
404
986
95
510
921
72
316
397
216
453
625
463
93
65
347
34
306
67
281
642
157
505
621
343
909
765
290
978
987
540
811
476
568
338
781
249
303
869
967
382
51
901
582
35
392
943
807
785
434
604
407
179
836
144
650
175
999
605
369
343
959
547
285
893
101
201
97
401
984
294
12
615
420
276
388
269
133
949
640
599
107
117
39
106
521
114
127
940
259
47
969
651
483
404
226
802
298
468
25
626
710
830
167
295
104
591
933
487
787
152
706
619
914
902
690
26
864
62
595
521
165
869
766
709
369
813
704
924
787
2
634
166
498
109
479
143
21
578
888
766
758
531
749
256
608
545
120
448
975
24
649
284
451
231
298
580
37
730
168
269
986
12
195
755
390
954
73
136
569
175
427
468
220
174
169
958
107
106
916
476
241
750
251
291
950
168
325
246
208
637
252
262
976
873
404
405
738
50
917
492
234
633
663
905
681
508
437
294
539
749
464
669
82
223
697
785
578
800
811
546
634
969
122
251
872
48
172
890
357
694
201
153
793
672
156
420
903
522
383
250
402
617
596
168
974
235
807
430
753
199
445
835
939
905
958
12
376
424
380
308
252
863
350
522
88
575
131
219
770
248
588
241
198
246
672
503
625
502
993
990
825
165
309
493
726
424
619
41
17
366
189
855
332
165
17
780
79
417
975
274
742
987
166
552
257
214
195
215
714
233
747
693
76
310
88
403
590
656
215
755
558
399
454
308
53
920
892
976
901
461
352
538
851
286
67
398
43
315
610
182
755
53
318
258
326
433
412
155
117
557
917
158
731
606
916
859
75
206
271
725
254
85
208
601
867
460
176
862
709
550
138
557
900
909
131
796
894
499
674
621
255
617
806
457
346
779
499
769
960
546
208
583
712
492
156
230
763
41
174
866
445
714
78
816
33
579
609
537
707
559
936
236
839
456
235
929
103
64
923
718
83
669
44
4
588
518
632
980
685
807
190
949
467
593
633
973
105
712
730
296
897
664
666
225
355
237
45
19
328
328
294
242
54
293
586
689
913
147
362
201
802
632
248
626
695
436
792
696
892
163
938
960
567
915
409
626
605
515
791
388
528
722
747
446
463
258
485
987
708
291
472
19
506
742
266
765
882
700
906
865
850
413
729
767
165
977
143
701
25
758
896
459
365
611
694
566
550
145
1000
176
803
981
410
275
225
947
432
712
955
548
672
678
987
319
953
677
344
602
799
14
622
462
95
999
659
80
443
805
413
22
949
157
461
435
823
458
362
164
318
766
426
439
184
907
151
796
289
384
811
153
711
953
946
833
559
826
889
973
922
980
636
140
920
650
106
631
709
378
376
733
628
1000
26
738
814
695
793
855
593
303
856
104
509
730
271
730
411
728
788
481
651
953
872
655
933
782
807
663
551
280
621
354
874
944
267
156
208
277
981
453
548
399
865
39
317
749
971
754
387
946
674
580
498
132
647
917
979
476
232
949
804
309
195
226
983
833
481
597
233
834
747
944
157
951
428
853
967
86
241
534
583
811
35
852
855
439
650
231
249
3
741
417
629
833
972
846
313
112
88
4
766
724
69
721
821
625
123
786
598
448
980
77
326
890
850
534
429
266
772
197
959
981
133
29
157
556
858
365
823
477
429
441
307
732
326
766
49
808
525
280
728
158
948
933
551
500
999
909
116
968
182
299
815
913
202
735
186
811
933
204
330
437
987
131
979
920
898
550
82
389
217
515
579
359
207
482
824
327
820
887
949
739
971
986
270
754
350
515
78
37
957
42
96
910
830
575
630
96
164
880
850
450
488
789
581
994
930
713
344
304
23
426
419
535
478
982
500
974
81
616
968
497
597
788
53
802
958
382
300
878
953
911
280
508
898
564
920
188
959
764
420
100
770
268
142
175
573
828
579
327
205
826
278
179
832
742
790
910
27
159
973
776
94
34
619
593
465
647
65
490
632
878
60
595
719
192
199
809
724
130
370
325
829
770
617
514
362
648
501
382
292
581
419
755
895
90
710
106
15
213
354
202
209
1000
863
152
671
896
686
228
590
91
80
654
858
784
577
556
365
679
24
774
252
993
839
718
589
513
577
249
675
166
508
286
133
456
542
83
878
850
981
743
224
688
995
282
644
471
528
352
444
372
746
189
254
801
673
308
941
391
256
336
266
65
675
204
704
509
565
212
777
41
247
346
448
638
886
766
18
193
311
923
873
337
859
264
181
271
379
795
398
296
900
445
250
300
478
473
381
273
978
335
751
995
291
58
265
235
289
890
505
55
459
930
607
879
995
374
790
543
22
846
181
984
600
818
825
102
613
143
750
174
873
933
642
658
182
291
753
211
883
465
593
337
898
140
366
247
278
602
687
651
391
448
79
752
870
753
135
93
87
316
995
116
239
497
162
825
635
366
587
418
685
571
14
825
148
309
249
42
307
121
182
606
3
407
388
900
141
455
918
268
619
76
576
574
17
201
461
679
51
872
550
974
855
963
779
377
911
701
282
179
475
866
292
890
698
438
178
661
559
157
966
102
828
501
818
553
13
8
110
232
930
886
80
417
405
889
721
3
285
622
576
207
320
694
870
421
35
618
769
201
115
951
481
652
209
579
34
539
515
230
763
376
156
200
838
30
462
22
953
833
12
697
680
83
967
909
379
841
142
55
30
560
577
219
894
366
108
756
202
363
408
64
169
633
460
300
983
833
254
490
837
650
106
257
517
543
603
301
567
936
20
153
830
934
43
995
91
325
926
122
51
779
313
299
545
455
417
191
384
241
924
739
340
905
797
821
416
454
417
752
415
581
430
884
922
697
330
82
444
481
566
898
8
84
84
90
684
80
791
210
237
270
721
402
498
209
970
620
760
425
492
191
506
11
803
945
508
385
290
963
665
982
749
885
612
130
321
620
510
568
369
619
435
57
696
748
48
439
375
445
240
585
326
135
678
174
132
950
163
933
822
879
391
394
90
574
505
371
38
322
52
776
109
228
799
900
32
649
530
904
19
908
303
55
832
921
766
933
901
547
702
661
217
769
732
937
927
715
343
523
214
362
930
548
345
682
460
989
235
229
804
924
317
514
613
353
506
561
630
660
437
152
365
794
875
688
711
843
348
886
138
184
43
720
365
284
4
1000
729
147
271
467
204
451
724
82
132
860
670
274
278
154
597
180
557
845
317
376
693
283
46
282
586
141
494
790
540
263
479
215
959
492
537
730
904
860
999
458
572
180
923
764
582
304
461
627
665
829
805
912
894
741
497
94
481
238
852
545
728
454
155
303
249
653
434
488
68
594
861
692
63
792
318
154
60
178
521
826
979
281
871
776
438
535
965
737
617
231
683
653
850
979
502
365
867
104
231
513
855
604
11
356
408
332
292
320
94
574
450
574
775
540
99
26
953
313
55
981
58
461
124
730
112
492
175
909
647
358
304
639
384
593
86
821
182
890
874
55
951
790
422
827
114
177
645
92
295
254
337
442
164
430
435
401
520
517
311
564
384
257
519
474
332
946
176
776
614
25
842
177
953
614
558
527
87
549
387
166
504
357
445
670
916
227
881
202
27
508
758
128
25
97
415
278
635
15
763
841
28
895
79
838
6
547
870
343
759
416
820
280
913
447
76
954
139
517
514
832
43
432
561
646
229
824
831
352
251
697
29
386
86
241
327
609
223
113
572
990
539
687
737
225
422
249
503
268
610
660
363
90
993
572
92
58
562
330
712
127
978
205
181
842
924
505
801
528
957
145
193
154
810
782
538
363
185
823
431
902
408
132
658
527
725
201
935
29
187
795
810
569
292
29
572
187
132
549
464
71
431
54
545
44
11
487
688
222
385
52
296
845
788
226
185
988
591
324
318
913
360
320
442
403
69
329
578
454
909
300
170
482
938
109
39
297
105
642
143
982
215
373
669
596
235
348
141
559
563
767
626
209
386
744
288
602
575
354
778
143
421
815
231
403
7
906
340
81
950
756
635
241
461
245
574
319
560
49
888
741
847
93
808
482
168
15
281
50
177
66
579
560
88
410
460
316
572
114
48
468
332
427
136
151
509
631
856
108
404
121
408
169
998
71
886
197
934
476
67
947
738
363
666
901
250
528
24
423
342
3
56
393
865
573
803
634
328
312
336
610
187
987
927
316
477
470
775
557
517
450
782
757
980
902
398
641
478
515
613
614
132
492
896
447
809
442
760
335
823
50
755
827
910
392
294
474
123
131
158
45
306
486
749
970
270
990
258
911
689
388
429
907
642
958
123
793
884
17
719
426
90
25
686
469
244
394
633
395
928
781
100
102
967
850
814
158
956
483
828
789
623
928
262
617
597
411
931
47
491
965
431
306
533
289
293
61
979
518
946
261
156
634
86
971
876
87
585
153
246
334
555
261
156
386
618
5
277
440
522
183
800
155
410
390
976
67
350
757
588
776
293
64
800
340
307
178
9
698
127
83
251
429
104
655
817
290
10
403
791
78
60
716
891
668
490
350
309
296
379
366
486
968
277
801
445
896
577
962
91
646
262
241
772
953
185
110
18
543
319
869
812
309
44
449
834
479
381
528
978
371
425
817
201
292
146
3
853
270
334
611
811
401
618
454
363
68
394
326
555
996
262
61
490
998
312
456
560
828
256
547
860
280
665
39
554
788
375
540
219
686
458
362
600
472
513
364
569
436
183
79
452
589
132
3
501
153
921
702
626
119
631
232
999
578
977
707
661
755
261
740
137
485
995
367
240
896
958
413
647
100
392
865
720
697
116
459
346
668
925
770
233
346
108
817
245
546
675
791
735
260
772
837
657
190
354
546
760
596
59
494
640
880
718
398
519
902
980
162
926
993
602
358
875
689
689
288
27
462
313
334
747
216
598
261
330
699
515
707
176
349
228
914
712
127
254
860
569
624
580
95
636
746
97
247
21
771
719
640
205
713
801
390
64
918
588
375
134
709
230
851
350
23
161
306
178
500
693
306
210
582
786
582
846
69
270
950
817
86
168
577
541
821
457
566
627
723
911
233
817
357
813
565
421
353
433
595
412
622
954
541
915
729
184
719
444
101
431
960
464
296
83
394
726
112
505
702
790
210
383
252
168
255
616
4
392
676
16
49
677
559
275
999
987
422
970
651
608
147
39
585
722
762
712
253
664
199
491
824
609
940
729
884
847
789
848
29
747
230
353
446
551
302
341
554
901
665
187
286
602
420
570
368
799
667
435
488
879
69
152
513
689
692
864
831
671
425
547
181
375
587
523
819
909
611
727
441
153
90
898
153
265
909
482
460
806
727
124
243
739
177
541
477
28
285
705
240
630
494
13
320
869
734
998
295
214
621
421
237
954
898
52
156
632
58
46
640
463
681
421
654
569
847
72
432
931
248
247
294
218
531
863
995
343
489
686
839
638
923
212
819
313
491
181
989
888
236
184
288
405
211
557
578
111
18
988
192
327
624
743
248
431
552
401
172
568
58
649
858
324
547
457
293
128
25
550
781
192
356
965
822
17
27
991
682
272
804
245
868
281
564
262
548
150
498
760
195
749
28
143
933
28
704
334
767
124
4
3
408
279
884
384
319
442
966
627
356
626
344
517
616
663
499
457
235
25
728
368
945
174
494
698
997
332
94
458
573
541
178
894
226
795
687
955
479
638
932
948
820
823
673
972
797
311
625
798
30
701
910
189
835
761
901
441
551
165
152
181
244
396
981
808
887
85
452
828
927
703
581
276
251
56
811
259
890
751
140
493
910
833
316
502
781
870
436
156
925
976
891
975
321
951
151
810
249
346
957
28
915
229
838
423
536
183
827
15
85
843
667
332
543
956
985
91
254
506
520
433
48
908
160
236
88
253
280
768
120
153
200
103
668
257
415
780
340
676
552
431
894
729
836
160
287
495
520
234
168
359
211
291
238
128
633
24
762
508
5
181
515
556
393
555
945
544
137
676
378
801
647
631
580
880
155
105
111
329
106
520
153
92
872
698
592
630
362
202
443
687
51
615
104
209
792
605
819
648
890
350
400
241
482
693
947
121
39
739
985
695
495
897
327
199
227
199
851
256
86
893
814
545
966
999
515
729
64
631
818
36
922
801
465
902
1
388
282
81
360
648
481
433
578
840
51
311
565
904
833
683
123
8
522
693
38
180
312
827
100
589
53
762
893
948
210
760
294
557
643
990
952
433
570
428
582
827
29
429
409
832
950
66
333
209
749
565
389
877
349
488
721
387
886
390
910
167
422
55
243
424
423
296
989
10
371
669
138
142
721
903
221
172
530
239
870
527
170
945
596
939
299
993
802
55
754
234
533
588
952
377
15
989
65
375
317
294
59
830
168
489
755
85
631
320
748
515
609
189
316
359
267
327
332
138
994
468
504
178
201
598
378
747
465
577
591
517
233
812
1
182
82
710
247
758
953
578
283
329
844
462
470
424
617
532
709
839
329
294
611
664
331
507
215
538
99
755
169
458
222
115
936
691
910
667
508
353
182
912
916
923
87
208
85
180
58
641
331
273
322
730
799
928
666
723
854
245
364
126
830
760
957
625
884
280
235
341
990
23
126
86
510
452
998
426
278
275
667
490
978
421
746
19
31
193
68
313
638
530
314
31
896
425
599
574
783
971
906
292
732
434
198
282
272
405
40
320
738
147
87
258
914
964
107
640
744
541
171
826
769
453
480
410
253
337
284
910
694
788
642
484
252
478
199
57
41
788
73
930
561
410
614
670
847
67
730
40
181
515
143
148
274
61
629
94
902
774
356
322
570
814
352
98
671
557
935
63
126
345
24
357
876
892
501
219
843
218
485
292
623
164
826
68
24
802
318
526
953
804
765
938
807
52
807
380
956
499
775
139
669
241
598
985
502
948
486
715
278
484
364
726
507
952
33
708
335
705
445
55
13
616
991
696
651
852
634
53
964
736
571
16
163
891
19
760
626
40
944
944
865
484
136
875
111
347
493
223
146
839
836
113
647
939
995
95
616
918
448
757
414
810
685
123
239
607
769
288
215
732
85
204
657
131
614
191
429
961
138
400
931
608
703
219
551
544
646
425
546
592
734
672
897
294
749
207
702
520
248
262
632
831
717
250
57
368
969
634
131
623
457
785
23
455
17
356
814
218
990
367
752
781
677
510
302
722
334
187
622
419
357
133
658
913
397
690
637
675
14
735
371
493
124
635
43
302
898
30
754
458
539
746
815
897
261
954
792
859
978
966
247
54
409
128
222
35
445
411
975
283
190
259
783
651
138
460
59
87
310
620
138
153
845
259
590
200
670
629
754
9
225
566
764
161
488
518
928
364
669
52
919
290
836
149
287
543
362
204
278
325
848
903
856
586
732
221
68
679
196
625
802
241
115
425
864
475
196
794
192
244
275
736
309
165
682
457
710
271
742
829
697
317
925
335
497
817
807
321
26
959
440
699
648
884
756
46
79
495
912
608
994
122
323
27
947
528
438
789
704
904
448
445
274
805
141
190
296
809
334
321
173
997
462
280
884
156
64
31
638
930
125
833
435
121
289
600
55
930
900
615
172
24
835
370
578
882
696
494
147
320
99
86
524
961
499
114
896
514
245
550
740
836
448
32
864
756
651
13
789
380
780
693
805
896
819
575
862
862
851
78
174
123
228
944
661
678
892
284
802
54
47
709
215
186
343
126
86
151
866
525
598
930
531
706
575
119
542
767
9
160
432
440
956
342
826
520
629
333
262
922
866
234
763
406
232
412
982
485
52
564
1000
567
969
741
261
447
357
849
678
432
637
15
741
345
229
897
510
756
661
500
759
228
366
782
907
256
998
103
130
22
645
738
503
775
664
257
81
922
387
277
582
901
627
848
827
545
870
581
729
198
69
91
521
961
429
706
447
900
746
648
731
240
397
812
87
172
527
263
720
833
37
729
538
241
44
611
235
443
194
834
825
326
301
563
62
63
583
146
288
29
984
248
959
123
734
18
290
199
986
295
968
774
290
873
552
496
442
475
566
273
640
404
975
457
651
796
327
203
351
377
637
845
293
622
279
357
56
50
21
901
16
345
543
107
491
729
150
986
914
928
583
815
178
344
919
663
629
540
64
4
282
614
846
278
751
727
276
761
669
138
212
370
263
440
904
789
287
501
653
472
205
655
882
652
644
722
724
411
371
310
307
390
184
147
362
983
964
646
998
84
945
731
586
722
128
650
587
280
278
766
770
700
688
728
215
341
827
404
713
478
826
932
341
64
914
623
282
451
129
826
804
806
173
584
857
792
152
125
33
815
16
129
414
546
614
432
223
963
265
79
707
145
514
279
968
279
90
39
210
454
107
705
931
539
468
47
339
42
428
45
587
963
66
777
360
996
481
968
584
762
465
968
560
823
922
437
405
415
380
339
553
603
771
667
941
743
762
268
696
80
137
710
170
554
985
580
459
525
537
738
790
49
182
461
490
552
847
56
99
141
511
812
103
410
982
581
891
946
982
927
463
803
627
499
239
163
407
875
458
450
50
639
395
877
287
388
113
746
294
215
413
201
613
666
374
638
993
341
677
495
479
481
63
135
871
639
693
253
98
310
295
508
575
646
657
244
435
845
125
705
439
423
554
487
430
210
479
376
217
392
865
927
632
25
173
563
604
910
543
553
785
91
176
952
385
5
765
824
587
163
215
883
885
474
251
352
633
59
237
300
935
217
172
544
66
436
525
728
438
45
601
413
262
775
987
288
160
941
867
893
344
232
902
245
655
462
897
435
464
59
940
777
622
655
641
665
769
765
267
754
191
474
584
107
914
302
115
285
599
651
609
609
804
957
145
206
522
699
550
562
615
631
872
845
960
582
870
124
410
52
91
621
225
264
752
234
395
693
947
265
837
891
388
132
304
263
323
770
923
886
34
456
159
249
40
248
819
531
409
241
960
418
340
583
599
269
320
626
601
172
217
559
545
53
881
450
394
342
825
839
773
780
596
511
328
475
256
671
145
386
974
747
974
927
688
362
90
835
69
233
991
635
425
604
736
559
888
629
962
118
595
358
735
405
452
227
796
821
403
759
140
943
850
400
254
125
20
19
324
293
136
590
320
588
955
344
719
881
379
876
510
928
626
5
746
178
946
97
222
400
834
151
318
507
122
513
552
27
735
379
834
219
645
730
25
984
602
482
47
387
567
328
706
126
145
827
662
659
272
579
107
37
939
875
420
779
783
730
758
579
646
624
82
491
973
779
472
796
454
393
265
623
196
384
277
84
888
284
708
337
511
195
649
151
538
64
867
140
199
756
664
317
207
242
335
861
129
311
868
597
367
742
277
395
833
712
502
896
329
895
139
67
875
430
963
296
970
528
241
920
882
257
674
796
719
405
834
635
61
228
30
644
539
705
922
333
152
250
448
237
805
689
603
182
74
855
804
178
53
444
150
828
259
667
448
422
228
37
31
392
110
594
747
440
690
294
717
297
962
936
115
908
633
381
531
372
129
546
636
775
862
205
81
600
445
692
228
406
569
819
581
214
29
907
174
822
849
181
685
517
791
319
302
378
300
230
446
542
984
487
87
504
807
835
956
639
933
279
995
574
776
166
760
121
916
26
35
886
626
916
48
284
190
219
198
93
906
917
260
209
279
885
681
418
385
862
155
594
677
307
502
280
145
620
521
186
778
886
578
512
307
828
133
666
935
358
834
989
425
565
696
661
262
15
210
258
50
147
780
919
167
873
943
777
55
797
19
113
170
218
586
869
502
233
621
273
170
211
154
203
704
37
782
863
759
958
413
928
903
899
201
647
391
321
462
447
932
240
569
589
860
895
686
315
230
138
45
134
871
410
705
482
794
61
980
376
300
565
851
808
926
161
114
94
306
536
273
737
733
639
788
350
898
627
588
909
562
764
32
856
609
37
637
563
655
37
128
373
892
369
276
360
138
854
795
721
618
622
115
299
449
812
52
28
532
389
316
716
827
961
880
996
327
670
352
717
389
961
986
857
629
85
596
248
125
582
450
245
633
645
42
913
38
682
704
817
10
895
866
761
726
703
39
553
129
30
464
597
308
439
228
248
865
862
191
459
738
890
646
324
542
766
509
300
974
72
390
10
505
253
366
592
217
307
178
278
318
995
551
82
417
679
113
620
185
578
823
533
31
777
441
884
764
453
27
445
163
39
695
121
417
971
345
8
744
103
508
916
532
7
759
822
478
178
390
167
323
570
713
883
720
828
709
528
591
577
120
73
441
829
106
976
583
957
840
826
95
569
744
156
128
724
711
251
10
148
689
120
158
975
109
323
605
855
770
782
878
482
309
956
410
700
648
233
451
959
635
723
789
275
813
608
224
390
93
768
654
55
435
946
538
868
570
335
297
391
424
638
186
394
289
422
848
407
465
613
332
146
96
303
941
345
69
468
648
443
118
84
955
864
553
780
699
982
766
419
118
571
124
998
56
493
171
408
262
338
656
382
899
613
139
201
7
157
389
870
942
531
694
759
44
951
215
204
419
344
229
148
430
272
97
790
566
601
371
390
700
949
168
535
475
54
756
645
676
616
756
295
809
197
823
756
735
388
478
472
420
216
780
365
548
952
489
471
257
455
615
805
590
461
83
377
132
867
923
786
473
184
504
989
460
45
841
497
19
331
401
34
369
676
228
267
350
363
803
598
394
882
759
342
63
235
336
454
514
264
606
969
732
126
150
454
591
354
943
95
785
571
83
520
361
676
56
861
223
953
639
594
905
469
243
316
100
502
195
984
23
249
729
7
434
396
762
15
581
413
76
859
773
824
839
863
676
690
267
904
397
497
333
311
587
66
338
947
11
202
989
764
965
623
450
264
78
996
718
131
93
396
788
762
283
615
181
872
487
961
698
455
935
869
767
115
695
520
196
57
387
602
249
533
538
864
781
851
714
264
554
119
426
359
284
950
530
141
384
12
31
747
638
429
364
755
756
969
24
773
686
112
216
600
762
671
753
296
805
967
270
833
293
193
863
423
373
476
930
111
828
591
933
556
424
883
784
932
459
559
239
992
267
492
852
417
771
446
658
648
860
658
680
358
626
665
92
50
635
948
162
547
262
133
284
464
328
654
265
807
812
91
890
977
751
278
317
666
100
212
972
514
542
961
827
199
818
475
174
546
530
618
827
387
445
651
568
699
949
466
246
472
419
656
410
373
474
255
201
512
416
980
673
806
726
337
81
313
541
306
678
795
767
201
615
989
270
662
446
774
44
189
405
548
16
57
708
198
917
613
508
448
295
236
369
402
916
496
756
189
620
266
817
847
349
516
18
758
549
773
602
746
655
80
509
347
702
952
253
6
833
163
423
864
478
657
17
437
493
221
58
488
769
270
64
369
28
451
765
401
434
149
932
955
99
116
566
10
20
622
542
18
949
295
822
1000
84
513
345
603
140
344
553
606
704
768
403
896
822
768
116
585
793
617
766
830
522
998
160
885
864
768
259
465
489
975
535
729
522
408
836
424
721
552
7
630
745
447
257
239
791
253
364
829
516
210
850
838
256
214
560
689
130
225
257
717
652
84
404
192
129
588
556
538
818
788
618
196
292
559
381
402
421
917
395
432
291
523
928
959
739
258
594
808
221
765
686
472
906
138
802
6
80
71
261
241
213
233
190
263
423
187
136
917
467
325
124
101
276
435
597
869
295
37
827
820
703
292
708
84
898
736
528
705
856
164
723
591
457
215
900
452
429
217
445
658
503
631
78
889
81
346
650
496
772
867
709
504
109
994
241
448
26
587
688
452
301
591
848
206
704
256
30
696
325
393
661
461
592
43
309
289
136
367
344
684
153
183
289
845
268
57
684
389
382
755
986
849
482
464
568
489
630
356
309
840
161
469
993
454
202
838
796
57
686
717
272
334
638
428
6
808
794
222
840
193
111
171
944
643
652
661
752
398
29
765
236
815
107
274
340
459
484
666
546
731
496
110
422
502
610
339
565
246
837
746
803
819
434
612
89
83
818
783
468
446
239
350
90
143
194
385
851
729
578
858
899
265
702
35
719
623
27
377
30
223
305
908
549
392
622
629
924
433
411
885
918
506
31
812
758
745
2
337
617
443
458
393
379
303
597
737
826
635
333
761
885
900
987
353
892
646
836
395
948
876
393
627
711
411
39
246
668
57
390
678
872
673
807
676
997
620
105
987
122
490
886
777
341
576
47
790
978
133
814
52
548
806
342
877
860
381
355
91
220
595
747
349
670
799
832
38
699
999
532
744
109
614
446
23
265
819
679
475
739
651
82
931
27
979
427
44
943
149
120
975
854
724
915
359
171
48
867
758
564
889
928
149
17
160
823
48
384
955
590
555
683
902
221
725
170
605
33
486
784
319
113
150
265
780
313
527
961
995
138
89
420
773
45
612
243
894
519
511
358
506
806
367
506
477
704
559
216
778
738
741
735
115
908
574
18
766
183
304
84
997
599
607
802
968
302
841
981
16
898
811
828
548
46
965
107
251
601
642
991
692
317
925
426
217
944
261
992
533
633
594
2
979
723
424
376
179
565
880
193
656
719
949
441
128
433
618
198
270
442
223
13
618
548
479
616
722
571
903
778
96
285
483
507
231
242
104
528
291
871
704
758
468
773
781
425
277
993
302
412
101
241
603
485
692
692
443
613
196
111
199
368
680
899
770
272
764
447
692
907
325
160
342
335
58
419
828
128
355
777
32
590
698
111
159
138
116
392
485
154
609
666
986
268
681
467
548
964
397
129
413
518
47
630
84
355
408
798
230
255
940
496
915
951
461
475
503
210
103
264
484
49
352
562
382
885
77
874
922
531
310
925
265
243
308
678
119
610
695
181
647
935
125
296
247
740
321
265
158
517
314
801
518
168
837
147
432
395
990
737
719
366
56
30
446
307
765
841
921
913
129
967
380
490
226
615
940
259
278
66
256
796
98
944
980
684
553
7
808
263
233
907
208
782
489
884
600
278
241
58
108
661
855
218
53
549
357
44
864
915
836
148
885
495
863
221
129
606
284
300
936
687
320
665
305
988
937
103
345
133
753
56
63
45
589
359
739
193
666
942
326
754
61
418
666
986
850
507
65
64
301
184
92
419
95
308
836
51
953
192
722
528
84
188
531
132
781
581
231
443
794
353
561
10
439
384
600
129
950
245
514
510
253
182
32
170
231
547
194
650
551
540
544
229
271
476
330
788
577
420
401
736
205
831
10
97
560
248
346
108
704
75
969
495
826
469
565
948
903
878
192
69
832
619
515
623
376
533
799
907
763
228
784
367
538
582
558
391
493
156
2
541
647
39
513
166
346
251
246
385
53
397
19
34
850
577
238
240
749
278
693
284
233
963
519
271
89
984
531
414
413
565
101
223
523
554
841
863
766
762
799
70
785
159
436
327
50
694
214
100
683
207
55
621
451
594
191
988
177
11
626
106
661
732
672
787
522
492
592
177
45
874
79
153
324
532
560
828
581
182
525
574
77
331
395
764
558
2
94
936
212
988
916
718
305
270
610
695
360
880
625
800
23
533
452
226
37
520
512
161
326
351
609
869
450
141
133
218
256
194
257
458
790
368
686
55
572
309
802
312
163
364
156
320
909
556
860
579
150
664
100
433
761
660
629
556
205
28
522
67
672
946
273
871
595
255
838
284
414
620
546
259
963
409
328
702
990
818
873
330
857
696
160
870
76
556
975
232
204
54
292
720
56
440
911
518
415
432
311
601
670
722
92
567
129
773
18
476
326
388
74
906
122
808
421
398
902
883
286
734
89
461
758
875
602
538
777
738
885
803
664
876
26
340
76
420
359
533
982
764
80
812
576
416
889
310
951
602
926
118
228
637
559
90
136
331
727
287
442
179
517
307
216
199
854
487
66
718
898
586
417
373
38
550
332
894
935
75
403
255
531
789
186
736
842
151
439
858
188
972
995
174
531
489
780
765
3
756
37
458
670
204
884
234
218
691
739
800
164
677
368
902
527
197
793
488
155
737
518
566
62
610
621
216
865
370
929
919
263
623
278
896
874
754
374
424
552
619
141
119
912
812
383
62
232
805
790
878
71
230
575
636
434
170
503
514
11
137
350
133
729
998
850
412
156
266
835
211
382
888
371
952
615
444
466
27
677
411
409
854
824
254
94
357
664
745
570
874
167
274
283
525
369
889
915
907
881
430
860
889
305
535
487
818
78
73
899
575
996
333
544
373
614
526
939
113
66
754
908
748
597
381
697
776
65
800
922
104
91
198
365
914
819
817
716
242
619
514
925
671
35
637
796
571
602
507
833
906
632
792
511
103
420
282
222
790
924
238
893
835
468
425
680
151
903
615
47
843
413
385
114
247
490
43
523
868
198
560
339
813
193
500
358
795
473
422
32
149
252
862
561
713
718
892
992
226
944
86
202
326
959
608
472
319
963
840
302
971
927
890
998
745
420
493
122
61
193
94
831
685
342
588
18
729
451
802
621
525
610
544
882
19
570
327
560
217
315
813
201
140
994
602
232
232
855
142
530
472
401
345
106
896
667
737
19
258
962
421
73
623
521
900
290
390
376
524
784
744
912
63
994
929
971
141
840
575
349
856
982
84
643
966
929
626
407
914
516
422
516
319
698
272
412
917
77
462
894
557
42
315
404
62
968
214
357
568
287
785
769
380
267
66
864
994
353
812
754
367
317
842
617
777
243
605
919
600
804
273
783
889
233
528
393
493
398
817
428
934
374
334
810
440
304
318
685
894
566
869
321
566
186
64
627
519
227
531
848
269
716
948
3
919
534
410
531
628
390
343
382
879
182
24
505
868
973
572
940
985
265
130
544
102
678
72
751
801
249
623
761
859
908
73
110
485
775
38
32
187
142
98
710
519
91
676
562
723
116
419
699
216
643
267
711
293
845
115
503
433
647
505
68
907
327
42
114
927
303
327
675
238
543
267
837
236
746
551
947
915
953
732
802
617
498
286
555
517
944
692
508
880
484
111
397
548
88
803
41
165
961
606
528
333
595
830
551
880
554
369
603
279
211
94
11
665
241
356
553
573
939
818
901
667
967
261
376
536
887
601
223
25
682
792
987
678
949
560
392
336
271
796
848
767
973
111
487
273
95
314
220
733
679
732
897
627
967
375
638
82
12
617
631
292
583
171
691
530
48
16
49
519
229
47
117
860
828
281
43
250
907
100
748
975
75
353
2
996
519
200
383
416
895
578
505
283
753
696
811
851
385
408
570
899
151
937
759
137
57
22
122
859
45
539
454
995
6
264
736
637
456
62
549
91
857
334
429
992
613
237
880
429
365
285
591
66
166
963
451
735
573
517
416
372
23
359
915
249
369
426
316
217
629
203
304
7
816
742
558
475
227
493
142
32
649
54
796
973
702
962
412
448
733
92
788
299
315
471
991
849
166
97
479
80
233
377
950
904
242
607
18
392
331
887
236
864
669
778
802
671
249
783
103
478
205
467
202
364
692
535
256
207
563
930
993
766
946
541
178
274
178
719
307
245
195
334
258
625
426
562
109
915
380
86
563
933
375
201
13
573
29
28
539
510
546
246
224
971
275
176
991
697
826
599
720
756
373
318
745
338
281
974
7
166
545
110
226
669
326
237
23
716
846
126
786
799
844
166
798
533
591
956
224
786
864
130
680
493
696
288
470
393
786
854
870
20
435
364
700
18
447
897
813
661
489
25
466
801
485
161
365
188
897
907
431
594
377
386
861
219
921
343
787
584
423
820
845
109
635
305
280
82
684
736
909
883
147
193
834
739
674
592
614
578
568
963
707
121
72
573
123
682
366
402
494
834
731
472
590
178
894
701
511
999
608
119
755
416
459
405
986
394
996
171
161
711
53
228
401
726
296
498
482
732
777
40
646
730
303
93
334
598
7
341
850
413
169
113
763
792
918
877
9
435
255
594
615
979
243
166
919
155
966
863
643
994
188
348
799
683
30
819
318
141
78
297
701
12
549
483
385
941
326
15
635
395
788
151
29
984
295
467
555
54
303
106
38
290
618
943
390
7
261
88
882
825
568
58
840
200
290
591
480
31
941
813
848
938
159
442
365
641
46
610
956
268
136
744
935
311
641
21
128
84
614
766
152
858
32
925
618
584
777
974
390
779
38
986
52
215
95
879
33
270
860
587
606
599
499
590
104
135
221
426
178
605
379
807
925
323
270
645
866
656
410
549
249
263
84
691
839
594
403
883
994
666
360
784
656
848
114
251
750
641
426
726
156
153
279
885
399
737
841
168
593
865
109
260
751
108
230
11
437
571
195
875
808
490
721
900
740
492
885
281
558
211
959
850
962
436
414
125
826
351
959
899
472
289
686
64
590
920
100
768
747
571
122
196
112
813
729
449
991
220
831
39
710
520
815
710
428
728
438
486
751
425
748
324
859
77
578
221
245
485
141
411
160
153
483
781
128
198
913
495
503
508
710
163
906
937
805
995
255
736
73
158
760
787
284
162
509
4
575
185
330
619
724
245
397
243
276
208
433
740
983
381
960
122
641
668
112
814
335
138
946
828
636
311
177
96
286
384
515
51
540
152
721
695
225
94
473
64
632
550
803
323
812
837
119
551
308
81
914
704
314
841
336
915
805
500
684
985
554
759
842
286
312
197
820
392
666
313
986
166
720
392
190
261
107
840
89
54
501
198
544
775
604
451
775
351
272
441
497
916
273
683
59
174
479
203
897
203
802
314
673
210
741
286
618
420
181
801
239
385
725
24
242
35
318
397
978
322
970
349
58
829
194
955
406
2
304
462
583
729
244
533
930
124
488
899
570
449
179
775
769
505
1000
235
161
37
181
646
403
818
754
560
649
261
655
626
955
494
622
557
514
698
789
439
666
60
72
922
273
302
191
786
903
527
23
11
10
741
178
485
247
105
372
83
778
658
799
859
628
191
814
510
420
300
68
43
799
798
688
470
71
388
560
170
821
540
100
324
159
416
693
949
970
911
964
361
38
534
590
485
632
411
309
563
869
108
200
385
288
149
194
782
145
464
849
556
988
401
27
47
766
590
352
865
484
384
672
411
852
714
846
922
449
201
661
203
130
267
853
145
726
6
546
926
758
717
689
695
743
91
731
881
893
172
936
553
559
881
639
959
518
647
388
431
989
482
911
646
478
694
318
855
909
360
66
469
182
200
783
822
126
867
541
428
470
57
889
532
307
353
408
927
602
238
467
3
737
231
436
12
533
35
3
462
723
503
822
118
635
246
767
425
733
981
4
916
262
998
767
686
753
970
872
10
578
323
804
365
224
805
89
992
137
198
666
876
516
25
674
151
904
675
645
985
179
428
620
958
118
296
390
745
793
400
96
892
536
1
400
960
535
915
880
581
681
458
519
506
214
859
4
460
105
937
359
493
444
957
288
22
478
951
175
203
615
968
372
490
108
495
587
768
225
438
689
146
384
609
783
829
105
960
98
878
887
109
123
908
713
603
191
881
871
464
148
590
216
726
39
252
701
784
147
792
271
367
132
617
907
917
313
179
197
425
456
542
84
922
275
123
600
460
928
656
543
838
191
888
732
46
363
384
960
156
917
372
568
688
946
7
167
728
921
204
82
937
811
249
700
54
419
28
596
523
704
34
166
552
424
991
309
193
122
666
21
987
146
971
747
711
956
1000
774
352
515
52
941
848
144
463
559
585
637
36
879
276
343
206
691
515
114
185
414
582
33
475
942
595
491
710
604
198
738
905
484
42
372
284
715
299
993
985
354
895
460
109
778
605
209
482
628
144
387
781
869
341
474
799
916
895
170
251
938
964
311
876
391
304
653
811
278
133
754
727
91
250
612
651
821
438
827
534
63
270
661
783
690
619
613
260
351
554
460
89
585
434
434
689
349
33
807
2
922
451
750
377
154
930
505
548
143
912
329
574
796
774
644
62
972
306
428
954
55
548
194
353
488
411
912
133
536
618
212
414
301
769
925
145
821
892
830
143
651
680
313
783
639
824
139
103
155
612
109
818
825
458
972
991
847
231
870
863
532
770
513
509
590
284
208
550
800
529
637
828
342
361
164
503
247
450
238
584
82
209
647
284
961
955
590
760
427
499
831
372
681
87
904
437
957
42
654
314
370
738
38
559
306
993
953
288
388
556
685
257
264
689
643
944
369
873
595
614
207
387
678
700
30
135
640
109
326
752
568
712
478
814
85
91
599
382
904
338
329
380
538
483
472
828
501
931
172
964
163
231
565
79
589
314
292
415
731
769
214
356
394
979
7
884
802
937
661
168
533
645
714
996
845
705
447
60
862
171
209
715
609
807
170
377
509
777
37
780
453
534
135
721
438
876
843
919
962
712
263
330
393
243
783
328
89
883
791
932
907
340
227
201
862
982
64
305
583
199
80
421
213
659
811
449
280
466
28
610
300
446
788
223
372
719
776
64
847
89
948
597
837
880
564
932
221
42
20
706
555
11
841
523
430
326
232
897
328
281
521
732
414
427
510
192
83
633
383
290
824
726
896
994
822
981
641
667
664
7
559
405
731
151
311
376
700
440
365
61
651
138
91
947
653
582
339
575
204
58
287
681
696
145
763
835
971
665
102
490
400
358
19
939
20
563
491
119
856
43
567
256
832
670
235
635
472
81
844
891
48
734
536
61
57
389
797
987
571
639
896
7
829
17
744
45
619
15
607
319
466
421
75
124
256
191
962
110
455
767
443
399
591
731
163
16
563
431
293
923
929
460
705
83
934
83
176
95
182
44
621
782
87
951
553
869
470
350
309
406
552
739
907
270
819
330
236
881
62
464
629
886
543
220
178
135
206
381
996
94
164
544
703
312
939
695
968
483
510
351
124
957
832
793
598
707
724
176
343
936
4
345
30
199
39
871
69
96
184
634
91
882
730
74
798
769
802
786
994
676
629
195
744
503
505
773
886
303
659
518
554
841
123
922
771
857
530
22
571
444
802
826
729
709
69
655
297
505
443
135
419
293
588
465
421
783
546
836
292
786
269
444
137
445
250
268
958
540
567
711
686
741
648
362
520
789
773
899
710
619
510
702
541
804
129
774
748
477
837
931
594
557
176
549
602
55
963
764
828
266
36
76
707
831
949
570
647
900
962
214
874
443
708
548
119
525
1
982
88
654
997
356
147
18
467
933
105
236
806
803
361
985
254
69
303
140
949
692
269
925
325
231
889
876
257
636
657
478
996
803
800
217
216
820
920
511
578
336
649
276
621
10
466
952
671
796
295
239
29
767
556
207
369
600
846
202
447
39
237
229
106
291
16
841
725
51
203
674
475
348
179
954
617
198
587
668
366
209
487
475
959
751
461
352
734
960
914
683
756
37
230
537
226
370
1000
323
991
239
185
296
609
644
323
794
849
987
45
335
999
347
539
56
344
926
518
6
438
599
52
491
875
642
824
791
202
900
340
592
425
852
727
879
592
523
587
119
537
253
840
525
665
867
133
922
701
373
47
789
426
177
285
773
910
978
477
127
698
30
590
745
548
224
830
692
365
806
827
498
332
315
782
741
434
212
371
278
758
466
571
740
941
751
955
270
842
177
153
898
247
882
912
982
601
634
25
575
546
179
827
143
461
633
7
816
962
480
810
932
64
7
548
278
569
952
37
569
426
571
359
368
417
831
16
855
251
150
410
308
204
786
815
387
252
530
246
928
899
733
132
39
927
785
17
717
232
729
937
682
382
830
328
43
634
859
254
67
504
111
597
175
826
103
89
969
259
500
396
166
774
715
478
211
653
791
18
458
97
579
997
452
140
66
386
249
371
410
213
83
573
71
655
968
412
922
83
617
95
270
195
908
499
641
909
218
280
788
672
703
722
354
293
291
905
322
109
453
795
779
365
45
8
87
186
101
364
115
625
817
550
365
657
164
146
544
366
890
550
86
497
638
17
860
123
631
709
268
574
812
968
438
382
157
843
163
295
190
482
753
276
822
743
601
509
164
121
385
698
578
297
147
852
874
578
67
328
857
709
777
906
476
580
543
908
374
309
643
713
665
492
680
13
358
921
95
187
856
981
276
332
857
462
681
45
721
112
311
261
189
784
541
774
455
119
243
932
352
915
293
96
128
557
506
925
661
395
331
784
55
311
363
489
367
104
272
463
45
876
650
78
192
49
175
675
366
324
461
619
677
760
111
853
176
5
153
844
29
285
503
781
158
38
84
778
442
198
144
212
349
774
202
425
776
444
712
123
254
938
621
423
469
355
342
199
802
502
841
609
84
230
261
184
638
795
956
710
328
978
822
164
298
58
519
698
353
111
961
449
342
521
861
93
869
105
100
189
25
374
435
497
364
144
341
889
682
662
613
880
277
160
792
714
600
984
191
904
589
159
594
723
579
975
786
484
868
22
381
647
291
243
139
32
930
588
53
591
956
53
489
228
617
585
499
22
731
762
520
850
1
84
825
208
247
6
28
507
723
843
541
611
739
195
235
511
158
901
407
502
270
756
635
946
101
129
532
965
23
576
335
630
424
367
425
208
873
737
75
565
800
540
848
140
316
380
683
229
1
297
493
361
764
934
614
936
621
16
934
466
781
588
307
748
149
160
218
898
405
876
561
631
755
84
110
425
258
927
444
574
71
987
317
247
946
956
286
388
153
71
462
442
350
555
204
451
278
215
36
733
887
665
837
298
255
731
870
139
526
392
116
460
115
208
994
900
382
104
556
129
956
939
393
351
303
852
918
840
120
33
198
412
546
747
791
446
437
393
681
484
374
91
583
700
718
857
891
259
38
974
214
54
872
773
966
707
114
439
84
47
342
316
840
890
138
859
705
245
230
593
919
259
6
942
126
964
675
384
677
231
646
372
983
130
608
810
430
30
138
413
968
337
646
743
938
143
150
61
864
278
678
28
621
741
251
760
67
674
38
390
241
447
891
305
182
600
420
732
319
683
818
469
239
579
527
250
459
374
852
250
941
326
649
547
555
73
105
750
52
233
272
373
944
743
521
493
824
466
872
475
444
550
359
715
159
548
160
465
778
18
876
977
947
364
404
679
547
612
58
680
681
548
297
373
66
403
387
956
133
23
465
408
408
446
263
495
73
374
279
208
331
767
410
627
441
259
212
335
661
287
464
668
821
216
398
839
531
579
654
142
956
447
328
212
703
68
622
676
978
230
226
462
963
583
744
800
622
750
415
498
755
120
199
801
417
393
602
987
297
722
520
788
769
640
552
962
860
342
424
407
212
45
646
251
806
814
924
110
303
678
148
895
135
283
246
680
33
932
800
930
608
702
998
206
616
888
371
841
577
403
620
871
783
941
741
531
603
372
185
969
39
473
568
25
306
384
72
91
707
95
220
251
121
154
848
373
878
330
912
472
502
337
957
852
277
175
476
59
31
439
56
680
512
707
988
752
321
437
407
934
641
910
404
797
358
261
826
447
897
105
788
85
360
672
243
611
92
916
125
557
552
264
390
351
312
119
973
765
318
609
632
555
5
300
92
990
274
194
930
658
401
872
291
188
101
920
600
784
567
122
122
665
285
651
838
724
212
110
493
950
13
632
861
308
604
642
832
176
327
49
357
637
958
498
736
803
992
145
175
288
644
885
331
359
1000
105
951
611
6
61
187
926
470
715
35
711
543
207
941
539
747
280
925
469
626
707
133
600
95
667
513
484
521
77
123
17
417
395
639
468
427
202
359
376
238
150
311
819
196
180
785
818
459
281
609
816
20
879
757
9
749
538
308
918
184
341
876
918
887
63
369
267
277
543
302
741
792
435
130
794
597
822
281
942
483
901
899
381
845
850
227
867
784
191
276
225
965
817
285
567
86
641
816
732
185
857
390
249
106
152
414
639
715
50
262
491
175
820
967
800
659
49
647
299
858
699
362
732
493
381
311
767
478
327
577
151
824
455
429
853
331
165
750
859
974
893
548
751
681
567
791
4
764
476
428
996
116
594
378
43
500
651
263
65
954
419
354
872
906
796
648
129
261
947
18
769
211
421
406
204
649
968
43
855
172
708
200
251
846
213
350
85
583
890
140
946
896
557
517
555
523
437
277
578
736
696
323
834
432
186
205
80
145
747
925
250
216
391
400
275
172
765
615
970
296
957
38
741
8
540
58
29
391
536
401
224
290
825
20
999
130
131
642
206
622
624
802
145
935
99
468
939
452
225
659
108
912
224
479
64
625
365
586
646
683
791
557
992
815
61
140
651
995
619
194
215
936
993
180
33
357
83
599
5
897
196
690
262
418
286
260
674
612
564
261
805
700
618
888
669
133
258
559
912
380
407
833
756
972
81
245
4
400
727
897
951
508
348
653
547
167
665
601
347
464
906
71
361
77
200
931
648
966
412
135
615
879
291
619
105
234
97
657
486
481
87
910
807
204
853
139
355
35
803
317
264
532
148
839
713
74
322
214
345
804
269
684
817
969
220
354
25
368
86
456
174
815
80
880
861
658
203
387
669
225
511
814
991
421
364
684
873
474
996
633
644
843
851
909
497
300
208
476
74
6
600
432
252
539
724
624
645
318
766
539
136
277
661
10
457
934
15
887
388
577
860
191
41
986
238
7
810
722
112
106
911
235
322
867
326
136
392
282
284
951
741
313
574
697
988
321
481
334
69
593
509
843
441
415
704
667
975
209
1000
810
709
585
721
324
734
836
418
987
240
282
199
591
276
912
183
828
665
723
803
937
889
872
730
218
493
213
22
585
243
537
310
720
472
138
386
676
114
607
474
779
527
643
693
354
80
544
704
613
111
998
127
30
781
196
1
382
185
21
140
964
414
93
766
346
50
48
841
192
23
352
272
122
922
600
16
162
84
830
210
491
689
453
2
926
134
544
927
635
454
5
901
949
879
608
88
759
431
125
461
941
472
796
564
455
981
638
179
623
369
984
926
589
533
164
134
634
584
634
733
446
217
183
126
920
903
422
583
596
804
232
157
951
914
915
981
998
716
313
527
696
394
113
968
635
733
698
155
731
315
537
121
518
269
689
591
67
208
999
729
88
381
210
377
797
188
553
434
244
342
846
804
128
718
162
850
601
248
742
156
695
84
263
655
111
238
772
710
276
311
448
516
775
70
846
758
493
384
889
887
89
425
872
534
753
662
742
731
943
314
379
458
524
11
532
732
540
801
714
2
143
914
824
992
559
424
107
670
708
69
623
51
419
584
728
353
606
266
647
344
431
681
708
409
776
944
22
37
95
326
861
85
689
69
960
862
81
180
376
11
929
17
196
434
150
626
375
298
534
588
46
877
210
547
751
987
14
942
883
572
910
135
643
591
596
269
603
558
450
936
739
419
874
238
926
104
693
769
895
960
503
124
770
567
679
105
367
843
71
896
580
516
393
287
825
782
572
440
142
582
639
627
179
447
688
300
574
585
642
784
454
564
436
401
707
322
63
189
460
58
407
358
6
196
132
407
248
64
740
56
102
136
925
677
10
466
862
657
797
648
820
717
309
550
548
240
54
71
543
873
314
582
99
635
173
196
420
496
885
223
708
539
650
627
140
765
972
44
754
559
587
745
840
255
11
389
99
923
655
958
582
779
595
481
355
3
856
869
722
911
858
44
93
865
426
675
204
748
317
780
776
169
48
336
673
559
623
146
970
7
209
140
309
972
229
672
667
955
1000
377
879
843
883
139
376
763
946
296
335
264
63
119
52
481
621
822
877
861
169
99
121
744
400
709
769
224
758
434
630
371
600
217
784
374
483
314
522
871
190
285
642
969
748
44
255
557
526
552
439
243
731
829
980
642
67
231
78
528
336
990
43
519
345
95
257
509
203
901
156
621
659
892
743
398
250
576
501
990
587
487
559
180
790
972
986
924
775
664
73
329
810
682
149
899
441
602
288
620
779
169
732
381
449
773
660
922
190
561
581
454
181
399
702
900
427
897
292
547
560
433
431
232
219
773
139
411
554
504
837
355
204
196
961
318
950
801
407
292
622
940
56
675
867
627
128
426
811
384
99
873
695
210
15
620
950
122
147
919
102
245
572
609
197
725
180
202
140
71
991
202
761
234
575
502
274
386
340
866
353
726
925
122
315
281
768
86
26
712
452
147
459
558
913
111
535
26
581
859
962
957
336
304
795
506
830
425
500
896
896
438
205
424
581
30
725
946
920
638
524
624
111
171
275
730
942
468
731
949
85
861
394
996
461
150
843
605
986
982
984
917
850
5
249
291
553
460
93
249
852
343
807
788
196
714
60
831
393
296
882
29
261
94
134
78
966
404
844
5
934
896
592
463
739
57
277
317
50
101
884
980
685
196
136
121
861
418
352
41
959
873
818
316
357
140
936
732
931
129
161
176
149
509
752
324
1
724
441
373
479
161
612
951
378
80
283
302
688
733
149
107
79
529
116
256
426
310
576
150
63
567
13
250
150
443
30
79
372
813
168
566
421
683
722
468
727
987
105
299
239
449
702
313
50
388
628
864
431
904
641
819
636
91
305
951
695
159
628
719
290
13
12
65
828
903
343
627
360
98
528
526
553
832
566
806
553
280
499
590
431
919
203
548
464
535
537
417
806
136
553
279
750
311
324
85
289
622
17
321
551
372
544
493
158
345
33
907
875
296
747
701
427
536
720
312
418
767
499
165
227
143
918
422
387
892
395
929
553
440
80
242
513
118
867
812
415
438
998
458
534
400
815
466
969
797
153
885
912
640
315
57
135
527
53
693
87
46
414
199
363
569
859
226
342
913
661
818
713
916
369
369
619
831
121
109
583
333
872
127
646
849
629
220
896
141
63
350
146
198
992
615
935
362
781
967
171
221
465
197
762
607
711
815
34
88
845
291
815
179
948
338
629
112
470
944
436
801
973
525
768
910
731
741
602
320
719
81
641
84
687
874
170
178
210
549
162
279
937
953
289
374
913
37
266
331
281
438
475
616
404
775
541
912
204
358
352
907
97
606
504
673
828
285
103
46
447
858
714
309
526
576
238
446
974
406
420
278
26
719
363
836
862
832
802
68
366
477
820
403
27
963
718
124
278
685
115
633
416
244
408
456
535
68
993
43
898
576
709
841
626
937
539
268
558
494
910
860
642
112
749
645
443
966
354
451
788
751
882
599
794
640
48
994
716
879
275
464
759
533
125
286
475
176
580
860
63
646
411
3
286
645
334
75
659
447
482
652
28
321
517
206
653
680
477
855
727
312
522
937
398
294
805
355
168
750
583
786
269
247
119
751
254
617
659
302
663
45
192
360
294
369
43
756
379
584
781
530
326
893
557
511
817
998
971
13
385
762
93
248
157
658
537
475
769
699
190
830
3
947
819
672
705
920
537
126
662
960
903
160
310
519
430
173
493
347
365
1
588
365
622
357
287
951
993
42
313
786
754
43
811
834
184
120
302
588
578
746
288
489
987
978
706
291
258
730
215
410
580
125
103
637
576
545
455
375
220
602
645
535
58
61
857
16
704
197
76
944
186
321
505
968
328
474
966
281
997
14
442
102
876
403
464
942
852
407
295
933
595
849
328
567
479
955
927
846
654
10
613
19
854
810
318
639
610
905
597
373
954
959
90
228
626
456
732
276
885
144
508
809
496
321
561
461
51
100
292
212
88
195
574
247
497
243
223
11
757
150
780
702
750
458
256
777
626
236
878
337
596
882
30
748
276
23
54
888
779
739
57
265
243
739
205
763
948
802
407
223
448
17
875
9
964
595
332
837
975
796
121
863
883
636
158
749
102
496
533
680
586
164
868
768
183
700
660
787
254
983
994
103
517
142
466
890
97
312
949
249
361
186
117
352
414
762
981
893
688
551
44
276
714
558
925
952
736
69
213
922
505
761
29
103
290
949
952
934
497
852
205
525
937
952
338
515
362
674
783
401
308
320
370
179
605
138
285
414
407
125
980
268
302
10
928
305
192
225
442
585
682
311
483
972
216
753
858
313
972
691
376
831
750
70
761
771
198
503
561
801
133
42
972
366
9
776
625
635
16
379
163
124
685
973
235
196
975
827
468
526
696
837
324
309
11
549
856
115
381
850
43
567
29
376
62
501
363
488
445
211
102
238
46
310
183
768
275
89
707
944
521
669
206
546
697
804
667
395
13
674
352
821
166
358
111
632
747
340
93
728
116
727
720
227
466
2
405
128
248
306
373
450
476
4
783
422
766
265
516
668
574
348
62
922
653
864
489
965
185
729
684
673
177
906
413
795
652
910
396
684
64
381
365
219
687
225
322
583
131
23
311
904
361
172
27
814
511
837
548
638
326
885
80
194
529
436
27
143
911
772
328
534
9
827
46
724
942
255
21
238
533
837
79
527
18
107
323
929
678
292
735
571
618
131
308
459
270
901
642
425
987
810
236
594
580
237
607
987
641
420
227
957
423
445
874
999
518
299
238
451
471
4
221
696
340
515
460
274
344
644
547
814
697
544
723
613
240
769
827
604
118
875
616
735
791
361
923
429
218
426
182
567
877
161
652
692
238
563
903
880
197
241
402
958
696
362
555
247
696
399
407
730
347
235
521
424
859
853
235
63
115
410
229
349
999
315
727
285
667
411
122
58
725
718
332
978
642
165
946
903
929
614
793
92
397
485
5
977
38
491
274
330
239
408
250
473
235
958
817
443
737
63
60
105
549
940
75
517
580
538
131
770
811
991
417
947
933
888
280
84
195
653
225
40
503
513
295
405
997
114
118
86
304
11
281
599
5
50
405
31
718
664
302
459
719
519
687
527
90
121
828
268
63
883
728
984
376
752
944
206
93
787
663
899
722
94
773
56
936
830
353
442
676
224
684
400
410
741
333
9
528
374
219
340
847
464
358
600
892
842
363
44
953
363
757
8
483
638
735
696
235
681
129
785
220
18
206
233
753
378
95
95
87
311
543
179
198
883
657
957
706
516
339
524
548
455
742
514
988
274
544
809
931
400
355
456
381
419
43
526
325
38
714
689
525
874
662
992
426
630
269
81
934
748
577
409
455
259
678
976
683
597
665
576
541
710
416
675
575
330
293
596
642
359
617
296
658
297
626
711
20
240
168
130
716
552
21
104
458
521
892
733
731
271
885
578
657
810
113
153
384
80
474
578
622
983
989
199
941
141
285
47
331
844
71
275
77
332
481
576
564
465
216
239
266
313
368
410
109
743
741
358
400
115
969
293
18
516
129
615
754
253
840
610
134
945
367
53
484
93
349
11
826
637
419
983
212
493
899
514
862
30
675
173
677
983
872
509
124
107
550
825
832
611
980
437
880
537
817
42
647
974
370
573
34
794
801
789
305
64
12
485
240
788
384
882
666
384
782
966
268
445
291
819
200
57
281
975
774
258
178
310
480
575
605
523
409
240
431
119
799
154
251
706
599
579
624
665
14
593
598
478
274
774
267
119
879
438
371
653
528
132
190
722
290
180
728
95
349
342
737
181
366
510
319
673
521
602
820
182
235
299
579
774
798
969
456
464
240
981
838
608
562
489
334
107
579
116
955
287
568
698
259
336
222
208
665
344
923
497
180
43
493
11
260
101
277
788
696
491
618
45
903
737
482
633
854
515
649
762
693
263
911
526
249
761
126
284
242
663
580
423
728
74
405
530
987
40
379
731
953
110
4
929
632
112
686
69
477
909
943
971
246
209
425
957
694
321
8
903
143
807
522
187
624
593
233
956
881
69
955
201
499
513
185
266
255
876
627
70
837
748
218
506
184
257
357
313
222
190
304
595
884
224
287
615
866
186
87
833
373
540
155
444
448
856
435
422
851
540
900
603
259
79
399
2
462
596
430
747
443
82
711
852
693
494
389
836
286
409
821
821
463
539
946
93
771
611
978
908
464
389
877
644
809
83
259
469
324
650
508
811
862
575
924
890
362
313
576
60
773
559
290
396
929
530
542
881
451
250
463
846
700
366
374
225
36
625
552
734
17
460
765
991
829
458
387
783
636
430
369
290
263
180
884
552
194
721
126
72
928
185
828
852
520
900
31
428
915
458
166
434
140
412
432
599
321
507
4
94
816
377
467
111
739
166
824
473
895
653
960
836
755
364
943
483
519
628
131
779
985
742
846
293
180
294
724
199
49
993
865
484
334
373
950
793
344
797
540
81
779
811
120
10
905
710
665
155
496
338
6
66
524
920
987
287
604
3
535
179
585
830
876
628
111
891
224
222
436
766
825
283
666
673
880
369
200
378
687
495
634
233
872
146
439
97
391
978
513
27
559
264
483
280
660
239
505
161
127
47
176
77
237
781
357
487
987
403
352
489
933
843
832
331
103
621
210
366
564
633
242
384
299
226
481
83
461
708
380
574
285
647
429
470
80
286
106
81
633
733
1000
400
378
815
20
314
424
405
239
661
616
452
489
521
512
625
463
261
614
199
344
452
44
803
821
164
660
605
309
937
383
358
678
517
60
975
756
151
761
615
486
205
330
353
425
877
684
730
239
896
715
482
356
879
875
146
637
423
271
539
729
383
775
376
271
139
561
318
26
744
920
807
103
261
194
8
392
450
189
690
217
664
822
19
727
600
581
532
345
314
34
845
962
643
174
80
130
999
41
18
258
296
895
549
368
852
76
285
490
730
240
701
43
898
854
660
615
216
252
131
787
466
237
320
406
302
169
475
851
677
391
39
929
952
917
974
559
59
202
105
652
508
528
388
727
968
127
317
722
650
880
253
303
662
836
689
724
729
959
746
646
337
715
287
444
403
718
138
224
778
76
346
847
389
72
69
97
476
782
746
418
197
99
837
946
298
292
52
451
871
734
582
957
590
404
141
808
542
944
597
719
209
477
933
736
258
639
371
318
434
96
766
717
99
467
722
614
432
11
411
555
645
465
248
826
789
929
413
558
552
919
56
659
819
194
182
327
533
452
693
554
723
516
936
51
611
699
950
405
980
405
924
111
706
972
399
143
937
100
13
113
824
595
817
536
510
590
552
270
116
693
61
235
835
290
324
881
85
710
723
870
466
877
154
68
589
508
751
626
548
751
782
502
659
758
106
668
762
804
582
576
559
272
757
791
205
832
139
249
788
876
112
169
307
918
706
565
721
325
200
991
290
438
226
139
214
961
657
891
972
510
381
923
119
796
836
548
24
409
616
744
801
733
913
587
199
58
74
381
917
219
165
558
377
170
387
335
757
574
912
630
365
144
984
872
269
12
625
518
832
566
508
660
971
958
890
709
844
482
746
238
69
767
516
296
146
929
2
348
110
11
57
179
1000
968
490
985
332
197
776
985
680
316
914
519
412
685
213
711
525
217
380
377
315
546
857
518
429
730
890
306
323
944
870
536
839
866
855
929
552
170
183
871
747
71
441
329
903
354
441
992
87
967
938
326
472
146
868
382
404
450
376
573
613
5
161
192
993
858
358
586
387
33
527
623
402
457
823
42
92
723
499
928
274
205
799
121
518
467
566
587
353
104
688
301
431
97
784
883
104
160
857
242
134
739
28
805
997
462
420
672
398
288
710
845
29
675
1
746
981
182
709
845
614
115
291
637
433
764
51
825
776
656
778
172
413
392
989
196
357
424
808
152
892
804
637
151
640
585
324
766
373
30
474
943
150
534
350
381
337
121
795
967
273
468
736
598
502
712
703
652
462
249
263
631
351
738
729
899
933
990
337
751
644
401
734
43
88
694
949
883
731
82
123
944
433
790
761
711
959
125
203
6
758
46
542
769
622
11
592
910
849
367
185
218
636
761
98
453
926
984
548
93
29
433
911
18
796
724
464
804
615
540
574
4
493
847
523
166
802
965
866
946
145
154
688
683
114
116
665
844
307
545
225
182
326
967
148
85
964
588
255
670
668
449
920
196
404
821
265
967
855
197
983
629
808
883
531
424
643
185
539
818
533
317
408
516
344
397
777
357
997
745
200
692
831
410
536
50
788
922
506
64
493
543
210
7
491
281
531
50
63
857
812
150
599
960
799
344
788
701
979
97
143
457
829
536
35
131
624
447
888
442
883
737
871
792
429
506
625
265
626
263
898
391
417
412
662
961
807
810
517
939
209
513
662
408
469
37
600
983
793
490
718
733
688
855
423
766
789
958
245
593
857
981
604
932
258
142
375
861
99
568
769
178
622
909
425
624
735
299
36
76
224
871
57
995
184
339
936
34
733
783
818
352
883
959
382
239
606
250
541
918
698
537
924
722
658
354
483
453
502
153
962
248
893
885
461
326
838
546
524
13
327
446
166
912
479
546
348
291
837
620
804
961
913
603
491
632
14
239
734
270
595
689
111
917
813
241
236
481
785
412
465
450
149
290
109
601
216
10
807
813
254
201
221
884
567
994
35
558
171
764
374
230
969
382
818
908
855
243
264
183
388
605
300
810
867
505
968
249
131
949
959
648
448
908
950
618
674
808
691
391
366
123
482
544
379
799
852
879
672
864
971
173
204
300
56
175
486
100
141
577
515
911
585
473
792
686
100
170
345
482
208
804
242
764
956
444
467
346
215
624
489
630
568
569
945
579
842
400
830
689
776
161
180
243
93
628
145
115
941
385
569
846
390
584
91
132
125
938
774
753
449
149
8
166
716
540
67
546
580
55
266
865
559
879
516
465
461
994
960
354
424
50
121
24
713
369
303
392
393
233
495
36
376
948
565
883
796
499
816
876
404
422
750
763
645
677
488
505
941
978
589
592
27
73
4
887
184
660
995
138
574
810
765
61
996
592
72
927
386
38
530
671
626
958
176
424
29
62
856
993
321
945
767
642
436
220
940
774
440
404
479
943
610
307
960
479
225
380
621
709
764
117
454
367
475
912
921
954
590
292
480
65
851
674
797
169
765
85
172
304
152
873
529
780
28
706
630
982
170
234
598
2
440
837
844
590
269
430
783
561
913
895
139
280
877
474
963
281
307
870
277
405
192
499
310
170
984
891
788
356
360
933
273
185
406
904
355
229
753
935
407
22
97
918
996
702
223
228
999
956
634
557
725
595
422
773
59
941
405
278
878
84
620
848
729
917
584
937
642
672
232
759
161
143
410
184
552
206
637
397
760
448
984
212
752
282
193
130
900
38
850
382
726
401
792
554
104
31
31
722
297
113
900
886
34
405
682
637
714
973
170
340
285
318
261
561
251
321
924
836
683
352
765
769
531
664
199
210
898
30
416
547
943
898
837
572
730
429
828
683
799
807
614
426
415
397
317
43
656
449
248
509
923
427
929
712
406
18
245
977
968
806
538
415
217
314
412
636
103
291
647
22
662
209
899
586
321
669
246
228
404
121
747
707
529
975
660
199
232
13
397
746
427
86
848
407
292
255
517
199
585
116
104
23
516
34
573
707
757
831
16
459
474
607
83
320
689
1
649
114
226
251
714
314
603
531
960
692
70
302
183
152
395
254
415
368
542
699
441
551
569
501
60
30
506
618
558
980
191
789
548
30
943
852
643
579
513
902
28
391
417
467
245
76
449
100
959
197
445
432
859
423
766
306
59
454
293
14
768
973
55
70
746
391
905
744
695
876
937
418
730
924
258
82
898
394
484
824
247
976
150
781
104
28
149
737
177
892
355
442
739
686
270
862
383
444
668
788
934
229
803
53
851
221
360
687
738
897
298
288
653
872
925
966
820
997
770
585
459
450
633
73
844
943
971
628
633
883
683
421
57
348
39
142
48
636
356
10
910
548
437
889
87
401
126
953
542
306
155
890
605
686
314
787
707
834
72
730
214
286
789
158
397
216
361
155
729
623
792
365
460
468
536
128
667
449
258
857
638
683
942
130
659
914
129
957
786
733
17
705
934
877
455
29
817
991
601
225
726
398
557
48
492
999
265
869
29
959
16
102
56
761
156
777
734
194
872
694
776
127
714
922
210
528
218
311
231
760
344
305
607
797
155
999
701
845
759
550
316
422
878
967
380
270
439
103
20
440
96
877
596
143
545
267
996
670
418
315
158
689
921
293
186
466
665
712
175
580
256
866
262
389
787
267
464
11
902
5
913
493
184
50
722
73
953
971
92
198
563
140
190
393
538
468
38
964
407
794
873
937
942
316
531
469
840
731
163
940
295
942
438
448
346
47
507
291
167
293
585
176
602
670
105
899
903
508
338
248
258
232
756
364
183
205
893
269
747
810
534
352
37
4
487
98
72
10
103
477
134
594
998
634
55
18
125
290
508
774
410
71
434
512
2
704
889
4
143
220
5
86
379
982
641
56
137
280
232
968
5
110
319
633
816
366
653
766
396
833
153
261
853
858
724
370
668
690
937
79
868
711
755
63
794
637
951
545
769
8
58
403
512
992
656
541
230
83
492
699
645
245
501
454
560
395
311
8
495
415
38
947
844
889
363
172
442
995
223
942
394
393
796
968
432
853
884
30
295
861
504
376
318
243
197
230
657
208
2
800
279
929
774
245
380
698
939
446
532
715
906
288
4
262
245
357
143
166
341
167
497
980
611
244
788
849
866
1
713
834
772
770
67
193
591
42
246
531
121
901
679
610
821
991
45
599
528
587
186
254
891
139
540
788
162
789
219
825
407
536
86
419
354
474
199
796
313
185
779
924
726
361
418
652
21
941
891
646
334
568
190
762
508
167
878
57
518
38
573
861
540
60
328
918
38
609
780
742
126
589
103
495
80
86
557
343
886
913
557
597
664
551
712
480
543
31
263
979
672
646
253
973
506
602
762
732
130
788
846
595
542
687
682
778
999
678
540
302
854
303
352
438
179
570
417
554
809
132
14
359
628
968
384
72
951
615
201
778
400
688
279
549
124
207
133
813
810
702
653
517
183
781
491
657
18
896
185
677
320
995
778
199
421
949
223
975
75
522
68
605
275
493
964
506
734
318
846
153
670
483
734
238
454
298
527
961
227
480
187
315
985
24
104
20
345
212
551
451
801
687
15
355
15
52
343
749
499
144
852
160
520
724
943
248
302
817
326
940
431
158
669
759
251
767
741
592
817
470
448
125
949
602
6
910
170
859
615
129
698
531
268
449
428
219
156
865
859
958
985
894
10
254
980
22
856
896
232
164
416
287
763
564
184
651
901
110
248
522
361
226
2
718
467
446
171
696
581
577
906
692
676
497
6
802
209
875
622
395
868
994
498
329
455
641
608
866
802
398
244
406
118
853
228
554
874
696
67
399
492
771
648
77
53
289
254
653
937
281
408
652
594
957
507
494
485
795
537
746
564
74
142
23
664
641
831
474
290
132
903
576
354
396
211
40
218
599
659
678
658
326
409
524
510
963
842
786
337
52
873
972
908
428
370
684
21
891
535
332
880
231
646
443
748
119
301
611
694
547
181
761
627
910
5
76
675
767
399
997
828
277
813
352
206
41
648
920
561
458
167
270
863
288
274
180
692
736
871
773
415
146
91
862
107
75
199
446
534
398
791
697
425
757
291
136
503
414
154
143
163
15
171
424
540
264
131
491
950
594
727
570
46
368
689
194
324
233
725
835
817
768
846
237
477
352
337
954
736
494
198
881
393
327
867
397
189
728
246
396
373
511
503
784
38
823
824
853
628
885
908
173
64
490
864
316
263
302
295
986
380
938
575
97
524
492
769
41
811
500
589
511
116
36
958
435
189
929
907
643
636
9
653
545
521
778
93
530
457
467
486
651
470
852
445
687
734
257
173
950
110
918
67
516
62
701
461
53
344
510
767
586
963
84
616
625
936
68
663
894
234
306
213
598
611
73
764
244
301
664
862
266
189
338
665
937
812
591
580
492
812
359
292
551
988
969
391
138
374
234
801
977
937
954
838
6
2
38
631
457
557
48
915
970
341
325
608
7
839
361
134
958
815
700
569
51
649
722
424
553
812
782
324
643
481
44
425
994
606
574
118
75
494
433
140
684
555
656
270
315
514
486
66
609
841
482
362
761
927
542
649
123
294
713
10
448
290
658
816
600
134
181
126
538
539
818
444
210
212
351
866
101
651
612
303
35
458
202
678
794
746
560
893
102
65
717
643
312
561
887
787
385
180
895
834
728
733
439
768
942
774
307
618
527
684
493
596
199
496
216
46
706
964
785
234
136
478
832
548
400
798
825
231
150
33
751
637
418
892
358
468
780
662
151
440
123
852
293
368
190
672
238
138
976
856
935
148
108
411
437
497
608
775
105
829
92
334
53
128
971
701
597
784
731
202
433
391
405
475
19
958
171
597
258
250
129
120
310
145
243
411
874
736
404
128
300
640
757
608
703
304
335
309
492
10
801
488
75
159
672
749
575
948
742
871
165
810
189
960
718
918
920
164
885
465
570
473
609
908
475
744
230
254
290
16
248
186
768
323
933
625
148
868
992
412
48
456
652
547
387
207
831
882
500
423
9
640
537
839
580
437
146
829
332
292
749
408
176
373
440
29
30
633
249
85
80
621
224
886
721
355
269
303
169
910
268
388
923
571
887
139
626
427
414
831
770
937
73
143
451
170
56
865
484
789
857
997
849
278
620
728
154
659
752
302
335
655
135
874
505
47
927
606
913
461
356
665
28
748
880
894
317
288
503
108
258
860
820
967
833
837
867
495
6
557
517
260
690
434
740
954
245
977
88
755
781
676
670
232
288
243
740
73
978
516
728
376
994
501
288
534
662
598
832
374
373
789
852
727
459
316
769
361
268
351
954
5
725
396
788
77
888
913
725
617
541
506
2
229
280
419
62
346
141
514
422
6
489
92
270
131
858
157
669
507
545
60
301
862
534
458
162
227
369
685
87
816
251
780
740
873
60
643
360
923
721
995
379
368
706
867
901
191
94
876
446
611
422
381
734
897
917
30
208
336
622
938
494
956
901
607
11
408
423
302
392
487
577
567
712
185
356
14
966
833
484
832
635
69
149
914
431
223
369
133
100
870
659
120
198
889
662
618
469
588
927
29
387
553
219
724
357
315
774
537
380
364
584
137
211
917
551
403
406
627
995
654
763
403
334
271
7
608
458
556
50
230
814
66
353
97
982
139
405
803
155
934
762
541
661
722
908
591
343
776
569
481
59
945
222
767
161
678
888
941
834
828
133
285
949
274
515
627
773
861
223
999
78
307
676
7
682
187
142
353
892
580
438
231
456
543
583
126
835
265
770
541
341
534
848
508
979
236
323
5
135
20
162
301
756
809
599
603
367
670
129
773
664
240
116
397
265
64
315
960
816
325
22
218
112
992
220
455
854
827
168
58
486
624
381
272
15
346
376
656
554
325
819
783
370
633
344
156
636
785
447
119
633
324
74
267
991
687
567
948
257
848
29
131
240
282
195
950
60
945
7
758
961
684
946
483
592
705
982
495
390
792
680
527
692
956
208
138
242
484
48
639
252
465
591
152
139
596
122
572
775
488
705
618
294
871
688
281
151
449
226
869
38
888
883
342
717
605
357
900
211
841
793
256
212
858
17
970
713
54
38
144
597
114
69
90
859
488
44
833
575
590
352
66
493
735
536
188
113
108
867
258
128
249
450
989
542
22
906
432
319
956
166
160
334
66
782
673
566
101
586
615
466
884
825
636
934
640
434
404
825
989
524
474
974
740
446
822
908
593
670
390
165
939
568
170
775
526
471
186
962
580
535
866
586
345
933
460
98
627
433
929
403
71
655
674
689
533
515
726
507
49
589
31
899
948
526
78
215
689
613
687
655
753
392
942
202
196
926
751
603
243
742
598
647
655
181
65
209
148
229
858
420
802
891
653
664
163
460
480
844
420
558
657
637
413
980
794
974
303
941
761
530
661
428
927
322
184
562
951
983
99
789
346
101
950
829
631
370
854
353
624
844
463
225
643
734
921
143
119
954
875
502
884
764
158
18
33
134
293
467
780
80
849
790
499
79
73
505
954
567
711
922
96
260
594
860
397
188
568
443
169
516
299
595
958
22
497
396
333
448
448
42
341
54
175
607
459
709
167
573
953
770
819
462
359
401
725
736
623
43
30
862
122
887
965
171
16
117
213
661
995
377
990
142
650
610
646
493
838
290
356
626
214
477
541
331
893
258
912
431
165
230
979
531
829
296
730
811
248
360
905
435
668
100
23
725
446
666
414
874
397
212
85
102
105
588
397
168
191
638
76
581
662
641
387
657
961
556
835
912
468
621
392
268
257
179
629
745
359
401
664
15
734
15
183
114
992
857
375
450
886
224
6
421
110
622
321
336
708
474
273
559
262
432
732
790
248
144
148
741
497
385
157
406
48
371
810
712
754
325
87
303
426
642
648
271
432
354
402
461
96
914
59
963
61
857
834
24
998
477
23
106
48
551
402
825
325
665
821
888
180
992
961
870
320
992
603
396
571
882
97
488
519
777
873
791
635
265
466
124
744
993
620
12
922
613
473
359
29
811
724
338
362
368
545
47
990
750
18
356
601
526
627
835
875
35
554
49
618
523
797
671
775
521
846
676
820
379
289
45
777
608
593
580
295
621
85
546
298
495
766
515
738
882
594
659
560
909
887
338
521
245
87
104
581
214
269
423
193
294
433
478
812
310
35
957
744
767
168
13
966
936
92
699
400
592
320
538
412
440
565
348
442
591
835
635
694
756
651
501
72
7
343
682
751
787
96
410
260
901
103
456
389
375
111
914
49
154
242
939
574
927
373
668
333
65
965
336
217
826
663
761
289
774
802
207
529
992
183
738
537
992
568
673
164
463
183
816
132
861
218
216
56
971
599
938
52
474
12
413
484
794
3
92
953
80
343
478
513
152
129
128
478
186
955
400
198
225
608
594
887
792
940
395
361
630
22
572
579
926
310
870
363
135
958
719
470
719
265
58
198
627
326
894
620
607
124
949
699
31
821
421
100
312
446
808
792
819
190
150
218
99
602
831
51
520
297
281
64
628
981
148
319
936
968
353
189
726
170
456
653
769
11
770
568
559
543
67
769
517
459
447
536
839
76
637
164
560
273
649
413
480
807
170
960
849
864
467
59
472
342
709
990
677
536
577
642
658
276
77
759
596
182
754
315
725
705
974
888
33
133
664
866
570
939
558
777
964
439
463
884
798
563
559
624
532
312
666
680
196
2
202
149
136
78
701
3
854
996
97
30
652
541
125
149
883
633
937
381
472
816
330
397
933
961
314
348
482
930
732
289
614
123
79
802
141
551
877
406
74
941
759
399
526
602
502
163
679
233
584
370
6
677
373
78
255
187
510
162
426
592
574
983
496
397
52
805
362
832
743
95
791
771
413
621
250
709
916
319
79
810
745
614
847
445
71
425
175
584
233
119
347
789
978
764
302
234
61
325
539
518
546
296
925
861
268
923
708
362
192
249
387
533
251
614
17
299
255
144
153
595
277
438
88
310
664
535
629
615
42
473
562
91
723
24
263
498
934
776
442
538
11
783
973
25
562
526
740
237
679
945
465
784
125
346
608
462
885
526
81
800
874
457
413
136
185
905
825
22
222
379
819
530
444
450
925
303
219
605
976
475
933
373
104
176
782
207
394
870
284
241
76
666
851
578
154
607
571
704
673
270
741
29
314
104
667
651
722
439
181
496
803
844
275
526
295
3
191
100
254
137
6
155
291
193
889
542
746
493
115
771
22
444
354
505
645
393
683
287
34
348
289
904
262
765
155
128
131
544
313
939
677
220
751
988
396
991
268
230
857
880
294
309
398
400
88
915
914
382
931
908
631
947
371
311
374
912
179
675
115
140
357
734
472
863
614
499
784
607
837
83
574
911
59
334
390
171
172
960
412
431
205
995
978
861
344
376
67
391
706
713
387
155
413
866
183
210
956
681
164
337
518
534
799
690
649
170
984
777
57
466
626
280
220
206
879
967
891
365
208
798
340
173
474
403
87
982
17
578
507
793
426
753
561
733
551
209
360
935
179
342
674
514
939
199
798
863
591
124
735
978
666
184
907
248
172
706
716
447
312
260
79
277
375
98
17
467
770
61
908
850
290
224
223
215
741
551
90
6
394
269
999
865
116
2
919
267
966
493
954
283
874
15
320
64
50
766
837
19
255
542
422
663
900
630
864
199
348
391
322
440
403
395
915
801
174
407
737
85
533
355
80
576
914
936
678
954
448
829
364
435
178
827
647
502
401
383
29
394
878
694
615
964
350
709
599
399
564
687
936
599
762
988
483
245
517
369
508
74
615
664
422
322
687
249
166
667
61
452
838
627
585
900
591
514
451
390
470
517
51
703
219
81
691
26
710
105
735
5
640
963
102
68
847
457
75
570
229
393
377
707
196
346
906
557
747
370
872
600
36
470
969
363
550
457
440
197
107
937
335
492
506
917
106
642
209
714
444
475
372
406
826
386
790
403
611
607
941
778
832
703
918
396
690
231
467
449
360
310
490
711
456
840
924
138
148
858
489
595
587
186
715
715
224
913
587
51
417
452
282
632
153
871
833
785
327
647
115
923
687
348
784
975
995
579
448
938
466
871
980
394
292
771
697
866
955
698
508
412
529
166
134
516
456
936
913
540
995
534
288
731
554
661
820
780
282
868
284
370
723
643
56
504
293
231
675
564
518
450
438
74
809
330
966
187
58
43
396
845
397
170
923
58
532
859
194
266
263
25
543
269
21
639
646
995
655
544
167
734
308
419
553
26
779
656
82
971
279
883
145
28
479
906
714
316
883
37
967
262
699
178
388
364
501
148
202
704
822
267
953
540
265
822
590
403
956
843
164
90
308
995
114
525
388
397
540
479
615
111
167
10
97
225
696
848
848
379
194
435
69
415
779
735
73
496
596
42
618
662
338
950
973
518
507
340
474
957
923
333
388
876
208
172
21
228
864
255
631
757
955
670
516
3
251
82
598
533
661
195
922
884
319
813
923
560
218
921
166
172
412
367
717
737
750
125
774
947
629
221
356
312
346
369
689
207
573
499
441
465
528
81
973
954
808
775
20
155
855
733
964
994
457
935
994
188
111
252
5
301
39
303
840
950
523
871
58
51
252
154
228
132
407
500
419
226
191
417
328
280
52
549
97
614
809
389
592
16
758
664
287
75
650
907
85
839
106
679
146
221
725
885
186
742
726
564
490
453
903
321
57
955
597
591
243
109
41
911
992
367
840
59
170
880
403
315
159
63
573
269
387
40
394
803
390
577
963
547
328
545
616
97
673
925
164
336
490
580
745
431
203
877
218
480
424
641
478
12
721
270
728
880
547
941
462
101
96
116
595
35
65
707
353
249
471
486
444
227
727
835
76
45
206
836
200
808
635
326
521
893
627
253
474
997
811
193
272
864
517
814
475
838
25
448
94
185
152
553
975
835
784
413
237
362
763
17
202
307
633
804
195
301
876
988
367
547
566
899
397
151
507
812
130
132
691
310
538
372
226
485
852
549
653
821
879
98
812
909
479
861
985
83
461
640
650
451
971
287
929
177
761
830
877
185
71
580
391
151
959
772
613
760
312
372
637
862
861
892
438
430
482
263
505
686
664
743
585
869
879
25
563
908
39
655
688
302
311
891
32
274
793
759
62
543
838
974
67
350
979
267
651
401
756
514
995
241
101
300
862
635
801
240
177
641
213
563
683
810
831
483
529
742
697
577
400
754
936
804
961
174
160
642
409
739
508
146
644
395
423
800
719
265
756
782
711
8
74
313
535
702
145
140
871
969
303
300
273
792
445
274
718
494
890
900
977
265
840
510
227
611
216
284
625
950
168
171
458
721
70
131
776
268
644
986
399
328
810
824
590
300
434
636
261
529
64
438
704
432
22
68
450
873
429
348
244
855
973
441
623
828
738
446
856
708
707
683
324
84
346
786
896
610
785
58
182
633
839
967
904
893
355
442
274
716
519
676
685
538
738
182
219
344
297
151
812
618
900
496
146
365
631
254
398
461
492
881
908
686
823
442
810
505
409
993
221
785
4
822
432
59
408
221
500
664
876
764
736
325
140
625
654
652
638
692
550
648
367
332
507
393
281
412
964
900
36
815
359
834
978
330
945
28
300
797
164
736
894
26
583
837
783
645
586
884
267
959
563
150
434
159
238
577
858
620
923
420
173
785
200
497
771
355
119
985
519
495
534
687
994
348
42
723
531
728
556
692
929
533
309
404
40
204
158
135
899
867
933
475
640
132
306
53
44
185
195
310
622
735
868
442
459
460
746
937
748
926
203
427
827
753
947
527
855
896
343
154
529
325
602
505
381
111
605
329
498
605
199
751
416
822
588
810
314
374
873
435
337
829
626
626
549
691
414
52
731
71
109
225
435
463
549
844
476
938
803
696
125
640
631
409
81
818
832
616
39
521
345
897
841
928
216
312
141
408
272
227
563
359
585
379
697
483
665
789
790
937
332
98
719
641
276
230
27
509
573
365
4
391
722
393
757
545
855
26
136
500
812
309
431
424
54
158
997
343
12
662
879
507
690
596
619
616
560
936
988
642
126
481
806
309
262
827
858
199
960
697
561
150
657
579
171
287
593
57
349
535
885
217
600
274
160
202
607
72
913
605
210
787
620
953
840
468
291
374
186
533
428
797
750
669
444
731
448
301
857
457
459
908
732
437
338
154
771
95
956
150
579
997
90
615
724
924
996
410
465
529
927
216
156
205
811
413
83
335
325
960
586
723
603
388
482
50
442
225
394
698
489
465
566
656
491
517
803
527
397
727
565
362
680
962
275
806
449
404
299
718
135
838
432
124
358
94
56
117
197
680
482
438
847
241
29
251
715
695
853
741
956
951
830
730
930
376
592
9
849
454
715
837
55
35
814
595
573
849
290
285
986
948
807
913
348
467
254
234
177
900
479
730
506
275
284
230
750
360
344
377
422
24
906
75
425
199
393
283
968
236
622
160
356
979
48
459
194
446
162
514
61
580
276
258
478
322
178
736
34
479
430
930
121
186
421
642
468
606
339
79
469
161
361
232
642
313
653
948
21
240
439
687
168
625
348
665
452
770
679
63
295
104
470
557
490
211
251
857
706
164
866
48
890
696
90
152
148
410
252
252
29
700
788
676
40
326
262
454
752
924
600
744
120
321
742
118
51
336
794
638
410
736
892
24
542
561
409
319
517
222
128
18
471
865
891
941
851
658
431
101
585
317
291
744
649
128
413
5
246
489
156
255
357
199
748
46
2
213
59
331
325
901
600
773
581
71
517
377
989
43
98
189
209
938
632
387
79
807
456
289
787
291
343
722
544
695
826
94
812
923
698
546
35
820
45
47
303
831
342
235
327
346
392
132
322
334
484
668
983
452
14
635
583
213
924
705
789
264
550
598
694
267
671
135
534
365
169
996
876
305
287
758
139
534
982
965
723
568
617
922
510
812
819
753
546
204
769
880
932
25
85
692
208
401
777
64
98
801
801
868
705
652
710
814
122
549
156
614
286
31
846
535
174
754
407
538
9
737
88
497
86
622
184
480
563
157
325
83
640
115
720
484
610
698
66
796
296
644
800
823
568
818
662
309
691
232
324
949
411
805
640
138
714
67
418
159
300
257
214
374
460
398
167
746
899
454
707
898
95
958
494
523
896
446
507
565
758
284
483
408
207
60
944
462
226
486
290
658
858
283
118
886
876
555
787
908
371
211
663
226
225
305
711
985
266
3
125
40
924
382
219
97
286
73
624
38
41
164
49
910
537
592
72
756
422
523
651
18
790
209
822
443
498
760
285
772
185
810
254
59
639
15
873
533
601
282
979
642
663
41
192
752
502
701
924
643
307
559
192
1000
170
114
340
629
221
544
959
259
958
998
16
939
950
749
28
85
432
255
842
147
525
58
93
715
13
853
422
598
375
716
747
435
487
978
602
810
388
475
340
527
710
147
362
331
200
424
402
481
636
391
935
126
537
282
634
109
34
606
525
426
997
82
296
436
278
578
269
250
618
737
339
661
812
288
385
632
919
513
324
658
92
214
557
163
128
47
409
648
242
811
266
942
481
138
122
975
745
567
699
882
784
822
244
561
718
41
183
642
909
490
57
174
795
354
379
123
278
507
347
378
440
414
43
869
264
974
401
967
122
821
999
804
596
22
890
382
15
635
223
187
684
584
767
955
950
282
398
588
637
385
394
637
680
468
705
483
174
369
355
743
658
910
641
558
603
224
798
642
182
786
422
64
612
705
952
517
253
121
122
318
759
862
349
616
888
389
315
607
1
942
577
781
599
383
32
584
925
31
919
468
610
320
473
368
528
596
406
822
720
849
161
408
113
820
818
377
274
612
141
501
743
69
967
850
497
164
728
83
933
750
41
450
317
999
462
646
818
921
708
157
547
56
266
850
779
732
88
367
695
789
193
372
977
895
905
36
432
910
909
519
533
940
844
983
852
367
573
667
797
991
86
417
19
667
744
941
104
169
923
205
190
64
755
586
840
561
374
399
852
287
288
228
628
401
355
79
600
156
955
450
654
667
337
505
599
337
380
443
161
163
953
584
333
294
796
689
243
777
658
388
653
194
750
133
351
66
542
188
351
409
627
598
791
981
214
856
79
631
542
425
582
658
916
652
288
345
242
781
869
272
704
476
634
927
393
766
664
249
858
543
261
257
25
255
325
274
283
591
302
149
305
375
890
281
790
648
11
363
601
841
911
804
780
459
834
900
829
403
595
438
470
450
134
796
585
630
647
970
486
906
656
294
648
869
464
70
82
210
836
324
211
223
959
600
120
655
709
512
889
247
657
186
990
547
711
558
402
255
147
379
417
755
344
320
946
876
34
91
768
525
861
235
48
981
407
675
76
78
484
23
34
10
451
916
276
251
843
968
352
437
763
448
71
353
220
198
861
893
888
703
609
444
589
191
267
512
858
973
727
821
696
977
588
672
907
753
152
428
670
113
318
999
912
741
762
148
749
181
809
199
384
181
250
237
298
758
871
79
537
799
169
803
168
208
592
346
735
300
314
444
831
666
601
970
366
456
338
269
478
30
513
567
154
999
486
829
765
363
994
941
84
346
442
638
385
247
726
929
111
449
342
85
758
755
991
651
531
362
429
45
952
981
811
544
925
132
422
913
646
68
147
515
106
172
630
349
424
133
901
350
992
460
155
597
484
872
497
155
568
518
199
83
251
891
307
577
48
855
469
686
196
671
764
184
94
92
442
676
993
147
853
396
980
759
494
803
961
829
576
638
20
789
303
451
203
276
49
81
149
90
12
144
29
292
444
907
135
499
733
354
79
518
886
756
825
67
419
981
610
351
686
911
36
610
32
443
387
147
722
370
256
637
26
538
114
497
644
439
9
527
516
916
704
362
169
621
536
592
482
20
206
629
158
972
357
181
763
724
469
458
774
608
996
929
694
590
448
419
549
788
870
767
542
11
380
190
299
388
675
963
537
336
878
927
443
656
873
690
746
377
947
572
59
904
263
79
619
692
334
476
851
201
814
966
592
905
98
989
838
853
524
108
312
161
943
844
327
281
680
723
21
702
595
810
885
930
266
298
174
156
752
733
211
269
186
212
861
802
162
854
212
149
130
837
900
452
595
833
77
248
305
699
538
997
630
400
114
649
208
419
453
43
288
259
794
922
33
784
262
405
317
426
288
585
922
746
58
413
981
883
672
295
813
331
653
792
507
740
244
155
500
667
985
446
425
417
529
437
56
221
62
631
875
536
228
528
861
416
476
926
594
341
399
127
965
812
239
95
303
794
495
409
376
322
917
394
889
612
575
403
747
436
496
580
90
403
486
226
966
340
644
909
303
703
16
642
63
786
962
160
559
912
424
608
775
896
520
300
876
73
179
146
803
932
662
789
536
304
385
754
438
695
430
218
573
994
965
693
24
116
62
87
28
189
306
857
171
195
787
905
2
329
629
10
498
463
205
632
434
387
234
44
994
77
425
646
650
598
871
745
633
299
159
485
867
186
848
957
77
783
310
800
719
198
729
600
702
957
880
2
524
264
701
413
286
941
55
469
349
315
73
767
703
196
618
307
431
976
575
357
293
100
100
152
901
930
132
476
623
188
335
596
838
750
822
572
46
842
379
553
690
898
773
295
140
123
669
382
946
577
449
134
144
794
605
253
107
333
162
415
153
378
407
73
221
443
368
770
994
904
514
881
457
503
192
816
420
304
801
603
312
818
550
676
986
925
875
740
345
372
103
414
904
83
384
222
636
93
856
653
251
209
113
950
580
182
255
44
511
223
911
776
295
833
861
452
545
815
979
483
671
837
164
285
869
982
899
573
188
556
692
715
838
924
809
381
862
717
105
504
221
473
773
899
662
141
887
886
654
464
82
871
657
801
49
616
814
471
791
605
946
922
641
398
281
186
34
6
577
933
96
510
34
782
191
528
311
916
413
218
107
127
307
176
740
234
234
228
518
487
269
942
552
398
804
786
124
979
166
436
777
727
547
330
773
663
673
96
343
228
676
671
251
442
200
893
175
285
37
118
139
145
167
941
495
366
332
962
234
537
54
4
153
874
659
229
217
433
611
626
887
350
884
341
805
473
107
961
259
823
907
346
850
603
449
115
683
6
718
100
261
715
26
397
951
519
663
55
515
199
480
259
70
400
412
133
37
497
505
558
444
543
668
358
155
503
864
268
951
799
388
669
84
521
973
38
372
715
4
10
579
573
500
262
553
594
848
629
807
211
444
132
678
30
29
826
138
507
864
37
139
778
393
464
364
938
681
361
898
358
952
323
741
617
606
682
278
703
526
259
533
259
30
546
253
879
194
827
769
417
156
129
715
302
5
217
392
297
709
627
651
511
315
918
443
256
818
8
28
564
23
792
823
426
416
658
244
440
312
937
68
370
589
674
1000
203
975
360
674
325
395
357
574
168
114
429
915
189
311
386
974
888
940
75
473
470
641
766
720
159
556
533
181
938
706
621
109
988
299
597
412
562
630
111
624
1
770
127
613
483
576
717
92
887
283
515
33
331
457
971
169
850
204
496
817
723
228
587
855
318
358
338
330
389
414
304
993
656
878
307
638
252
335
163
638
839
631
58
662
917
19
235
885
974
619
389
318
937
134
650
880
404
994
153
505
830
940
736
34
175
199
864
872
160
572
106
747
295
196
321
631
156
830
119
401
945
120
801
588
867
639
848
521
423
161
818
471
56
28
195
373
176
356
863
834
579
872
922
438
893
862
704
348
925
934
355
862
150
839
730
581
514
903
489
44
739
146
791
787
159
187
422
154
228
987
828
228
551
67
242
895
984
297
705
783
392
955
45
324
721
65
95
441
237
578
60
397
299
964
655
769
435
581
388
637
308
543
723
546
657
437
547
433
167
228
947
690
577
280
297
719
739
446
344
930
459
957
158
88
345
953
537
98
28
26
209
131
496
541
404
514
448
636
884
46
785
166
571
148
186
96
140
987
31
416
959
629
742
65
17
651
724
738
409
994
675
191
881
804
138
143
391
10
1000
812
836
265
347
498
904
323
375
48
475
747
659
66
927
370
992
244
925
513
681
79
184
930
914
537
260
167
713
463
415
458
614
832
561
68
757
45
670
182
278
188
955
652
849
362
906
65
31
159
828
518
789
882
126
996
542
877
430
126
694
744
453
192
504
800
545
303
237
181
306
424
748
211
110
1
20
319
160
859
412
652
795
787
340
147
412
1000
910
565
360
694
949
876
587
86
92
344
950
110
4
63
432
979
510
292
320
694
880
567
486
363
967
374
588
202
634
583
481
492
778
527
50
356
680
821
364
498
224
451
681
126
964
896
46
502
128
207
246
664
458
640
821
434
81
421
934
308
49
929
23
42
369
715
328
442
252
385
893
942
437
948
263
33
506
33
515
96
759
379
832
348
902
847
950
739
852
953
629
346
402
224
720
887
103
818
183
317
794
356
769
687
435
435
386
981
662
434
258
741
479
877
147
42
605
536
466
878
262
27
547
122
202
166
641
44
633
636
775
813
577
296
432
239
789
309
813
523
362
375
740
623
961
662
577
254
511
310
782
335
378
190
700
857
328
320
926
977
498
675
615
902
485
889
54
330
306
329
771
57
188
751
883
807
308
626
899
487
979
349
514
129
302
674
742
688
691
52
1000
469
726
257
825
751
304
677
805
134
961
211
891
485
195
440
148
70
797
356
586
118
615
282
793
387
318
738
891
703
638
38
825
963
523
589
419
264
367
403
268
101
496
805
77
967
105
791
793
896
604
800
429
849
124
123
478
169
283
669
240
887
188
397
29
59
439
206
353
253
338
226
537
883
817
43
333
270
809
192
8
7
18
234
352
391
113
759
119
38
545
191
983
737
479
249
992
859
426
387
626
124
120
867
950
282
573
300
793
114
944
124
666
35
926
804
376
205
27
992
607
318
939
44
287
152
303
42
542
520
936
694
958
97
84
440
246
88
159
97
26
185
717
289
486
8
580
76
478
38
703
331
267
946
878
895
79
175
55
984
647
109
914
401
193
521
826
815
690
520
684
277
523
880
355
97
129
233
62
699
507
511
379
422
823
344
527
426
327
83
618
971
474
84
736
78
863
482
479
779
976
206
696
765
458
882
922
27
401
938
307
839
480
651
889
890
213
373
651
390
67
428
994
474
869
873
121
244
982
103
477
942
470
337
776
363
889
752
309
245
970
980
464
243
737
573
746
696
933
136
115
50
313
311
672
354
549
783
240
524
326
92
675
233
165
91
232
157
471
832
15
425
338
70
785
19
257
233
401
277
565
627
848
69
676
487
877
692
681
897
976
446
87
342
348
89
903
342
304
13
335
263
198
811
197
539
194
278
478
564
362
755
881
158
596
573
227
564
199
803
6
904
224
708
704
208
156
345
74
23
74
678
73
983
422
236
979
463
465
918
160
121
788
700
609
692
73
460
704
208
350
631
558
446
926
441
600
583
310
961
409
809
429
337
650
468
588
717
794
199
750
702
355
874
800
415
727
843
223
59
322
486
426
115
656
838
866
253
653
902
631
351
765
219
73
15
116
867
605
737
327
557
154
116
914
740
389
226
193
989
224
321
906
628
210
881
393
313
624
902
651
188
78
630
275
382
518
954
413
725
585
329
13
41
186
135
834
570
706
555
977
592
147
126
684
330
696
237
803
643
446
635
46
329
944
387
133
365
237
135
971
644
788
39
682
365
704
929
843
485
549
487
787
431
1
330
233
431
504
661
589
717
265
821
628
445
541
590
886
547
118
521
142
159
602
184
701
62
699
778
908
725
615
872
381
409
169
348
414
602
291
5
168
150
897
4
331
63
447
126
20
747
233
402
908
461
109
333
51
78
425
631
931
834
600
783
707
160
175
319
729
737
899
47
424
811
544
955
235
489
886
249
530
275
215
47
183
9
1000
863
182
395
588
227
165
213
784
192
543
603
249
426
195
321
806
266
737
917
620
633
30
961
166
379
43
290
75
829
724
389
677
720
413
941
295
47
536
617
305
702
447
326
740
786
905
560
328
782
117
454
205
437
335
62
669
836
617
997
5
726
852
290
266
853
466
868
235
98
972
433
166
818
856
134
261
710
669
31
576
235
985
610
212
578
68
67
279
530
616
890
194
837
958
688
658
183
420
228
79
363
343
181
271
720
365
523
42
190
345
7
13
279
75
989
348
170
451
240
570
439
937
878
363
39
152
832
446
158
209
707
46
693
911
639
861
151
321
598
731
393
636
129
188
18
329
874
216
938
686
925
319
580
875
676
779
969
287
142
343
489
10
478
545
845
907
408
768
237
907
205
725
850
589
247
606
625
187
78
817
687
423
546
843
991
315
85
623
27
638
269
797
382
330
283
320
617
405
811
510
180
708
101
667
83
837
349
324
489
933
937
987
780
594
764
9
407
366
591
201
635
235
975
451
683
269
399
119
670
40
441
183
688
723
202
963
404
805
378
514
874
106
851
646
461
458
61
811
284
248
780
594
237
47
607
846
181
101
134
358
531
628
426
738
21
894
395
429
176
333
793
267
72
147
44
374
984
476
108
536
217
256
144
148
418
710
789
472
681
631
799
774
97
801
592
365
403
975
179
50
249
660
245
772
990
457
166
911
583
719
236
970
329
412
326
10
56
33
952
393
193
340
127
923
818
513
919
223
58
830
763
314
120
77
542
10
658
487
827
41
347
636
95
215
531
303
787
196
434
415
124
506
724
736
45
60
249
159
590
861
264
960
82
855
799
340
677
936
870
225
484
362
534
789
266
261
506
973
906
693
553
966
72
369
546
548
259
837
377
97
146
132
667
945
166
667
17
98
706
218
162
218
719
262
734
110
557
860
601
680
166
874
139
203
261
613
283
542
914
890
605
83
338
191
80
35
755
362
799
932
963
789
750
625
596
449
978
287
582
526
554
475
209
881
431
425
146
283
968
22
995
663
568
840
884
385
64
463
639
423
659
869
396
966
645
517
917
866
934
427
199
84
265
868
574
689
581
134
888
549
718
876
68
154
56
245
529
699
444
566
58
877
355
848
237
503
481
121
524
20
981
45
931
608
178
422
29
604
359
966
658
278
954
630
436
885
264
322
776
965
650
178
661
710
482
187
345
80
166
686
973
914
205
823
18
283
863
572
203
562
313
179
589
103
485
185
456
654
854
864
986
716
461
791
282
545
406
976
881
110
1
335
725
538
900
973
579
466
693
59
94
258
729
967
741
571
955
400
132
948
496
987
418
411
621
446
582
610
15
97
312
754
982
173
312
324
341
876
136
308
866
116
944
959
804
690
91
210
3
128
856
449
19
616
182
780
867
834
430
949
868
102
528
185
421
240
478
84
211
745
760
287
986
803
637
586
27
433
810
610
747
408
603
438
129
27
821
460
556
48
265
186
814
601
631
769
123
515
932
223
873
270
174
735
824
927
772
311
992
564
967
486
356
953
787
878
576
607
780
154
224
604
239
551
274
361
868
279
876
176
946
590
73
981
856
987
632
105
40
358
479
148
312
535
597
800
799
495
755
913
431
78
453
801
345
407
156
219
71
230
37
407
756
746
940
176
369
634
729
179
234
993
508
3
22
835
877
439
360
20
52
778
624
37
443
80
596
619
414
763
180
54
447
536
85
121
278
978
432
81
434
317
468
962
448
644
967
633
578
921
735
427
252
214
708
872
653
47
202
973
111
184
733
343
871
376
55
938
456
94
412
679
200
487
846
360
827
360
711
683
715
795
285
765
98
553
916
566
789
739
921
245
223
268
718
495
443
756
878
842
792
162
678
928
178
820
916
465
625
406
305
970
855
743
929
464
490
657
902
718
135
506
844
808
852
434
457
610
151
447
540
49
786
90
642
859
387
285
23
156
812
252
184
459
550
845
97
342
139
585
307
807
798
385
556
724
637
790
982
344
3
601
905
234
558
23
985
382
619
847
774
248
648
542
699
749
4
754
734
290
535
819
310
419
388
86
717
797
186
450
326
392
333
99
590
669
526
316
698
872
570
171
432
673
114
632
892
844
768
480
469
260
613
975
269
140
291
399
157
255
908
585
410
320
467
884
233
234
692
96
758
743
74
866
124
118
264
761
43
948
19
880
993
885
168
714
333
390
285
850
669
137
929
401
614
783
38
30
827
718
124
3
807
30
159
167
200
586
862
752
816
651
286
482
950
1
632
128
442
912
951
517
475
550
936
360
787
861
766
9
882
326
544
993
116
260
944
539
765
205
517
468
478
469
637
466
312
154
373
407
836
519
626
775
704
713
196
350
706
404
313
27
763
836
929
844
901
584
507
84
464
709
229
628
41
782
938
451
707
223
71
462
626
280
501
424
461
219
15
393
794
941
55
102
924
3
639
298
785
83
440
110
509
924
83
320
831
417
22
712
671
651
204
573
87
592
931
951
411
879
891
520
312
811
329
274
751
557
921
265
638
946
973
461
675
396
350
263
200
115
242
47
770
14
275
66
62
304
565
91
578
6
965
830
116
148
695
691
623
2
582
16
796
895
84
327
997
99
335
920
727
793
4
702
856
803
831
871
152
691
217
406
803
643
318
512
402
373
318
615
400
506
294
829
663
574
907
33
788
86
866
185
621
137
898
377
17
324
971
655
733
684
85
419
180
361
117
175
26
415
454
210
111
690
335
222
509
305
569
192
919
58
142
746
784
279
686
130
67
444
321
582
882
597
439
774
881
935
354
507
734
874
138
96
344
292
593
723
765
333
394
791
282
614
217
484
635
865
573
406
653
834
53
318
317
966
224
492
63
583
153
251
778
672
435
933
254
588
597
337
441
445
672
582
216
277
923
769
817
91
951
41
948
689
780
397
100
872
408
443
501
637
845
579
31
25
509
917
352
950
633
167
265
459
58
469
208
128
46
772
294
117
190
601
757
184
645
335
309
461
521
245
136
406
399
126
51
784
684
443
475
416
733
85
167
772
474
859
49
489
755
939
847
417
663
19
479
354
817
912
725
351
712
440
346
649
215
212
109
83
159
473
611
650
954
771
943
809
725
118
277
94
109
113
462
840
800
295
779
984
583
86
41
588
75
945
489
858
634
597
937
414
55
295
511
982
53
144
609
857
605
261
349
498
66
778
898
92
210
58
978
668
655
314
767
911
322
656
859
876
630
470
3
773
586
92
388
10
398
951
116
834
689
167
620
841
254
724
926
52
404
187
400
46
183
525
72
812
819
604
426
536
49
544
135
731
472
297
330
974
480
706
731
372
626
102
431
538
46
609
955
909
988
131
437
700
892
374
573
909
348
609
155
334
164
402
794
499
387
768
582
537
105
722
128
369
49
735
63
156
432
841
297
505
644
75
781
298
892
961
628
779
200
711
784
933
117
726
233
23
599
454
743
647
468
246
289
468
17
524
477
566
469
845
710
292
714
394
621
680
3
200
883
903
311
426
311
917
679
274
395
208
475
378
464
46
542
734
20
301
980
961
195
226
338
905
124
65
225
367
603
251
988
661
149
667
934
713
276
902
642
532
988
719
281
325
15
639
342
653
977
84
535
222
20
9
747
898
777
912
888
733
601
777
185
908
109
518
376
143
708
919
901
234
525
661
403
208
722
866
367
717
59
145
93
300
63
195
515
91
481
727
735
855
236
759
335
238
330
346
767
47
916
159
658
411
767
116
66
164
811
566
336
64
737
832
386
446
537
67
902
465
479
424
734
297
789
809
972
769
860
23
9
816
263
617
589
588
314
406
544
395
518
120
955
416
77
6
383
32
312
356
668
495
200
543
194
720
254
837
539
73
680
360
726
638
724
961
721
472
268
661
183
115
855
923
389
429
692
670
756
325
595
602
114
760
595
503
593
799
294
521
109
992
487
968
65
65
191
205
262
557
391
13
576
192
698
508
482
696
122
275
719
324
448
560
594
962
858
308
223
875
409
160
67
574
110
947
503
601
513
413
531
994
969
124
395
63
112
657
32
688
204
812
978
408
823
320
854
849
977
227
375
239
850
480
49
330
337
143
731
201
517
571
538
552
225
703
816
771
225
94
57
662
899
826
407
271
430
414
254
587
419
170
599
333
809
646
29
681
484
217
377
220
16
191
560
510
667
568
490
942
668
297
273
765
972
294
589
217
338
918
891
147
203
218
366
70
336
811
110
832
479
804
42
311
962
891
946
657
254
995
577
84
856
799
727
794
643
402
600
473
331
846
692
298
859
190
676
504
204
559
971
453
916
32
729
7
717
528
400
522
918
157
656
957
967
243
459
949
291
397
879
108
65
893
279
344
707
233
906
664
296
812
934
289
891
335
947
407
552
557
617
629
248
719
361
650
54
176
168
2
905
393
760
483
528
667
931
714
504
568
925
11
840
32
307
99
488
411
786
869
319
697
806
976
512
392
600
463
511
315
195
169
816
381
307
388
787
342
965
934
221
390
448
79
710
736
501
451
724
955
171
759
757
432
197
565
913
842
389
664
408
411
209
424
469
254
89
790
167
143
911
181
878
251
256
749
435
752
325
622
992
468
463
531
588
990
614
981
629
289
691
371
566
483
545
447
110
525
667
791
448
506
685
454
204
249
416
539
673
616
268
491
695
682
751
793
394
125
690
396
970
604
309
782
222
447
401
930
347
333
705
42
400
251
914
686
359
192
263
255
805
621
961
88
32
107
85
801
495
517
629
900
128
951
617
615
754
404
312
228
629
250
59
290
451
710
778
976
930
752
940
442
584
99
752
99
144
950
202
761
456
638
205
34
171
172
918
922
270
177
15
874
35
10
711
148
487
150
192
14
29
955
187
82
647
525
404
84
90
439
609
653
698
695
224
741
42
367
573
247
619
769
309
392
53
676
714
587
715
201
346
132
705
846
852
602
394
585
388
415
454
443
989
288
568
966
714
287
252
91
831
730
409
251
51
710
7
457
675
847
373
2
758
692
912
943
13
802
304
930
185
995
452
621
715
771
973
357
229
964
50
185
302
926
825
56
83
276
59
287
944
394
877
516
618
566
142
789
859
346
684
2
305
135
475
44
679
469
112
858
663
145
670
612
482
671
175
699
337
180
906
626
200
93
823
319
932
596
116
880
254
641
694
580
266
583
529
312
453
790
143
407
509
791
294
142
470
734
924
785
150
154
591
300
64
408
764
197
354
510
448
229
697
80
525
895
623
138
362
580
528
600
552
66
978
495
82
502
386
751
492
94
841
196
200
700
74
318
116
836
69
547
214
354
797
181
427
386
597
874
70
405
287
522
308
328
27
764
180
969
832
408
153
716
201
965
700
196
463
745
391
995
346
396
760
462
873
67
216
200
504
239
62
877
694
675
12
341
996
312
712
193
371
773
398
982
539
658
959
444
779
47
719
651
255
272
61
119
596
114
253
50
817
53
722
53
736
879
820
884
272
788
840
96
32
628
201
589
293
649
921
393
354
362
670
445
431
772
322
579
921
997
174
955
717
311
407
658
814
229
891
548
153
518
475
528
77
1000
910
533
796
591
204
622
715
916
53
621
326
45
299
943
275
351
58
453
717
307
379
379
771
889
685
214
801
722
770
601
202
950
987
705
410
345
333
230
803
434
157
825
223
761
56
350
919
739
61
355
592
177
136
631
330
564
972
371
304
683
464
639
731
691
53
150
966
895
774
680
410
93
820
975
601
968
209
750
730
610
16
17
480
202
23
894
379
122
611
539
267
629
43
103
513
894
893
712
160
386
810
756
834
776
539
87
579
588
762
946
196
770
134
959
363
408
420
355
704
197
606
479
303
108
803
638
975
937
629
650
478
9
901
930
480
204
872
855
57
372
340
329
236
575
370
374
631
2
821
978
614
295
614
173
755
166
583
477
265
210
719
48
521
186
220
245
519
769
52
761
558
569
627
362
642
308
135
768
588
324
393
387
590
278
42
786
198
385
590
183
612
274
437
456
205
526
365
798
26
104
120
469
220
681
744
455
947
836
29
477
92
456
539
980
238
37
993
620
529
437
723
888
57
244
262
874
644
92
735
501
755
594
227
426
613
132
27
753
830
262
596
32
191
12
312
299
239
702
800
596
101
48
342
223
102
399
934
834
469
995
323
887
20
238
827
656
54
131
391
433
54
606
233
823
757
108
477
815
917
858
283
127
203
103
300
438
334
416
649
504
273
494
874
297
60
339
879
573
669
580
214
106
389
705
392
348
887
811
230
941
380
48
930
337
789
92
337
376
832
259
451
922
228
843
650
545
712
868
648
88
18
713
938
901
2
274
153
779
237
765
712
258
613
340
780
401
37
535
205
997
293
12
383
802
404
928
124
163
80
634
796
79
912
629
23
922
440
841
573
816
89
248
685
904
542
498
792
177
845
130
868
414
868
881
459
845
464
357
177
620
847
256
138
993
758
998
443
992
817
110
901
692
70
591
243
408
302
291
328
160
243
474
320
740
840
321
942
976
990
385
950
273
498
795
244
283
332
238
236
715
373
869
205
113
232
39
401
488
831
333
765
152
763
370
300
972
701
643
421
903
34
462
293
986
97
157
89
36
364
890
688
668
743
593
944
18
219
341
954
735
70
46
596
223
938
468
167
989
344
498
846
332
843
893
945
904
89
863
77
752
288
277
176
868
220
996
225
361
158
938
710
976
404
900
662
530
134
950
40
483
919
746
293
584
810
54
665
205
710
864
289
805
303
643
697
121
875
302
54
423
948
116
163
777
954
103
192
567
80
985
187
83
689
18
51
997
961
187
272
603
475
320
209
79
925
854
32
6
714
869
941
801
814
451
322
427
219
713
570
256
581
658
691
250
129
485
995
405
134
662
787
774
465
344
800
238
989
354
86
978
320
418
100
544
342
845
678
828
173
98
41
413
257
335
406
499
427
699
556
100
70
824
967
536
332
374
48
128
202
823
460
784
986
552
356
629
153
780
949
895
107
530
6
26
177
611
658
683
897
95
541
144
512
639
120
548
545
329
168
63
492
800
704
672
303
323
544
864
823
325
151
78
141
666
151
678
851
171
337
823
122
109
402
238
393
566
687
165
38
28
778
654
665
929
977
728
424
938
880
721
956
911
961
804
471
845
128
13
985
855
426
72
798
396
754
503
749
693
719
607
363
424
403
658
873
602
182
472
813
285
346
484
423
23
392
256
405
466
549
595
881
414
770
548
690
54
203
680
814
305
111
715
975
886
564
642
365
543
2
748
380
230
664
526
952
523
146
22
790
657
946
814
504
539
802
740
772
322
411
602
804
297
808
642
687
743
129
779
358
28
741
467
210
993
469
988
624
145
168
399
457
664
187
337
384
292
379
723
916
777
867
563
985
433
308
323
554
929
610
227
333
245
483
572
257
23
616
610
672
556
710
94
252
620
493
823
575
776
159
245
524
400
983
932
79
767
822
312
712
274
765
472
21
733
11
674
941
669
954
893
742
506
66
676
763
5
146
499
203
158
921
666
222
822
864
310
871
207
9
352
434
909
547
12
748
853
884
943
238
753
402
240
864
45
294
624
27
527
770
275
618
874
274
658
155
804
429
290
707
192
195
265
738
441
261
419
89
485
47
351
765
572
47
112
17
811
215
558
665
805
609
835
385
678
545
196
419
667
120
270
288
38
990
866
321
749
456
75
289
76
682
888
884
26
145
838
105
912
633
391
670
734
602
842
464
942
251
322
257
165
923
290
57
733
715
247
491
704
210
196
245
793
786
56
430
417
447
667
250
157
683
447
908
966
688
717
784
439
488
629
535
157
269
436
30
521
792
295
258
44
856
494
353
475
114
352
219
810
478
821
777
879
155
357
794
460
51
29
766
996
185
180
267
698
636
113
357
45
847
224
876
588
68
882
95
505
942
460
688
156
614
901
972
749
351
186
488
613
112
430
587
133
256
286
563
833
628
480
503
574
913
107
156
176
46
938
984
41
189
116
151
965
169
882
920
167
676
393
643
765
523
211
337
188
870
48
442
907
814
422
627
176
294
779
237
990
350
594
8
12
879
650
131
268
213
48
1000
332
321
406
802
624
233
46
648
30
348
337
283
393
480
520
939
942
612
660
733
959
435
512
197
633
121
923
102
742
736
124
943
896
331
201
905
244
822
821
208
865
444
526
740
337
982
156
154
317
755
540
714
936
944
553
541
351
83
260
991
582
994
953
324
185
823
30
859
373
259
16
211
314
788
550
565
386
967
692
150
125
634
721
755
458
120
177
940
8
571
588
270
831
426
200
842
937
383
788
389
911
117
975
822
732
631
471
84
582
570
258
356
635
532
286
337
565
95
598
214
703
805
126
507
16
403
839
523
925
395
436
686
776
708
559
270
900
572
698
833
881
622
180
351
376
415
650
549
192
32
240
85
154
114
240
304
621
57
702
344
597
445
756
496
964
77
152
1
166
952
961
505
154
755
922
246
630
111
122
121
39
346
308
380
48
535
784
51
516
235
849
176
17
502
523
780
425
986
938
705
575
548
814
685
254
967
178
2
476
770
132
23
945
743
619
46
344
402
154
179
90
592
895
168
139
587
156
702
178
392
69
639
893
894
898
652
325
178
445
733
598
186
900
777
939
826
288
116
621
261
271
223
319
932
246
265
435
836
756
139
687
423
266
797
185
112
88
651
455
879
976
163
642
191
811
74
90
812
629
369
173
83
868
815
412
553
874
411
454
877
39
443
680
222
67
283
83
231
947
41
687
760
966
766
160
268
733
569
55
478
267
278
735
758
800
816
260
41
218
705
188
158
91
834
148
2
437
721
204
991
756
424
412
189
463
996
587
323
926
758
872
824
202
293
566
568
384
32
679
9
682
857
519
266
861
39
608
402
869
360
669
360
108
228
428
369
304
569
456
841
70
239
353
3
401
242
789
446
132
390
403
580
909
774
674
545
604
301
877
318
940
494
93
878
965
805
785
808
276
257
630
667
986
183
167
899
815
208
874
820
366
280
422
940
921
698
525
540
95
707
104
837
86
34
954
987
585
258
784
319
851
735
784
726
809
544
495
863
640
531
640
984
696
823
888
817
529
637
766
615
143
519
639
317
75
175
436
524
286
725
891
436
67
490
483
104
120
476
205
44
199
284
526
993
663
287
478
519
845
530
537
823
968
455
453
505
505
151
672
738
769
181
948
830
17
749
237
136
575
809
156
830
23
497
886
800
93
10
167
130
800
367
712
402
431
26
17
58
937
756
292
15
174
1
45
352
679
401
637
111
162
280
437
132
327
943
590
817
4
47
657
182
635
750
975
95
140
616
223
934
633
939
745
30
87
735
164
790
887
268
115
780
609
826
388
196
46
787
300
285
63
397
825
297
313
325
543
95
938
104
421
285
514
839
123
296
790
292
654
296
574
596
223
137
13
255
60
828
362
438
986
225
187
557
832
338
438
631
622
449
450
491
289
91
932
533
891
621
469
847
381
710
856
495
580
929
554
730
589
438
727
6
705
181
134
205
194
946
112
356
338
657
747
300
738
513
228
209
350
857
425
776
323
422
92
324
172
298
67
482
484
529
477
668
744
665
372
191
505
299
770
330
303
833
544
811
60
997
387
321
826
507
621
645
770
108
267
29
737
486
288
485
513
222
286
203
39
198
204
900
215
693
727
710
226
437
277
437
866
110
523
708
127
604
788
832
383
354
968
708
752
807
646
835
616
185
682
99
783
902
971
882
843
403
939
51
935
29
612
355
27
747
127
539
461
210
849
688
35
704
860
246
744
439
577
325
960
950
861
340
865
250
41
836
82
79
247
737
689
584
454
193
549
803
963
664
472
505
211
114
31
333
32
508
161
337
381
442
416
248
351
864
503
368
323
590
57
887
516
897
633
686
655
458
560
115
820
780
937
257
131
118
428
108
404
542
684
74
245
238
72
188
873
883
228
340
601
941
76
587
953
124
911
957
240
228
761
433
260
802
174
735
187
379
173
939
477
951
683
10
226
369
908
763
67
775
408
140
343
620
131
826
208
200
483
214
542
30
82
7
718
149
258
321
616
984
191
432
404
729
57
429
381
53
414
816
683
709
288
72
338
623
886
800
861
20
266
885
233
752
171
15
68
660
377
632
19
775
754
949
141
53
517
928
989
648
609
22
315
902
817
628
584
471
885
299
847
548
157
543
466
492
81
561
837
485
966
222
671
504
349
395
545
727
271
259
168
152
822
563
66
639
833
739
8
580
365
351
497
933
111
483
71
96
330
765
877
219
130
248
271
599
353
797
674
581
749
798
24
667
646
360
468
33
45
777
263
821
943
955
839
795
792
775
5
931
182
985
276
783
84
985
82
515
356
118
859
481
326
689
812
125
347
369
594
273
328
565
254
986
565
54
415
178
231
110
100
44
919
116
873
25
346
649
280
767
165
485
876
460
250
723
300
541
887
747
710
610
6
232
919
472
763
942
183
644
817
406
654
423
482
737
464
620
980
656
790
131
926
414
312
84
304
270
47
173
332
118
408
634
933
855
464
183
483
446
379
873
796
416
454
779
460
624
175
260
718
169
560
285
501
44
431
971
980
242
281
621
79
591
62
455
997
898
72
848
623
182
619
851
179
45
494
272
490
518
389
696
542
124
430
674
346
49
472
240
178
229
562
445
735
690
411
749
181
592
583
620
985
378
925
137
247
400
984
992
444
319
772
919
69
681
428
190
809
278
528
270
244
771
152
506
616
172
365
908
312
93
807
764
400
69
927
711
562
936
63
454
999
373
983
472
299
146
295
494
691
696
911
495
598
741
541
984
720
281
949
461
372
992
678
476
986
979
149
757
206
374
192
789
804
618
269
186
570
837
286
522
566
243
67
628
245
379
982
749
780
861
385
130
7
182
735
827
200
960
458
354
988
698
998
824
67
385
811
341
401
517
342
527
970
334
566
275
731
706
701
448
925
843
560
414
337
793
215
427
522
682
189
868
487
738
832
883
823
415
634
840
906
59
158
244
382
460
784
46
432
86
254
752
864
820
899
917
852
538
333
504
135
85
332
48
902
777
3
411
955
758
632
779
15
366
381
822
803
176
505
905
287
949
372
237
414
219
229
231
776
330
810
982
104
770
307
307
942
717
917
752
226
566
868
278
539
377
662
902
199
409
402
520
331
27
432
511
231
694
422
533
673
187
596
5
229
980
213
391
120
485
19
149
785
971
988
811
137
727
637
945
628
462
926
755
571
766
793
2
938
178
38
638
306
1
42
363
479
703
327
888
624
865
172
273
813
543
997
983
145
453
47
582
399
580
610
208
374
40
609
211
878
547
295
971
859
989
952
459
534
231
331
909
817
370
704
694
617
473
15
113
959
797
283
634
263
802
869
787
571
617
280
913
454
829
811
390
132
660
171
34
296
457
998
288
948
393
35
660
493
827
524
965
965
297
507
287
381
385
855
428
896
975
656
79
1000
235
77
165
472
244
874
293
194
138
69
538
297
37
595
992
815
695
293
817
775
769
290
845
868
24
916
634
615
852
183
27
701
779
359
331
222
899
959
639
224
97
459
632
103
189
398
119
338
459
859
19
891
722
161
226
712
332
417
67
205
447
505
281
302
111
557
665
719
162
450
332
412
508
419
273
191
851
423
233
719
870
465
716
187
159
49
24
566
575
967
458
763
506
471
813
228
710
810
916
610
133
871
582
85
524
644
943
704
596
673
83
53
652
796
195
456
598
310
321
218
172
363
600
210
85
374
181
331
797
338
916
858
456
567
824
157
38
821
649
949
644
145
871
887
551
918
110
549
393
465
738
718
246
707
674
795
887
149
258
754
412
720
5
140
61
2
6
813
831
296
987
203
128
915
407
65
47
323
690
926
432
637
143
15
986
982
991
262
966
83
722
830
801
221
377
149
710
196
329
80
872
580
51
163
847
3
137
648
348
486
232
907
792
688
667
985
656
500
648
634
796
469
891
791
752
587
642
734
258
798
322
674
489
822
395
279
476
362
831
386
402
476
566
556
814
16
832
680
98
360
315
807
886
225
654
519
294
662
67
590
865
430
923
810
759
142
97
48
595
258
763
590
446
983
268
503
632
145
803
917
56
807
771
564
960
610
701
867
581
27
176
337
658
891
898
893
357
426
347
126
432
629
714
582
896
422
534
321
306
395
530
729
972
331
841
842
441
13
693
751
731
827
728
592
166
900
584
354
717
540
319
799
898
104
546
419
382
588
91
425
685
197
634
414
85
44
441
142
45
647
648
322
763
571
192
450
592
690
526
296
779
578
631
680
105
827
31
123
764
796
697
814
731
37
741
239
564
203
469
225
162
640
268
481
883
888
225
6
767
258
636
248
636
161
419
66
309
737
528
518
799
574
130
877
844
932
159
637
170
434
47
268
222
994
298
614
243
876
67
218
124
357
852
281
459
430
697
934
803
993
430
680
847
606
583
222
316
729
792
439
472
487
552
988
795
950
801
671
423
216
929
852
352
540
424
112
678
615
231
475
218
477
966
634
85
359
838
777
467
104
329
520
373
922
524
911
815
49
920
897
31
323
309
157
133
642
925
791
923
612
948
167
828
947
156
759
527
451
513
178
706
696
583
505
88
181
448
518
562
314
735
181
433
784
273
322
575
451
373
672
602
442
801
110
319
506
443
494
783
829
897
395
742
399
680
258
224
70
512
895
302
257
678
640
392
469
460
747
858
656
438
628
659
904
253
384
448
302
840
140
10
454
529
898
764
250
282
113
741
41
462
439
176
515
320
982
569
428
600
941
570
910
984
978
155
68
848
468
459
649
259
962
310
139
840
757
829
54
392
370
171
196
109
392
506
708
986
898
797
332
833
942
995
341
103
442
595
504
495
801
349
509
459
389
140
394
151
513
155
201
82
454
619
891
991
796
609
932
657
604
995
189
241
590
536
523
72
539
432
997
507
601
72
489
338
828
11
698
936
9
521
848
620
363
187
866
945
307
560
442
476
83
530
113
857
700
98
893
438
774
782
984
55
218
686
75
907
355
67
106
279
725
524
637
199
27
671
829
704
94
747
141
637
151
66
108
189
873
202
96
123
584
628
273
381
429
298
828
16
32
656
912
302
875
482
609
109
723
404
203
971
669
932
851
533
782
929
557
705
402
129
613
644
982
467
160
911
80
960
289
310
65
868
727
201
662
425
564
891
159
372
562
267
695
597
338
152
178
662
643
241
248
543
930
734
770
693
732
423
980
525
761
63
501
727
876
231
460
513
952
750
718
674
890
930
145
513
641
413
588
824
422
155
474
461
111
443
891
206
568
703
685
341
974
83
126
188
381
503
364
272
118
951
164
329
757
500
453
213
760
921
94
986
175
723
847
237
153
930
735
579
558
872
80
349
195
608
156
311
375
307
493
806
841
473
499
101
887
816
203
607
156
923
708
516
803
799
779
563
166
386
993
407
582
735
965
913
280
619
266
228
367
180
393
589
142
418
230
240
964
620
37
651
176
238
97
495
843
513
16
230
491
311
288
286
737
707
343
965
378
665
323
172
995
366
56
500
4
936
425
725
256
35
486
283
696
44
711
267
573
202
750
508
883
545
541
693
117
817
367
659
897
418
784
653
41
455
87
715
452
319
138
793
413
414
344
24
496
328
97
73
655
614
307
715
786
108
576
403
864
858
797
419
29
180
606
957
387
869
103
746
61
670
408
324
733
135
189
18
284
496
223
188
496
642
629
976
768
34
446
701
578
673
102
6
398
192
473
613
118
75
818
115
353
367
31
250
774
908
167
140
504
844
347
166
49
589
201
601
167
324
405
63
936
590
419
543
256
820
257
820
490
159
458
347
555
410
641
417
676
200
190
697
796
641
411
754
397
800
303
131
443
446
72
941
705
509
714
132
310
842
685
501
387
623
542
353
617
369
747
446
327
355
519
644
553
788
488
638
376
905
469
368
740
406
678
891
751
62
574
8
757
469
693
695
58
57
202
103
704
113
744
120
900
412
796
878
848
722
72
604
126
294
216
676
288
317
163
721
387
989
279
285
497
280
684
155
9
236
632
980
647
786
291
270
149
422
950
182
372
237
889
460
960
667
80
866
73
306
742
266
307
314
550
83
745
182
317
735
342
744
853
850
208
152
622
107
495
67
387
80
256
18
654
430
114
558
609
775
555
791
61
803
638
647
363
365
569
159
451
296
95
6
403
388
169
367
634
858
379
830
919
207
736
411
981
368
251
703
553
399
402
814
935
896
240
69
807
181
250
616
581
41
170
267
245
17
272
312
155
455
899
916
15
250
301
346
653
749
913
242
871
354
975
655
289
896
20
27
810
161
454
97
21
656
91
917
668
447
994
169
760
242
179
283
37
471
512
879
744
864
909
790
818
423
123
848
775
583
349
758
904
397
721
601
673
863
897
852
502
453
403
637
322
656
745
415
686
523
558
936
861
191
805
965
898
822
6
428
521
154
283
406
626
359
462
514
394
690
272
265
533
423
341
402
549
607
763
392
372
972
539
565
890
189
526
981
838
540
739
7
843
489
155
311
848
181
940
436
846
926
816
549
396
480
75
10
860
191
139
680
769
227
112
638
413
373
443
721
362
474
488
687
811
732
752
713
891
653
537
598
672
584
541
530
843
380
212
305
171
68
117
566
479
851
334
203
761
59
865
898
863
507
614
756
792
963
903
332
205
423
194
17
41
952
75
574
798
913
417
485
862
473
46
373
463
82
822
595
824
830
841
427
407
819
59
719
103
992
991
459
233
149
824
582
33
647
667
751
477
807
132
89
59
693
186
929
245
682
153
776
328
190
748
940
931
516
742
925
157
277
449
147
427
287
113
369
968
543
718
521
755
871
332
78
295
660
570
475
225
548
698
93
942
359
897
78
152
960
280
818
502
856
152
502
221
408
219
777
401
459
572
349
276
161
530
941
100
760
216
298
892
160
228
713
239
304
856
840
515
227
390
267
943
204
908
77
827
11
776
459
8
891
115
521
199
723
377
74
213
701
336
943
77
784
508
943
954
223
912
794
40
304
71
247
466
317
219
547
754
704
551
394
355
479
125
656
174
172
251
956
496
614
241
131
471
991
600
693
486
350
95
549
181
205
705
56
270
798
829
305
816
911
522
95
663
554
736
817
168
796
991
18
829
180
358
908
534
462
538
521
466
281
535
683
269
901
190
603
210
359
537
296
346
143
142
329
160
812
856
18
897
810
573
623
1
408
386
82
273
332
116
836
113
666
375
294
323
163
286
77
303
289
85
426
193
517
585
949
11
863
920
181
59
581
46
218
784
821
380
871
259
853
731
172
656
682
798
837
199
764
433
278
26
935
793
829
429
542
281
37
210
219
184
445
763
231
973
601
807
649
739
499
328
65
503
635
957
78
42
914
773
982
812
548
698
463
583
244
573
110
554
305
424
40
978
988
215
666
958
206
26
357
372
677
612
215
177
962
301
853
694
462
136
865
890
378
308
863
316
786
227
299
498
353
641
972
740
969
387
977
529
189
266
325
466
169
991
825
238
494
792
817
387
692
50
160
76
131
465
311
467
432
738
852
925
519
892
517
505
580
292
808
382
40
130
988
25
30
16
480
88
889
907
592
637
955
908
921
45
973
705
209
897
571
521
679
992
625
764
8
601
690
382
934
431
189
108
844
594
255
714
703
416
747
172
118
835
309
34
407
751
334
637
758
179
644
281
900
227
254
738
797
107
299
236
333
946
594
826
186
451
316
617
345
934
851
770
21
531
895
719
738
609
78
573
64
580
457
303
188
680
289
171
308
314
750
746
397
55
115
171
165
621
533
210
287
769
842
963
561
283
834
215
28
992
219
716
662
787
652
972
189
243
206
767
567
504
627
368
777
92
580
333
13
932
524
797
363
484
686
89
52
200
585
765
194
953
110
18
50
661
207
464
749
581
605
354
955
755
282
473
929
417
390
275
354
542
602
388
51
448
731
979
668
979
494
284
248
728
886
706
790
928
568
796
699
446
971
359
939
206
348
421
350
550
281
585
600
220
848
860
98
264
807
942
351
98
278
609
175
545
347
920
418
371
108
717
567
148
637
628
800
441
310
19
191
901
281
665
917
203
863
875
512
543
417
612
594
771
594
48
678
742
545
951
432
346
316
500
905
731
771
588
993
994
726
864
188
544
244
74
31
924
294
804
977
863
499
991
464
717
321
480
371
495
121
728
718
139
409
840
207
498
25
590
618
720
753
349
337
616
106
870
51
29
570
680
679
50
813
686
26
806
64
144
343
516
339
314
488
140
132
846
142
378
77
68
643
128
117
123
648
967
65
671
323
310
799
355
719
124
795
317
599
362
892
92
566
597
493
686
158
87
955
592
119
88
621
282
579
456
770
286
823
992
567
771
201
758
328
681
962
835
623
612
863
702
853
986
913
328
418
69
121
7
858
630
294
644
300
434
74
281
353
86
592
947
599
992
451
132
428
727
35
768
570
619
682
472
954
562
229
125
713
327
460
441
9
911
186
376
200
656
167
395
389
700
12
502
857
54
407
979
305
254
300
860
521
278
164
228
372
238
566
807
924
215
430
134
177
835
474
145
339
637
972
28
72
15
421
418
325
134
136
411
923
928
753
734
388
656
7
114
619
388
828
659
233
14
214
403
234
911
789
325
383
652
156
785
277
528
882
329
741
897
681
259
717
539
712
453
443
881
834
847
569
930
296
162
267
218
936
4
404
712
938
870
200
940
853
709
877
967
167
920
451
187
251
417
156
310
733
417
324
508
365
970
68
510
525
313
859
473
716
338
121
440
155
967
194
677
425
201
727
901
406
98
946
751
84
573
455
935
544
191
709
111
886
84
861
220
867
138
272
994
634
525
145
258
588
90
730
102
756
10
42
889
618
696
118
514
338
111
520
621
722
539
935
766
134
849
18
490
533
993
867
530
763
174
132
361
29
340
336
207
174
519
110
970
793
341
370
511
383
450
26
318
407
569
606
701
38
720
859
964
418
357
484
961
42
734
634
814
673
10
849
408
795
991
408
134
336
437
865
455
804
657
267
475
775
437
616
973
824
808
164
814
580
918
614
639
280
739
390
39
303
931
586
972
927
463
743
850
769
390
985
229
301
504
186
797
537
847
640
77
580
762
931
798
940
416
994
776
554
947
12
230
199
254
721
499
337
659
741
229
640
133
125
314
174
16
475
431
514
320
127
304
805
101
861
977
874
605
1
228
948
541
639
242
406
601
455
547
605
659
148
314
358
689
901
135
166
9
138
692
480
275
714
973
989
220
253
356
898
905
762
669
403
772
634
666
106
629
987
847
227
214
632
56
309
178
341
334
58
701
787
709
940
986
491
659
525
490
104
133
477
836
347
457
929
326
888
406
30
354
243
8
640
638
626
184
917
447
874
252
248
974
900
495
529
503
298
147
392
323
956
561
72
414
676
928
647
264
241
175
50
326
935
374
96
368
785
3
404
334
839
487
579
345
231
762
928
794
674
592
30
7
751
844
531
813
673
630
421
135
527
713
807
276
67
636
113
366
539
126
363
312
222
256
1000
992
107
365
940
413
518
448
665
939
448
714
91
153
632
299
100
481
966
832
499
964
167
839
208
996
551
28
591
225
582
41
905
188
406
809
307
900
103
808
751
519
119
725
373
308
677
469
159
407
929
852
502
352
446
787
456
538
833
150
736
296
489
619
909
564
688
980
631
125
314
545
102
711
223
904
790
867
589
775
868
720
380
876
815
524
162
729
720
824
740
463
735
837
712
533
187
339
692
87
793
496
742
926
80
641
229
466
849
890
596
177
286
562
272
873
677
371
283
361
291
449
712
396
385
431
475
347
785
326
776
921
901
804
668
667
291
645
785
876
828
769
509
642
222
344
914
897
747
576
370
758
785
525
343
355
703
822
76
709
415
565
742
96
624
642
339
67
363
912
36
845
528
161
388
776
955
407
719
299
983
582
630
343
609
907
733
675
271
51
700
687
486
623
200
141
752
943
527
476
132
41
910
592
64
762
935
698
945
432
45
425
157
472
881
947
195
831
147
643
418
147
150
285
951
562
355
933
705
413
911
475
631
715
367
688
687
197
542
727
982
484
116
127
171
937
873
51
937
928
138
911
797
512
576
539
125
403
836
906
680
471
927
275
936
493
435
647
748
397
994
181
729
660
294
804
978
586
109
157
995
97
221
302
288
443
49
907
21
669
516
145
729
947
772
706
509
15
468
165
350
733
400
988
182
531
105
156
373
683
388
295
265
491
934
337
208
309
949
953
945
800
681
188
852
774
188
375
550
79
592
106
764
560
230
191
773
921
96
17
369
321
857
607
464
359
201
262
380
542
880
59
230
652
657
1000
88
771
926
255
283
356
15
119
794
910
739
653
950
83
897
877
407
65
403
766
211
666
401
414
444
152
293
774
600
961
862
963
999
643
113
495
388
368
494
378
895
299
675
911
721
432
861
792
874
534
465
549
999
762
970
366
517
883
770
470
537
77
412
299
627
80
428
256
752
51
437
995
570
914
804
114
906
227
73
827
417
224
552
843
921
350
400
968
82
830
19
388
125
763
106
901
848
228
393
684
839
736
842
329
910
300
476
957
590
298
493
817
145
801
732
370
879
898
25
29
900
408
365
426
25
719
40
381
690
93
33
902
422
796
255
125
927
62
149
496
992
788
74
403
543
931
990
736
331
785
750
634
57
43
985
270
656
521
901
658
222
104
107
642
430
294
510
528
827
489
813
33
718
770
13
57
264
224
967
319
42
650
765
778
315
635
377
865
352
973
105
577
288
514
835
100
788
318
405
613
713
770
590
858
552
329
162
637
832
322
292
245
286
611
924
287
707
980
435
700
682
47
977
748
44
440
802
642
353
866
393
939
525
648
235
230
399
102
170
625
164
498
830
133
197
200
693
729
180
476
318
351
810
739
63
527
489
783
185
439
867
812
71
304
562
88
894
240
166
259
803
196
222
622
368
805
852
193
439
746
602
188
28
387
275
839
875
139
562
29
713
282
15
506
233
246
897
703
30
122
165
411
623
257
678
93
491
769
239
912
316
662
334
306
869
507
392
198
679
30
92
365
707
779
800
971
674
752
900
10
770
860
254
718
124
607
310
547
192
240
514
229
135
405
190
976
966
445
29
659
103
959
335
702
469
364
683
790
197
694
273
997
743
683
985
282
129
768
259
583
900
102
563
179
961
693
600
539
599
929
260
763
501
833
619
852
288
670
486
334
181
247
682
914
172
293
180
156
611
258
172
897
742
556
4
534
760
309
191
829
714
520
235
460
900
911
53
48
239
684
435
132
772
278
878
544
142
770
389
95
589
58
328
503
704
238
237
898
182
914
481
51
424
168
173
516
280
347
986
902
464
84
486
870
300
568
433
599
770
191
597
453
139
522
323
377
952
904
708
392
768
786
239
914
267
18
62
859
226
359
484
117
413
903
351
154
564
780
766
216
336
381
954
134
375
743
678
611
639
955
299
892
179
518
731
842
777
229
311
244
653
714
779
183
919
36
371
159
933
96
900
140
197
438
891
529
433
350
292
183
572
938
515
84
67
575
73
396
452
254
160
540
200
674
619
984
801
221
93
768
946
799
549
30
826
448
337
894
927
74
978
462
289
2
498
808
892
60
592
969
672
960
574
742
253
976
756
727
960
307
583
274
281
673
78
300
208
743
934
328
124
385
630
933
385
468
917
626
940
569
123
636
716
569
646
73
903
486
887
569
104
707
399
727
519
871
565
988
426
600
959
322
335
171
472
543
39
557
76
424
275
779
283
859
216
285
321
919
171
231
573
722
504
570
724
803
255
282
351
453
368
32
268
938
504
197
627
295
925
135
243
598
577
179
244
693
363
274
484
342
809
582
737
567
68
132
925
228
453
553
245
791
527
821
920
780
733
549
58
397
698
728
464
35
792
103
873
821
561
579
473
944
751
978
106
443
77
389
727
912
20
50
520
638
370
424
642
515
920
109
682
459
476
815
875
971
258
406
704
498
572
624
769
778
80
204
209
838
551
118
805
750
363
268
431
765
238
631
516
942
889
264
359
641
393
3
361
238
829
942
483
41
293
31
790
6
453
114
889
62
174
72
160
631
27
474
366
926
554
776
143
84
992
251
519
177
292
770
524
784
888
424
652
518
491
294
826
802
646
720
416
840
67
250
517
244
338
254
441
527
328
294
72
460
960
690
608
85
247
701
486
89
881
922
576
897
727
456
505
598
15
425
13
913
206
6
294
254
495
163
821
627
414
380
947
631
168
487
332
587
958
958
78
104
283
47
381
205
637
488
104
834
906
230
860
814
674
414
646
389
33
746
153
840
805
792
786
145
440
56
611
644
142
149
504
969
739
8
832
224
981
729
568
234
889
337
818
812
270
159
306
765
253
769
430
425
964
859
371
109
746
199
165
634
19
930
593
960
533
465
472
62
578
261
373
554
227
792
394
926
948
889
160
836
744
322
896
772
239
312
756
829
947
319
13
351
774
752
697
567
955
726
146
953
26
408
778
112
709
293
160
8
813
472
843
993
532
87
219
992
316
588
507
79
429
833
785
668
492
509
284
507
15
624
244
541
989
785
300
10
701
436
83
85
322
964
846
121
384
924
898
806
605
501
290
579
427
652
224
787
302
633
896
41
495
998
609
989
108
260
257
149
966
762
879
987
248
524
663
115
907
70
63
828
191
490
69
172
235
611
833
513
971
109
475
647
641
68
487
555
877
130
517
616
81
207
1000
287
52
764
14
403
809
473
663
609
360
463
927
680
54
366
371
682
439
924
383
278
455
29
982
439
480
705
377
443
157
348
703
430
553
294
735
9
651
115
738
886
600
108
8
909
96
238
32
707
873
866
292
56
713
769
427
793
602
738
272
421
523
875
913
682
418
568
529
557
506
102
880
400
189
674
755
291
206
79
596
472
92
8
215
372
552
131
129
706
987
799
685
698
927
893
768
93
653
503
433
288
416
550
409
65
112
342
454
920
557
668
36
916
891
772
932
848
383
361
367
961
385
889
667
966
441
117
631
459
119
951
748
445
613
336
483
798
574
556
341
830
358
191
903
561
629
317
275
96
865
364
444
77
460
489
475
176
151
242
288
462
645
846
112
491
855
549
902
219
384
350
312
961
899
951
847
38
648
389
767
973
871
89
429
339
310
756
7
658
172
814
470
530
666
940
67
513
856
323
211
180
437
559
330
490
658
255
696
754
829
869
408
825
585
891
301
349
151
969
797
15
221
792
665
215
324
545
297
51
810
676
320
232
33
310
462
235
585
628
883
232
885
824
433
979
113
758
741
404
712
487
456
252
699
191
631
624
436
617
452
50
552
674
871
638
283
115
63
492
798
904
262
433
685
278
532
503
691
701
602
773
496
455
311
401
884
618
275
882
115
783
134
635
832
918
752
402
618
820
24
625
953
850
713
758
846
435
881
211
298
59
344
316
162
997
718
830
960
784
672
911
284
141
738
901
626
416
135
933
372
720
501
90
747
591
721
136
258
554
868
331
891
25
715
460
502
619
526
137
192
933
780
124
336
967
535
306
963
227
56
150
471
498
786
517
564
241
429
734
881
198
581
595
940
282
399
968
8
324
294
814
573
434
899
142
533
6
909
183
943
982
862
62
564
674
22
146
172
886
493
741
652
978
628
351
125
947
293
400
856
40
821
96
419
174
489
505
753
552
347
369
728
821
688
456
339
957
103
348
494
579
864
27
394
469
421
195
72
842
981
617
936
682
779
824
536
742
876
350
919
440
444
758
867
58
799
341
687
155
627
657
224
136
723
628
804
570
837
927
6
899
892
79
683
572
156
287
992
174
795
439
365
449
963
220
689
67
782
490
569
255
384
74
578
286
9
481
190
789
963
110
265
761
427
134
266
126
379
218
426
169
905
748
766
109
843
956
569
639
899
416
101
586
959
312
656
558
753
186
300
134
294
664
148
381
408
953
484
144
459
198
41
628
335
784
800
447
996
654
32
741
777
208
509
366
908
970
252
674
106
557
687
17
500
999
38
437
525
430
359
304
439
663
483
531
133
598
696
484
486
452
143
314
735
146
762
933
316
348
890
35
534
920
60
890
227
672
155
81
916
708
60
283
897
589
914
367
10
287
484
276
174
552
349
844
882
973
16
140
831
863
284
863
590
340
11
442
837
305
571
243
947
55
688
987
838
23
904
55
477
826
332
697
226
830
751
682
574
978
151
256
594
459
492
733
331
521
395
391
860
160
524
845
615
28
697
692
876
779
935
961
400
686
715
981
693
925
326
980
253
146
844
698
135
704
748
278
163
134
570
691
335
982
172
308
956
613
200
478
208
856
376
859
183
173
499
479
791
985
315
263
839
10
259
194
386
334
751
501
762
836
568
871
157
5
928
75
463
456
184
356
761
882
570
230
129
439
771
108
270
85
753
884
685
597
274
655
520
55
902
313
430
622
498
232
92
531
10
197
597
106
542
560
341
484
459
492
200
694
196
87
505
412
928
730
454
326
719
697
547
297
153
798
715
567
306
609
532
582
721
385
578
114
15
401
838
259
769
569
185
898
822
115
231
354
934
168
125
715
624
966
369
219
76
375
303
630
818
118
627
976
383
109
14
546
545
818
919
733
763
864
710
579
441
241
977
897
270
383
162
129
63
811
923
96
642
416
797
664
951
946
15
689
277
355
214
581
793
654
505
697
254
598
815
52
566
720
193
186
766
919
611
527
316
546
425
462
929
118
899
845
529
722
783
538
65
458
652
600
680
270
961
526
357
739
71
497
716
818
659
312
841
307
317
875
658
207
679
610
429
409
817
304
473
306
524
265
209
436
774
494
638
945
984
737
674
15
763
923
422
789
906
148
229
426
39
792
922
259
472
858
727
83
242
620
938
446
873
4
453
565
692
198
657
925
131
691
702
458
474
406
615
255
320
212
164
635
611
600
517
170
281
464
712
15
540
68
157
617
554
480
175
542
396
717
444
316
390
769
665
787
558
474
156
724
971
12
13
765
514
530
221
25
483
75
76
434
276
845
382
103
306
409
214
367
518
769
540
763
127
586
660
904
779
855
636
111
540
151
317
428
701
332
374
33
52
170
302
994
929
620
121
693
174
904
427
691
756
487
831
894
525
835
120
658
208
671
957
967
32
771
298
611
728
109
161
635
797
302
106
67
171
443
641
441
751
987
109
482
552
505
395
695
989
540
769
803
145
958
812
88
467
645
694
124
844
183
698
283
465
609
485
810
360
927
115
470
969
528
568
374
551
605
900
968
616
78
612
735
8
210
96
105
983
814
994
790
604
53
519
366
2
380
73
890
888
877
736
101
912
69
916
247
140
164
151
896
418
915
172
649
337
600
638
741
255
68
534
946
410
230
937
705
611
788
952
358
341
275
875
1000
230
456
257
300
978
711
907
457
544
804
193
296
96
475
388
571
611
138
192
1
347
606
33
561
454
42
567
24
223
975
691
324
968
501
713
37
78
397
957
682
282
611
522
845
761
448
845
481
845
684
653
739
282
844
845
103
572
696
489
955
905
316
50
966
297
715
970
234
485
641
443
832
554
283
985
417
997
43
767
666
645
107
363
945
543
158
826
903
623
492
290
216
332
964
631
380
436
953
285
758
259
537
448
346
736
876
278
678
470
89
720
724
727
247
190
753
899
33
559
671
655
942
33
150
15
765
51
414
523
351
482
283
710
178
616
436
221
881
639
47
734
466
702
557
611
698
325
360
678
516
576
392
992
137
300
777
355
836
605
319
73
765
785
610
668
214
713
742
854
4
600
972
882
994
606
721
367
304
772
769
511
247
565
882
831
410
101
610
910
632
915
923
115
725
117
186
231
458
874
310
501
83
866
565
28
197
303
100
424
831
961
513
582
666
470
18
805
178
561
782
167
362
164
836
718
473
851
643
553
200
43
117
388
21
496
631
7
664
472
501
735
95
794
496
598
500
525
489
239
349
316
712
786
214
98
998
191
339
123
689
586
871
844
369
203
61
710
91
35
237
16
32
529
847
218
759
353
798
16
254
850
97
837
247
550
925
294
538
355
833
113
319
63
887
514
450
521
988
334
616
850
896
212
454
508
947
208
852
421
699
297
186
772
149
490
347
723
290
244
756
860
983
722
847
852
293
196
465
585
426
597
394
888
862
743
495
54
267
370
32
357
8
782
234
315
244
50
846
301
137
271
851
184
824
252
123
459
894
504
810
718
19
711
303
587
497
263
797
990
942
338
759
521
317
442
845
261
160
2
772
394
794
967
612
72
488
434
438
230
992
308
885
176
593
526
746
803
735
980
569
387
429
113
798
149
24
898
743
431
289
370
47
141
789
795
707
127
896
462
334
735
465
253
146
81
313
561
278
826
974
691
429
144
199
955
847
174
749
872
190
505
25
255
719
281
860
833
519
761
7
182
203
587
238
285
106
658
625
178
474
528
807
608
353
209
315
480
535
845
784
253
700
787
237
770
283
289
725
591
52
773
708
797
912
296
648
393
741
910
442
382
97
257
749
388
509
63
324
341
100
362
196
751
871
117
488
466
553
154
790
906
676
891
848
205
277
309
737
137
885
213
422
131
293
493
376
477
74
931
209
32
442
427
21
842
782
88
792
662
162
157
810
518
918
574
612
421
361
250
870
452
711
295
473
61
921
96
718
186
99
266
395
1000
840
165
816
888
780
709
772
290
62
16
613
811
383
578
809
160
810
566
283
353
312
905
573
96
868
550
174
527
494
345
452
846
315
415
199
288
834
104
406
496
221
753
56
26
4
534
189
852
287
879
578
769
406
680
80
858
248
964
256
621
394
456
652
793
419
530
127
924
193
260
415
362
573
492
187
813
814
26
788
512
135
588
100
106
352
956
503
160
789
643
890
387
893
387
656
133
871
385
967
675
627
716
347
758
882
305
670
317
864
951
824
946
231
962
592
928
130
481
944
884
701
218
764
839
587
43
71
277
687
379
300
641
422
34
595
304
412
862
217
336
442
533
357
458
186
683
266
545
72
986
148
946
697
436
481
493
994
25
370
560
508
148
578
843
739
200
812
504
272
663
717
827
298
199
231
224
544
653
214
372
109
152
560
382
422
398
864
785
918
676
374
201
446
755
765
265
990
641
741
315
634
19
346
297
745
812
895
933
393
14
246
403
753
566
322
317
475
615
408
585
881
704
544
630
12
939
143
344
121
647
701
934
282
38
392
194
485
771
207
662
605
261
924
282
602
658
709
303
376
693
819
532
380
243
530
648
497
763
18
598
715
417
159
184
667
861
875
59
39
495
964
455
563
97
846
497
294
636
305
495
26
143
172
148
963
160
977
482
971
581
993
309
357
135
222
524
815
808
613
214
193
70
918
672
98
254
347
805
652
619
971
21
410
291
382
517
720
179
137
824
451
276
222
166
280
834
353
706
30
649
87
554
192
531
490
563
924
394
76
346
64
893
652
721
242
439
765
260
306
33
740
88
202
880
104
947
258
309
352
923
475
141
874
770
595
69
104
355
583
536
56
778
761
918
405
721
384
720
818
991
824
578
192
76
74
153
816
185
442
623
345
44
375
71
197
167
456
261
53
761
841
90
737
566
27
760
217
984
617
268
31
452
794
79
205
543
318
126
584
869
361
759
838
349
782
662
204
955
867
485
847
758
356
352
311
308
902
747
467
243
89
179
833
737
795
366
858
274
189
951
73
482
870
616
940
449
785
554
468
384
2
447
776
52
391
692
721
414
280
910
203
461
415
474
560
965
856
501
370
251
403
179
542
268
599
266
237
150
261
499
371
124
247
489
254
811
449
906
444
608
343
296
806
361
34
42
341
312
574
124
452
322
621
956
532
698
480
290
978
685
714
707
680
384
539
425
61
689
541
398
503
347
585
90
495
795
641
284
237
578
183
463
889
983
414
547
476
295
260
34
523
973
43
301
868
166
761
546
869
930
798
397
929
572
895
485
329
164
868
731
5
536
191
405
885
850
125
752
191
738
807
942
543
672
644
9
760
686
915
139
411
357
386
390
567
87
825
581
801
180
679
802
812
63
776
584
131
447
572
978
177
453
425
524
336
553
357
923
270
49
64
377
918
134
110
886
580
821
842
783
958
569
416
212
352
602
371
651
773
722
623
598
749
867
81
779
956
304
665
109
663
1
538
834
494
9
645
878
956
949
32
604
404
820
760
174
625
900
75
254
846
532
847
900
917
468
940
716
396
853
819
203
460
801
374
230
741
298
447
599
508
465
423
433
793
848
965
235
668
926
640
146
53
231
237
954
459
928
283
640
219
934
36
158
778
353
587
182
763
449
950
990
643
341
93
406
480
524
571
854
127
719
801
526
89
704
136
175
730
485
722
221
750
54
186
394
968
726
262
862
3
199
492
630
744
448
480
256
811
537
58
153
3
685
938
815
596
985
978
896
657
720
343
488
454
939
958
7
879
331
877
177
748
781
969
173
710
78
584
630
879
634
467
282
854
288
684
787
668
781
236
845
629
377
996
210
366
619
129
893
371
905
585
884
112
865
687
925
812
836
915
590
659
341
33
888
765
228
720
559
261
364
436
100
816
129
675
500
214
530
238
312
141
797
648
829
958
605
213
150
664
831
482
999
836
865
227
986
112
314
318
779
699
609
128
604
941
301
729
60
829
413
92
213
119
311
298
846
179
896
100
849
245
13
381
84
582
117
931
3
682
422
270
118
478
836
482
94
912
357
660
857
407
369
411
435
553
903
627
118
297
613
989
432
65
387
659
645
365
688
580
513
785
760
184
881
439
295
557
731
963
266
676
268
53
887
689
781
546
528
805
60
261
433
468
648
561
799
954
427
769
330
699
25
352
129
207
399
718
297
296
386
64
778
601
973
425
670
307
983
594
68
288
497
360
973
724
652
16
439
549
998
978
490
627
442
145
823
190
264
945
859
793
425
427
288
917
232
113
109
90
684
870
559
135
301
158
480
654
554
140
170
212
854
505
383
911
608
284
775
80
774
436
975
275
706
991
472
482
618
153
897
739
869
828
237
412
874
489
364
364
931
402
426
696
843
282
315
784
395
88
175
853
50
540
197
489
788
799
803
842
858
369
825
205
805
615
530
82
645
405
709
317
963
519
184
653
351
59
556
670
369
330
52
363
586
856
998
977
88
794
425
721
944
845
333
992
600
502
961
102
159
939
767
552
922
932
173
835
325
903
41
232
828
857
624
375
462
303
560
832
969
957
713
74
834
229
17
427
801
966
883
44
851
891
870
827
546
664
488
278
646
12
601
353
217
384
967
989
396
647
313
551
471
582
567
905
952
164
77
247
449
835
10
123
206
150
943
954
141
109
423
5
872
71
142
295
324
868
37
489
881
304
886
623
275
983
51
184
981
305
61
902
518
494
391
559
996
615
304
751
709
378
741
881
182
569
985
458
802
997
481
568
667
313
492
140
674
53
318
99
908
125
567
142
885
460
301
758
969
574
811
285
370
951
571
893
814
832
159
127
396
699
832
831
948
512
334
521
201
929
56
64
861
226
634
669
181
587
128
548
42
293
693
597
413
961
335
583
705
153
960
614
912
930
344
367
162
366
246
280
565
829
272
211
605
970
732
876
959
586
328
315
208
667
977
958
859
257
472
764
758
751
96
861
989
431
967
411
586
719
786
820
596
225
797
383
640
172
480
320
272
553
480
653
843
30
901
105
248
45
617
660
676
80
571
435
215
254
360
948
370
740
892
208
627
639
188
848
911
728
627
109
992
251
850
172
255
939
579
133
992
740
616
516
106
259
418
695
409
123
351
421
839
239
181
147
940
55
505
662
463
728
10
727
439
307
832
620
559
328
388
817
833
747
166
662
109
645
474
901
278
18
469
302
900
995
111
832
404
271
388
510
359
563
540
266
902
37
695
942
52
345
179
414
996
331
578
865
179
424
52
552
719
13
920
204
606
392
435
923
895
908
53
549
582
110
165
935
104
626
629
616
267
643
151
979
480
390
972
313
127
207
57
840
175
600
95
484
333
566
12
379
371
502
25
36
247
65
225
356
583
334
321
662
511
797
955
227
501
855
108
110
16
551
901
40
318
403
173
461
470
381
745
214
294
929
155
127
67
59
580
501
978
197
135
651
503
747
351
961
311
165
583
197
653
396
579
983
833
41
429
672
724
353
90
182
327
734
517
246
598
282
48
717
772
177
305
540
456
227
37
894
86
600
999
448
219
49
412
154
237
30
651
426
650
612
108
331
135
245
179
853
731
875
946
590
824
719
616
433
2
574
864
597
821
385
674
294
187
293
901
439
587
709
894
733
881
789
435
590
425
953
354
659
415
946
380
748
732
238
693
879
779
840
369
169
835
637
784
423
946
19
469
566
159
945
279
221
454
188
503
536
517
929
388
724
274
551
24
259
698
18
275
388
231
809
387
941
519
200
301
8
734
738
908
329
289
844
799
11
988
448
722
903
298
878
858
659
48
564
665
993
125
75
938
140
831
160
210
847
725
132
790
610
41
981
937
580
831
92
895
859
497
880
316
643
660
584
2
744
937
568
571
960
81
61
229
69
523
106
867
99
167
302
487
906
403
740
309
626
495
496
468
396
641
878
989
385
515
380
90
281
112
281
694
220
820
981
574
428
336
550
96
174
977
65
740
435
284
682
564
224
393
216
654
981
122
293
192
705
806
234
69
367
975
644
257
242
346
680
385
618
455
813
632
722
462
444
357
15
134
952
832
135
461
124
756
422
389
491
167
909
913
536
735
92
70
462
822
351
898
418
421
371
74
926
695
911
112
891
222
471
104
475
27
916
996
655
233
599
498
109
318
634
352
860
563
57
62
699
803
847
503
135
682
542
167
796
856
977
377
738
928
36
208
968
350
209
740
447
380
863
250
867
231
138
876
596
748
939
767
862
216
922
336
175
840
679
152
18
140
74
468
52
216
649
438
306
629
125
810
130
201
903
405
483
605
155
256
428
484
365
817
72
653
829
538
649
196
219
553
698
933
757
39
97
557
408
758
952
554
150
805
644
339
490
785
34
976
162
248
127
384
684
298
26
289
153
504
245
501
665
770
963
499
297
896
629
458
270
500
298
687
757
413
687
965
635
807
749
151
791
333
558
969
638
455
483
579
474
65
124
694
956
276
564
469
44
543
621
699
322
982
755
389
912
622
76
959
790
914
819
28
35
941
480
297
703
65
540
689
203
200
313
536
412
306
912
672
211
129
200
750
664
628
77
471
534
972
640
904
38
796
28
290
832
574
493
222
808
827
941
278
293
168
425
684
852
567
201
43
636
526
9
561
302
495
878
738
823
233
453
956
568
167
924
32
680
477
556
926
529
822
186
147
43
963
50
571
301
308
143
578
866
812
72
770
592
655
151
50
512
341
204
324
603
259
215
455
723
370
469
339
278
351
183
623
814
436
203
343
164
583
365
170
544
739
517
329
868
91
475
337
852
63
807
113
63
64
864
279
871
1
674
452
387
726
792
493
511
819
621
325
382
956
415
296
812
159
743
29
286
39
236
791
284
230
741
520
319
237
849
898
762
981
315
28
425
354
41
915
933
161
830
989
78
254
903
854
176
164
214
227
648
700
781
497
932
58
712
575
661
37
638
177
895
97
135
667
648
946
836
275
809
529
600
997
624
966
564
368
379
661
624
656
639
149
544
317
53
208
72
337
97
951
658
79
157
268
918
601
158
543
932
250
787
681
949
848
3
1
858
794
334
988
948
804
680
475
68
108
370
198
233
868
689
806
154
20
298
981
210
606
967
758
72
30
591
375
71
762
862
838
915
978
463
115
960
150
279
656
651
781
931
344
893
716
749
957
297
310
166
875
430
446
54
708
583
708
528
280
248
606
542
20
417
820
527
559
805
36
295
824
670
204
247
883
618
325
699
283
307
269
787
602
152
818
678
871
388
413
593
403
320
497
290
428
103
781
285
887
639
115
792
416
392
716
384
330
137
574
423
564
102
796
83
130
154
214
91
887
626
316
134
691
210
270
748
419
505
263
540
563
102
767
785
143
895
244
452
413
371
499
330
428
837
288
513
594
468
355
5
26
953
21
1000
943
291
621
829
803
701
270
82
500
863
716
620
780
425
228
794
568
412
44
452
450
421
946
632
186
802
880
69
599
353
499
272
323
426
424
159
259
885
512
491
691
786
272
509
101
847
690
701
997
240
618
882
880
633
777
515
273
733
556
70
542
748
782
136
450
388
45
145
786
744
43
331
991
317
313
665
990
735
746
349
595
70
723
170
970
626
201
289
199
660
375
586
786
278
204
4
309
965
9
311
121
123
547
683
749
154
60
126
453
310
147
665
740
913
946
245
770
330
467
699
551
67
831
567
800
601
543
674
626
35
961
549
802
284
426
910
957
264
912
932
901
69
86
179
181
497
860
975
314
122
681
519
302
984
487
285
904
58
787
165
564
701
630
667
895
318
245
672
267
44
176
705
272
56
443
147
271
203
547
787
563
67
611
443
605
830
581
748
511
570
570
692
644
101
927
698
62
903
221
261
693
842
60
275
376
738
827
940
986
265
137
490
779
361
302
282
813
218
88
455
293
865
369
966
787
330
441
570
857
196
952
784
636
209
792
202
377
550
395
133
403
550
224
219
55
311
79
625
856
478
599
92
641
581
298
946
586
915
710
590
169
756
337
806
517
691
994
662
983
312
368
491
325
324
563
388
183
845
584
103
619
986
860
385
956
288
872
996
243
584
450
493
82
164
629
527
967
169
571
300
347
41
676
407
442
129
80
242
969
981
437
990
250
102
417
651
136
141
340
769
689
923
45
515
695
10
520
146
281
465
848
862
888
803
918
742
901
934
837
66
531
82
842
199
1000
222
178
155
786
583
977
370
467
316
985
525
13
648
592
537
282
394
546
909
37
645
918
461
43
568
374
696
46
743
606
589
720
162
253
854
118
796
167
424
451
169
640
24
800
333
264
428
31
296
397
643
798
370
608
718
43
682
953
705
676
356
329
269
740
60
365
612
823
729
243
468
229
231
305
354
95
388
945
81
678
916
440
514
49
11
703
207
15
377
152
348
961
273
641
195
913
66
647
203
627
160
154
897
358
100
60
893
165
158
703
878
771
948
329
289
624
433
652
586
956
29
717
885
209
178
579
844
806
980
734
564
161
178
874
926
333
825
430
26
186
180
241
452
246
372
540
258
308
99
424
854
338
939
918
124
623
615
151
628
884
599
161
671
971
535
311
307
96
158
386
268
87
715
267
220
363
614
569
993
335
946
118
439
680
534
263
441
75
826
220
141
959
140
154
873
399
549
143
167
768
101
745
826
833
691
321
490
396
890
479
528
216
729
723
484
58
352
891
327
941
655
938
649
975
146
268
453
572
210
721
727
150
631
12
818
822
45
618
692
367
604
665
854
216
881
541
832
618
19
33
309
223
772
680
624
11
925
1000
431
138
367
152
862
387
354
348
734
974
458
847
351
805
557
320
820
47
203
194
487
581
701
919
495
99
976
41
203
996
331
64
335
818
802
430
48
370
503
617
721
80
301
942
889
984
455
544
235
806
793
957
616
509
806
199
528
762
32
773
86
895
225
161
885
707
92
332
944
562
602
299
695
29
610
559
616
340
551
533
120
699
487
920
393
511
25
943
950
653
817
756
158
29
82
559
844
572
14
882
95
469
445
3
424
378
615
968
423
240
244
321
168
811
649
966
583
349
872
997
101
872
65
280
797
561
584
440
920
817
764
842
251
941
863
1
930
66
28
149
79
862
390
193
922
293
154
546
48
740
202
371
836
462
569
882
974
52
813
227
339
615
766
284
263
560
276
374
195
480
211
559
644
750
67
325
884
358
922
331
615
759
763
381
775
989
119
314
203
53
410
383
761
229
836
759
158
701
309
788
940
75
953
111
69
341
190
849
150
422
998
235
614
393
264
491
669
398
153
665
148
327
932
888
211
765
774
340
67
801
720
199
942
702
398
705
212
786
655
375
581
389
417
254
726
361
360
824
894
743
818
731
473
92
880
391
278
947
449
636
980
462
431
415
397
314
563
740
718
622
271
184
771
530
245
853
976
914
883
345
635
903
656
738
945
324
971
987
174
727
103
637
675
156
389
699
137
386
947
216
541
80
851
276
181
393
225
840
185
399
567
16
958
602
298
653
935
166
486
460
629
297
734
59
26
302
592
135
471
483
277
642
441
176
822
494
902
644
949
182
68
512
469
80
505
549
356
130
369
473
915
640
883
275
511
535
117
284
271
880
835
204
234
476
87
628
615
105
892
703
347
369
727
195
633
161
96
857
424
713
182
699
695
551
249
476
28
336
973
874
26
296
392
707
621
183
132
916
730
508
787
453
3
594
472
943
922
593
663
884
229
949
213
604
129
200
320
286
8
502
986
260
609
821
229
508
237
414
910
314
909
775
992
992
375
737
623
271
619
611
451
380
869
394
307
36
517
735
851
228
939
789
588
741
762
314
801
491
628
443
534
957
800
298
250
351
141
889
197
578
211
616
455
457
169
171
901
863
365
208
628
334
345
595
874
459
458
161
554
894
948
933
685
444
474
809
648
266
15
80
103
15
747
101
176
338
557
909
497
466
200
972
51
111
690
177
11
428
588
572
257
637
691
518
56
382
921
484
587
161
915
446
102
767
473
156
545
361
446
102
733
250
690
896
867
831
162
220
164
236
732
653
682
855
763
694
308
414
416
454
912
121
79
779
510
881
653
685
823
606
389
90
780
679
508
253
214
663
460
426
918
829
226
723
489
350
547
602
463
575
143
668
178
904
977
262
598
573
492
667
662
966
559
50
604
796
8
963
523
871
211
77
574
904
776
846
462
26
730
841
337
110
918
621
279
121
421
433
427
537
262
367
611
810
968
979
246
115
568
397
396
595
38
403
181
401
200
735
562
759
931
554
899
497
846
970
9
718
406
447
814
143
158
675
349
135
837
567
249
301
927
742
129
745
477
266
317
276
874
224
228
771
646
262
461
352
718
286
163
449
817
594
220
4
137
282
340
438
410
131
158
29
566
229
130
432
642
936
980
356
527
79
818
744
736
230
376
51
579
95
922
76
173
908
743
28
625
638
724
128
381
196
914
759
687
293
807
702
597
551
383
479
176
230
161
297
277
57
232
939
682
312
452
195
254
3
139
542
360
165
61
921
358
610
517
959
639
742
183
938
338
746
26
169
205
615
438
932
974
511
439
474
986
316
501
586
580
478
290
894
299
817
969
627
463
789
958
763
169
41
996
943
912
754
953
427
581
184
250
235
81
160
726
324
163
801
143
125
732
548
581
469
430
980
128
809
798
738
654
123
774
818
50
393
53
372
790
974
754
270
848
836
400
682
761
204
9
675
743
815
861
91
698
375
247
643
713
192
826
255
447
965
19
442
703
853
871
101
718
938
283
931
918
936
581
263
56
802
461
496
718
346
585
379
921
577
362
692
790
658
338
564
874
644
602
78
696
855
984
363
645
873
883
524
579
332
958
563
953
275
716
292
776
93
806
145
525
21
494
841
726
183
138
532
403
813
721
984
478
296
544
398
658
775
97
353
657
374
654
423
470
350
734
657
148
878
759
475
816
477
994
114
243
200
143
286
27
981
221
68
501
178
387
432
562
876
192
345
853
250
643
100
139
630
622
591
908
711
909
478
912
227
37
663
590
331
553
884
90
439
497
68
205
934
285
644
895
239
90
444
458
621
849
735
959
872
632
508
109
521
939
584
61
256
707
717
704
698
332
147
152
382
427
1000
186
942
50
338
911
511
27
309
445
835
147
59
272
205
231
158
290
225
496
123
927
836
149
391
874
937
707
890
426
110
225
863
179
577
746
821
522
995
662
69
834
336
737
498
777
130
225
913
209
351
233
438
108
482
116
639
631
481
346
261
188
599
348
379
434
128
963
534
449
171
480
628
874
981
788
764
858
158
492
311
121
797
306
725
119
183
178
411
463
24
994
562
148
272
916
937
973
766
869
565
347
49
392
52
248
576
806
573
329
426
630
111
93
783
943
673
390
345
548
330
495
699
843
280
517
791
869
592
360
287
524
407
715
938
225
876
462
500
200
94
421
713
175
4
610
348
151
731
278
187
301
916
623
963
769
994
172
975
355
83
106
765
708
562
542
981
436
712
703
752
509
440
214
394
307
558
436
788
399
617
393
252
910
524
696
839
974
962
505
254
723
901
771
123
426
100
368
282
344
983
706
187
581
853
338
372
344
132
547
793
480
988
503
590
537
610
328
65
592
774
450
677
344
357
310
691
318
394
925
967
120
755
689
947
400
92
400
561
118
935
784
814
551
85
372
567
621
672
924
804
893
565
597
943
560
719
624
296
591
730
690
998
979
126
995
881
950
824
541
674
666
414
687
260
65
691
735
331
538
114
907
745
460
110
201
741
92
488
828
35
52
62
771
748
775
377
912
181
219
637
483
101
958
820
133
977
542
841
280
853
694
29
600
88
847
553
401
622
730
265
519
303
664
758
163
664
539
52
396
340
557
889
646
612
971
325
33
311
726
816
255
132
619
162
712
654
542
465
804
353
853
521
995
805
288
55
688
658
717
510
50
953
220
501
360
898
989
776
911
835
537
865
574
973
679
523
780
79
981
44
820
697
216
742
282
600
234
990
984
966
956
470
776
73
451
718
494
106
407
394
482
933
178
305
620
470
921
360
50
638
758
535
232
548
405
754
665
172
539
688
285
497
893
311
837
785
798
411
275
80
844
157
576
164
898
359
109
817
669
465
833
598
719
486
284
306
554
700
88
792
887
226
215
536
327
167
875
534
782
920
906
749
698
411
997
906
76
888
705
933
589
340
806
718
277
9
811
220
142
173
705
753
292
678
330
785
315
504
574
478
7
667
639
528
167
928
14
531
408
293
975
708
512
455
114
987
172
7
286
41
577
314
154
776
474
995
787
386
583
390
808
177
332
970
773
645
650
314
203
934
685
293
732
624
195
878
877
270
174
592
205
892
474
480
651
873
353
453
153
918
578
434
44
767
152
730
686
396
480
210
899
211
656
471
523
435
598
973
757
540
234
673
410
95
46
202
245
389
908
387
176
662
402
889
849
220
338
811
243
365
812
204
277
628
782
292
648
520
279
664
694
202
751
687
938
153
604
366
613
568
122
378
139
808
650
11
288
286
669
490
435
614
162
125
44
474
946
840
358
877
941
99
228
989
108
182
162
777
187
993
80
927
659
968
555
789
205
437
397
576
944
895
503
448
476
447
801
522
61
391
210
698
790
437
539
447
801
555
899
664
702
316
926
623
599
887
680
178
77
241
829
307
163
525
151
176
727
993
107
796
526
132
633
108
447
884
93
365
594
799
328
574
391
542
155
273
522
142
819
683
321
547
649
806
861
100
853
295
722
446
686
229
315
19
953
886
801
656
516
86
881
719
721
530
644
111
789
221
675
718
208
440
336
510
880
614
378
891
44
131
299
106
57
321
264
692
75
684
726
799
189
194
168
731
34
6
123
539
303
620
231
447
404
538
216
469
631
484
557
735
857
840
665
197
987
246
176
615
671
332
173
585
137
355
201
286
942
981
13
556
219
657
495
861
71
189
432
696
324
673
639
263
579
688
739
240
719
826
420
100
800
766
697
611
218
335
28
680
108
501
41
956
338
418
813
460
833
65
208
625
145
604
580
370
275
523
444
819
183
431
686
47
433
51
413
876
546
4
450
725
477
834
194
472
40
445
641
765
629
834
390
705
590
36
267
964
695
947
95
954
407
283
957
333
390
56
236
864
223
795
243
33
982
52
600
344
575
147
921
399
632
534
784
882
692
212
335
995
454
148
603
853
96
130
987
490
723
796
333
42
454
673
788
557
280
517
100
443
875
199
56
753
386
553
930
482
446
467
802
216
826
555
381
566
546
337
345
503
959
697
112
618
617
276
608
247
880
956
882
737
73
286
452
119
911
974
67
139
136
654
705
341
143
555
216
386
616
281
377
614
136
399
975
216
464
323
131
112
286
707
779
930
326
263
262
603
717
808
77
732
53
733
273
512
194
663
714
65
645
904
602
193
767
501
874
661
426
594
261
181
782
800
269
663
456
18
257
527
967
449
816
390
611
506
545
385
862
511
408
457
879
328
441
978
498
11
864
677
851
528
666
296
415
170
388
23
956
942
113
378
843
821
864
719
413
232
598
867
986
947
510
291
550
613
369
208
431
315
162
521
802
42
691
308
646
371
281
159
831
133
302
961
88
353
897
105
155
840
338
98
180
771
59
520
958
813
513
456
720
238
805
443
359
987
723
76
396
630
564
82
206
919
245
979
689
704
69
701
150
885
4
689
680
780
871
338
897
305
79
404
514
422
932
574
56
59
757
807
366
865
321
818
231
745
579
480
644
254
607
856
438
425
770
586
106
219
667
49
61
142
877
313
994
880
896
422
975
69
109
858
513
560
680
386
445
943
994
261
542
368
396
907
187
714
782
652
29
770
670
334
164
662
315
437
245
986
567
505
481
155
381
533
109
605
404
400
812
532
529
151
136
741
60
1000
116
354
34
831
231
840
462
200
805
323
778
342
829
322
28
324
204
244
132
737
795
732
347
144
135
735
590
29
509
327
315
845
35
639
842
283
712
233
658
589
408
739
178
769
235
757
908
788
837
220
310
808
642
327
108
599
53
356
842
415
126
363
304
8
726
286
95
876
889
263
328
954
646
687
839
786
466
950
206
827
833
612
264
144
586
276
245
522
344
835
114
500
406
844
798
725
93
560
404
431
289
976
351
581
125
798
828
462
258
416
859
453
583
466
256
857
485
721
171
531
672
350
468
235
757
146
449
477
678
113
367
689
667
860
590
24
721
338
950
857
971
256
966
655
68
785
604
723
869
949
332
955
861
85
199
22
598
746
755
392
417
516
919
807
814
332
589
311
509
785
464
281
642
984
24
514
377
531
896
315
380
727
396
698
131
434
936
198
195
164
834
120
836
661
414
812
430
661
292
669
121
858
925
726
982
584
834
850
809
738
206
578
532
478
527
562
169
677
474
133
252
621
783
182
378
980
88
438
483
781
354
640
140
936
454
621
512
520
234
562
376
925
426
453
240
626
700
32
740
21
887
508
397
683
456
58
664
445
723
332
590
100
936
136
888
270
659
848
68
694
877
241
926
408
139
654
812
239
572
835
206
530
345
630
583
177
487
633
940
363
57
970
148
748
790
440
2
608
652
734
752
38
758
561
752
247
151
79
780
928
806
749
579
909
262
527
838
427
210
609
280
486
891
450
307
765
220
525
706
981
9
417
662
845
836
468
137
963
935
511
592
578
732
837
72
200
802
383
241
286
274
59
270
78
37
956
596
240
836
204
220
388
327
797
442
937
549
924
422
321
517
34
10
544
422
34
374
305
90
57
279
323
583
202
756
837
805
770
236
392
881
135
920
92
824
305
753
276
463
619
471
205
238
648
339
15
29
712
182
713
60
790
184
41
95
966
706
658
812
675
460
37
808
469
58
22
607
893
818
232
434
613
226
44
77
628
665
64
138
927
288
438
210
919
420
45
801
702
369
710
533
117
770
583
578
160
178
147
765
163
553
419
572
850
590
339
788
741
285
10
279
329
109
806
592
355
482
867
154
989
579
705
172
586
633
632
915
536
382
981
279
273
67
218
562
231
235
781
320
839
899
357
294
119
513
759
942
568
526
468
584
618
887
154
639
634
251
382
114
939
196
450
911
910
730
641
990
449
977
463
369
498
427
213
503
837
838
611
405
182
513
940
618
966
800
671
898
776
712
397
249
461
930
594
868
281
129
701
85
475
746
473
976
266
687
913
236
748
447
101
838
523
866
188
934
738
172
991
300
417
120
643
924
671
613
378
187
840
665
549
838
346
610
574
356
758
320
472
279
125
879
650
112
694
917
320
160
266
333
97
500
674
391
196
77
521
968
987
774
989
457
911
702
864
973
688
154
509
411
166
675
653
214
577
503
583
422
381
65
783
64
709
314
564
325
715
125
469
296
842
608
426
23
605
820
239
186
744
960
541
142
31
432
766
630
669
237
838
2
182
171
421
45
183
686
482
568
911
82
228
972
713
953
535
499
100
42
809
889
755
776
91
578
851
438
484
920
604
166
583
316
131
359
452
847
61
709
21
778
402
579
432
160
158
634
812
169
839
832
402
276
775
158
688
567
389
874
313
861
96
971
851
432
671
581
125
115
781
93
148
832
590
918
380
218
732
690
108
345
344
990
366
145
806
397
80
990
901
509
376
790
859
536
680
169
318
449
544
826
21
908
948
300
409
502
644
268
447
924
26
204
608
609
986
838
583
69
845
40
6
679
84
170
808
7
955
710
673
631
859
899
268
515
286
55
506
379
512
419
916
812
879
584
879
423
767
345
167
32
284
519
13
175
677
619
75
29
650
39
236
328
757
309
452
710
229
628
456
66
442
466
74
97
726
613
307
78
940
498
939
488
4
304
827
304
360
110
444
847
829
644
721
87
38
139
520
463
110
403
886
472
881
869
70
57
790
59
556
868
989
117
344
448
353
834
122
367
827
459
975
46
803
623
655
170
517
711
189
318
86
754
821
924
852
251
387
222
83
327
409
769
896
905
919
176
252
785
907
625
552
877
887
699
758
603
721
848
566
659
109
651
799
157
170
469
309
474
593
185
892
46
527
18
598
168
730
130
74
588
71
666
811
625
959
384
777
973
65
72
258
477
716
828
649
82
140
604
633
891
91
548
691
811
167
498
764
556
219
577
190
664
265
118
480
344
121
778
414
411
931
188
759
752
211
630
32
912
433
395
412
998
593
9
249
398
589
614
7
232
936
586
588
700
672
183
411
169
690
377
816
876
429
290
681
1
650
625
257
159
982
22
233
298
481
931
726
14
260
761
851
608
835
515
874
424
45
106
94
444
55
776
8
991
769
801
679
663
214
647
462
529
310
428
864
217
297
791
880
282
845
75
852
50
328
990
685
117
691
618
145
981
716
224
882
339
48
346
753
79
668
800
948
735
596
638
905
525
445
626
13
693
404
28
265
883
599
41
209
117
916
720
658
364
832
401
427
351
424
206
489
925
601
101
170
73
105
642
729
206
733
947
150
549
400
910
325
792
808
352
466
732
566
371
247
238
888
727
739
137
819
1
964
330
472
508
7
316
887
839
359
752
590
3
284
144
794
438
608
580
282
187
833
326
130
64
705
200
816
154
321
194
811
999
662
109
190
118
523
414
104
281
900
427
942
684
309
145
336
386
1000
284
3
500
40
900
600
434
463
725
280
573
363
487
435
739
385
829
429
390
742
746
718
375
426
24
101
920
426
572
637
558
368
694
585
977
617
364
229
3
779
885
557
250
744
263
642
706
480
800
491
950
232
736
639
673
845
958
683
135
21
344
613
966
895
817
161
438
239
214
513
75
120
724
364
7
150
687
528
787
368
645
341
945
743
603
655
226
117
791
819
147
712
966
604
51
535
279
115
710
317
806
787
899
853
778
634
198
151
787
807
496
456
221
829
932
439
797
615
75
239
225
419
743
374
124
37
146
121
830
58
427
272
489
505
592
578
619
922
408
608
453
484
544
23
279
761
916
389
440
20
39
1
463
111
252
182
874
662
191
496
724
712
914
366
328
108
961
252
944
512
815
903
229
258
807
665
336
288
145
41
319
903
831
669
829
202
92
818
10
183
462
42
877
868
93
735
636
44
256
318
920
392
743
509
460
57
404
862
12
769
649
461
28
797
81
784
834
929
456
477
590
261
125
888
371
308
548
14
434
665
127
482
412
474
124
547
714
891
1
349
645
380
627
323
552
43
736
801
983
493
316
400
873
993
914
339
853
865
234
24
569
52
216
339
357
15
999
912
918
474
410
498
319
764
632
206
564
894
994
17
842
346
6
922
320
843
715
162
72
310
563
236
118
525
652
275
789
654
406
638
379
107
148
501
355
130
245
432
454
843
236
289
329
567
404
128
266
348
298
887
259
768
933
375
458
165
954
531
509
417
384
151
721
946
599
457
734
429
210
197
404
616
691
553
740
190
835
879
497
700
479
528
539
583
551
991
740
519
949
660
490
178
733
969
355
364
439
159
672
629
192
675
131
289
503
587
938
168
283
888
797
244
151
382
558
788
363
743
47
893
928
23
790
693
393
9
842
860
528
533
291
109
87
169
59
422
136
369
398
361
817
6
124
681
747
174
477
230
39
398
589
729
375
645
774
96
950
223
137
367
477
976
860
10
643
496
331
675
344
540
421
651
74
578
380
597
356
35
501
91
6
898
328
126
157
267
226
688
955
131
861
575
574
894
543
266
609
151
560
927
458
976
689
841
39
958
638
683
704
631
641
847
124
17
837
554
601
973
315
926
542
663
144
177
626
445
863
974
381
289
645
481
36
217
563
668
712
272
735
670
932
238
444
102
108
389
352
730
843
786
61
142
780
279
504
888
970
263
172
285
296
650
188
912
855
446
719
391
629
53
264
847
739
930
868
626
847
807
733
964
123
915
417
664
417
228
934
407
411
25
208
818
88
894
388
797
505
343
664
213
578
604
130
249
619
143
784
254
972
943
167
376
455
301
44
982
932
235
449
100
738
909
81
612
891
991
249
324
250
942
49
295
734
77
336
111
778
904
527
471
624
583
120
170
235
275
873
117
513
479
67
953
149
203
162
79
580
176
116
379
735
182
697
358
636
578
261
641
321
773
683
527
56
914
138
942
742
4
797
719
170
993
837
490
896
394
149
818
483
406
655
301
386
247
512
491
184
498
323
403
347
862
519
956
209
68
621
891
475
19
726
929
772
649
455
372
447
749
808
769
324
394
117
536
477
92
53
374
749
171
409
30
552
421
713
384
324
960
981
908
615
995
344
487
836
254
10
625
801
245
239
240
610
847
58
294
460
249
325
598
713
452
234
563
66
316
962
742
226
328
494
280
220
621
108
756
120
556
566
458
473
158
433
330
611
926
781
882
984
969
504
939
524
407
673
169
598
725
302
689
324
493
713
836
830
852
371
603
513
611
449
63
571
252
820
234
174
237
468
350
386
221
446
111
7
172
20
97
484
390
363
152
590
873
113
89
639
836
733
735
56
438
710
116
398
814
302
279
983
116
300
605
743
596
207
851
87
881
706
795
308
213
219
318
140
121
605
858
933
419
938
54
673
848
258
533
188
517
633
406
88
552
429
178
813
536
853
995
845
104
922
9
115
340
409
335
616
333
763
85
777
346
323
382
473
421
53
547
978
203
687
267
286
777
291
251
147
506
994
871
993
852
489
272
886
85
449
243
851
291
7
155
994
814
492
578
388
886
644
213
934
944
211
122
503
24
930
3
342
626
446
358
603
205
417
539
782
485
62
835
528
441
434
650
157
16
393
199
74
356
691
717
127
955
148
445
361
803
797
470
9
834
284
763
148
74
395
704
15
814
285
568
782
703
81
846
973
977
67
690
963
402
194
421
749
982
834
138
98
308
43
978
470
104
912
967
917
223
91
744
827
949
277
866
989
298
419
235
731
505
291
417
932
4
871
963
295
626
516
510
714
863
411
711
824
983
891
84
150
220
131
483
520
675
787
164
136
50
509
345
421
895
90
592
487
176
793
595
127
340
164
156
911
383
620
282
511
634
330
221
763
749
106
553
493
61
596
795
594
902
48
807
6
696
980
982
758
223
65
587
668
188
871
696
262
86
368
425
767
683
467
187
552
264
972
837
956
961
586
805
273
488
962
966
974
1000
662
576
99
475
881
504
579
774
674
860
962
779
728
838
630
879
278
253
761
819
272
963
873
354
758
728
432
180
922
895
166
86
257
288
341
915
637
885
294
187
665
55
380
581
865
425
131
522
834
806
173
70
329
640
116
846
633
776
805
909
50
158
978
899
842
134
541
841
59
271
982
422
383
466
578
430
132
362
145
299
878
553
207
256
541
675
655
552
786
43
773
765
99
201
795
112
404
628
555
232
306
507
856
677
702
938
226
677
663
3
472
281
899
467
161
313
312
137
736
286
539
544
38
106
848
28
138
160
478
598
466
738
503
791
275
485
43
924
978
484
703
884
999
798
849
91
606
892
54
952
268
41
826
52
985
969
735
620
478
102
843
385
514
360
460
111
556
681
210
157
772
975
276
466
548
654
560
315
974
908
764
783
893
922
702
789
699
791
650
105
312
149
390
390
786
344
444
732
858
162
670
995
526
253
400
376
112
492
538
817
662
284
943
588
14
302
984
560
53
457
120
574
454
146
390
574
151
751
720
681
767
323
628
322
810
899
656
214
229
328
30
211
750
5
840
937
34
316
551
24
508
250
368
943
177
402
397
598
940
358
28
38
701
966
735
297
694
533
516
960
858
488
16
896
376
76
976
619
411
325
455
132
995
582
605
974
472
948
956
75
12
82
103
755
938
647
456
258
519
729
907
86
617
278
830
171
270
201
55
942
882
933
15
443
771
407
383
979
453
694
103
358
643
965
874
112
153
142
518
451
538
857
692
975
878
329
156
550
855
911
742
724
285
342
447
639
568
848
671
271
494
761
859
890
279
202
169
789
568
515
153
12
795
626
515
667
208
671
208
419
390
531
177
829
915
79
119
721
224
381
916
462
143
202
750
874
106
78
263
514
142
873
170
810
659
720
841
742
399
828
163
675
450
93
495
404
996
140
918
81
627
164
755
905
533
4
985
933
457
391
706
446
560
950
406
326
285
507
37
962
360
721
506
27
10
298
653
375
802
781
454
236
717
586
588
296
450
27
912
781
677
502
837
364
423
915
152
287
796
756
113
173
325
416
576
195
717
514
388
892
438
179
10
806
422
627
721
796
358
131
712
293
670
6
125
122
134
79
355
64
897
165
725
83
670
215
229
961
128
445
203
193
980
989
877
361
976
60
899
803
985
669
186
740
783
1
418
913
849
964
834
25
663
624
881
148
369
707
431
657
316
26
281
878
199
539
838
987
761
297
533
901
660
850
62
653
107
586
444
709
219
380
126
128
731
32
60
461
553
41
498
623
773
96
861
144
703
725
851
669
126
343
666
640
64
374
430
642
819
458
185
776
306
840
505
3
484
41
920
258
608
776
809
309
492
923
651
499
508
250
166
579
454
424
417
520
465
290
86
840
648
861
384
420
833
900
438
579
472
323
92
817
943
249
308
770
199
265
864
492
671
156
543
615
616
797
866
263
48
683
820
227
931
545
727
767
453
439
902
256
356
120
559
267
432
950
661
302
309
752
350
162
2
808
772
206
120
396
520
753
438
693
502
524
918
165
912
465
666
805
749
741
829
814
278
543
376
222
796
319
247
307
88
952
549
77
916
617
243
103
814
999
66
549
848
573
376
768
430
479
29
568
324
108
276
459
474
191
679
683
56
211
427
274
986
694
885
879
550
270
234
217
571
359
108
639
361
748
744
30
18
811
291
103
313
129
504
970
453
602
338
494
231
820
30
814
249
306
828
284
854
695
961
405
447
95
678
484
150
477
489
706
338
825
953
227
845
198
258
60
432
227
672
920
621
331
722
237
625
492
66
581
873
9
471
706
425
657
147
746
713
50
814
406
764
487
207
232
324
775
361
506
77
598
658
324
13
273
105
129
733
282
579
952
522
536
283
256
676
898
123
859
31
470
252
168
789
267
343
554
610
912
725
584
22
226
883
361
879
576
843
239
283
929
977
335
78
923
244
596
1000
893
705
550
11
830
215
846
528
651
344
276
38
35
78
241
466
718
368
997
76
517
901
536
671
379
74
801
965
652
210
365
175
951
872
48
119
876
439
559
589
936
139
238
952
958
509
687
783
99
702
817
560
159
468
318
865
448
180
32
155
855
865
836
930
713
47
479
681
387
245
107
287
17
533
230
818
318
27
640
777
753
356
573
950
731
284
633
633
336
675
489
212
290
547
785
425
991
782
199
177
230
535
695
719
29
279
317
340
299
214
437
910
326
939
830
908
711
724
740
796
399
795
774
837
112
831
144
370
335
248
533
169
143
618
158
548
273
413
534
365
281
704
98
928
396
816
770
725
258
603
61
85
942
234
244
382
789
391
102
395
587
718
551
814
442
747
516
277
996
168
134
293
168
573
242
367
619
213
941
494
322
881
461
255
811
575
107
212
235
944
116
488
994
852
461
996
34
572
862
819
684
141
272
688
480
385
992
470
877
398
488
934
974
589
269
769
611
258
381
996
974
251
154
802
22
819
347
205
659
320
994
324
834
641
126
338
453
174
430
968
268
636
370
937
367
512
890
236
547
110
228
865
210
900
468
326
765
809
544
765
536
776
459
336
312
65
176
708
265
978
443
269
330
309
152
716
864
311
647
948
915
144
632
339
536
949
756
291
380
26
21
150
264
84
720
848
76
334
883
915
806
774
818
172
158
450
749
5
288
639
411
522
889
765
353
418
207
588
406
92
65
841
343
678
737
747
632
861
994
652
612
589
490
371
199
808
48
939
752
413
381
574
103
982
423
647
144
587
435
404
69
29
247
394
713
690
96
472
30
127
422
95
862
612
74
117
827
210
308
531
729
311
825
487
158
606
186
761
264
745
382
851
120
188
940
170
120
497
271
373
787
494
354
436
159
952
978
936
82
16
513
673
774
988
103
578
446
683
589
483
607
893
908
324
802
522
816
584
713
177
187
140
202
422
314
949
349
192
348
749
589
273
694
382
275
413
795
515
868
172
258
340
368
297
522
486
708
312
977
288
321
258
26
434
283
251
793
53
237
10
684
814
484
777
196
257
255
193
633
211
875
302
580
31
43
992
943
851
146
228
515
965
473
526
669
982
613
979
480
959
316
181
281
551
659
105
541
657
111
973
482
272
482
76
796
779
191
516
165
344
642
46
233
349
37
103
684
342
206
356
68
242
839
994
258
701
328
980
2
339
481
679
12
803
521
509
405
600
767
335
848
885
492
798
972
120
766
160
362
908
626
250
712
20
122
189
501
614
295
160
206
815
114
113
1000
387
736
931
282
133
266
207
668
262
919
384
545
629
439
24
307
341
491
547
195
630
933
324
474
747
79
921
82
695
507
648
313
79
826
977
111
14
816
584
859
718
221
665
320
388
839
326
105
319
671
308
617
317
443
952
968
336
881
306
762
416
916
128
721
936
857
321
515
858
595
528
107
782
778
937
608
372
799
351
63
14
103
844
180
287
135
386
863
294
871
168
535
813
21
796
711
143
841
368
852
862
478
300
128
252
388
836
450
31
489
90
38
882
408
942
503
720
490
143
795
187
20
179
318
732
535
234
425
948
732
914
211
943
237
228
285
269
915
923
297
982
32
234
211
400
344
138
79
456
237
215
728
773
831
872
511
985
233
769
419
215
841
59
584
959
86
251
301
86
863
224
897
964
545
923
260
819
442
260
54
722
405
960
799
624
567
522
168
57
333
943
198
365
839
927
812
805
729
99
482
685
971
439
107
271
672
160
997
991
606
263
797
837
210
337
53
653
222
860
443
723
686
443
211
388
869
12
310
80
580
736
296
354
388
516
29
196
173
524
711
805
77
657
147
232
773
721
664
390
301
221
587
538
283
892
514
657
527
296
292
324
619
132
524
622
33
144
155
895
90
28
643
84
886
55
912
908
205
564
7
188
733
517
518
966
967
10
493
934
51
198
894
313
23
720
338
674
387
528
837
166
906
362
82
437
107
299
201
400
568
687
359
371
333
369
971
942
946
69
247
120
357
429
96
71
681
792
728
76
213
77
386
516
770
621
435
970
956
308
109
617
100
459
407
492
413
465
731
799
860
789
360
471
443
221
466
103
362
428
350
132
793
798
589
161
712
40
845
870
694
212
313
327
802
676
1000
696
940
549
38
605
45
968
837
880
688
965
962
400
915
852
450
911
886
111
508
160
962
706
157
191
557
146
709
109
415
591
241
470
772
374
355
281
907
234
290
641
240
212
754
556
234
346
449
894
918
538
667
919
152
433
977
112
396
392
580
955
472
770
975
642
122
315
799
901
509
177
417
424
993
81
279
793
762
835
206
22
526
877
965
857
31
883
190
379
938
407
740
727
882
780
705
168
185
612
607
160
41
807
497
553
396
988
234
679
139
206
779
349
598
739
412
592
897
881
767
490
127
383
10
666
331
724
964
585
1
798
707
603
156
102
78
5
7
240
946
801
349
562
384
996
451
403
98
835
856
209
352
363
841
795
262
47
648
837
983
765
73
454
767
321
146
233
925
497
420
307
796
313
407
59
304
609
972
935
207
501
741
255
360
428
806
321
596
829
651
127
427
54
16
559
641
904
678
837
941
52
688
964
874
520
19
767
607
909
213
825
180
429
406
599
184
820
577
420
153
580
139
322
649
687
338
797
69
479
702
668
789
246
674
807
649
482
51
920
71
917
74
443
782
866
249
319
947
2
413
33
604
847
816
149
562
381
592
200
586
809
137
581
586
524
335
69
438
675
83
434
247
838
851
8
505
476
935
33
735
750
19
903
628
563
344
483
823
865
383
525
476
89
372
45
339
890
262
206
131
139
38
399
749
736
135
951
297
411
787
622
813
106
496
297
130
441
393
887
77
80
419
128
989
86
775
554
737
543
816
787
939
150
155
334
980
566
38
471
814
807
852
826
246
135
470
788
501
155
170
19
148
748
874
900
914
928
277
934
18
294
789
639
56
748
7
824
606
560
208
850
17
92
609
971
694
740
926
401
202
695
560
990
811
689
50
648
167
534
680
393
923
34
587
814
630
109
465
28
632
380
264
233
684
927
917
403
174
451
145
912
754
687
288
712
699
438
818
731
288
365
326
275
103
415
150
409
199
386
703
197
52
829
93
360
782
234
369
742
638
293
462
825
951
454
656
56
757
930
152
552
367
434
139
415
276
878
171
464
997
704
974
788
544
345
851
138
343
755
622
234
139
400
906
361
542
129
708
354
852
522
713
270
453
506
98
659
316
822
676
538
255
243
104
751
887
507
719
285
290
930
991
804
739
884
65
698
982
261
967
954
179
544
727
93
314
264
561
601
96
406
998
695
999
392
889
485
778
684
382
734
382
873
17
115
694
581
247
329
2
927
616
131
630
476
314
756
884
74
177
296
330
125
740
978
473
584
498
387
971
659
622
576
272
91
996
176
319
627
491
71
932
64
431
766
919
686
56
731
965
539
448
106
176
268
914
830
300
810
268
249
241
988
294
617
469
518
934
936
29
732
161
728
290
565
822
81
653
41
834
690
502
218
510
92
430
739
820
762
127
107
852
658
952
382
347
195
907
992
749
940
605
163
272
99
666
142
668
754
878
671
707
306
342
432
624
703
377
326
787
870
19
625
795
184
187
620
740
55
960
937
101
645
176
948
441
288
29
898
412
934
183
727
119
39
344
177
326
267
388
254
678
672
718
135
945
880
657
386
948
670
949
855
134
487
94
509
855
962
576
726
152
577
270
358
516
540
509
479
335
938
164
338
718
105
968
737
973
258
964
764
365
949
734
239
337
926
114
863
128
654
959
960
839
523
563
708
881
3
602
389
763
750
34
939
825
430
903
810
716
633
955
486
969
330
631
357
928
537
509
427
204
86
827
677
470
102
542
527
47
223
539
297
303
550
657
669
391
611
703
645
567
175
797
533
149
518
917
389
16
413
35
644
665
736
448
289
562
33
743
323
666
150
356
595
920
66
263
737
561
947
144
516
461
615
882
204
690
610
142
367
711
787
577
652
501
265
183
251
786
424
635
164
797
689
232
581
938
449
22
74
780
644
624
489
788
792
211
547
74
803
880
207
440
1
487
604
768
862
206
664
239
356
313
902
446
547
62
714
705
642
895
63
458
42
73
444
67
963
590
173
878
318
904
513
611
620
245
127
630
91
486
493
882
162
443
900
642
829
199
956
194
542
721
245
987
525
949
214
524
701
4
939
569
486
623
581
528
797
420
59
643
869
966
362
103
912
5
527
712
780
422
898
108
581
931
311
218
452
288
327
172
643
284
608
646
530
353
500
279
518
728
315
878
56
161
838
60
948
701
338
896
304
93
673
755
678
842
28
788
269
37
161
209
350
262
844
175
228
16
732
964
576
339
466
467
331
497
750
794
709
779
973
708
342
593
133
760
942
830
143
855
440
255
176
209
713
685
517
207
207
754
192
427
581
148
872
227
427
655
8
749
649
555
390
212
755
971
894
736
288
969
941
823
460
324
387
958
670
768
199
224
945
455
514
139
626
443
429
738
870
472
989
100
814
171
892
6
738
240
678
769
57
503
913
261
490
612
655
470
729
245
124
320
30
852
462
207
672
624
920
167
549
796
103
252
948
572
689
732
547
172
803
905
944
771
73
341
663
45
881
99
534
107
24
444
219
173
877
950
867
881
766
69
442
84
792
202
687
834
687
688
509
41
23
643
751
285
730
796
276
923
69
793
705
220
417
531
992
209
790
9
657
545
673
632
888
77
136
207
721
437
929
521
387
985
1000
723
615
766
117
668
351
512
295
219
756
612
495
616
417
375
9
498
422
328
709
76
207
774
732
630
215
889
403
893
219
515
412
290
939
983
595
490
837
564
27
71
653
21
825
820
303
472
242
293
593
726
966
420
642
308
436
504
170
660
471
738
906
501
794
354
222
843
184
755
143
863
635
475
150
376
515
27
222
624
142
49
706
543
680
834
445
74
305
624
450
342
237
617
740
548
766
536
129
804
815
713
794
246
494
286
904
283
262
861
625
519
697
681
717
15
868
539
978
201
210
702
513
865
893
129
322
289
236
353
837
763
68
697
347
502
290
40
797
631
437
751
351
486
562
965
431
185
246
589
454
544
763
315
414
805
76
466
77
523
314
472
982
626
727
784
257
169
557
76
458
698
719
127
771
457
160
904
102
244
720
443
314
988
845
734
435
792
961
531
2
577
164
350
499
243
79
845
694
857
638
833
228
31
932
439
225
357
986
764
874
933
347
223
794
578
696
108
548
430
895
21
278
375
906
985
378
303
981
189
537
319
111
964
129
315
725
371
79
948
137
775
65
751
274
516
24
586
837
670
772
228
451
834
591
652
938
828
768
441
806
31
546
614
804
639
833
305
574
777
315
938
359
627
475
170
870
851
858
912
9
352
753
588
292
546
13
949
531
220
388
616
14
183
388
155
290
658
528
139
249
147
530
465
639
385
865
383
785
380
455
22
266
763
142
328
106
891
177
117
785
965
762
767
454
158
888
905
907
549
576
230
308
424
707
986
423
472
526
715
969
358
319
110
672
644
806
374
739
724
767
775
84
122
696
24
716
40
626
116
815
839
576
783
934
777
656
218
18
215
588
833
22
359
26
792
146
929
394
911
884
486
882
911
587
216
830
774
389
256
200
73
898
173
638
992
650
944
633
631
807
647
222
344
189
640
693
97
802
376
785
813
801
563
858
45
70
382
462
234
683
279
284
670
477
32
446
252
389
733
389
879
232
43
913
15
32
882
696
14
970
598
710
493
893
659
966
38
503
757
503
990
678
126
427
178
119
401
333
839
378
996
407
514
135
730
173
174
830
915
990
219
138
306
444
569
652
688
427
4
5
45
755
636
236
844
132
171
68
348
908
331
281
995
176
561
333
812
958
408
52
974
917
747
213
852
320
817
889
742
795
425
948
647
991
476
681
325
850
231
385
193
846
765
481
945
381
205
55
415
66
10
978
186
170
540
936
415
488
445
337
888
728
168
850
675
960
542
168
310
616
372
773
876
720
132
501
280
626
779
137
444
179
599
807
812
587
414
772
743
980
661
678
353
230
594
283
614
759
581
955
588
902
934
167
67
519
355
644
890
731
167
517
607
424
458
576
329
340
658
583
159
247
251
495
722
451
500
491
968
274
948
962
581
684
754
123
1
699
223
437
570
368
503
597
922
110
819
886
710
727
169
161
265
378
879
47
523
460
382
436
69
995
726
442
848
145
765
494
167
323
256
985
118
523
354
653
400
92
374
176
613
29
424
585
83
940
178
443
454
497
517
959
633
664
254
70
422
627
116
979
438
662
20
739
817
586
122
915
265
890
780
467
305
62
693
31
157
971
404
904
250
946
579
421
275
715
595
768
151
923
570
555
625
379
798
906
1
565
400
136
380
40
59
484
139
569
806
946
300
336
258
334
286
26
138
790
347
291
611
853
348
522
924
403
908
965
831
623
78
882
209
856
829
184
109
750
476
879
113
344
813
306
327
553
526
641
359
485
472
925
675
304
776
678
234
383
681
870
604
482
919
430
31
715
441
473
375
763
364
622
78
717
200
703
665
623
13
932
256
500
22
715
275
198
165
477
945
546
800
708
800
955
289
37
634
553
112
589
374
794
158
589
92
959
634
610
426
629
752
724
566
392
912
47
257
821
594
806
525
609
231
834
773
302
779
244
20
977
795
983
39
561
631
87
765
530
990
362
810
534
839
828
575
935
166
532
333
268
211
302
422
695
202
731
157
557
307
99
45
421
611
671
935
491
272
958
914
588
149
189
795
252
890
833
890
500
221
208
323
934
495
207
306
291
56
184
420
522
816
819
514
713
539
353
436
590
719
453
105
234
116
466
210
712
188
236
84
245
972
9
764
982
542
129
679
421
936
682
384
718
516
398
32
987
136
846
585
568
102
69
333
707
183
865
494
68
239
811
694
421
509
264
441
82
503
817
587
727
950
29
629
278
157
129
700
185
683
138
791
161
956
201
267
844
668
86
112
626
379
906
378
626
471
98
207
1000
840
297
359
832
135
522
622
240
694
239
46
474
874
821
446
439
180
572
91
667
166
983
966
858
836
882
552
937
998
253
109
777
620
613
377
253
337
438
656
52
748
975
572
721
555
136
780
533
662
246
744
120
644
377
102
333
258
980
55
522
954
241
709
67
812
757
630
953
671
461
738
265
663
1000
655
660
227
268
162
337
102
309
34
919
963
186
909
800
64
197
968
181
115
129
653
317
337
414
523
379
526
698
808
694
614
349
417
931
398
819
520
273
431
726
122
318
631
196
658
603
31
670
105
538
488
852
808
591
995
15
883
280
374
508
315
333
131
241
100
191
567
502
996
89
81
127
577
926
493
685
115
944
79
139
869
708
28
673
648
584
229
454
620
652
247
68
839
490
877
599
556
501
152
449
607
849
388
860
60
183
190
601
226
983
223
481
541
352
868
636
625
861
355
185
866
801
222
439
43
577
280
822
850
256
999
767
649
607
637
954
433
289
400
144
652
136
319
710
85
410
316
482
141
365
779
817
176
506
468
727
360
983
145
690
482
71
769
820
701
474
533
425
772
374
112
777
456
454
94
23
410
167
326
981
916
250
871
414
325
321
45
618
188
892
789
578
394
977
774
877
658
110
630
623
569
62
41
915
119
478
543
544
749
432
88
727
72
873
707
225
275
39
90
47
280
455
567
566
692
376
41
358
461
882
616
871
770
606
355
168
68
813
274
870
328
655
878
463
122
726
793
436
728
714
996
349
944
571
473
822
685
458
144
709
879
908
80
306
153
166
267
963
2
343
340
206
261
919
145
129
185
568
649
437
213
293
982
332
26
580
837
807
807
530
507
889
505
385
309
233
748
92
44
968
506
568
70
503
669
218
890
420
405
458
858
413
899
903
338
979
580
869
535
508
243
705
922
750
578
913
599
273
504
281
556
702
400
91
449
142
832
388
588
293
957
765
606
431
588
142
195
91
169
865
185
18
518
761
883
961
74
191
476
349
477
952
741
590
411
76
247
572
819
948
925
585
389
536
90
31
185
951
942
101
767
160
94
767
147
401
47
167
469
989
241
56
42
668
970
559
406
131
44
22
517
140
821
690
326
158
675
297
683
914
863
121
502
909
487
908
832
389
330
580
694
418
564
128
73
273
776
731
44
507
883
674
321
513
823
494
337
402
481
48
810
823
191
312
595
934
298
587
923
382
162
39
63
343
295
873
625
720
640
419
369
536
531
964
707
87
451
951
748
421
322
643
693
945
826
338
537
699
971
88
120
938
965
850
715
854
199
673
384
536
879
742
256
239
622
669
826
80
223
236
544
339
229
84
308
534
972
535
803
745
490
848
737
694
246
79
932
2
805
240
953
144
848
555
258
628
940
473
918
163
329
363
620
621
661
238
910
601
463
264
709
114
631
677
725
374
63
861
978
710
928
719
650
916
186
233
477
358
742
15
132
37
317
196
393
970
410
511
843
396
256
125
164
778
592
722
309
802
365
13
898
944
473
998
640
694
13
929
898
910
515
265
17
757
941
850
598
925
806
927
211
706
939
549
674
628
486
849
642
931
485
190
820
295
398
488
946
92
392
934
194
68
933
954
964
274
319
810
551
778
646
916
474
124
234
129
76
713
434
254
414
166
975
717
179
10
463
541
609
884
171
585
285
798
560
503
194
775
763
715
69
366
781
799
112
526
203
491
325
755
535
224
19
418
913
139
966
429
673
102
536
926
727
895
499
960
870
893
580
278
396
424
743
640
290
169
487
958
870
178
15
235
249
24
98
136
155
188
9
885
705
935
398
733
242
870
658
834
537
995
614
817
134
363
474
943
258
689
480
423
441
356
934
997
607
32
537
351
290
357
20
717
886
822
371
113
754
96
724
881
820
565
340
97
391
704
203
389
293
436
828
645
871
836
650
426
215
835
144
414
710
344
302
838
549
196
366
827
465
499
111
13
248
319
213
301
592
90
429
590
660
578
267
245
223
646
547
438
417
790
737
114
353
43
577
254
784
935
288
55
333
245
453
728
386
211
642
149
283
683
745
461
284
484
160
700
56
669
493
771
316
55
840
123
614
343
916
35
800
746
614
241
857
790
988
780
512
936
124
689
196
761
791
786
352
958
172
851
447
281
83
722
825
352
398
741
905
293
71
155
420
495
462
600
517
946
48
885
524
307
625
514
435
368
317
517
399
719
228
814
334
258
769
626
937
221
221
805
869
868
50
648
612
74
120
831
135
928
540
948
759
481
961
687
632
778
242
553
403
685
211
272
717
537
481
492
770
313
61
253
302
253
620
445
29
40
593
485
821
31
43
549
756
985
842
154
561
50
365
163
643
658
199
871
11
474
919
983
1000
630
755
731
550
232
313
695
129
948
921
63
760
983
738
277
588
861
676
197
346
963
829
72
207
598
63
493
775
324
960
754
319
847
166
312
127
487
198
94
739
591
821
134
974
392
98
615
976
309
22
320
999
753
746
309
963
615
565
725
531
70
838
657
476
354
456
166
944
964
170
485
430
871
165
737
550
235
50
533
147
619
572
908
287
335
920
620
966
118
7
132
505
30
810
346
900
963
273
346
755
41
655
991
200
295
966
148
879
907
496
383
590
589
335
249
870
221
321
746
768
421
862
707
911
17
975
917
508
469
601
464
834
389
578
956
211
168
690
64
630
633
103
462
55
107
943
611
823
215
625
608
837
3
21
26
116
581
911
605
784
709
612
128
494
786
215
831
522
54
489
137
158
193
974
351
75
501
795
419
241
788
363
88
480
367
737
377
358
606
824
217
522
90
477
375
637
368
798
542
842
768
167
415
1000
162
303
470
302
176
358
168
758
812
381
504
130
657
816
780
171
986
123
311
314
641
4
208
23
620
836
659
726
833
138
296
685
793
322
398
8
888
312
534
928
825
587
296
724
513
842
970
431
415
636
370
521
909
329
951
884
635
627
803
361
917
215
671
850
171
986
270
6
600
285
667
618
482
11
97
803
143
971
659
854
32
476
838
17
102
628
706
422
222
645
286
402
972
413
220
236
867
91
227
601
283
179
67
578
366
283
353
29
342
796
481
643
304
445
146
706
40
435
221
340
377
755
974
330
863
603
67
746
33
158
226
486
994
458
888
79
937
879
453
243
87
570
40
481
276
631
971
570
737
305
622
363
843
404
16
160
701
210
500
909
164
204
132
740
34
612
95
206
857
857
652
108
556
504
195
187
826
665
744
849
914
320
330
824
920
444
444
991
239
198
75
514
513
904
264
240
906
140
16
23
682
729
343
30
950
51
182
690
377
805
936
920
596
285
339
232
112
480
698
426
512
15
724
550
624
950
447
92
242
857
485
669
106
193
973
57
338
818
890
766
40
609
654
162
212
604
826
56
974
424
964
817
906
542
570
507
239
813
868
90
474
830
890
73
885
710
564
255
906
951
794
30
483
187
198
837
640
985
903
811
376
521
761
675
699
644
674
426
795
848
454
766
92
8
41
869
849
252
405
726
402
805
286
262
875
211
623
678
542
83
580
531
467
237
867
533
184
599
227
850
284
815
143
689
797
235
914
598
942
994
606
183
783
623
980
739
97
544
972
816
781
141
754
4
367
766
141
169
815
735
453
190
540
31
701
948
495
731
54
38
81
567
394
464
530
332
50
342
248
537
434
663
115
23
163
546
972
117
315
203
357
901
426
640
530
762
265
348
328
31
194
618
181
767
877
623
64
133
96
73
213
380
807
996
301
756
175
623
718
130
771
450
123
707
33
496
111
938
386
860
12
780
997
200
208
705
659
124
151
910
159
580
961
804
962
14
730
533
105
675
770
646
610
60
544
82
780
240
312
190
281
575
315
65
665
454
811
240
386
570
484
780
138
239
122
487
412
475
2
598
314
245
676
561
783
170
970
65
601
288
102
764
361
637
889
782
443
375
538
620
628
456
965
223
319
119
676
890
772
205
361
699
517
915
372
758
923
904
706
966
991
957
56
120
458
816
350
772
693
324
61
575
479
245
633
868
347
616
804
372
815
201
954
603
621
498
416
82
76
139
371
397
189
220
137
834
215
882
469
965
864
318
392
5
301
319
322
592
775
855
577
181
92
931
748
981
416
683
123
59
947
38
388
626
729
728
40
744
164
329
725
442
844
338
884
719
631
546
630
168
746
59
435
227
711
208
504
289
339
307
902
811
366
302
825
168
83
11
823
5
622
940
762
158
335
128
758
553
944
492
883
783
544
449
245
186
559
109
814
325
900
917
898
886
380
931
445
442
797
525
668
789
881
531
371
370
988
436
653
650
896
162
353
770
925
850
907
98
132
186
164
925
444
206
675
86
402
334
339
542
938
103
158
625
691
742
815
14
485
520
430
358
901
454
15
716
124
54
499
971
81
710
992
859
597
604
257
495
239
441
111
315
920
438
684
788
640
636
884
41
576
855
380
540
934
715
704
112
809
99
228
997
33
517
403
405
211
438
139
629
22
253
59
141
56
152
429
646
956
827
952
99
956
919
318
193
769
179
460
753
857
870
943
281
233
992
368
499
7
527
639
977
779
290
351
181
532
629
941
761
318
696
726
867
748
363
1000
373
802
311
266
1
346
482
887
498
248
572
999
523
782
623
607
755
165
599
500
315
814
164
152
87
719
639
456
8
866
171
349
805
230
786
430
174
198
391
767
524
9
406
436
136
881
591
76
878
303
744
524
307
824
253
875
199
568
556
48
43
681
487
458
605
128
351
787
401
444
863
595
532
156
903
663
400
105
347
16
811
684
97
466
105
727
618
983
515
816
437
824
705
682
654
745
539
869
808
181
97
523
223
896
258
689
958
593
630
876
589
576
458
949
597
930
765
347
755
388
72
405
490
480
675
851
998
367
753
376
678
375
284
39
153
133
796
455
911
811
721
309
217
382
270
64
931
664
420
578
232
821
580
460
168
316
868
645
924
386
187
401
24
960
190
10
845
823
233
631
657
438
365
579
552
129
448
417
427
81
645
610
537
824
719
523
931
503
452
397
409
769
594
78
110
372
184
841
779
683
649
795
200
775
121
875
915
868
101
373
498
550
90
55
25
228
664
688
454
870
226
262
142
151
438
834
283
523
109
914
739
272
995
806
554
394
819
936
644
859
894
819
776
4
732
266
804
174
958
890
243
986
880
898
837
867
674
229
88
729
29
609
178
643
159
954
766
217
655
516
119
757
32
475
959
526
984
492
822
842
744
775
294
359
835
552
405
420
861
169
275
754
145
84
229
881
830
415
945
20
426
42
607
531
627
400
104
987
1
420
63
803
362
73
98
166
933
13
696
267
498
567
850
721
902
945
41
35
988
917
519
284
583
778
950
282
187
455
790
868
570
202
513
785
641
106
169
353
635
252
617
46
276
805
314
329
946
343
854
868
125
78
256
438
472
211
817
405
370
840
354
380
916
561
786
96
869
716
278
957
88
953
142
654
308
740
729
323
933
951
945
237
359
854
613
656
481
13
256
687
200
414
484
665
71
735
588
558
237
334
254
896
811
45
886
677
428
978
714
724
771
555
180
338
36
175
257
292
693
563
979
862
548
301
670
804
199
896
388
255
32
178
291
665
26
544
857
579
152
57
137
954
315
242
735
495
817
80
260
187
453
145
21
25
296
817
396
660
252
845
962
663
405
823
431
111
283
611
86
651
286
537
950
436
903
756
397
767
650
844
442
870
476
516
459
134
231
141
837
223
450
193
397
665
980
400
528
373
677
515
104
838
446
340
515
948
123
463
583
210
255
883
124
326
534
892
770
740
508
117
187
379
579
870
163
629
327
610
747
226
592
197
812
823
302
71
363
887
524
838
903
187
791
80
878
956
149
512
269
214
536
289
804
195
234
303
171
880
817
434
339
322
533
437
216
129
325
691
658
211
304
655
588
719
108
827
771
45
911
539
961
946
436
858
673
849
878
285
707
151
651
540
763
845
463
490
377
43
167
81
742
704
285
10
402
655
732
895
130
979
503
907
358
631
658
583
324
562
169
136
257
986
353
169
353
861
682
565
203
672
261
779
230
787
948
258
414
234
544
940
614
828
379
185
34
910
191
310
27
855
176
914
94
226
841
857
296
746
335
426
88
382
888
179
745
389
245
998
494
608
126
355
20
195
378
998
366
328
762
565
298
808
38
58
82
79
663
149
237
799
837
843
344
202
407
407
596
244
585
667
634
376
270
307
574
296
681
713
918
530
631
547
206
364
5
917
702
857
143
730
966
11
912
945
761
682
223
108
607
836
787
446
326
21
525
479
364
570
239
966
553
489
930
734
855
515
909
68
788
41
423
167
54
822
571
662
74
821
741
631
580
914
431
497
25
228
576
149
50
156
467
106
999
138
132
129
478
381
251
652
397
559
913
165
81
273
872
174
124
22
841
740
272
85
28
893
350
483
126
111
616
365
928
818
148
749
687
924
959
533
542
325
269
917
82
629
203
704
505
236
173
740
794
865
325
103
995
544
157
279
218
917
678
604
800
724
999
786
529
611
26
763
69
127
455
656
758
885
168
348
986
659
924
44
24
924
340
49
672
301
999
146
437
157
484
32
220
781
758
589
239
517
544
737
356
781
260
143
656
906
339
799
17
424
870
747
154
425
282
214
946
598
831
884
175
496
811
176
728
94
777
343
27
920
133
629
967
286
825
38
295
703
933
527
488
72
409
700
426
388
352
478
752
202
608
583
520
666
36
558
113
947
704
918
508
693
245
519
948
939
590
790
358
722
250
523
197
613
332
22
801
435
510
295
493
854
187
794
945
664
533
412
647
943
868
662
202
114
946
378
761
479
718
233
271
283
786
862
289
162
358
291
194
67
316
804
985
332
997
737
296
117
824
484
43
645
147
13
740
859
407
961
219
590
765
500
859
352
272
131
400
727
378
347
808
707
646
112
7
700
145
817
854
412
798
16
8
435
611
652
438
818
548
944
186
310
302
594
431
284
479
74
214
385
126
298
385
520
147
180
446
273
715
552
485
58
385
609
385
868
549
262
812
307
931
460
422
878
3
30
606
441
764
191
558
150
217
568
415
888
708
36
512
139
463
713
318
613
258
881
104
22
699
817
41
410
507
822
859
693
106
830
128
530
821
456
632
554
503
337
916
148
658
166
747
443
800
347
558
944
254
291
642
58
22
80
603
584
456
368
904
978
327
656
680
835
53
310
271
882
876
552
275
694
706
858
617
463
308
925
769
601
258
32
441
275
153
195
901
358
442
702
101
576
322
732
48
117
949
43
986
886
911
812
33
396
56
283
576
849
151
745
322
207
748
831
387
794
684
688
804
264
154
36
488
36
805
246
846
209
697
205
255
885
73
721
676
670
910
295
602
846
897
191
172
6
542
575
263
349
927
898
865
835
585
857
741
153
591
11
976
796
636
62
724
559
354
7
909
965
253
325
461
402
44
523
817
456
488
924
772
796
367
951
880
550
278
446
330
751
733
16
735
448
289
321
770
503
96
13
459
686
281
813
279
263
195
552
851
58
511
901
650
508
198
406
959
78
320
89
875
277
825
566
816
283
657
466
304
940
374
949
601
220
659
267
454
717
528
386
197
633
388
890
961
341
451
675
187
973
610
105
953
629
950
911
104
667
251
679
71
703
80
808
793
852
413
816
428
316
855
128
828
8
688
750
292
914
627
24
875
92
161
138
862
927
447
707
176
453
197
321
650
175
214
16
492
959
150
677
770
329
767
524
746
659
748
596
223
319
985
485
915
966
316
909
686
650
576
957
899
772
835
351
917
102
389
247
579
548
997
372
54
191
817
157
625
50
715
978
641
269
184
247
142
173
225
955
568
832
301
17
159
649
502
185
793
326
958
290
320
251
24
66
7
407
70
92
334
693
146
809
832
225
414
979
671
76
844
837
361
667
783
60
112
772
159
579
149
645
846
527
827
90
368
346
512
986
120
762
957
158
931
578
776
784
293
761
647
497
611
703
859
854
542
961
468
504
807
67
681
632
515
215
351
26
73
807
252
5
425
809
110
142
659
664
503
792
757
88
253
887
199
517
744
446
845
81
348
488
880
632
876
673
748
163
165
652
20
554
144
939
978
404
332
495
912
958
843
435
277
52
526
194
472
185
625
179
99
518
714
158
592
399
914
658
709
639
253
605
724
260
458
319
503
336
858
389
68
385
827
638
262
169
38
989
397
251
76
904
667
327
401
691
431
534
429
620
316
161
986
876
504
133
722
154
483
511
894
928
965
946
755
359
433
477
579
172
724
836
289
70
789
644
207
144
909
711
792
872
758
231
183
534
891
215
937
641
754
240
610
149
989
426
801
303
272
781
397
299
401
472
144
648
558
444
73
418
886
205
319
410
918
277
81
14
514
640
613
15
131
152
539
787
852
762
410
879
389
145
788
841
345
209
120
667
178
771
896
885
129
860
473
221
568
912
620
719
411
237
106
346
736
905
344
466
242
973
293
98
464
816
543
758
791
85
876
393
207
843
995
118
672
905
616
475
612
984
16
175
80
8
583
673
392
954
408
619
634
500
660
166
379
201
788
713
782
598
940
548
694
427
822
889
623
522
726
525
929
937
608
353
885
730
244
578
442
731
12
752
588
550
617
253
843
715
534
609
97
376
849
709
892
440
370
637
432
558
135
183
310
638
4
499
682
567
534
279
730
554
630
897
653
612
603
419
919
89
266
719
310
128
743
904
34
209
547
9
207
55
740
204
696
373
796
999
837
135
815
320
778
548
818
574
32
266
362
664
771
527
739
465
112
523
868
196
992
718
724
557
864
656
310
590
182
771
126
464
601
511
463
22
50
723
787
578
215
241
399
473
682
403
946
965
336
775
628
921
347
507
588
114
475
886
386
156
624
689
628
685
705
497
659
260
786
627
759
371
653
169
393
566
153
474
451
91
347
95
360
842
597
894
446
4
3
3
332
392
527
468
884
752
492
224
56
304
334
478
399
859
190
291
744
495
525
215
572
644
15
174
284
467
218
890
453
402
806
769
677
945
20
175
768
53
983
951
520
89
528
685
278
532
520
137
995
474
40
735
513
69
704
24
314
932
880
683
6
143
716
842
982
357
993
932
666
71
169
524
391
145
57
867
409
777
348
737
698
654
554
703
432
600
38
491
946
616
49
622
145
836
63
559
238
551
166
823
815
113
249
549
587
480
526
817
699
327
829
406
282
926
946
927
699
64
643
148
721
462
569
58
215
852
72
860
492
994
158
848
999
398
91
582
918
312
406
300
443
83
296
627
800
186
789
945
56
293
38
973
863
794
676
367
243
559
3
508
696
730
440
545
966
288
805
811
435
117
449
766
482
452
504
293
315
536
549
336
689
283
466
229
831
936
651
768
224
82
112
27
459
248
434
443
161
789
402
503
741
920
98
922
941
609
398
837
252
272
621
238
102
915
546
807
166
522
968
56
686
953
187
914
668
371
841
372
184
677
436
565
907
894
999
241
471
231
469
299
21
354
669
707
923
547
903
615
94
59
730
897
781
617
565
617
868
932
165
65
850
239
975
839
256
3
373
335
295
721
373
186
999
807
903
799
828
971
302
224
217
929
336
272
214
619
344
468
80
486
143
136
66
398
276
996
443
338
993
366
790
100
623
362
636
877
27
940
496
122
759
185
243
384
66
420
915
582
360
309
185
567
291
17
708
969
43
478
544
226
397
271
972
327
740
362
659
557
94
826
970
715
981
970
895
753
980
469
373
22
725
292
65
113
178
647
518
58
179
944
471
733
780
998
102
606
860
134
18
759
945
284
440
655
364
28
722
844
993
88
323
467
464
911
383
779
410
434
244
507
137
797
352
80
73
296
543
289
445
922
764
678
831
343
981
330
690
200
333
620
503
740
335
133
886
415
753
331
210
817
280
348
263
844
326
241
315
924
592
421
861
600
565
844
97
748
150
476
50
305
436
603
980
553
53
299
548
204
205
316
285
237
898
722
618
250
835
455
571
6
367
917
785
400
607
653
174
192
862
756
404
133
354
821
107
29
464
415
951
191
670
451
943
834
350
116
781
387
490
935
269
60
579
482
248
752
756
918
203
677
928
826
381
89
101
811
671
527
931
645
292
108
798
914
767
947
547
265
184
949
580
199
542
13
74
975
766
19
707
928
193
420
985
318
137
521
518
335
972
902
309
46
257
271
782
673
862
327
922
995
576
746
118
131
799
952
581
341
427
587
275
356
925
727
570
19
482
660
216
267
728
883
965
654
25
99
111
500
273
64
893
235
740
362
467
618
881
95
571
14
776
844
685
731
746
756
996
445
324
824
234
728
416
927
811
502
728
775
229
467
298
454
358
525
748
797
457
477
203
602
329
227
980
504
109
572
851
799
234
661
508
481
752
398
119
35
761
115
870
810
789
283
779
768
577
198
693
855
480
475
175
801
565
735
532
741
145
584
647
253
181
298
715
694
128
715
600
454
50
674
492
999
988
780
217
411
976
324
223
122
64
575
533
970
709
244
237
511
741
713
333
55
984
356
131
374
699
638
404
973
429
947
983
340
547
870
274
469
129
534
406
601
707
805
550
358
699
191
174
882
639
763
625
202
60
919
407
694
564
643
555
216
927
5
149
146
420
249
204
132
394
407
428
520
822
922
286
840
152
858
517
291
355
872
880
903
505
99
699
97
553
721
234
864
645
208
705
753
550
116
632
265
947
877
479
458
820
622
877
637
197
332
474
855
734
855
58
762
755
454
526
287
948
343
117
496
68
194
989
616
24
664
846
46
96
881
334
687
406
574
269
307
110
423
473
670
691
820
579
355
759
890
725
936
792
887
428
967
430
435
834
372
179
167
669
529
641
784
551
125
320
430
559
411
412
924
532
259
303
616
299
943
753
752
527
432
943
187
441
607
361
334
524
952
339
957
602
45
173
455
118
619
309
649
167
538
900
451
3
971
675
528
84
975
784
95
944
531
406
18
374
475
361
36
844
333
77
239
957
930
32
189
360
808
251
926
297
998
36
179
103
203
786
740
386
451
804
925
874
81
548
220
607
782
368
495
389
663
655
101
292
456
637
561
755
532
628
452
575
895
854
155
273
190
908
501
321
180
496
594
383
155
409
154
771
89
634
1000
617
721
950
847
975
228
913
443
181
71
658
70
1
854
851
697
664
417
858
153
316
742
890
439
421
308
708
995
357
135
133
652
997
745
397
428
956
979
390
347
41
188
482
511
698
2
409
426
111
465
146
965
468
855
382
30
217
346
44
52
708
927
992
95
894
246
440
26
29
24
824
804
904
175
703
681
609
187
788
401
689
894
886
590
154
132
296
580
50
981
800
205
477
639
490
292
57
954
574
50
674
224
307
160
882
758
112
628
563
761
274
126
641
859
819
96
267
614
777
77
281
556
60
155
243
226
957
429
301
430
479
841
371
230
894
351
70
777
542
532
308
255
323
464
124
240
957
824
563
134
202
346
20
303
101
390
431
669
137
487
777
408
599
651
650
91
437
66
172
898
626
987
661
637
34
128
711
849
539
265
511
146
585
595
29
191
250
1000
758
741
613
861
443
214
555
849
591
70
369
909
662
436
665
183
731
811
262
970
54
498
500
535
186
643
910
479
617
961
665
861
844
356
264
537
141
569
607
273
411
197
882
876
757
933
589
504
81
399
598
178
969
19
200
930
760
242
978
827
780
824
119
82
384
917
143
471
652
95
37
466
276
163
621
131
731
500
393
907
142
832
805
771
508
829
337
869
302
578
545
505
87
96
592
527
20
756
914
729
45
499
543
530
496
378
660
500
978
802
701
978
16
630
310
166
950
8
586
753
913
152
996
841
890
26
385
565
349
892
960
703
133
617
363
907
257
713
956
132
70
327
227
647
190
341
575
541
641
290
620
783
479
616
737
217
259
499
712
2
333
44
906
434
273
776
794
725
240
647
738
904
982
445
332
393
441
53
472
243
490
894
374
609
534
663
433
362
622
812
281
287
475
946
773
372
569
62
390
812
819
73
244
600
83
182
460
269
767
158
427
603
835
888
47
507
614
149
711
924
187
1000
141
229
3
879
930
138
903
880
207
996
598
886
963
131
89
760
782
706
837
641
198
425
633
61
808
340
758
630
208
319
658
652
87
137
940
133
236
550
499
777
336
325
475
826
812
445
436
592
575
324
904
364
258
70
832
111
92
349
986
31
81
761
639
271
294
393
865
342
265
830
258
107
153
112
338
53
920
722
998
292
816
400
225
522
406
75
158
302
836
671
407
228
577
721
412
14
359
23
291
633
519
452
10
844
227
447
108
859
527
812
801
963
225
73
597
43
792
590
331
505
908
800
225
130
430
983
751
94
422
689
654
3
312
550
29
528
730
413
556
540
295
42
288
192
501
83
468
652
189
12
708
728
992
326
836
686
267
742
725
618
781
231
781
627
114
725
591
512
196
630
450
634
402
287
223
547
435
800
328
888
85
463
826
144
544
108
537
148
651
207
308
867
911
929
232
427
166
495
507
173
569
369
278
140
984
401
701
428
368
442
840
631
148
740
778
547
467
461
573
988
752
994
854
928
641
679
168
585
271
809
964
483
965
739
276
125
510
143
759
489
338
444
811
868
435
726
936
17
46
446
697
20
628
634
223
972
330
879
45
582
199
279
933
540
867
861
326
501
596
162
702
643
454
624
35
181
426
548
476
32
360
371
537
431
520
999
236
946
323
664
593
380
729
73
219
667
147
551
768
872
895
340
977
597
183
647
342
92
454
113
699
91
184
360
92
270
907
482
750
577
631
201
360
370
789
240
431
206
321
861
680
934
45
553
838
368
427
397
56
747
907
970
194
413
955
879
245
633
24
577
834
892
931
608
806
391
122
76
554
518
92
56
989
796
566
275
134
211
181
397
827
718
802
448
80
577
459
568
576
594
930
496
301
73
294
180
598
956
937
8
156
185
727
775
769
32
112
699
861
628
391
810
503
786
36
851
196
490
93
436
408
443
367
169
947
470
398
24
152
93
243
267
182
88
829
962
283
109
766
883
533
880
687
629
70
887
17
398
877
728
870
360
942
726
775
764
733
826
850
628
323
83
310
691
438
273
781
993
941
764
264
542
370
7
176
47
522
597
514
189
590
329
828
990
5
653
244
61
250
270
147
854
231
363
505
668
178
685
792
415
907
777
212
763
357
942
704
470
890
484
218
529
84
478
376
530
667
631
967
897
965
776
710
990
708
114
187
102
716
486
760
40
341
484
232
986
33
192
775
301
708
38
900
537
121
583
474
468
560
721
494
205
863
140
936
852
60
645
323
220
181
362
202
838
714
299
300
32
301
524
92
963
727
113
388
659
691
968
431
963
963
42
443
845
893
513
235
860
963
132
659
834
632
291
980
383
441
627
354
75
422
980
625
113
397
658
974
857
454
631
321
868
622
440
255
806
75
392
265
394
218
699
650
828
660
134
841
837
837
63
940
80
954
456
919
287
697
731
897
620
915
786
273
342
840
441
822
539
216
105
155
68
462
108
82
148
593
939
220
604
210
360
24
886
432
726
283
370
423
182
929
220
962
660
383
664
907
320
338
707
442
294
474
990
204
703
174
359
75
818
147
358
975
745
409
905
706
119
897
962
33
771
958
519
349
219
867
630
735
204
338
713
365
465
996
799
793
198
96
969
480
605
512
54
545
740
590
577
620
1000
471
398
378
198
730
486
552
10
928
30
971
578
60
330
112
382
130
246
414
795
250
174
354
695
352
167
556
166
873
122
744
574
447
524
841
785
169
52
716
27
865
736
616
14
506
925
948
187
528
873
146
950
530
378
228
942
306
630
377
789
370
434
995
288
206
879
904
470
730
538
659
915
501
910
307
703
286
300
669
41
914
68
957
826
692
789
460
901
340
537
987
948
808
583
46
400
126
596
322
335
128
673
832
937
197
909
494
910
348
468
612
576
81
266
803
716
991
665
304
484
170
483
378
427
177
670
494
526
999
723
951
895
608
771
417
11
499
640
65
608
726
913
88
880
377
675
414
761
132
881
663
180
592
560
537
324
14
237
331
438
980
61
34
775
596
445
495
641
301
328
172
101
868
204
993
388
609
158
503
176
418
645
603
320
306
67
195
86
328
528
812
31
941
157
350
567
682
631
779
887
796
760
684
735
282
449
240
644
497
853
12
319
987
910
695
84
661
956
202
663
657
729
603
194
62
320
522
219
264
974
307
496
700
265
366
729
968
679
509
930
747
885
689
292
321
776
925
615
422
934
79
150
211
894
984
440
493
169
505
661
56
411
40
65
76
355
60
751
343
831
495
817
429
829
12
828
675
562
449
68
148
541
681
807
908
516
546
938
456
308
598
413
906
417
139
686
690
103
327
376
708
482
964
464
736
907
273
535
796
836
217
129
251
604
780
585
526
251
474
899
117
407
888
69
901
200
101
625
602
697
344
219
135
923
642
576
69
768
751
898
184
818
124
928
621
949
772
404
890
534
757
94
902
478
308
776
968
345
18
782
560
562
5
468
408
668
958
318
66
182
928
273
896
854
252
26
406
793
404
388
643
299
52
196
626
29
462
344
888
605
270
316
915
653
394
620
844
420
860
710
511
487
950
444
222
346
100
717
216
422
860
718
976
249
117
191
101
853
878
35
348
871
106
767
516
458
492
959
999
769
516
976
560
934
344
381
353
462
805
891
683
975
123
524
251
173
833
982
490
16
285
497
668
584
804
904
580
187
818
238
856
632
358
873
58
750
963
805
350
515
617
147
798
273
279
22
87
84
100
738
541
660
244
735
316
832
651
176
502
606
584
658
822
663
752
77
990
950
822
748
248
440
709
653
89
785
399
286
221
991
325
601
732
238
423
928
863
848
228
903
169
761
992
761
841
89
346
94
264
981
440
782
930
689
744
898
349
302
328
997
52
895
318
313
435
132
345
978
906
672
639
950
137
140
36
683
433
433
257
697
813
414
474
231
970
843
948
986
851
847
484
129
501
150
40
783
232
630
48
539
432
628
465
594
758
368
700
842
960
587
925
764
542
98
2
899
603
327
960
402
138
288
896
387
741
498
810
114
689
791
90
279
163
910
962
659
298
225
649
179
125
625
768
259
501
259
290
672
83
673
395
524
927
334
453
717
460
502
716
833
911
26
429
865
398
711
256
799
775
457
638
492
182
376
556
228
483
982
608
146
847
789
564
251
519
173
408
406
680
916
603
256
698
726
112
949
175
261
692
348
490
832
372
653
568
460
410
462
58
686
252
425
887
853
414
541
315
117
847
111
920
467
120
424
570
383
683
928
347
815
318
714
598
716
696
178
750
903
424
627
646
21
703
71
140
948
826
94
364
701
522
724
120
612
533
900
477
131
392
475
225
902
976
510
168
76
580
202
400
373
619
750
368
701
698
76
449
831
774
984
361
100
646
764
173
878
718
541
70
993
93
271
556
52
804
192
479
523
663
504
252
925
20
371
353
922
439
262
37
584
274
840
980
654
848
710
524
925
60
703
32
387
57
848
696
622
470
658
917
418
893
773
664
69
94
339
66
247
772
89
13
450
491
47
585
881
164
482
308
772
496
833
32
321
67
648
804
698
416
907
611
734
938
759
184
216
737
682
840
821
959
785
891
526
550
808
564
845
412
549
622
836
767
924
267
312
23
665
461
122
736
566
265
542
766
299
232
408
513
910
151
989
675
901
193
190
690
409
144
946
544
25
671
448
740
593
673
470
985
712
456
183
363
551
892
417
292
454
634
302
906
428
131
375
27
629
697
765
504
237
751
800
646
384
727
158
823
70
876
488
37
300
520
280
668
878
87
46
791
760
220
10
90
835
855
307
494
539
207
960
453
685
447
336
332
894
369
456
801
53
424
834
634
718
614
42
437
879
563
179
587
756
900
523
800
938
845
502
676
132
923
813
578
889
542
221
832
72
863
383
814
19
281
59
121
834
617
210
590
482
158
351
261
606
622
864
496
372
293
917
799
711
174
844
663
451
169
174
119
729
953
884
737
401
14
386
988
361
663
919
259
187
307
678
1000
124
241
847
25
220
705
682
353
693
619
750
740
620
579
991
293
659
86
955
517
738
849
233
848
206
948
461
239
467
663
117
744
43
278
574
150
349
49
12
383
386
751
18
266
62
873
589
804
674
294
271
258
962
75
510
377
884
771
303
435
474
937
156
921
420
978
377
311
750
192
708
45
214
534
151
723
986
210
238
910
988
485
16
817
483
690
236
743
88
834
269
198
894
202
461
238
825
814
172
133
492
919
298
84
377
398
8
295
987
257
772
434
253
141
195
279
517
802
18
889
472
851
258
465
527
834
107
67
557
683
236
981
282
657
874
607
639
19
663
201
310
736
402
124
450
11
360
273
906
669
596
80
464
852
641
84
100
734
199
239
563
798
356
595
986
232
473
656
879
303
185
839
893
916
62
695
850
170
896
255
576
21
393
72
214
628
632
872
46
827
774
695
652
772
958
14
258
702
204
383
364
451
797
243
125
717
878
640
561
851
218
582
588
114
396
523
963
470
692
546
770
154
7
200
982
980
582
552
227
680
567
353
165
979
461
207
701
456
321
807
554
809
79
65
424
605
345
161
792
440
483
582
285
326
623
226
601
303
562
187
292
399
627
787
396
727
435
664
307
520
802
255
605
965
807
10
969
888
45
204
380
904
157
128
209
245
661
728
840
716
53
108
975
495
627
811
791
114
740
340
938
327
587
569
795
907
150
745
757
696
30
952
509
751
325
285
602
2
206
801
845
760
979
448
390
510
401
798
97
504
931
48
562
109
851
937
720
783
847
219
268
693
510
339
652
864
357
16
545
376
100
126
259
892
138
139
740
331
964
41
810
310
914
767
514
505
385
7
142
182
250
685
26
797
778
519
230
629
307
937
16
883
728
843
912
310
93
680
68
445
681
57
937
923
329
714
920
588
416
552
267
73
480
725
578
84
380
901
930
391
515
978
702
993
242
122
912
196
557
539
440
137
601
65
74
860
512
623
4
575
11
912
163
842
799
194
723
458
215
754
235
382
677
277
689
323
514
683
863
700
410
344
151
440
388
199
533
794
161
227
46
554
975
126
485
83
214
814
40
633
390
858
52
514
480
998
555
289
152
635
347
54
828
353
569
274
427
361
175
93
968
720
309
707
213
607
421
267
395
745
250
161
594
426
912
128
263
984
814
671
858
282
187
415
552
205
888
998
794
544
467
502
195
589
262
357
225
29
282
163
664
841
180
434
386
723
609
553
749
212
693
512
999
535
247
552
619
684
729
303
181
820
824
628
195
285
8
774
130
246
704
974
881
47
380
143
978
774
913
220
206
85
689
191
71
798
838
327
992
171
372
888
226
767
489
27
319
912
431
940
295
542
182
470
537
442
875
552
100
608
231
393
865
496
723
786
5
774
52
781
630
842
861
640
386
673
919
286
716
154
796
285
771
101
6
275
824
316
118
329
57
53
695
102
85
87
513
726
29
684
43
538
366
307
751
696
370
958
209
971
334
924
993
710
513
735
670
65
18
799
121
272
598
125
796
939
732
502
255
300
300
847
384
91
137
836
213
335
307
331
305
350
746
338
997
524
157
572
478
5
935
398
597
137
81
999
904
299
26
522
921
470
974
136
89
668
491
939
158
598
581
222
924
259
28
747
204
299
437
368
690
209
779
879
579
294
603
610
464
248
687
451
858
379
539
464
142
339
40
34
327
213
733
530
91
383
316
219
777
348
452
652
546
939
546
400
57
482
824
417
302
831
656
340
81
436
108
772
852
758
174
983
873
206
66
425
912
635
668
320
661
99
922
575
735
380
907
822
947
231
88
454
354
210
466
909
901
382
468
285
838
184
199
823
156
991
409
145
952
629
793
818
35
744
493
449
382
261
237
316
851
378
193
515
983
632
353
736
756
932
683
986
456
790
515
439
569
25
929
671
164
942
75
861
341
636
606
721
444
134
282
119
612
205
509
967
299
367
138
132
49
924
969
565
422
578
924
629
889
591
774
533
17
861
291
659
688
285
573
881
166
788
497
989
235
689
394
740
86
404
716
90
878
567
601
203
442
986
287
70
27
674
978
250
675
357
323
180
352
375
108
307
186
340
801
135
551
312
561
370
892
836
477
975
552
542
804
580
454
942
954
140
399
699
103
948
465
111
885
287
428
656
457
568
291
805
874
623
488
726
839
887
37
172
715
121
806
837
463
158
325
339
560
62
942
512
570
702
936
70
977
611
251
261
504
160
738
186
943
532
305
828
641
922
71
318
219
412
370
240
414
515
673
494
43
487
242
429
659
384
716
549
536
769
420
511
950
716
895
395
182
339
651
88
469
77
779
956
907
56
59
899
536
657
291
554
199
179
465
534
204
962
170
565
437
919
296
367
535
18
853
805
174
525
152
424
670
351
938
976
680
559
644
347
755
890
393
955
279
908
390
96
803
817
702
732
249
247
771
685
108
377
47
375
263
840
795
551
785
427
247
829
346
582
700
898
588
783
680
70
12
799
967
299
589
885
182
971
423
319
129
234
91
460
321
10
597
366
127
39
252
162
335
450
223
700
805
130
802
197
730
297
96
30
751
405
890
454
918
72
790
734
521
668
609
639
317
294
98
584
749
627
771
90
826
950
594
692
741
286
921
328
892
997
327
232
381
299
97
777
282
448
926
906
174
55
500
692
31
895
941
280
690
434
895
41
222
613
615
405
28
669
518
416
318
224
764
409
98
80
677
100
850
565
684
522
871
739
75
734
398
315
423
385
874
487
959
87
267
966
608
634
879
151
459
436
673
615
352
599
572
599
8
756
72
415
938
173
726
552
161
343
658
315
235
537
703
809
365
90
153
920
525
198
538
949
298
262
152
531
604
224
315
918
960
89
954
890
816
276
627
723
291
395
662
181
409
767
387
764
461
933
101
461
863
559
140
552
108
789
530
364
146
692
316
103
724
828
813
769
332
530
337
848
801
240
102
25
276
805
807
23
926
422
165
586
782
730
616
531
231
890
446
242
628
160
580
228
643
669
87
903
189
70
345
925
877
997
605
132
584
171
179
925
536
217
784
59
452
171
78
11
998
528
457
608
397
861
840
738
641
904
316
264
770
389
892
719
207
550
274
622
233
673
446
272
818
528
488
149
469
698
700
559
18
874
370
291
566
965
162
714
759
645
460
964
197
582
11
14
975
650
81
2
378
777
654
685
134
157
824
519
188
42
818
187
764
301
105
300
284
95
508
754
454
776
290
424
989
28
803
168
110
981
935
832
687
599
561
283
496
517
578
169
791
660
404
427
46
534
658
758
504
674
781
272
417
648
609
559
594
399
848
592
60
685
332
469
446
819
488
631
362
668
456
151
261
950
352
850
982
789
410
708
256
4
477
191
236
504
650
323
562
869
731
130
53
325
531
469
477
549
585
472
951
403
914
871
643
401
390
633
561
923
422
30
833
396
983
182
255
874
657
70
75
575
250
164
567
539
449
226
37
807
712
132
952
965
594
48
509
816
985
263
779
878
103
401
445
290
720
89
97
527
989
308
522
452
695
329
672
176
270
724
823
609
805
508
934
381
137
103
580
705
792
376
494
49
590
104
190
788
939
429
677
592
7
801
109
71
8
234
658
199
475
177
246
118
758
267
629
598
857
166
115
640
341
881
663
764
715
958
41
262
515
720
562
541
872
836
849
218
379
65
687
982
860
417
389
528
136
26
216
958
372
535
624
699
566
187
877
78
262
765
4
954
85
890
205
828
174
484
817
384
134
402
170
134
875
327
532
752
424
468
952
704
646
987
381
565
58
686
473
157
182
857
543
202
233
977
577
205
12
350
644
933
782
506
591
921
5
460
241
118
383
34
368
467
87
158
487
230
13
748
385
99
357
541
872
282
79
538
874
159
558
826
118
46
874
287
579
409
570
306
335
642
855
3
491
806
20
855
327
308
934
984
547
881
290
333
462
299
617
925
451
798
916
306
420
310
156
736
61
845
535
593
366
111
668
439
790
841
22
498
262
38
692
184
13
627
821
919
77
270
849
308
162
202
981
839
698
269
310
25
783
968
466
776
36
171
24
488
566
1000
84
642
204
349
789
34
624
104
31
851
372
839
208
130
521
468
642
663
237
118
93
843
204
37
559
529
278
66
2
223
459
789
832
818
974
195
197
707
527
332
184
717
742
47
526
784
900
105
128
572
144
55
310
70
467
710
621
722
543
861
938
138
126
929
567
384
581
532
847
419
687
266
541
407
176
170
847
657
776
195
86
915
130
128
137
804
953
762
691
244
237
27
767
588
982
541
455
972
628
64
256
875
686
405
276
470
844
760
910
644
30
30
687
124
38
1000
806
852
600
552
179
766
165
462
937
569
612
202
309
165
42
914
600
214
627
72
669
414
758
227
752
564
795
535
990
965
267
931
535
59
226
898
650
388
111
277
1
35
79
288
371
585
224
538
337
205
443
685
604
945
142
322
979
595
704
899
95
169
387
545
68
675
169
195
360
857
660
829
95
72
694
611
206
37
456
717
539
352
699
929
318
515
322
417
411
116
269
366
120
685
946
841
710
219
636
567
512
669
781
634
383
668
503
656
481
126
278
262
352
271
629
232
732
125
52
956
622
320
354
204
226
95
779
521
137
182
966
92
3
211
464
986
141
535
779
133
798
164
522
529
744
894
817
915
237
874
563
234
470
671
255
206
461
911
806
214
955
647
965
773
596
100
57
317
753
905
202
55
537
593
240
843
120
122
207
268
701
667
875
18
571
986
228
679
186
151
375
497
590
658
615
338
679
18
960
664
748
295
189
654
830
206
420
453
915
330
592
692
668
248
205
688
933
922
852
246
703
408
34
21
284
173
772
413
303
6
87
818
167
421
988
256
8
221
767
948
654
379
246
62
569
473
244
843
418
338
154
95
435
700
507
289
672
438
443
277
796
965
658
806
253
504
914
296
539
203
798
879
517
42
876
397
501
254
426
465
73
533
70
465
208
385
854
209
80
798
577
691
752
260
1
347
783
196
9
456
783
983
279
796
550
142
136
661
236
369
312
289
791
297
394
835
388
358
465
916
470
312
473
309
744
525
588
138
55
931
716
74
596
72
125
509
514
650
374
537
222
494
918
248
266
578
917
968
84
134
266
548
850
962
893
943
332
726
72
763
649
848
650
377
189
420
56
947
291
353
725
538
60
977
323
786
358
14
614
833
100
421
863
884
916
713
159
376
5
889
998
651
511
716
786
495
529
569
345
687
387
636
166
48
370
152
468
518
716
518
179
877
856
486
901
618
769
591
672
257
926
579
201
455
312
497
804
420
438
418
309
992
615
709
923
647
348
739
592
880
901
57
12
347
827
656
738
588
62
855
793
428
231
325
334
849
608
774
583
110
269
183
115
438
918
283
59
525
939
716
532
655
897
270
485
764
442
616
650
988
348
487
65
306
357
845
410
909
583
831
865
613
593
196
34
215
166
453
207
962
784
882
817
404
401
512
90
177
449
440
929
735
224
230
811
651
811
286
96
519
84
332
376
344
359
561
675
713
64
3
150
890
706
55
182
95
994
305
704
353
408
540
494
195
828
938
755
435
608
207
605
429
947
40
526
467
131
736
449
148
762
931
716
345
44
286
219
810
101
67
379
134
708
818
889
785
952
101
724
673
287
478
599
886
868
767
510
355
818
116
664
777
568
245
784
608
581
876
525
819
51
841
723
538
242
927
846
385
1
627
115
179
637
296
652
901
929
414
220
365
824
589
844
42
199
836
408
51
780
140
231
459
900
892
252
320
944
433
1000
859
966
902
779
497
876
950
528
300
753
302
185
505
352
137
521
477
375
396
460
242
529
407
776
342
733
310
766
80
518
148
752
812
227
779
303
260
883
485
29
141
46
254
487
171
228
612
609
398
204
570
511
516
95
805
843
788
995
322
613
346
221
641
500
260
113
635
454
675
299
472
521
91
885
874
582
901
33
83
256
195
310
878
894
734
446
567
8
965
134
558
814
924
234
851
378
244
590
18
750
821
642
789
52
362
697
587
345
972
998
205
765
162
953
635
62
314
381
618
108
792
246
754
823
46
157
627
656
276
47
508
828
473
188
876
319
660
684
158
772
867
440
852
710
74
305
932
901
798
750
725
665
107
748
144
110
377
353
694
314
171
857
767
905
723
990
353
452
165
405
121
480
168
582
91
971
764
807
553
714
336
795
274
62
494
357
514
369
881
487
335
138
799
826
44
707
291
965
432
93
577
42
889
351
708
496
32
242
625
651
372
372
490
932
989
184
810
955
270
6
381
424
287
505
14
489
484
892
775
344
663
980
413
214
660
843
242
452
466
744
629
818
732
462
438
174
256
187
742
183
35
248
99
150
525
25
947
616
713
425
972
263
788
166
644
569
413
875
135
757
742
423
703
407
784
175
21
237
375
714
722
557
39
738
76
591
5
566
541
360
385
392
492
511
78
909
504
603
160
492
866
414
227
899
758
284
846
768
155
290
115
235
476
747
201
102
421
25
489
960
989
837
98
372
117
196
394
846
949
542
918
678
76
794
130
244
241
846
558
210
219
791
80
779
21
754
806
364
629
909
923
841
670
914
927
100
291
687
872
833
970
577
414
890
392
802
233
908
116
504
203
862
809
75
375
750
112
387
4
691
872
192
288
686
986
951
404
752
311
805
828
389
609
551
312
78
942
79
534
980
239
808
770
178
73
435
394
950
853
756
111
532
418
350
985
443
544
151
141
62
293
944
323
49
9
302
965
941
934
887
140
385
192
884
311
747
319
471
151
430
768
377
950
214
109
143
913
554
929
789
423
330
587
303
385
626
583
594
307
110
689
964
367
904
557
544
723
431
216
933
383
604
37
978
394
684
421
148
803
562
606
302
306
825
620
207
304
65
182
680
655
979
40
248
962
999
4
112
52
907
250
605
344
30
91
627
841
768
725
358
975
461
516
347
489
116
191
552
60
704
573
97
905
297
97
28
826
282
60
818
607
677
58
824
523
619
827
109
167
973
627
990
144
985
393
160
596
48
645
558
177
484
663
20
391
371
831
788
569
625
936
243
899
285
245
136
597
39
805
376
869
741
592
257
355
939
691
402
552
682
56
700
99
427
101
862
290
750
487
73
811
393
230
202
38
659
380
268
632
739
512
211
669
632
71
600
56
236
377
990
747
655
137
926
496
791
509
48
317
673
115
715
412
985
24
198
356
737
784
995
443
701
103
209
953
658
118
497
799
648
704
114
173
780
418
193
78
981
544
914
753
396
742
441
266
498
890
596
320
716
179
324
585
349
892
449
488
714
997
578
372
331
145
773
804
613
867
891
984
269
776
848
181
824
905
121
210
70
836
376
273
227
879
515
790
998
723
490
656
625
915
858
486
578
240
68
479
787
53
39
491
434
838
880
456
682
687
413
241
994
487
15
581
845
13
390
555
597
199
207
538
759
213
238
891
782
568
27
479
480
377
33
188
895
359
514
372
975
248
609
349
415
502
997
494
125
124
670
94
853
585
101
952
323
649
916
665
257
32
848
123
830
8
922
290
921
933
538
330
433
472
607
47
944
762
312
168
468
668
953
89
915
79
920
193
684
350
426
86
395
219
674
5
186
67
605
417
615
97
869
987
966
402
434
881
910
75
894
931
306
141
276
47
829
27
565
353
724
785
10
196
783
651
389
480
181
576
168
739
669
526
431
321
274
254
361
730
715
931
884
929
914
196
421
76
379
147
352
944
625
666
406
109
204
783
304
610
961
642
171
13
662
191
654
143
758
653
487
67
531
480
779
938
25
155
496
381
722
78
787
550
555
757
237
406
829
982
785
965
849
699
276
868
678
853
461
611
910
64
180
511
312
946
882
717
220
72
639
659
399
855
727
428
370
712
560
143
551
785
467
38
303
944
517
684
613
433
419
575
576
742
318
437
257
584
240
985
904
175
342
709
528
450
120
551
539
798
485
284
244
636
248
668
992
141
146
150
128
530
472
145
977
46
262
318
645
723
266
829
753
801
597
754
899
383
588
455
900
452
405
581
996
634
256
879
414
767
25
680
624
879
600
333
611
780
804
908
248
96
148
513
107
906
341
219
760
904
629
478
646
996
29
961
496
117
20
100
944
224
222
14
337
516
119
121
487
406
98
193
549
807
406
240
38
85
62
240
718
262
92
884
860
983
881
144
966
718
556
651
606
657
790
630
195
679
193
889
442
575
863
584
433
890
854
338
513
919
250
372
724
693
466
205
259
596
660
531
694
518
6
313
816
948
498
312
21
345
261
172
500
833
890
404
492
357
350
387
687
854
39
202
884
861
184
337
754
140
769
727
396
711
625
709
384
263
500
117
588
925
955
990
917
631
996
943
710
75
247
987
510
213
747
766
168
475
709
637
734
940
77
429
922
666
215
819
161
888
453
227
458
756
320
608
486
232
977
877
770
718
879
70
835
778
303
671
958
387
835
856
115
758
915
787
357
884
341
831
175
224
449
162
46
480
335
775
484
525
4
205
568
943
886
853
971
955
885
728
914
523
506
906
940
640
256
345
131
106
844
586
10
367
934
718
533
568
886
174
412
114
81
588
610
210
547
197
708
9
492
66
448
205
862
399
699
652
84
930
658
298
632
265
854
708
835
766
347
219
499
702
59
973
467
994
334
110
532
638
161
442
550
603
179
64
618
595
773
264
917
859
212
20
830
807
196
256
295
178
796
665
149
88
848
106
990
840
827
567
740
825
763
321
873
587
50
872
815
387
632
680
327
611
790
196
945
222
280
584
775
515
110
83
39
811
757
270
291
736
389
841
134
501
302
78
238
337
998
219
905
387
276
89
316
228
207
782
923
508
520
885
428
726
793
321
483
234
680
128
173
964
773
522
908
410
135
799
408
821
71
921
849
600
491
479
38
459
879
299
262
885
953
554
639
955
772
664
894
733
387
280
743
645
209
412
616
977
549
646
668
721
784
912
966
873
777
442
177
713
298
110
990
105
280
517
188
350
664
691
317
320
533
424
462
458
245
614
650
454
162
537
826
362
623
186
676
252
437
790
491
695
950
68
118
483
124
860
367
476
475
89
442
913
463
457
43
429
523
925
278
275
714
378
862
1
778
709
16
540
60
421
560
480
283
903
286
246
729
882
321
289
693
788
947
565
635
744
665
521
48
362
761
607
633
305
893
255
734
466
127
411
500
263
481
315
189
582
423
442
218
525
806
438
36
296
799
166
51
380
953
762
618
106
903
651
672
770
873
126
117
541
198
682
956
807
252
700
363
397
933
143
939
414
985
749
378
796
335
120
264
466
603
640
74
383
762
227
756
18
119
795
329
579
316
344
82
770
646
82
852
39
264
154
751
751
26
164
846
975
394
2
650
52
148
66
558
832
349
939
508
845
28
288
244
655
139
882
930
789
890
203
644
71
517
988
372
582
237
404
714
673
541
932
602
211
452
658
390
747
563
188
939
167
328
856
885
447
224
176
735
392
174
330
966
623
364
533
354
874
259
913
127
178
875
240
293
591
468
979
706
728
238
994
300
691
244
788
881
630
365
233
329
755
757
539
902
27
367
335
213
194
610
263
233
997
333
604
420
68
981
162
450
392
806
978
242
859
613
2
343
22
181
784
518
358
813
513
651
414
605
53
241
430
56
784
498
805
557
531
509
634
598
406
626
921
939
414
23
120
795
850
910
660
379
198
71
728
416
436
76
256
288
144
85
420
259
908
151
282
583
936
696
489
36
323
5
216
334
582
403
370
100
721
805
150
58
56
218
470
116
850
470
946
816
878
151
109
905
655
752
495
829
545
358
744
308
484
627
568
517
769
134
828
902
257
368
233
649
321
805
172
644
703
590
847
673
649
424
164
433
939
288
205
277
578
495
943
148
268
572
281
322
272
139
234
478
657
849
907
112
984
204
174
653
680
751
41
667
922
500
108
962
570
538
468
755
340
436
978
14
512
273
873
657
311
581
928
487
717
937
188
913
2
891
334
322
508
487
349
889
161
509
904
295
687
649
304
751
170
240
668
954
593
163
453
972
75
895
800
676
87
385
701
579
106
374
448
291
374
100
955
5
644
157
878
233
440
663
600
399
307
850
517
760
609
621
467
921
648
160
624
814
101
26
29
445
460
953
391
60
960
114
867
891
449
564
120
294
99
884
215
18
31
274
66
236
670
340
406
44
230
73
215
368
182
70
16
917
585
298
957
486
459
225
193
854
66
260
415
633
992
466
901
773
928
677
182
570
681
761
5
490
226
73
393
138
431
794
467
558
63
279
867
52
438
445
897
503
743
348
919
502
229
443
808
529
897
100
499
505
285
587
410
584
741
395
784
226
698
434
699
35
404
83
619
94
788
656
372
178
26
544
623
162
649
196
604
344
546
899
414
723
289
313
625
237
780
613
774
387
330
412
835
732
762
584
304
746
516
855
29
41
704
393
645
546
113
862
508
675
974
426
538
958
577
254
851
496
147
797
299
456
592
101
100
765
505
912
981
369
628
70
324
868
789
585
79
406
938
656
635
522
633
682
826
740
797
828
642
471
964
724
77
45
527
548
701
823
25
365
240
227
610
299
108
772
990
681
445
842
353
857
879
724
298
55
843
192
668
231
846
613
433
28
175
71
293
170
617
191
240
26
890
60
534
972
739
787
805
801
903
984
7
302
244
486
583
382
977
445
984
165
240
480
548
775
903
151
296
765
682
125
423
126
476
788
503
691
836
391
595
945
899
316
607
129
689
249
954
485
853
183
892
738
802
71
346
375
377
581
57
752
233
609
408
917
695
140
618
954
796
643
562
818
347
696
652
601
13
804
258
871
200
619
647
559
609
774
900
133
268
543
412
192
881
987
471
669
299
249
186
198
27
325
747
178
996
961
1000
190
327
583
447
739
989
277
261
716
761
727
755
495
694
66
547
512
701
733
296
414
798
942
262
209
482
543
442
669
752
406
801
768
418
168
463
205
358
925
417
432
274
886
982
357
354
974
734
959
620
350
899
754
173
87
300
624
993
821
370
469
178
614
970
854
434
806
320
822
622
551
757
367
614
385
31
33
6
761
835
542
373
908
239
919
617
576
542
295
857
438
163
789
391
197
804
116
996
970
657
6
138
182
326
926
335
364
177
234
289
161
726
681
529
620
957
171
912
873
601
625
984
937
83
441
776
325
217
715
585
5
514
184
711
963
841
443
327
874
170
188
545
767
405
775
889
308
727
83
464
19
292
60
995
762
52
297
877
343
504
970
841
351
185
715
42
836
149
337
948
823
205
891
879
603
414
118
661
311
61
493
34
385
120
747
792
846
325
296
171
250
712
6
28
851
689
75
164
318
338
1000
986
779
774
924
15
716
832
672
173
721
463
158
495
343
648
128
771
735
229
889
773
394
353
344
890
835
786
382
726
227
122
790
239
524
847
103
644
612
694
885
899
307
805
406
596
748
772
145
529
244
363
155
441
544
796
342
945
733
647
171
388
542
601
72
627
990
451
262
490
22
973
20
637
880
465
661
471
918
994
54
868
555
203
18
5
90
375
611
591
842
134
108
92
56
466
949
303
76
180
703
695
649
565
173
562
353
993
470
26
883
198
654
605
208
538
439
408
868
168
623
234
573
399
147
709
763
942
300
563
387
254
589
233
978
733
974
271
481
7
557
197
55
99
997
106
871
655
474
147
598
395
240
59
318
112
258
746
11
791
725
398
988
862
89
544
942
566
989
314
496
383
830
894
236
810
713
394
633
975
618
600
328
317
367
893
283
772
699
241
518
130
581
465
498
802
796
354
633
620
153
58
486
875
193
110
927
951
449
645
36
91
831
614
921
727
568
98
926
968
483
838
584
473
539
942
291
757
526
559
366
568
126
40
679
599
30
159
567
64
492
80
431
768
372
320
872
514
734
961
543
527
534
923
385
272
454
668
541
320
549
702
955
717
174
205
931
995
620
667
520
206
632
17
319
847
428
22
930
63
496
2
664
804
690
296
358
579
277
586
869
733
609
367
450
581
761
944
102
191
495
981
447
152
94
884
981
426
552
180
979
788
576
416
504
945
123
804
909
775
917
923
639
324
511
25
343
662
866
268
902
59
927
998
539
594
506
711
311
621
324
162
320
931
693
556
863
87
959
335
858
5
438
380
740
633
775
270
517
759
74
359
298
711
131
483
870
650
780
91
18
321
285
287
680
311
190
726
942
87
719
492
204
432
986
860
785
863
485
865
492
966
767
597
459
895
752
373
743
829
437
247
560
448
933
990
163
520
295
488
685
771
448
888
284
418
801
897
61
735
834
464
367
450
500
114
407
360
924
490
219
132
517
234
286
65
940
386
840
327
756
859
457
204
999
818
171
733
218
145
980
934
207
566
922
801
441
952
241
299
947
803
588
165
371
758
646
108
181
475
773
30
79
260
925
412
506
31
281
460
434
538
973
229
854
29
560
978
131
157
75
889
253
210
948
514
494
522
882
766
847
747
67
323
201
313
240
889
841
660
433
745
453
226
863
874
728
297
356
247
843
755
985
973
139
439
441
928
759
356
638
151
926
424
419
192
757
574
769
973
300
954
595
664
756
530
910
481
43
997
415
369
484
292
828
630
302
719
721
431
397
712
57
23
668
7
864
874
122
499
417
803
445
851
340
12
908
763
371
710
356
218
610
351
198
202
350
371
583
1
395
448
504
351
206
290
983
609
728
811
345
300
686
241
675
825
801
12
3
65
966
575
720
371
39
203
565
138
661
349
290
59
748
824
383
88
18
40
682
630
957
779
641
660
577
36
721
849
882
904
357
403
580
140
21
570
618
252
739
781
169
308
756
283
671
672
268
187
718
899
583
780
479
164
288
97
531
477
83
905
109
661
520
519
643
986
720
302
542
498
291
982
81
414
410
56
91
96
447
302
35
473
490
405
295
66
640
177
997
396
339
459
190
626
555
360
488
292
349
132
368
851
509
903
761
132
577
791
937
628
634
234
116
822
164
545
135
905
758
979
94
800
230
993
597
227
317
194
236
162
869
601
208
5
188
401
274
251
954
753
439
709
32
754
927
984
82
100
626
981
461
872
296
203
498
818
179
280
178
92
477
338
327
429
103
762
918
151
912
927
957
933
606
136
180
888
495
80
865
625
11
863
69
302
775
892
329
119
793
462
444
524
534
241
341
4
882
509
64
877
485
131
650
633
836
575
770
214
485
203
891
672
507
362
878
628
905
181
487
560
680
637
954
168
333
550
893
932
411
950
255
895
112
737
529
107
409
466
206
357
594
434
666
523
378
294
662
818
552
723
55
543
519
265
671
631
239
209
176
324
868
510
179
844
882
85
129
126
916
451
106
433
912
779
743
942
352
866
620
404
603
394
525
862
477
403
370
870
502
686
47
108
46
796
678
960
53
52
499
388
273
471
766
691
929
581
957
236
734
633
448
703
435
482
511
413
683
723
195
17
230
638
581
973
949
221
848
646
150
140
784
576
404
411
719
65
880
981
490
454
605
983
126
69
110
484
136
241
818
824
270
929
350
367
992
288
817
428
236
849
341
548
170
603
393
395
863
612
942
730
152
195
130
684
915
354
800
339
509
862
473
411
745
926
84
434
927
893
617
578
835
931
343
478
860
514
832
194
3
197
715
478
59
902
440
788
584
892
407
847
345
55
342
809
333
108
867
466
484
204
796
45
881
822
156
110
915
981
395
117
506
921
877
521
313
530
660
294
358
658
561
641
912
38
175
108
378
965
913
996
273
30
464
517
696
133
275
526
795
547
696
85
371
557
948
435
239
414
729
585
852
357
219
589
466
239
646
307
835
430
777
745
332
317
372
557
582
240
717
879
952
424
734
263
506
720
142
416
698
330
200
8
44
201
732
523
632
697
164
107
234
506
671
177
896
435
48
721
361
44
985
116
200
376
774
318
978
671
816
367
174
259
83
1
133
134
255
829
447
424
521
5
806
772
223
203
830
322
883
852
457
924
522
154
95
151
768
609
896
872
862
36
774
960
683
987
655
782
440
308
166
322
981
179
712
10
23
869
542
993
7
934
894
919
887
917
689
110
327
296
727
842
81
533
51
362
312
500
434
93
709
618
649
306
172
567
153
663
783
201
995
678
562
867
244
806
455
125
331
189
704
817
228
986
349
212
304
912
765
523
966
319
915
891
240
543
768
806
491
672
190
528
455
904
230
260
625
405
328
163
276
590
484
548
42
231
846
840
724
776
744
23
898
234
340
918
646
512
988
511
454
259
974
291
419
950
448
932
568
378
571
12
855
258
305
754
360
642
406
826
570
325
762
626
450
207
965
692
313
424
320
224
407
693
20
963
576
592
682
675
284
217
40
520
588
11
211
309
437
273
657
637
928
660
623
417
566
489
606
874
691
645
45
390
860
950
323
332
572
360
107
710
924
668
95
156
856
832
184
991
85
635
83
554
518
188
352
597
765
498
4
620
58
89
942
88
426
931
339
727
974
555
991
846
744
532
33
500
683
290
999
845
441
373
628
141
592
324
155
835
798
660
534
12
84
1
779
303
226
576
696
452
727
996
953
983
54
477
773
407
704
661
321
876
528
232
844
506
305
307
603
237
691
816
390
799
74
485
248
457
205
75
500
887
544
850
538
619
401
651
191
303
754
185
992
996
676
959
820
521
419
194
86
605
40
380
833
150
32
399
682
596
714
824
429
932
216
112
704
689
672
619
891
466
476
319
357
875
271
427
524
8
522
423
590
605
874
789
867
832
574
319
326
382
642
301
975
572
651
485
443
905
770
842
87
424
676
752
414
767
683
823
35
105
606
872
414
57
231
130
189
110
857
905
210
247
231
128
671
491
424
550
857
356
656
919
425
510
453
360
430
129
13
719
306
598
46
601
12
293
368
143
535
901
173
778
781
310
952
81
295
262
618
223
859
562
467
411
389
396
567
282
719
357
550
305
635
620
631
992
507
946
496
890
709
668
494
157
315
203
798
379
580
407
687
145
803
506
805
804
464
157
788
229
737
503
300
308
239
976
438
129
2
788
11
881
441
814
667
429
414
881
258
251
136
442
45
860
842
504
213
810
519
479
350
193
109
227
362
431
312
629
449
621
71
41
704
323
898
510
807
588
288
241
677
506
95
955
2
70
506
970
913
177
783
302
515
147
677
206
695
242
951
521
155
772
690
98
604
12
772
958
421
112
403
457
888
266
867
962
843
455
861
251
862
552
51
770
770
187
303
87
574
580
936
572
466
954
588
997
668
273
221
355
521
101
432
757
356
661
105
266
264
254
56
685
999
515
962
501
502
337
658
362
620
527
280
613
634
708
451
559
112
950
992
652
155
634
3
110
377
67
105
717
591
782
587
276
382
56
491
877
708
689
797
528
795
946
369
142
552
612
829
49
826
380
946
564
327
73
458
699
869
881
902
355
183
184
276
885
713
448
232
995
767
826
821
485
313
543
793
455
448
159
701
592
931
772
529
169
459
617
620
410
531
753
693
560
569
283
839
555
428
669
889
477
837
998
621
417
861
322
163
716
519
555
750
394
194
711
917
590
882
24
150
399
503
321
441
45
633
985
696
562
747
414
886
490
825
196
290
801
583
599
105
240
930
806
614
326
209
709
492
11
990
665
556
151
433
197
648
762
512
684
224
507
948
303
388
939
487
264
464
269
479
298
48
952
407
555
923
823
958
982
299
687
479
522
731
760
38
741
9
409
489
644
55
350
68
97
997
430
782
700
177
662
869
651
30
991
222
318
66
310
517
943
261
463
23
147
805
267
109
321
94
995
931
272
400
101
368
976
23
410
503
21
400
160
650
627
511
386
184
393
866
233
306
174
91
233
442
367
861
154
684
121
916
511
589
805
76
898
504
834
584
131
463
875
827
636
537
600
253
151
587
283
957
253
118
301
131
867
807
27
627
34
22
12
216
16
582
769
718
968
413
2
917
994
492
515
578
582
988
669
272
889
350
247
37
259
225
789
55
68
982
265
47
168
335
867
431
208
254
741
986
751
130
317
730
924
95
415
248
150
109
326
856
8
244
294
300
680
42
492
961
748
709
732
146
195
358
841
657
292
813
797
173
693
631
512
18
921
413
394
13
118
254
483
484
888
577
290
172
862
947
905
316
594
557
206
633
559
535
516
593
494
509
24
105
231
726
513
926
984
692
941
306
973
79
370
323
780
533
873
261
239
421
571
61
290
660
974
630
745
455
595
583
817
838
630
290
7
715
515
51
26
199
929
251
1000
488
87
345
893
79
467
897
574
809
51
454
51
148
606
158
207
494
504
790
763
979
428
945
22
623
429
34
254
901
149
651
199
63
144
986
107
835
96
666
388
15
650
944
495
268
496
112
453
83
789
62
655
350
113
868
510
971
854
166
510
746
339
56
924
123
890
792
729
74
395
340
570
853
104
263
386
853
19
550
814
978
764
32
394
921
804
912
692
973
905
168
454
348
923
292
912
841
506
819
657
290
662
568
168
945
256
3
296
736
868
930
723
819
722
964
60
471
559
477
346
600
931
231
929
650
623
425
412
585
337
598
421
675
17
121
664
546
254
913
270
161
676
430
460
242
640
682
78
592
965
82
924
41
766
708
649
269
496
298
178
556
216
960
943
779
211
370
568
470
538
251
9
768
168
430
369
150
298
133
557
849
233
126
925
485
122
263
331
588
631
460
148
551
340
742
382
163
791
538
997
358
927
235
587
97
511
593
81
896
645
164
541
850
499
994
155
294
851
409
69
307
462
829
508
439
66
836
529
548
477
980
926
370
673
997
674
765
396
403
483
362
184
406
596
1
304
126
873
418
393
686
468
330
773
71
149
407
973
364
434
348
914
357
188
424
343
694
976
1
359
505
997
178
306
816
720
31
546
63
283
92
623
257
357
794
433
871
898
245
792
538
170
604
783
532
852
311
742
749
341
152
922
556
737
764
61
386
900
589
288
884
226
229
531
858
763
448
414
682
378
880
230
432
534
228
923
941
745
250
810
334
862
159
937
34
761
224
417
587
339
746
75
239
434
404
289
806
519
662
568
549
505
731
7
910
826
75
810
133
418
425
675
398
109
174
522
178
256
822
389
448
132
818
535
357
208
872
174
280
638
885
393
444
179
187
148
465
983
16
204
713
312
390
894
327
223
92
220
114
959
834
679
366
537
78
179
959
233
22
121
316
753
867
836
987
964
362
356
117
529
245
614
25
717
819
121
541
44
827
656
287
943
869
783
375
885
47
108
117
50
659
866
190
316
750
194
757
9
727
213
710
870
317
951
217
229
570
771
428
33
308
275
981
988
583
645
853
888
452
393
907
658
124
721
736
854
453
723
815
507
787
714
208
228
643
73
29
800
347
319
250
686
492
554
35
81
490
810
338
148
593
272
16
717
362
869
960
576
297
313
105
486
541
197
780
184
521
182
368
127
588
68
681
187
346
524
146
953
819
924
660
838
922
50
526
475
702
515
859
329
342
981
885
684
178
160
898
277
37
840
311
258
14
783
433
159
107
235
113
57
602
167
718
662
223
416
708
335
493
378
576
549
404
91
905
689
272
632
553
240
510
922
918
763
101
459
588
540
776
842
731
586
59
446
934
103
694
989
246
114
461
20
945
301
914
354
980
14
131
594
773
325
735
709
343
399
107
723
695
864
657
59
453
117
765
276
766
957
325
14
747
750
818
967
271
867
192
982
222
732
989
380
214
850
776
433
543
217
324
467
255
675
222
942
852
384
421
147
631
738
818
96
873
932
597
626
760
542
265
223
860
87
117
807
876
268
416
940
540
49
568
714
157
950
90
537
86
368
594
655
136
953
638
853
966
144
807
1000
922
746
945
890
888
523
357
934
209
885
824
78
380
767
371
226
782
801
143
869
408
170
843
519
891
739
122
868
959
763
413
703
826
120
519
92
422
447
461
754
185
652
503
750
927
741
268
804
984
125
55
603
510
21
8
412
696
177
4
536
808
736
883
669
462
450
804
857
351
84
327
711
719
243
106
73
983
529
205
493
298
440
632
855
87
163
850
748
575
785
409
234
974
99
304
845
698
30
930
380
98
771
426
990
480
429
824
177
561
940
606
435
536
216
883
103
118
267
786
961
928
804
545
796
234
711
744
474
210
219
601
472
39
107
494
691
36
734
650
444
588
515
330
346
73
992
58
822
181
233
165
781
70
432
770
877
355
219
477
85
944
381
528
757
694
230
414
360
471
478
818
848
246
177
979
479
103
161
717
863
608
431
95
314
630
663
620
543
15
569
841
993
446
133
305
584
641
289
42
707
815
348
843
84
811
714
659
994
48
872
558
897
267
75
237
905
911
108
302
733
976
475
888
517
334
954
746
475
806
639
363
736
572
297
706
356
143
920
413
680
88
210
436
26
703
108
674
952
475
159
905
281
494
819
320
958
877
347
550
137
725
346
348
679
899
659
206
344
92
864
830
193
613
770
164
832
278
959
703
269
552
656
178
696
55
947
8
551
75
145
965
891
181
736
431
714
703
56
342
767
736
500
503
942
337
199
105
850
2
608
756
745
687
822
934
505
797
374
905
715
780
733
202
910
272
347
767
654
423
673
921
23
269
195
405
304
702
90
849
840
2
146
965
456
270
376
444
527
747
673
720
111
634
975
617
356
603
84
400
612
333
421
498
404
330
843
406
412
371
263
301
994
159
81
293
45
683
528
363
576
834
902
24
541
571
853
108
373
450
36
475
173
236
378
913
449
681
868
477
842
812
527
944
352
231
378
799
119
384
176
986
251
841
492
380
794
299
602
727
197
51
392
994
378
100
677
962
715
913
507
162
856
530
187
674
146
462
115
176
378
36
883
694
505
412
415
545
521
142
904
951
446
976
407
562
551
783
959
57
138
491
232
601
774
975
259
74
662
314
704
569
243
846
46
788
547
321
266
220
428
119
897
251
964
781
460
799
622
579
276
319
815
487
141
590
473
862
196
152
500
342
237
759
38
924
827
665
597
979
362
232
418
559
586
64
21
157
466
462
919
417
456
173
215
561
119
409
33
597
19
130
382
546
609
26
765
660
508
969
254
932
815
751
195
473
142
384
554
240
50
905
974
585
936
945
428
631
105
895
441
672
974
647
229
940
646
495
425
40
342
270
721
396
466
759
933
144
895
356
572
412
915
720
896
254
449
443
587
265
754
182
323
324
168
295
605
492
310
592
289
724
734
385
924
169
970
348
343
613
506
919
170
630
949
37
46
853
338
894
759
129
35
815
130
906
740
429
110
884
233
413
590
28
774
60
251
115
676
254
767
339
86
584
827
171
130
403
160
27
382
766
192
301
961
164
950
383
550
208
861
292
716
638
948
812
502
277
903
347
587
649
520
459
743
10
848
291
398
947
858
176
834
746
763
632
325
275
383
561
45
103
680
75
716
466
955
425
279
372
157
972
377
684
10
350
587
165
187
825
215
601
713
373
457
976
688
338
662
240
626
505
863
167
451
58
41
355
790
408
550
859
136
290
614
454
313
26
181
112
851
953
233
300
158
771
36
19
128
561
842
223
267
612
502
254
125
41
746
213
928
254
381
478
381
219
388
37
208
403
935
929
172
874
654
58
692
973
763
379
73
851
718
929
635
258
46
357
538
700
369
810
707
910
371
473
941
583
127
649
728
124
255
508
178
155
441
688
511
427
17
273
657
570
930
452
120
440
78
925
77
458
845
951
295
27
615
235
833
857
188
725
314
668
593
9
865
506
376
754
724
30
551
270
485
615
301
526
142
41
116
646
192
489
793
230
530
686
750
709
495
775
442
502
827
637
680
577
221
536
34
586
723
264
855
941
28
385
82
351
320
198
348
714
120
920
131
815
990
249
840
872
310
941
827
428
411
329
918
950
153
41
538
792
198
578
653
280
52
703
254
533
256
225
698
600
123
109
97
44
41
467
905
112
470
364
156
91
920
9
585
947
901
594
387
767
671
697
372
989
842
219
533
280
158
177
108
556
225
319
102
748
587
962
907
35
656
907
131
329
38
432
573
610
139
219
942
67
947
531
831
286
413
910
789
791
382
991
34
845
512
786
493
663
558
29
811
373
212
975
327
424
191
323
771
702
427
107
651
383
275
140
880
614
993
285
871
218
635
485
913
643
52
389
638
379
713
192
898
768
146
499
718
129
228
217
676
923
740
165
572
618
139
36
28
795
790
242
330
53
16
308
167
307
331
804
588
67
936
71
254
900
265
198
653
704
562
123
907
425
490
133
330
621
169
340
425
690
487
954
320
990
667
183
651
569
70
523
819
617
782
383
158
285
869
46
264
901
627
34
229
625
672
350
544
868
113
702
677
336
984
216
497
845
626
579
76
706
735
791
937
134
321
919
165
153
267
361
458
558
632
221
385
210
149
890
111
551
583
435
680
628
313
715
445
756
19
612
507
153
805
921
144
664
988
804
859
582
108
982
763
807
144
242
940
230
174
334
919
118
519
465
127
611
738
921
565
8
98
826
237
342
780
847
973
582
361
270
918
155
28
77
866
513
969
921
625
222
34
29
212
169
599
958
104
601
656
897
105
870
104
297
444
899
468
850
301
831
815
896
437
138
873
255
19
364
680
553
651
720
581
393
992
468
175
398
235
910
33
907
877
203
4
976
114
235
92
634
605
361
22
299
323
507
507
701
698
410
1
368
802
554
915
757
112
62
959
220
701
308
842
225
979
286
432
933
182
848
841
770
998
914
434
458
453
585
893
725
320
79
392
284
55
776
4
855
711
266
255
393
820
134
376
861
640
846
616
687
644
942
128
739
288
573
156
438
966
387
840
275
533
420
164
348
6
716
563
27
142
795
217
983
561
754
283
448
502
767
283
923
42
788
844
418
960
402
467
451
796
788
881
586
240
116
118
334
602
428
604
737
638
351
47
589
174
147
511
397
745
118
347
406
848
453
801
780
14
469
481
475
656
808
843
862
118
956
359
933
30
544
23
704
142
869
369
575
404
317
838
101
152
832
41
532
808
81
523
537
982
422
771
102
296
560
168
564
886
241
425
41
583
892
947
554
994
710
999
67
769
3
837
17
186
117
126
335
976
770
164
807
641
529
429
14
487
935
767
737
633
110
767
288
130
608
835
851
855
368
394
499
881
252
631
546
492
638
667
43
705
536
512
161
44
445
820
123
548
648
345
383
382
271
98
568
754
951
122
859
368
346
779
657
139
702
460
992
679
785
206
284
29
26
946
782
573
578
173
148
835
521
160
754
393
857
774
964
672
405
59
451
484
632
156
875
318
708
967
284
341
627
100
377
445
501
563
606
208
312
322
193
448
491
708
678
440
821
914
838
489
27
378
223
420
460
793
353
568
819
873
601
113
306
808
85
288
797
816
319
195
317
977
806
689
738
843
842
754
430
884
406
767
213
273
559
37
424
735
518
412
937
693
935
328
538
794
647
428
259
643
65
186
271
311
451
579
105
234
227
323
665
522
563
962
25
897
301
440
435
651
300
102
84
823
517
235
999
18
808
243
661
380
881
919
290
660
767
660
140
915
659
528
492
624
1000
193
575
147
714
172
710
107
601
350
578
220
95
932
223
327
79
128
20
412
266
834
765
922
297
830
490
848
35
248
120
628
147
58
84
635
797
68
786
401
99
840
888
263
825
63
745
250
588
160
811
8
289
44
290
766
460
636
415
657
721
542
12
921
83
456
681
686
986
661
800
165
551
907
299
370
547
865
696
111
294
512
513
156
68
394
583
772
527
120
837
54
220
419
228
969
753
748
579
629
341
878
609
640
419
525
205
1
532
231
956
380
839
357
355
430
495
232
258
357
968
496
965
946
893
783
405
580
403
842
789
915
97
785
851
913
559
544
197
620
69
37
824
537
189
632
520
997
671
984
150
431
879
683
985
9
707
656
63
956
902
862
340
408
155
441
497
870
282
239
814
853
33
429
6
515
426
867
689
34
383
992
959
222
295
945
310
675
636
556
372
140
42
747
684
716
372
275
578
583
433
645
166
213
30
835
345
158
406
399
443
59
23
221
318
82
190
722
725
554
220
694
18
163
960
460
648
970
960
692
258
272
600
222
445
311
791
510
201
101
733
673
697
759
743
417
854
571
684
924
79
861
518
932
547
624
365
15
7
740
935
875
157
155
758
731
703
945
660
778
620
717
55
715
991
549
594
999
639
482
849
776
953
202
442
630
90
691
570
52
681
807
188
258
829
768
5
682
244
935
315
829
707
147
58
268
574
320
56
18
687
968
295
312
259
66
780
964
391
616
347
644
82
576
134
605
364
193
157
757
885
211
382
759
2
213
116
532
608
871
365
738
684
448
348
564
196
844
117
324
805
610
897
808
755
473
269
884
766
141
772
688
391
466
457
133
333
313
607
563
577
518
202
419
230
846
262
991
700
351
509
208
169
296
570
362
779
995
603
26
137
981
789
611
286
72
619
347
410
980
746
933
421
85
938
345
870
840
523
136
685
342
671
840
945
224
138
782
491
256
311
83
121
990
422
903
875
58
647
276
682
811
874
828
226
778
260
336
959
955
160
39
827
770
17
144
384
546
769
225
844
475
383
641
849
288
208
756
860
686
65
781
362
10
940
735
176
334
129
789
23
491
88
437
471
149
533
273
551
221
25
798
138
597
226
714
768
513
604
900
337
701
221
395
211
216
965
987
114
794
105
342
237
979
31
830
476
1000
113
157
556
672
827
493
430
938
528
210
98
9
702
446
933
716
444
716
733
170
949
91
817
778
508
330
447
270
739
614
61
248
670
303
671
250
628
125
665
487
742
631
527
951
331
960
384
18
678
228
438
7
865
401
609
371
763
670
119
721
882
274
470
979
595
638
760
765
601
418
141
702
225
895
764
548
100
222
859
499
132
999
222
718
171
257
227
899
711
250
653
709
242
590
171
782
313
387
926
747
49
244
467
341
290
425
268
491
563
1000
578
65
4
711
747
378
850
402
773
579
377
104
805
272
850
972
953
467
814
301
745
661
816
724
684
308
314
671
312
369
295
738
599
680
231
273
258
286
763
749
217
884
299
760
23
826
344
461
94
142
500
516
41
20
509
654
809
64
150
541
389
872
676
541
342
10
156
500
450
311
489
316
564
190
752
200
248
766
401
100
845
939
205
816
312
880
334
342
619
545
795
86
316
743
296
603
371
588
603
185
97
89
507
90
696
940
77
984
319
781
176
101
412
224
197
801
847
33
906
782
763
757
91
561
515
1000
18
443
427
546
16
130
865
990
715
887
833
583
849
842
111
674
699
716
458
966
812
21
66
233
630
539
687
851
910
665
296
609
161
671
587
887
355
555
204
991
323
377
43
208
898
914
148
809
163
121
789
175
89
923
850
406
238
274
379
837
106
759
551
9
971
588
238
829
82
359
937
697
772
357
894
188
329
381
598
342
670
386
131
957
680
502
946
616
128
607
752
362
821
666
900
936
417
86
669
466
3
3
619
911
275
747
533
619
934
476
513
181
161
315
815
578
596
241
786
306
717
613
156
803
24
391
247
699
590
34
426
152
559
601
862
938
12
451
19
886
103
266
418
110
517
693
324
193
249
697
817
364
15
345
356
135
758
536
182
162
670
331
191
635
400
233
755
234
849
600
454
200
198
165
177
98
652
112
329
495
715
587
549
422
438
814
497
599
355
308
702
746
893
845
450
206
620
40
144
550
824
154
597
242
261
169
278
258
223
158
984
448
72
14
914
818
922
954
306
645
473
825
190
988
956
161
860
835
592
371
713
18
538
914
287
512
471
528
423
865
250
257
342
486
762
630
800
242
402
539
265
591
761
270
331
191
851
433
346
8
409
996
977
155
564
959
819
650
568
878
604
942
877
619
122
527
252
408
990
37
625
702
305
509
866
42
817
305
338
818
12
90
498
855
981
934
423
296
904
493
775
85
6
643
965
763
573
652
524
139
635
106
995
232
122
223
277
423
830
269
388
23
600
191
488
79
289
632
178
276
272
535
430
777
426
375
259
882
199
322
832
38
568
677
829
562
268
692
358
737
679
272
319
948
760
141
410
814
97
991
182
141
114
91
873
198
387
809
394
965
488
959
888
102
79
541
430
450
14
383
332
716
485
490
219
48
301
763
543
81
682
846
702
526
593
84
114
20
585
772
139
660
359
898
100
279
834
473
920
715
36
798
522
491
929
452
450
973
50
120
785
337
976
299
54
583
91
717
213
171
559
630
751
892
37
903
962
404
600
600
582
840
841
649
84
276
758
216
171
432
754
869
508
984
207
689
348
84
681
242
728
738
273
842
157
832
997
879
444
429
656
665
372
246
715
598
487
250
140
74
112
122
67
447
521
502
181
775
366
209
515
96
538
534
17
371
132
993
231
646
213
848
371
708
258
620
998
661
199
82
470
555
470
762
986
98
120
204
438
39
501
720
705
276
182
71
169
636
746
377
144
848
161
915
727
746
734
294
584
376
709
486
688
530
4
336
310
441
18
572
563
349
408
767
427
786
102
342
601
451
533
824
784
142
663
659
866
566
96
505
201
308
723
598
345
816
93
735
440
676
24
783
821
803
453
859
913
516
438
13
731
801
408
778
350
496
892
793
873
900
69
449
816
430
628
174
750
629
949
325
980
966
652
492
558
800
53
52
934
401
516
509
907
283
690
549
774
88
276
869
433
599
676
57
533
771
394
10
282
506
431
383
310
25
933
47
802
706
151
367
375
360
409
973
645
343
233
120
619
373
89
432
180
973
626
974
956
412
563
342
945
651
421
236
490
387
827
604
116
136
469
322
22
51
687
826
516
35
252
923
131
650
953
733
780
276
706
336
531
573
320
95
430
918
962
928
235
26
900
70
666
859
258
140
851
977
451
294
910
50
290
36
100
382
843
627
592
220
124
230
351
931
16
751
445
718
575
130
253
333
172
420
775
473
247
945
676
308
230
589
1
365
68
890
133
403
291
678
426
386
64
297
237
98
893
5
446
147
535
742
938
921
172
919
43
517
637
331
251
349
854
131
302
313
928
214
799
968
588
659
276
523
385
121
795
415
315
942
753
212
279
756
217
670
382
967
669
562
554
313
488
117
365
525
948
156
600
271
23
438
27
546
758
581
478
453
836
238
589
516
516
474
116
15
581
188
573
646
411
720
924
752
465
727
181
326
449
247
404
389
150
736
410
621
308
647
813
893
912
365
544
948
415
978
725
730
849
175
295
90
482
688
475
596
722
794
304
470
994
250
301
864
419
306
789
732
76
142
791
59
184
900
810
765
376
934
396
918
341
107
126
3
85
649
519
474
328
710
180
586
438
257
80
913
556
579
30
540
575
703
322
121
873
453
540
234
454
579
44
340
741
404
747
66
781
326
249
603
13
206
506
591
289
664
907
20
890
807
774
341
524
115
757
670
590
520
916
211
52
19
694
202
463
872
890
607
222
187
876
296
148
181
825
782
612
493
802
659
804
623
478
371
858
795
549
574
625
488
141
965
235
324
79
659
814
460
911
279
794
844
741
719
74
211
50
262
854
447
372
187
566
714
149
566
53
339
959
989
157
32
300
272
516
403
255
986
568
623
552
839
928
169
306
643
232
325
835
213
600
344
334
907
216
147
363
166
571
828
924
427
250
184
444
657
180
54
110
115
689
415
839
74
852
18
853
976
715
736
271
366
175
676
249
781
151
537
112
348
42
670
832
287
353
432
136
746
487
416
433
257
463
979
19
420
482
977
986
29
313
835
425
643
934
299
755
241
978
968
320
501
427
599
787
960
487
595
221
776
647
993
135
29
865
198
975
366
860
861
523
62
769
895
488
802
757
641
463
472
256
366
265
854
8
793
696
772
749
396
742
796
60
530
369
77
139
957
216
401
845
552
73
662
905
80
40
64
222
873
652
922
331
115
437
495
386
990
286
34
324
58
739
132
946
450
442
292
311
164
139
389
968
57
500
408
940
532
9
699
829
11
682
573
553
985
94
872
368
793
973
341
238
551
468
660
828
65
214
660
811
449
166
705
892
788
223
375
477
539
540
291
71
405
49
251
419
456
138
20
297
320
821
298
974
291
748
569
554
702
830
873
92
404
296
776
210
527
547
630
451
157
477
586
565
252
823
899
48
796
387
164
270
698
128
416
806
221
730
52
980
194
656
471
796
436
108
910
166
903
121
393
766
475
828
910
517
700
822
93
369
647
714
313
40
564
294
178
157
329
963
444
740
605
83
894
574
932
891
837
674
25
321
809
669
690
730
262
382
661
412
836
362
533
135
318
894
649
805
47
189
751
928
160
80
184
694
611
187
327
884
115
706
888
135
13
771
545
418
128
766
587
218
499
661
417
242
537
107
624
892
554
38
933
147
631
42
331
271
365
129
231
390
136
130
175
724
414
535
773
151
989
822
279
373
191
422
955
816
607
480
552
55
721
530
132
379
484
300
598
604
636
599
861
135
314
251
872
743
446
691
782
661
633
776
723
49
343
417
1
739
824
447
318
990
821
883
673
146
833
623
510
832
245
10
111
490
693
286
397
335
664
100
788
81
938
264
462
658
385
549
630
707
417
764
263
147
875
628
240
571
414
591
668
840
252
465
148
679
852
185
187
51
712
913
43
901
257
473
909
975
858
108
281
682
551
878
806
792
904
787
640
455
365
616
490
693
160
931
383
122
166
5
93
609
282
119
758
124
225
81
483
794
894
808
31
955
124
445
582
3
59
753
709
752
606
536
403
610
600
100
369
331
547
344
103
519
656
326
277
860
479
404
834
759
727
319
95
687
554
960
749
315
947
403
57
463
444
164
328
100
204
682
501
8
968
83
737
127
377
66
422
47
818
76
227
609
151
526
938
675
625
43
232
721
543
30
850
273
347
778
234
70
298
53
546
212
743
568
848
983
844
462
398
704
919
965
927
200
478
764
634
861
438
873
99
469
264
818
539
202
559
105
706
852
739
69
598
694
378
132
318
962
403
329
5
86
802
401
506
384
570
398
555
271
670
330
321
22
446
756
381
260
768
165
364
190
145
501
264
942
743
3
817
668
48
163
735
155
143
648
11
316
201
760
307
850
37
39
397
268
357
132
943
557
637
856
598
839
167
537
421
793
930
92
316
568
49
707
595
427
611
366
54
308
458
930
193
263
489
570
151
696
701
946
547
926
462
725
882
100
295
625
882
590
646
772
57
111
251
894
545
221
127
628
548
449
914
603
659
611
135
139
927
831
847
557
684
303
996
776
696
238
796
72
799
889
716
829
559
293
115
127
515
518
816
135
351
35
614
95
157
390
499
186
521
145
617
721
273
316
54
547
115
574
842
215
648
713
166
477
757
266
763
415
852
187
401
190
751
285
114
416
97
152
881
701
74
943
794
436
161
70
766
910
193
65
982
370
970
662
623
612
772
804
561
370
309
683
996
698
157
869
167
199
337
869
594
423
991
895
619
106
388
872
175
402
492
324
699
461
578
699
632
347
522
750
641
71
164
489
819
327
32
906
562
766
856
370
241
130
747
77
503
813
159
960
539
500
778
925
919
16
262
334
664
798
773
375
109
834
801
270
492
751
546
237
220
104
41
845
404
441
366
982
591
580
825
759
933
18
551
992
307
693
812
956
952
382
123
695
501
573
685
514
668
834
133
932
534
56
475
590
200
345
211
846
22
337
869
946
539
563
195
868
54
33
51
730
214
961
902
350
169
710
685
537
324
803
210
688
59
892
687
231
138
651
171
612
763
830
369
994
544
17
768
582
106
754
125
640
115
20
238
329
562
87
461
773
626
264
59
161
171
946
479
124
385
760
852
97
63
684
602
589
558
437
583
951
355
502
667
839
807
629
634
493
370
259
585
606
514
914
827
228
848
334
722
609
892
391
327
939
491
676
640
436
935
920
633
456
470
114
665
966
109
618
65
47
774
753
847
164
798
983
202
172
684
203
576
941
535
72
748
217
426
576
535
418
57
879
612
552
65
323
402
876
917
27
230
132
264
812
978
780
437
243
460
373
990
598
907
780
793
489
834
893
364
479
791
52
108
720
719
284
536
772
214
225
451
845
279
263
520
959
908
823
605
718
764
547
680
407
395
912
126
286
19
947
152
755
251
186
759
625
702
48
328
35
796
252
426
177
93
938
160
641
44
403
415
962
211
158
347
944
698
683
928
968
72
751
785
829
461
121
449
582
370
458
555
673
665
577
591
84
683
937
144
814
463
233
905
510
624
377
161
765
60
729
920
821
568
924
97
260
992
624
753
485
95
480
922
629
416
766
540
317
480
566
729
64
872
269
610
383
24
746
501
457
788
537
982
532
387
425
301
821
967
304
40
985
423
203
304
863
755
419
537
761
123
448
104
874
646
215
113
489
947
865
908
459
740
700
367
97
16
789
691
243
734
525
109
897
996
414
865
602
563
697
158
744
257
41
339
579
866
212
334
970
138
78
391
730
307
247
735
252
81
65
309
865
519
543
674
988
631
40
218
746
449
122
559
909
954
751
220
549
200
475
383
725
332
613
581
110
319
297
450
342
84
288
153
700
366
109
180
153
108
168
42
401
486
139
52
338
659
240
864
357
99
220
672
921
765
780
621
827
778
260
48
917
137
177
858
195
999
735
684
470
808
41
631
202
909
814
168
864
724
631
946
167
874
205
635
501
199
741
324
850
654
681
648
29
288
162
971
808
684
442
193
12
481
965
842
664
934
457
867
387
931
633
457
716
46
117
891
478
576
81
122
401
489
253
850
35
45
996
486
458
232
802
362
526
207
310
10
845
37
407
809
312
872
354
755
254
891
261
857
326
772
822
117
6
22
108
356
488
736
214
858
513
395
873
198
312
794
865
782
675
173
963
442
891
832
99
226
400
390
839
440
176
838
648
825
479
727
210
511
871
649
993
657
730
642
432
883
540
579
491
243
42
668
346
187
109
821
872
790
926
194
979
206
948
165
561
363
288
495
724
336
176
312
19
209
474
328
148
613
682
958
872
960
957
103
758
487
816
783
22
777
504
222
866
447
909
850
637
438
933
544
896
750
479
200
383
702
962
735
835
452
107
810
587
750
246
660
652
398
20
12
894
308
432
734
762
508
680
619
928
188
136
343
704
229
316
725
193
400
699
789
783
389
381
953
809
373
283
157
754
846
664
582
473
619
837
143
800
690
103
308
90
403
126
889
528
658
578
128
170
413
617
738
887
733
98
326
909
257
738
994
435
729
697
720
178
795
896
829
107
533
348
291
825
36
777
24
208
258
43
595
269
383
343
380
744
93
670
703
548
177
787
276
291
963
976
181
129
232
749
327
325
988
444
293
668
784
683
313
422
368
942
406
635
514
445
726
305
789
833
21
570
947
929
714
768
962
155
36
835
745
369
111
157
577
558
756
332
646
366
509
389
662
869
152
736
83
814
808
383
945
76
525
607
528
407
581
756
674
633
341
286
246
416
970
774
427
400
664
684
926
243
579
804
774
816
277
504
828
825
810
4
368
68
437
347
44
78
915
432
418
568
698
689
533
26
809
303
620
734
852
980
817
397
474
504
100
135
998
943
71
353
472
315
986
622
283
585
435
135
281
146
590
463
615
747
566
164
766
699
665
899
224
291
154
353
24
826
627
755
713
539
833
777
871
341
882
365
665
621
493
634
906
772
564
963
620
673
275
536
698
240
813
166
936
642
62
489
552
766
283
863
193
996
834
334
676
43
864
583
33
893
616
927
796
204
988
451
979
930
274
266
888
885
518
247
972
60
968
332
746
635
53
304
811
784
175
883
36
967
411
879
306
148
570
34
112
774
690
790
612
384
483
65
643
807
46
557
432
771
30
940
91
449
234
229
213
477
757
535
72
951
998
454
558
241
22
147
800
577
422
118
923
75
611
790
81
628
428
142
735
731
992
837
884
552
892
911
6
52
832
51
368
210
752
495
159
719
716
494
678
330
747
528
599
826
732
982
497
451
505
379
116
57
865
300
878
866
638
175
987
221
981
191
360
10
346
799
13
673
623
892
722
152
864
710
970
778
233
971
255
926
603
891
521
929
3
126
267
461
964
320
799
414
896
577
19
394
613
595
420
236
436
381
405
659
403
665
835
211
186
420
570
140
731
405
965
514
422
659
783
439
379
223
960
240
15
133
14
106
117
501
305
115
619
205
532
334
168
317
847
807
339
24
749
631
989
813
741
458
50
689
472
195
301
565
883
642
110
343
272
509
641
811
142
560
163
416
873
283
537
944
239
135
794
520
76
614
851
361
243
748
644
828
310
230
74
279
725
258
369
41
653
528
548
289
838
102
829
376
891
532
182
88
721
597
768
582
797
454
375
516
326
800
938
336
371
475
729
442
932
794
194
724
895
19
190
580
197
743
221
144
724
180
784
670
486
599
592
391
139
374
153
502
897
3
432
406
998
666
783
716
344
82
518
428
137
145
239
439
391
629
181
794
890
567
678
390
839
182
152
475
793
884
265
910
375
517
850
152
660
181
346
982
365
31
555
891
227
984
555
379
675
769
148
576
642
222
353
50
134
3
208
711
623
62
842
210
230
236
322
708
131
420
334
118
954
895
337
464
21
934
995
824
963
854
84
41
468
753
293
486
106
648
697
746
519
975
329
154
505
695
502
912
985
702
637
351
437
640
850
737
327
74
865
880
763
337
840
40
460
451
9
615
944
704
776
192
354
720
62
267
769
829
288
236
936
761
749
554
599
140
415
142
635
810
784
622
641
212
295
611
63
865
378
176
471
866
388
495
80
478
689
289
416
299
860
372
31
614
788
795
506
964
154
255
277
301
744
483
733
393
961
519
788
539
459
191
386
70
387
186
935
179
487
95
205
203
299
798
201
412
903
743
952
989
278
559
673
269
855
253
905
533
194
54
577
716
164
642
29
92
545
310
695
854
225
539
866
24
205
715
941
75
21
280
142
196
864
453
500
742
397
907
867
973
62
601
992
607
476
364
930
789
556
665
928
205
986
531
317
569
59
713
47
669
9
613
256
330
482
834
339
541
701
491
166
192
98
584
367
912
226
519
163
433
227
75
19
906
307
86
44
688
988
302
206
859
488
313
746
32
354
896
337
701
301
572
86
995
263
388
585
967
19
732
283
404
192
364
414
348
799
76
454
707
349
355
566
771
353
240
566
784
846
336
360
715
481
140
417
919
80
491
687
991
876
297
664
304
294
622
175
774
360
930
495
603
354
530
111
313
483
152
319
635
202
186
716
225
439
193
625
843
327
708
554
776
614
225
499
41
472
719
300
120
135
184
90
507
959
492
333
890
92
725
290
401
543
577
629
140
430
337
447
766
280
880
652
355
960
982
250
251
378
362
695
715
27
113
623
416
605
652
393
882
489
389
379
956
988
557
285
3
437
943
229
579
564
792
629
103
566
159
944
876
34
385
607
959
534
188
574
584
697
310
115
151
6
198
973
810
550
101
502
312
63
774
153
436
846
304
221
32
197
212
592
507
760
940
719
850
421
51
428
12
828
182
551
638
499
327
748
908
853
348
941
31
837
928
835
920
59
852
87
631
516
473
134
886
106
519
801
851
668
126
525
56
608
299
510
176
217
407
902
136
352
274
343
989
283
975
135
295
127
456
374
189
754
470
515
463
455
596
208
415
631
832
487
781
918
146
131
410
169
431
762
303
279
282
193
443
90
528
487
486
127
427
716
545
940
490
30
824
148
646
346
615
953
27
361
490
590
219
729
231
342
564
260
775
257
762
718
274
940
999
767
325
856
30
911
33
363
45
795
204
745
319
841
246
787
371
880
529
449
196
339
545
485
228
403
16
774
319
109
692
101
787
407
61
734
541
937
421
783
309
993
827
653
910
464
113
752
154
605
920
179
661
392
441
189
257
282
717
34
175
534
565
158
82
559
534
186
19
35
994
976
3
569
514
713
362
380
620
159
48
405
235
526
17
26
330
143
520
203
835
898
163
122
782
58
153
547
588
47
877
671
124
366
171
502
151
398
711
421
391
161
333
540
778
968
811
703
838
449
105
469
500
172
585
483
463
691
331
530
10
139
408
187
449
160
557
117
69
463
150
932
172
996
877
286
417
677
252
436
342
951
237
107
675
733
75
26
953
249
62
276
655
176
715
752
556
164
352
210
622
296
109
846
715
64
871
511
934
710
527
462
47
563
892
515
151
153
140
242
890
697
598
44
896
885
271
148
620
316
596
204
900
57
343
142
762
344
432
703
484
189
264
153
390
848
119
810
893
727
633
491
452
305
641
618
847
304
936
652
664
848
550
504
538
643
928
973
533
42
392
288
49
826
604
488
11
406
293
183
261
137
547
667
767
683
74
288
826
364
827
842
385
812
472
776
726
574
729
861
278
357
128
868
455
358
718
554
910
412
127
740
718
131
803
479
139
893
857
3
874
381
285
902
694
339
282
611
639
468
263
962
18
679
396
21
107
659
929
830
20
815
149
319
270
190
187
347
28
980
64
742
244
870
300
881
442
526
803
446
377
611
266
503
981
665
498
65
957
612
313
698
141
913
481
912
837
283
275
957
1000
168
421
216
988
777
185
902
169
705
281
992
678
503
830
179
490
973
2
238
141
233
949
756
720
636
597
297
768
230
314
22
955
882
192
57
631
620
813
45
568
773
733
792
101
241
229
928
361
42
376
113
648
582
735
449
662
427
53
68
207
775
971
92
932
183
668
95
667
216
820
383
885
771
364
349
254
683
160
424
489
304
630
442
52
257
661
342
952
865
582
733
485
283
385
715
74
685
999
993
22
455
211
841
171
876
808
460
889
116
220
123
19
358
47
2
745
334
1
226
372
335
95
687
464
965
273
588
695
811
832
685
721
475
441
451
524
195
652
858
55
858
904
554
448
194
783
125
144
945
170
601
883
638
477
400
895
949
497
892
688
897
28
756
561
833
724
675
582
664
875
506
78
523
170
389
540
778
13
235
934
385
777
648
793
840
636
637
444
528
733
601
794
224
51
5
782
835
532
365
171
919
805
910
389
488
190
276
354
780
811
997
272
842
101
962
878
764
376
457
392
918
979
364
185
881
325
599
724
733
268
694
253
15
258
973
534
67
18
579
203
240
425
411
744
440
131
218
114
123
558
189
138
830
941
884
776
35
285
82
506
662
535
471
96
379
536
794
685
476
389
762
918
812
989
986
848
565
468
4
186
599
681
942
598
156
204
338
365
189
381
633
674
151
167
222
307
502
75
686
239
911
88
493
594
28
425
273
915
880
150
903
254
657
511
420
455
715
176
734
815
26
185
927
619
74
757
19
861
852
668
300
158
448
612
998
97
826
323
225
542
723
535
708
739
921
289
31
58
695
305
187
282
289
178
677
884
344
286
337
790
883
731
13
786
274
759
518
936
861
189
940
372
772
373
77
552
947
287
949
859
364
847
976
799
404
842
621
715
431
511
758
632
720
963
610
10
872
616
316
575
710
265
250
109
944
584
535
165
249
871
736
122
853
36
790
365
577
635
126
708
843
977
135
388
649
588
700
30
547
287
337
893
398
989
293
336
261
562
922
757
85
434
163
912
351
725
181
113
277
208
305
753
213
312
352
997
241
870
330
282
615
895
907
818
847
211
735
111
101
23
259
388
505
527
109
727
614
730
636
104
901
127
429
86
758
692
210
996
626
923
761
390
901
324
55
100
856
258
148
280
661
305
922
832
444
126
806
348
17
511
563
752
2
217
841
613
997
230
359
157
272
562
492
409
962
202
134
774
831
374
297
870
257
212
7
770
709
703
632
430
808
304
810
446
28
20
467
876
197
110
96
2
484
904
184
265
584
115
772
7
605
635
340
634
125
586
64
321
422
289
339
726
273
438
1000
484
389
887
895
490
868
208
764
662
108
123
232
547
697
793
639
692
260
532
325
217
874
601
540
757
344
792
296
344
583
234
148
681
123
836
997
969
769
431
220
843
112
415
118
117
735
379
796
498
584
847
980
767
616
40
769
9
139
515
354
889
883
592
240
729
73
404
980
662
918
636
90
121
6
8
993
375
126
988
832
107
875
354
809
49
752
379
895
201
403
361
483
211
909
990
4
748
668
844
349
576
147
756
566
854
255
933
573
352
775
43
863
19
71
931
758
603
86
571
622
738
140
46
288
264
413
41
879
472
577
726
261
341
630
609
830
328
99
530
719
167
456
984
387
683
924
417
487
703
468
308
803
232
924
349
160
688
754
277
860
835
614
584
632
52
806
199
735
8
878
978
86
110
173
639
351
973
974
458
475
689
81
560
671
609
72
29
360
543
981
211
206
203
394
627
936
991
174
968
679
765
825
564
772
721
20
660
748
847
41
743
952
899
812
1000
126
15
508
751
977
999
180
192
812
411
905
594
908
356
595
326
704
552
134
444
904
734
259
889
263
230
147
913
270
661
548
301
987
492
514
188
304
371
646
889
607
729
116
304
652
840
278
518
779
390
698
300
302
297
10
66
496
242
559
809
654
732
396
654
566
493
93
847
977
766
209
990
667
512
749
171
286
471
147
543
44
311
654
136
338
916
931
909
63
807
214
32
851
56
642
173
459
114
875
973
529
796
929
563
959
429
220
305
436
160
489
410
129
375
117
326
709
936
138
495
328
916
891
641
233
469
420
491
463
859
999
328
417
565
948
560
481
489
643
825
673
230
310
2
697
78
840
657
932
583
14
341
551
648
883
951
517
462
830
697
839
396
821
828
14
846
179
389
80
372
332
885
701
178
100
942
520
208
375
784
80
749
593
668
881
545
980
653
463
147
105
12
726
177
154
896
738
982
638
531
173
906
326
32
566
489
511
618
614
762
699
960
51
759
969
346
479
561
566
766
446
848
724
787
539
99
937
529
136
221
625
876
232
187
396
485
170
784
520
400
921
204
130
317
156
420
311
747
3
269
424
385
921
75
957
230
373
713
389
164
382
680
958
733
890
165
187
238
3
989
623
949
106
437
80
965
95
839
281
623
983
391
631
69
886
594
147
281
133
14
112
334
746
640
381
104
941
534
195
614
170
905
796
280
935
165
598
855
275
667
900
907
584
281
73
537
233
42
411
512
665
532
50
224
364
939
190
419
352
726
552
803
113
508
496
614
881
179
199
106
859
418
202
567
910
341
753
728
675
823
279
128
737
798
578
347
814
369
701
568
240
417
424
343
868
431
994
109
20
281
414
917
244
544
724
14
492
746
863
374
939
885
651
607
805
265
892
408
883
607
337
107
37
85
365
289
119
287
966
889
664
557
613
267
209
68
93
958
378
978
662
301
446
812
832
30
328
392
836
674
890
553
383
593
683
78
820
487
170
715
618
369
684
793
631
879
60
142
880
205
805
392
898
228
726
167
185
114
876
176
260
776
543
295
484
193
938
318
855
425
922
59
727
579
182
540
597
971
376
837
618
419
233
766
812
446
752
464
627
352
98
104
858
748
617
725
512
483
220
611
275
575
871
693
890
25
857
667
187
33
287
116
305
894
360
249
533
469
919
599
708
66
268
264
657
87
258
248
304
718
226
627
515
754
41
761
794
369
387
160
322
551
74
627
194
353
131
881
701
151
222
304
238
59
489
607
307
22
708
297
79
572
205
369
404
212
225
883
342
104
652
682
27
511
993
712
296
515
880
543
847
656
528
594
387
179
242
350
441
855
108
30
806
756
181
33
942
20
924
855
591
230
246
913
175
893
700
806
244
462
79
370
562
642
436
933
822
222
492
276
989
445
537
87
933
825
266
442
532
396
392
671
550
604
105
830
718
531
254
670
626
829
698
652
444
85
695
131
478
33
615
708
740
772
517
385
709
608
1
387
957
192
645
131
439
221
734
747
887
190
62
786
419
947
478
301
509
840
147
840
935
369
7
181
560
892
799
203
243
875
123
292
77
297
309
961
675
665
956
713
819
449
108
768
148
8
707
142
146
519
984
104
825
419
787
149
978
73
571
126
226
994
475
582
90
594
39
57
98
548
763
177
268
918
929
56
401
914
228
616
241
254
898
770
739
160
364
789
517
763
294
236
372
578
408
548
276
540
130
62
526
387
270
869
968
889
709
899
345
668
421
59
40
478
29
76
893
33
93
129
117
654
124
936
646
397
103
222
119
19
846
63
243
395
837
617
325
322
64
987
742
69
606
90
467
324
499
977
574
482
223
131
171
978
950
457
463
589
364
340
483
861
349
263
417
793
597
132
303
932
694
205
667
756
388
645
186
276
872
29
164
7
760
919
459
327
910
505
755
404
101
519
261
730
785
415
463
648
233
863
788
280
349
384
6
913
763
759
367
50
740
262
715
901
437
38
600
477
851
165
546
775
326
938
899
695
210
725
459
877
315
160
69
43
32
837
992
268
465
273
836
356
334
163
256
614
144
706
348
479
61
268
55
405
906
430
570
802
855
667
286
761
986
436
879
88
634
992
828
492
59
226
281
943
585
996
128
476
775
662
284
403
708
369
690
589
592
363
324
72
222
14
576
328
563
626
789
666
39
496
609
130
225
759
735
721
774
854
637
353
965
471
17
953
12
228
72
559
133
37
491
610
657
142
362
184
517
366
827
54
757
704
82
197
437
245
174
112
506
673
241
15
400
953
506
612
779
207
147
410
937
247
713
950
868
43
250
245
145
200
306
747
135
858
770
273
803
246
909
493
234
158
335
407
481
733
797
131
715
306
738
665
170
148
38
150
624
34
207
914
589
67
626
311
143
8
443
14
155
525
258
932
501
755
512
557
692
939
395
804
820
800
292
946
811
286
837
539
98
411
813
284
161
721
684
594
159
104
832
269
588
777
443
873
75
191
716
769
309
274
294
458
738
642
340
273
252
545
280
492
316
919
288
900
387
819
251
672
781
102
2
857
752
677
275
741
795
109
245
619
422
634
247
350
665
677
357
330
248
598
606
960
656
241
613
747
173
537
968
868
137
301
8
311
426
869
131
687
20
34
371
351
297
394
602
882
580
463
357
712
494
235
620
956
965
84
828
302
379
101
918
754
491
844
374
779
191
881
770
571
776
557
749
468
785
185
668
82
282
123
161
261
990
359
549
229
138
31
119
658
545
100
208
540
255
797
866
347
785
44
175
589
844
49
990
672
131
710
221
929
510
518
360
420
338
638
17
846
780
706
53
289
135
806
356
628
368
950
557
665
586
395
893
132
225
552
914
192
473
978
49
199
267
372
430
851
159
17
660
722
528
65
425
977
395
312
584
158
204
358
215
825
265
166
32
149
119
738
546
73
687
39
118
389
559
704
985
250
955
70
735
419
885
850
359
612
547
501
625
306
58
539
821
894
872
664
365
25
283
619
357
771
33
128
424
674
307
27
360
645
589
782
836
588
304
923
184
11
222
325
698
283
277
169
756
831
831
28
480
782
914
51
549
155
729
54
755
978
624
697
21
721
651
171
116
384
815
771
161
205
952
653
455
769
249
37
131
948
522
701
613
775
175
48
766
958
665
849
394
852
786
981
742
956
93
476
64
209
630
961
405
354
267
539
797
821
226
790
300
827
888
702
445
364
371
812
991
40
885
805
350
536
930
733
233
166
334
667
494
86
458
639
982
5
255
176
187
776
361
950
661
664
306
579
67
984
456
941
851
962
939
826
853
180
328
279
300
443
318
661
693
828
850
389
229
392
468
58
334
225
509
788
819
57
978
502
899
995
602
637
706
910
142
963
141
593
121
76
397
308
240
433
288
54
676
365
645
982
846
753
565
103
1000
743
377
797
703
512
866
990
469
898
81
66
402
858
7
971
260
764
195
601
139
943
532
75
905
867
268
896
604
113
623
413
570
32
221
85
896
41
238
995
743
153
978
295
124
393
341
831
248
384
829
110
343
5
310
699
500
189
24
124
722
74
232
968
941
187
462
168
507
345
81
54
884
979
872
895
99
456
199
226
68
87
478
802
963
707
344
332
231
150
49
719
565
815
968
982
764
99
323
712
562
41
881
598
236
496
102
538
894
74
267
151
677
554
633
620
555
29
664
422
202
504
410
162
450
876
267
449
389
29
311
996
647
813
726
29
819
887
855
471
667
800
486
194
99
646
913
562
757
553
69
673
875
129
824
203
582
329
378
690
446
963
681
541
459
576
997
377
764
99
626
772
11
753
976
765
195
314
17
107
545
952
288
558
307
233
970
820
376
635
589
536
346
468
452
841
238
86
579
484
170
806
959
300
656
931
710
371
548
837
471
126
238
278
890
910
482
842
364
513
466
98
305
590
69
381
729
280
253
128
729
81
588
273
209
268
995
935
481
766
848
568
607
936
787
497
250
456
216
441
183
744
10
505
776
601
249
919
335
853
17
115
80
37
978
506
88
3
119
18
500
908
209
685
162
386
777
338
192
310
894
79
44
371
402
45
835
846
887
30
726
766
980
283
804
163
329
246
148
104
11
915
37
217
683
474
750
43
44
746
15
227
335
523
913
42
625
866
425
239
336
537
190
47
245
994
702
14
484
212
447
208
586
689
71
526
53
900
556
239
807
323
686
632
966
554
604
263
234
683
445
48
291
535
562
154
167
234
315
348
55
979
43
624
217
860
128
576
424
924
787
899
56
599
715
123
655
920
491
519
575
894
990
938
667
486
106
930
688
971
162
357
862
928
944
199
806
282
284
965
544
209
729
704
902
54
716
655
751
185
628
542
543
352
971
660
689
570
666
752
158
379
534
18
288
294
710
933
872
969
416
262
611
902
775
626
172
663
21
911
890
861
516
453
635
604
631
72
275
506
985
540
15
710
204
331
231
546
114
24
25
89
36
291
391
543
278
793
574
713
858
200
34
549
888
676
401
136
127
863
484
984
840
878
203
625
633
247
700
506
602
924
44
526
639
474
671
632
749
30
441
750
805
695
479
358
140
782
523
583
949
391
851
584
194
261
710
917
396
753
386
143
246
662
299
389
393
403
155
480
860
694
7
322
121
653
589
130
99
590
980
852
776
980
680
558
35
106
776
516
172
584
506
324
244
119
28
841
818
536
783
548
837
805
994
258
378
251
732
747
324
11
505
792
516
306
483
321
136
383
645
969
788
360
846
311
446
753
978
726
63
822
455
235
623
116
648
268
910
79
153
821
593
194
111
246
867
574
564
179
567
800
624
877
763
896
236
541
4
893
704
659
267
777
545
334
387
769
358
417
687
425
16
649
647
129
2
433
148
300
733
876
399
282
443
523
586
961
698
328
502
566
174
343
22
412
312
131
528
972
792
582
717
307
677
590
830
761
924
705
961
839
959
351
725
208
199
431
677
426
503
945
556
366
244
875
479
750
927
353
444
37
259
432
983
464
879
929
177
751
328
567
783
96
394
99
226
467
556
427
940
764
248
168
979
779
395
940
363
288
152
70
369
668
897
202
586
16
641
759
604
903
914
418
240
96
118
633
424
257
737
590
600
484
302
984
281
978
349
455
907
191
84
293
928
435
739
917
470
890
291
446
639
685
371
755
254
308
188
865
78
824
964
527
428
629
125
750
41
912
756
737
987
966
455
294
687
808
447
531
931
408
381
956
921
580
957
198
270
683
272
576
828
522
387
90
103
537
142
988
41
95
124
907
583
90
430
125
481
533
851
876
663
37
524
520
231
694
665
39
323
938
197
62
70
192
459
630
10
904
477
711
332
267
616
629
722
730
980
133
482
564
741
554
693
192
747
488
657
658
373
253
996
154
75
959
840
93
44
996
829
389
265
870
106
963
533
470
776
653
282
877
113
324
720
537
630
443
873
194
152
467
80
851
883
410
580
906
654
817
441
922
581
190
266
764
246
217
898
721
227
754
135
732
966
711
220
395
892
388
574
505
850
266
56
185
764
899
6
764
971
314
839
739
238
510
573
764
977
519
9
562
646
258
183
791
265
793
994
397
864
724
170
325
139
508
94
525
114
695
722
847
260
441
438
88
739
669
914
646
599
138
734
143
434
90
581
684
355
970
658
585
830
641
563
739
568
608
724
84
725
587
526
607
464
639
298
307
587
262
948
423
597
847
872
582
119
533
383
452
759
565
66
32
65
435
683
757
904
535
801
627
512
853
326
603
167
788
953
868
621
582
18
50
967
516
445
679
462
983
128
222
726
595
80
474
559
21
117
337
186
232
253
896
183
210
185
452
927
319
433
126
370
211
614
962
59
830
132
81
932
799
333
374
375
307
651
447
897
286
312
348
2
129
140
107
144
36
547
76
855
411
861
210
371
811
709
575
442
99
324
570
897
885
970
108
988
459
876
177
957
975
228
209
689
66
202
114
907
747
303
48
647
900
734
944
88
287
328
976
614
492
174
968
81
524
60
446
3
726
321
480
161
357
915
667
575
921
584
3
522
528
849
556
705
427
67
459
233
525
577
268
507
679
779
183
258
895
79
295
752
75
829
20
839
912
247
605
35
289
682
878
172
645
856
636
131
253
893
526
776
622
674
174
965
790
122
369
68
498
689
655
347
247
765
335
411
535
550
720
376
321
246
49
479
939
825
886
37
509
953
999
247
774
520
242
746
977
710
3
541
556
948
734
845
314
808
397
956
173
261
305
380
187
952
135
14
737
170
209
692
591
451
909
483
291
818
318
585
329
373
620
446
696
684
388
907
544
176
234
684
581
783
951
471
429
413
690
991
489
608
211
639
797
893
894
680
594
626
211
7
678
113
574
631
832
309
188
916
718
794
841
401
612
313
665
165
140
176
94
4
502
731
836
419
15
128
529
738
150
886
294
542
298
755
998
789
474
895
662
517
390
716
837
768
46
227
975
415
941
753
223
216
103
247
968
134
515
147
637
49
178
543
70
799
695
900
573
71
406
681
373
84
971
192
47
788
203
93
787
514
543
759
442
481
879
929
670
468
391
47
901
428
870
34
341
408
82
17
788
36
261
212
688
716
692
612
996
478
771
374
7
102
471
750
164
319
931
109
480
818
681
928
506
316
395
809
16
553
462
617
957
721
418
857
526
405
840
786
922
949
717
326
665
619
377
409
804
921
258
967
72
796
688
45
314
793
334
912
675
920
468
979
499
220
837
813
941
556
653
762
745
525
956
677
735
958
760
172
459
768
339
763
49
919
16
19
362
433
287
822
221
680
504
323
124
50
727
57
551
421
646
797
725
227
658
66
474
354
855
914
107
442
217
190
180
697
753
184
705
301
709
582
731
468
584
5
339
289
766
853
351
412
68
5
342
990
834
347
179
540
926
637
897
189
716
555
904
519
984
871
128
983
235
248
459
652
572
424
581
851
309
172
573
876
167
873
997
262
59
943
68
462
101
228
94
256
881
342
830
691
871
250
893
133
983
65
26
34
434
326
479
126
209
228
56
564
80
46
639
906
197
581
481
773
569
846
586
715
558
76
477
404
494
771
81
772
926
154
273
739
78
755
819
700
109
728
827
326
986
387
985
813
424
18
660
524
329
989
979
258
407
761
914
520
480
957
831
132
179
513
780
56
176
745
201
204
486
533
500
210
882
598
313
869
60
882
200
493
288
277
765
145
316
625
986
211
425
314
581
842
495
892
178
967
451
829
347
791
75
595
99
769
400
160
673
824
312
179
280
710
999
583
976
803
765
29
277
739
882
649
914
405
112
966
457
51
26
695
486
396
706
983
632
334
648
876
669
828
54
681
314
548
355
384
310
643
324
570
268
519
175
575
251
892
835
941
830
243
710
431
898
855
596
842
266
375
937
412
327
551
503
617
693
139
726
199
585
980
264
657
499
553
613
847
400
48
883
34
854
352
337
806
991
79
904
687
85
585
146
740
857
323
257
303
785
877
385
982
686
182
591
188
763
750
874
255
366
736
392
448
434
565
978
808
203
727
134
362
564
739
647
238
839
437
847
600
88
221
133
301
504
752
355
186
59
590
579
568
513
163
800
226
224
550
324
391
356
940
281
781
703
188
431
962
839
302
271
537
781
543
817
537
440
779
406
996
343
308
724
38
854
956
393
703
989
214
484
575
655
985
775
358
650
717
710
753
832
881
730
590
632
705
888
313
546
101
643
642
655
985
711
549
980
717
672
745
875
179
911
614
30
518
248
367
375
578
913
794
282
811
678
998
25
805
447
543
887
355
300
555
513
198
665
886
668
272
781
39
696
881
78
942
177
58
196
930
749
696
398
481
343
147
659
2
356
583
360
844
753
645
764
790
986
870
11
431
284
561
848
178
76
483
134
306
563
164
959
964
538
322
110
845
659
680
621
418
681
35
56
180
39
188
93
815
137
853
236
649
915
251
820
531
814
3
874
303
908
608
474
422
201
908
666
758
687
397
543
961
628
895
951
343
597
954
482
672
435
495
299
127
663
937
103
944
731
932
806
490
225
738
292
221
98
428
453
141
678
648
69
906
68
795
13
599
992
197
19
64
946
879
12
504
802
118
594
542
376
396
925
27
192
939
121
566
405
50
260
332
21
135
795
147
612
308
279
374
631
292
212
54
886
574
701
407
335
246
165
294
954
541
725
684
467
104
767
946
579
365
735
297
646
530
364
837
677
525
402
803
776
88
483
165
278
383
733
871
561
835
992
93
909
257
194
423
898
892
839
752
621
341
884
59
296
828
699
244
112
501
622
952
900
756
313
700
323
322
950
459
566
839
374
800
902
793
935
565
754
231
173
938
447
746
968
39
158
547
651
299
386
660
939
650
762
873
361
175
729
451
848
606
554
274
591
544
123
297
783
198
295
67
757
576
71
159
884
981
36
764
613
66
140
893
332
820
112
581
405
447
976
647
862
251
415
673
964
384
753
958
824
859
530
690
507
789
994
370
207
866
359
879
688
492
158
51
60
795
474
51
484
529
108
143
146
821
921
545
587
386
214
654
967
385
876
976
93
736
421
822
38
71
303
396
247
604
325
32
201
828
702
699
799
200
624
935
625
596
438
504
390
943
886
852
851
535
727
361
325
212
358
923
393
699
127
268
726
115
685
339
746
668
907
337
222
797
992
397
66
332
661
157
39
498
968
239
79
971
809
220
501
256
675
802
354
205
782
831
209
357
905
766
895
894
882
236
888
245
167
592
780
97
55
938
328
21
277
717
163
417
729
951
876
429
553
131
929
704
232
813
306
948
311
495
325
86
353
69
649
291
784
749
515
146
695
922
445
587
291
257
20
754
510
603
299
992
789
866
685
694
486
774
462
699
895
764
634
984
363
949
97
197
686
125
959
546
195
800
601
706
502
691
808
142
5
582
459
734
791
845
781
88
357
564
241
518
760
395
194
797
800
124
100
856
69
388
556
966
885
991
201
12
434
289
720
513
89
438
663
16
330
670
57
692
58
159
705
787
608
583
251
775
626
312
806
98
275
401
463
44
21
110
558
634
323
513
850
286
586
176
345
147
865
911
210
907
34
578
763
265
357
478
965
885
181
75
152
612
772
316
980
513
825
799
647
475
231
65
757
237
314
356
969
903
97
665
379
933
613
389
870
329
85
83
72
392
336
545
977
460
19
84
259
622
387
44
606
439
184
57
602
472
639
378
11
675
672
803
883
473
211
778
284
1000
177
865
751
587
242
304
542
88
377
312
163
366
550
830
212
72
788
789
565
91
471
185
119
624
422
479
999
282
970
177
878
421
991
914
777
352
857
24
45
821
373
97
301
350
843
380
826
632
287
452
505
307
614
679
931
874
91
983
285
477
946
738
197
923
549
295
546
565
570
651
772
977
330
486
878
421
221
690
986
133
834
711
44
257
528
46
709
684
462
220
616
32
265
533
302
969
852
628
266
273
181
518
220
690
943
871
995
896
164
856
692
478
877
561
293
90
358
980
939
848
67
165
46
303
813
826
754
187
327
892
720
240
531
137
913
691
381
487
693
470
393
618
238
725
341
243
865
816
542
199
772
962
305
23
450
401
124
469
951
568
992
733
878
164
235
422
345
849
494
659
425
895
443
979
693
675
63
993
378
829
752
76
240
383
439
856
514
250
225
288
986
853
432
592
982
477
371
911
801
89
903
425
548
788
246
899
67
962
825
692
619
225
402
386
671
887
526
198
758
637
885
460
476
6
505
191
584
547
784
92
889
867
922
567
833
376
707
406
694
382
77
646
309
154
490
504
216
565
104
532
730
212
484
217
122
729
361
121
300
557
552
821
547
46
918
267
837
666
540
146
30
941
297
970
986
197
223
988
208
623
167
1
959
992
656
624
375
527
623
306
260
673
556
824
442
76
757
990
600
133
934
924
977
237
472
635
868
654
568
744
645
451
92
905
646
430
258
96
56
704
366
96
387
955
87
275
370
441
666
777
557
123
453
815
845
897
107
238
550
246
305
943
84
477
715
553
496
799
310
643
477
211
307
654
870
669
864
392
545
873
986
344
924
41
187
810
485
987
401
450
585
69
707
487
1000
15
928
214
265
281
465
50
591
748
891
213
501
847
42
381
809
514
111
370
223
528
594
83
174
225
584
74
299
735
627
836
653
659
44
462
735
345
527
578
956
381
17
945
980
980
415
165
681
949
165
343
934
125
578
709
355
564
474
92
914
560
394
41
296
265
116
527
237
921
119
246
119
342
391
555
566
56
80
97
880
589
721
112
512
31
529
345
442
61
208
340
185
434
648
61
743
205
905
688
136
245
160
719
517
358
293
278
302
967
510
204
665
64
906
834
698
812
690
448
551
880
871
19
499
453
466
638
651
600
516
64
631
399
705
359
762
273
597
358
43
669
863
563
715
697
503
713
73
318
66
232
833
502
694
895
352
497
171
650
857
487
286
595
856
573
60
746
643
291
32
358
419
56
74
582
808
962
691
838
998
706
771
23
915
969
807
325
314
21
437
645
484
114
465
41
571
816
826
697
734
103
905
724
739
186
243
728
149
96
839
474
888
64
8
295
528
59
576
140
21
93
21
897
314
381
859
82
641
73
195
916
853
392
222
645
89
681
65
438
380
347
495
790
939
429
653
60
579
835
556
494
627
133
806
366
593
517
950
829
213
246
838
227
484
7
559
304
616
896
160
217
545
782
617
411
528
484
123
324
147
424
966
208
909
663
281
940
63
539
391
436
264
650
422
167
485
562
932
358
302
456
712
749
126
900
909
546
662
102
547
425
161
59
470
945
1
421
548
367
951
26
767
14
328
672
762
126
368
774
728
166
452
190
646
102
590
906
518
834
58
504
884
6
758
568
188
786
34
362
175
182
786
482
241
916
958
888
82
835
755
367
262
288
12
309
794
424
205
198
185
864
551
99
285
87
73
979
822
625
9
720
586
246
904
938
244
417
136
663
226
179
288
167
103
548
989
872
520
364
438
770
65
792
410
360
414
572
902
560
610
95
753
636
91
425
764
531
511
278
956
978
133
406
950
913
153
940
880
248
881
863
823
658
346
499
774
981
914
194
324
17
415
745
375
562
379
182
407
822
11
681
724
269
48
392
807
891
444
78
637
634
776
830
715
785
721
505
566
916
874
686
167
321
144
270
608
864
290
296
414
609
800
349
902
66
938
57
349
804
872
334
598
623
986
916
997
907
980
533
616
183
193
121
722
134
239
607
946
549
748
567
979
13
770
273
181
797
420
136
737
362
218
342
432
313
865
523
27
412
925
83
449
680
283
155
849
714
853
861
470
744
298
550
935
164
602
733
771
501
336
13
888
160
617
87
388
986
668
837
158
212
492
459
238
564
783
375
483
806
456
137
731
337
632
377
76
87
532
381
699
477
787
949
808
641
471
852
201
483
166
552
936
98
324
742
348
896
137
918
451
308
244
601
926
122
23
112
994
66
839
900
347
206
986
12
91
309
969
858
554
772
621
845
49
859
138
725
946
65
80
731
824
747
619
12
929
970
350
934
28
635
716
586
936
58
29
383
619
435
88
191
420
445
179
7
81
623
105
744
165
371
644
461
702
70
169
789
837
566
124
468
854
313
545
707
983
762
975
618
757
646
513
366
438
572
993
586
633
349
548
947
831
471
550
744
660
504
250
162
100
672
717
317
739
521
43
717
358
879
300
104
594
119
807
386
486
78
4
737
115
273
590
681
716
232
834
123
775
73
614
375
746
665
83
498
427
976
897
234
80
640
765
524
210
79
901
285
986
990
692
151
289
709
781
802
264
437
953
47
307
36
867
633
492
409
890
656
119
891
301
389
347
559
983
812
8
505
770
378
739
820
322
848
499
756
403
473
949
710
508
961
550
292
248
933
826
434
737
613
236
559
196
149
253
224
920
997
711
590
171
916
443
647
688
146
386
276
743
145
842
416
456
726
626
267
931
747
790
236
27
363
894
81
580
478
574
569
733
808
254
910
802
42
58
574
959
647
850
100
973
730
510
662
181
684
818
387
293
924
620
813
409
954
397
571
498
560
398
948
927
933
955
262
127
819
193
988
531
148
263
499
42
836
973
978
116
492
624
529
625
815
617
382
33
276
173
950
710
643
846
804
555
323
477
747
603
37
751
906
178
578
937
878
814
817
843
29
789
165
69
869
953
418
409
210
138
330
713
765
812
685
993
371
906
7
978
276
287
66
751
712
669
307
488
676
274
233
640
393
802
7
635
178
238
44
294
843
925
364
373
641
45
411
915
717
885
379
996
18
247
915
178
125
888
35
608
227
192
999
115
582
693
559
161
471
872
115
85
580
809
712
123
686
253
620
37
115
190
757
305
396
960
75
486
870
536
661
977
641
877
466
827
458
147
184
476
834
65
879
495
14
281
489
147
7
19
71
204
588
771
908
258
108
26
634
604
363
164
241
108
176
568
423
710
367
788
617
989
996
83
454
155
634
38
75
995
85
337
982
967
356
211
668
347
941
477
882
726
955
287
548
348
770
838
775
954
299
400
130
734
268
690
393
738
500
823
123
785
843
134
18
672
328
629
725
314
123
1000
566
763
445
779
709
692
110
994
157
157
580
523
317
238
496
328
829
131
152
112
487
97
352
325
507
810
709
106
720
311
571
72
887
520
805
525
303
237
205
173
981
538
726
349
160
60
116
331
33
999
286
653
458
2
561
864
286
265
412
489
790
679
307
42
868
224
352
131
314
12
593
318
257
396
408
274
715
811
859
850
297
209
685
72
232
799
696
391
333
229
340
135
91
246
849
377
714
185
289
372
501
499
553
757
863
827
370
925
653
258
229
744
627
868
822
654
596
391
91
4
290
832
962
355
362
61
201
913
542
628
594
298
838
536
680
230
718
588
469
928
847
640
176
745
594
130
252
274
262
275
593
400
131
516
376
117
522
690
865
888
292
751
646
332
249
399
313
38
143
149
833
314
459
970
510
783
946
91
236
654
46
267
700
917
823
968
571
256
719
959
297
780
951
279
744
741
530
897
708
610
84
742
494
756
15
611
973
436
256
746
443
914
691
897
934
114
757
303
720
636
61
860
357
69
898
273
179
848
849
988
932
548
916
996
567
721
224
89
77
982
905
479
401
167
687
235
258
307
647
414
691
836
892
927
632
650
638
388
59
487
681
480
834
211
234
148
813
626
342
233
367
909
261
966
380
385
597
800
772
523
195
183
385
535
350
387
444
166
215
206
882
821
79
74
588
470
125
478
218
194
356
16
137
681
547
125
106
864
443
128
579
211
882
427
781
701
501
424
60
867
986
86
812
938
351
958
124
988
34
40
572
450
674
636
486
46
235
871
398
560
963
495
936
838
282
283
782
657
504
243
490
590
226
47
454
355
638
355
36
444
535
355
693
358
143
860
399
143
562
591
355
46
250
268
796
524
525
85
429
316
779
640
113
320
300
358
682
567
10
856
774
928
693
440
67
308
386
804
770
402
54
85
139
875
803
57
994
730
799
748
943
306
479
105
119
516
750
509
411
304
100
756
348
704
587
742
943
900
792
612
63
554
229
2
371
750
368
289
296
156
309
944
739
531
953
856
200
152
337
428
978
556
943
816
659
685
564
619
710
468
252
493
858
567
293
191
360
949
32
132
994
177
212
507
321
769
449
570
770
12
377
362
94
161
952
65
741
384
829
286
605
542
560
326
673
983
557
458
635
545
73
703
635
412
495
32
350
768
109
499
456
115
883
182
622
804
485
912
871
107
362
532
549
813
729
183
506
567
376
530
972
603
153
558
651
660
163
553
643
479
932
19
175
936
661
1
459
591
664
54
538
256
343
688
199
660
625
528
616
417
561
495
754
965
473
260
717
38
619
954
725
386
315
759
453
198
101
270
976
885
173
753
779
774
963
345
76
541
513
895
262
221
352
514
86
446
388
943
134
468
412
828
313
80
279
175
915
442
802
575
7
210
412
925
232
622
907
578
952
352
345
453
238
167
871
473
979
399
581
653
642
649
266
364
758
623
582
373
96
166
212
780
109
324
478
260
616
66
772
899
121
190
706
245
771
372
570
722
42
461
737
236
313
89
764
589
79
755
210
579
810
514
136
886
712
176
970
388
733
295
587
480
496
592
374
74
421
804
296
595
155
565
965
330
225
471
559
500
366
3
220
113
57
484
719
5
26
264
931
646
866
681
344
341
921
233
570
159
119
60
123
725
233
96
313
305
419
206
159
55
787
230
734
159
87
239
93
828
619
580
654
727
296
752
722
847
395
31
140
960
599
324
37
705
871
652
83
759
746
846
859
883
517
961
939
683
834
34
198
1
934
265
621
705
616
918
818
545
93
658
126
869
212
766
728
340
510
242
109
369
822
115
162
979
896
716
495
919
704
841
51
858
345
418
671
555
395
363
350
915
954
536
358
245
374
316
302
488
737
225
33
358
172
602
419
243
649
788
460
791
167
5
717
574
555
888
228
347
29
850
298
486
539
789
985
96
353
559
862
861
606
788
395
154
410
743
725
917
853
642
409
844
295
496
677
65
43
709
847
111
588
453
508
89
36
137
157
965
652
150
241
194
57
577
851
291
117
202
140
614
512
809
565
654
755
877
515
763
384
965
910
47
79
273
922
704
494
931
346
529
414
394
95
659
452
63
921
503
290
809
667
508
629
73
121
774
837
505
16
283
693
49
781
206
565
530
99
515
535
232
127
723
851
442
823
204
224
540
11
292
645
765
408
140
985
863
293
483
559
609
609
511
881
425
550
552
727
804
543
972
537
537
579
24
80
817
147
887
407
34
587
280
662
492
310
552
405
242
505
415
550
527
550
461
973
155
299
639
288
833
423
282
308
640
244
108
983
405
985
40
517
198
783
794
18
330
123
326
467
591
805
377
185
67
663
97
182
606
753
370
492
805
561
826
796
799
243
537
50
972
345
951
100
539
259
372
997
297
67
431
110
106
85
867
278
697
513
517
132
507
91
154
758
926
305
715
231
846
960
285
711
846
22
863
414
449
24
756
816
405
314
284
340
158
914
292
391
31
755
459
968
517
107
833
180
943
415
415
200
639
484
180
201
688
136
496
382
747
265
591
389
840
913
916
161
255
264
118
717
625
217
230
205
363
476
334
140
691
4
778
938
801
30
874
274
343
848
945
438
944
665
895
759
447
461
995
784
486
380
51
322
463
754
367
999
157
40
122
15
661
892
483
345
469
885
638
264
405
272
560
888
383
522
655
688
236
269
246
202
554
347
752
211
219
288
519
447
224
785
566
515
691
886
555
908
553
709
541
383
269
480
10
58
184
858
383
690
506
758
206
481
934
618
73
884
502
305
1
435
513
670
752
329
351
163
537
487
364
932
279
414
402
570
872
34
424
675
675
20
216
946
43
853
461
992
885
989
813
548
997
285
104
49
904
664
710
562
49
592
449
293
673
676
295
152
670
294
556
512
142
8
358
210
529
180
438
31
668
364
208
24
633
218
807
424
892
981
860
209
974
971
429
14
212
881
453
337
366
4
65
429
378
844
655
576
986
520
93
647
51
605
540
873
76
924
983
19
947
489
17
509
277
335
76
355
753
467
617
131
885
350
954
879
854
701
498
682
529
337
494
557
919
964
76
152
238
705
892
845
194
611
389
969
695
186
30
283
745
899
878
290
747
593
483
4
636
71
76
823
456
776
573
313
866
493
981
179
752
755
836
683
669
792
792
505
950
581
651
575
389
851
593
177
33
86
829
821
408
487
839
266
192
265
38
946
554
200
15
919
343
576
508
29
883
576
80
509
394
151
617
115
922
557
143
747
248
916
123
761
95
395
597
814
18
497
946
343
522
781
940
194
692
838
653
680
571
531
867
486
384
774
358
695
642
464
294
488
275
612
11
511
629
153
45
842
444
849
245
631
637
271
109
312
147
758
44
405
415
364
740
950
171
902
387
772
116
34
507
9
260
51
48
207
663
37
490
257
857
966
523
10
834
533
621
68
629
908
779
560
992
229
945
47
972
569
848
55
276
496
672
251
874
725
496
172
999
711
876
525
641
889
375
166
627
464
74
481
804
797
565
433
962
33
633
219
360
248
211
975
64
820
611
501
754
268
506
596
190
834
902
223
810
551
880
127
748
4
276
880
114
407
222
540
28
532
871
247
556
658
363
945
514
256
743
990
784
605
611
385
800
327
281
207
620
158
869
781
437
337
964
4
56
928
883
681
563
855
90
970
569
627
685
799
830
588
968
109
425
1
270
253
256
283
739
148
746
492
944
752
872
144
242
308
741
290
206
652
22
797
931
554
246
538
91
990
725
593
719
188
168
979
374
669
17
561
863
329
198
665
630
703
921
242
696
878
752
346
356
120
827
449
663
227
367
832
661
357
44
119
367
201
812
835
500
937
333
314
96
896
114
215
444
810
728
148
498
621
918
998
979
504
705
619
549
251
723
786
398
993
31
994
79
953
768
625
693
671
946
60
713
601
730
832
457
64
105
111
791
181
78
90
527
648
345
144
159
715
988
568
973
293
217
623
167
541
354
626
805
850
512
717
98
185
259
435
443
193
264
446
84
208
171
279
138
273
54
561
409
553
884
771
348
147
370
81
897
160
31
484
497
624
280
360
372
539
306
366
565
168
521
941
146
200
169
173
254
141
45
966
14
839
927
198
798
38
50
141
546
943
43
880
345
574
50
595
789
190
312
660
807
291
426
27
879
189
879
248
702
167
514
136
934
890
802
603
574
508
566
443
264
809
891
638
484
155
17
955
292
728
572
318
876
222
412
499
427
360
503
334
941
208
22
204
525
224
36
522
237
2
788
578
442
675
121
170
1
586
922
592
586
124
416
249
671
372
640
69
363
103
241
82
807
32
407
375
420
449
171
208
557
261
738
566
863
728
721
715
419
940
414
441
906
408
712
729
584
371
233
513
933
125
561
708
475
592
681
190
7
187
817
249
946
35
672
289
446
128
266
764
910
651
847
745
163
896
944
853
212
539
452
526
91
672
274
689
637
500
401
238
959
663
679
879
996
155
865
572
129
951
20
485
899
985
779
58
708
957
807
409
489
374
404
583
558
891
399
653
986
980
965
505
540
631
552
530
830
244
600
967
631
162
916
29
764
902
743
248
790
1000
146
804
714
249
459
381
276
10
9
285
657
146
68
443
727
968
486
779
36
323
835
193
205
779
72
504
675
352
165
510
725
45
766
991
314
648
77
632
371
378
409
279
853
632
75
40
382
366
805
833
726
197
898
897
670
759
880
300
107
665
76
368
612
897
897
981
405
843
484
87
404
256
325
101
154
780
72
407
430
179
406
160
98
90
451
989
304
682
918
126
98
82
17
522
528
479
606
100
309
781
686
636
664
667
195
49
808
757
819
858
167
802
490
980
574
311
252
3
635
190
497
421
650
333
797
860
674
660
853
100
757
817
782
103
235
213
753
405
360
569
769
874
474
677
918
333
582
658
603
864
887
627
252
420
467
110
107
603
569
825
501
297
257
224
920
862
475
214
657
127
339
205
617
493
556
501
149
166
988
542
3
840
344
5
994
611
47
496
883
882
108
607
285
122
148
654
384
52
800
928
224
720
588
142
667
86
561
581
80
970
264
851
257
407
423
518
600
733
26
155
318
969
33
834
653
83
713
393
197
730
963
359
377
309
482
581
615
419
217
833
295
408
335
457
878
704
749
182
649
590
738
337
63
625
688
82
34
470
940
51
744
980
231
331
200
916
491
342
802
821
119
567
475
710
999
541
353
241
540
968
284
249
51
844
879
935
157
177
124
674
723
738
734
953
306
425
330
292
730
197
453
164
396
295
34
901
156
191
525
87
485
14
739
348
211
645
573
455
290
466
209
749
584
31
973
481
407
530
8
199
905
337
316
677
558
837
780
541
8
852
414
708
275
29
205
273
513
790
120
88
707
590
919
157
37
327
932
648
282
891
656
536
358
897
700
527
764
554
93
744
521
755
753
473
777
125
548
841
894
438
941
301
214
761
718
306
141
98
807
978
819
123
709
510
252
457
607
530
116
194
918
42
453
464
654
560
179
25
712
310
417
331
570
695
701
805
133
145
423
777
874
388
21
316
173
676
348
262
170
229
725
864
749
228
729
49
226
249
163
137
468
333
193
81
120
645
130
200
189
312
57
87
445
776
267
916
562
765
489
685
558
675
241
354
899
267
565
886
326
681
752
587
895
144
991
81
630
570
78
334
736
333
548
266
275
896
68
137
47
211
241
940
571
498
613
158
860
1000
626
136
288
541
596
319
888
401
329
99
389
336
547
42
456
511
104
797
38
514
236
632
962
536
659
531
847
693
242
168
161
972
171
833
579
971
518
933
447
438
931
897
315
367
400
587
412
882
536
582
409
742
609
457
912
300
609
242
903
555
498
723
960
111
46
914
182
481
163
688
876
406
291
20
342
491
455
385
673
144
172
532
419
417
622
977
292
37
274
79
891
40
242
91
233
887
308
156
750
173
457
467
908
260
736
731
119
549
319
320
774
962
343
915
415
100
835
714
347
475
721
588
976
602
235
256
864
135
326
252
885
177
109
738
691
41
296
143
71
493
785
288
750
951
574
654
583
853
772
158
958
300
803
302
156
545
415
742
208
1
907
802
473
273
714
722
656
375
684
320
327
168
736
827
185
158
843
645
830
551
705
854
179
992
437
264
91
152
815
148
111
832
522
19
62
61
84
809
298
270
385
118
609
413
580
29
778
16
391
802
428
157
866
955
850
164
212
258
832
259
926
241
635
104
151
8
474
994
8
422
762
688
106
924
835
982
899
453
374
494
518
849
740
518
733
830
456
472
811
940
651
205
296
261
550
613
1
849
228
797
890
492
285
258
503
980
295
388
501
873
715
898
605
839
489
741
260
950
554
197
547
108
801
865
831
625
679
557
98
436
303
13
197
949
917
900
2
8
756
206
501
526
16
803
853
625
259
111
321
267
177
539
459
662
855
984
348
473
107
323
401
832
429
863
733
752
860
577
286
562
713
439
373
156
15
916
47
699
242
976
462
802
660
145
604
656
784
907
861
227
895
692
901
346
424
218
828
898
258
365
622
443
361
85
627
717
408
448
896
888
705
665
311
577
270
395
549
277
992
704
682
227
674
804
515
244
187
33
209
560
453
725
29
189
505
347
671
622
547
1000
335
692
531
648
532
527
843
883
926
22
141
875
446
250
714
88
123
306
822
248
907
706
124
861
820
587
267
639
6
811
4
67
674
622
783
757
926
5
710
9
631
24
411
663
40
388
867
567
178
887
451
232
131
955
341
512
854
724
685
425
231
389
508
358
520
137
628
13
138
651
627
311
933
15
398
325
744
327
301
328
123
368
22
254
30
388
856
322
154
567
845
841
268
150
620
924
652
149
533
348
561
122
708
668
606
502
313
240
618
669
678
231
602
187
643
251
263
719
876
453
619
646
358
217
769
91
349
770
738
873
344
891
110
749
319
64
829
516
987
62
90
796
989
189
957
727
439
827
302
261
971
593
412
415
320
511
705
506
674
232
726
168
457
112
564
253
587
425
596
68
714
533
724
343
672
779
240
167
627
592
588
783
603
431
139
505
158
389
871
456
262
412
393
337
407
43
335
631
825
304
80
311
745
61
774
165
707
836
983
623
765
195
46
667
140
692
601
707
812
413
238
152
839
410
419
519
260
692
736
871
924
953
640
77
960
397
88
577
461
845
861
514
170
144
813
195
769
460
79
710
887
490
273
31
807
489
915
367
869
447
732
685
656
513
516
665
368
887
741
544
654
413
450
94
361
137
40
961
840
584
971
846
40
2
292
399
504
826
548
814
959
788
472
105
999
110
103
660
553
578
440
735
284
841
334
147
974
892
382
100
614
591
152
670
265
20
836
154
335
208
917
8
209
182
638
253
949
761
80
39
68
878
558
728
92
241
766
703
658
346
515
248
927
283
645
940
127
303
205
385
994
52
260
937
700
263
893
362
163
756
129
432
779
422
41
843
670
157
287
90
830
518
555
871
751
776
318
492
226
907
456
179
94
394
341
765
861
691
233
945
246
56
40
995
663
704
742
337
111
177
223
835
736
997
888
490
534
144
89
915
684
339
318
519
804
184
718
204
706
93
630
736
927
509
35
772
498
159
70
563
919
994
336
367
59
745
702
375
972
528
718
515
913
373
572
124
200
355
943
866
55
897
564
28
522
35
88
512
444
354
479
825
457
599
449
945
98
141
382
959
394
449
973
702
581
52
267
552
210
397
942
72
22
20
597
316
233
467
367
30
25
209
679
290
283
249
87
85
104
246
67
583
745
4
89
641
142
608
176
767
510
998
757
461
844
894
673
754
169
930
976
75
577
847
633
758
988
719
191
694
927
623
388
239
788
61
569
914
433
296
833
627
275
184
20
740
68
435
128
465
504
517
272
420
246
145
73
458
793
256
397
318
279
628
904
376
754
657
766
345
427
113
134
416
158
662
961
569
933
2
378
957
495
750
764
667
223
981
849
133
485
914
201
696
710
93
607
482
159
188
22
124
926
505
802
682
217
107
871
122
501
614
464
795
644
726
766
883
995
444
928
852
7
48
743
821
615
737
120
347
597
545
660
366
660
902
133
778
850
863
882
319
539
510
287
290
843
524
237
905
66
589
748
876
290
896
101
275
983
871
840
968
83
646
869
104
659
468
804
80
659
915
173
53
941
412
339
352
64
263
88
371
296
367
226
817
794
87
882
734
271
152
91
748
394
67
409
315
101
395
477
184
633
463
595
531
705
499
118
958
3
873
253
139
542
800
76
694
477
697
896
305
284
13
357
543
846
387
849
256
307
569
806
835
412
575
743
273
689
215
5
236
986
14
784
438
519
815
197
406
440
596
664
67
853
486
880
555
88
781
960
166
626
768
288
677
47
552
235
339
517
306
815
574
705
581
648
796
824
186
231
291
951
302
529
455
45
675
434
292
307
732
138
63
845
553
680
832
575
116
837
877
499
149
266
550
32
231
559
30
608
714
419
648
657
991
347
194
720
160
893
609
316
661
125
650
158
342
68
182
386
452
4
711
738
621
87
391
771
513
63
679
138
532
144
395
231
725
487
925
794
197
930
7
881
648
927
478
200
606
968
21
837
446
626
101
504
782
745
354
191
230
226
247
814
112
367
276
439
384
690
322
408
336
423
837
909
584
94
297
291
594
983
501
663
490
772
437
731
903
529
768
37
754
485
904
31
833
341
161
708
882
336
731
117
680
561
468
867
545
317
989
886
393
374
988
910
734
225
688
155
565
532
864
104
401
204
389
63
544
729
689
855
572
270
596
407
245
455
245
597
966
666
195
736
987
819
481
149
918
188
446
362
172
301
922
769
216
988
672
102
619
24
587
807
720
325
726
747
929
467
804
133
186
482
618
528
402
896
826
11
116
495
260
867
555
998
573
143
359
597
62
468
739
437
645
299
772
28
274
279
490
955
887
870
119
664
176
458
211
344
99
450
857
679
790
783
516
298
879
240
835
968
201
799
932
101
470
140
458
82
430
799
12
679
242
515
608
235
639
937
202
993
388
479
640
111
82
723
395
500
280
407
873
862
247
925
918
334
196
563
881
366
194
144
270
176
852
975
326
886
24
22
810
547
283
140
578
399
958
309
627
331
394
831
758
42
562
768
863
777
601
576
631
775
159
79
663
63
602
133
91
111
416
854
338
421
513
213
104
533
950
304
617
425
599
304
111
501
432
247
639
220
660
60
327
717
157
889
136
879
47
194
619
500
889
174
350
644
650
474
481
453
858
633
873
73
567
956
12
215
237
294
151
752
483
581
700
475
145
174
4
113
548
299
306
603
123
244
843
73
616
777
843
102
480
501
239
221
807
880
126
605
914
980
553
106
467
201
338
149
296
990
39
412
821
798
617
764
440
700
974
840
363
165
290
824
414
146
292
711
608
587
900
139
830
65
251
265
872
271
821
7
320
648
310
779
580
214
794
780
4
630
25
595
527
12
588
947
46
892
567
84
99
357
580
114
442
171
460
534
897
536
430
499
58
823
954
72
581
742
91
987
428
490
325
666
618
664
244
605
606
799
566
945
106
263
130
528
286
943
390
581
298
309
965
820
421
963
50
983
89
913
635
122
266
783
181
135
447
880
160
980
65
873
52
767
290
816
914
623
578
733
833
620
863
310
68
313
51
327
650
477
10
890
475
431
221
859
370
81
575
843
808
233
387
870
392
184
630
30
724
345
153
884
399
102
226
142
913
608
845
541
247
245
805
55
133
376
223
178
491
792
450
111
151
997
229
301
316
902
858
222
333
465
671
614
682
844
635
594
529
119
960
126
685
42
611
164
439
909
860
763
814
942
369
19
821
395
287
242
671
58
946
414
41
594
948
813
957
674
79
675
560
114
938
453
341
236
878
677
691
644
936
687
742
964
344
958
915
882
927
480
460
767
639
417
365
209
950
403
583
195
96
71
242
426
248
510
238
465
41
901
745
694
812
139
258
224
215
467
213
920
323
276
553
492
10
697
450
903
616
21
478
613
526
609
714
80
246
914
902
42
41
381
634
705
834
411
62
372
187
400
344
286
169
330
863
844
79
201
313
438
408
779
580
418
218
419
107
512
405
408
833
131
310
942
157
171
586
790
522
868
448
69
164
301
661
878
50
433
967
12
74
595
228
466
368
209
664
812
196
72
472
13
942
410
114
70
286
400
844
1
820
561
390
602
834
69
170
628
932
12
344
549
19
853
502
261
678
901
90
76
313
793
469
783
907
891
239
534
155
71
582
344
578
157
971
191
511
653
768
216
436
365
234
8
139
48
984
531
218
571
160
573
943
363
441
188
415
565
907
341
474
30
588
975
775
69
338
242
954
293
194
696
337
514
69
70
440
367
233
285
637
443
595
45
53
664
823
250
3
495
638
460
103
632
334
392
196
353
901
140
954
35
163
699
232
743
574
684
513
669
154
197
899
33
601
215
887
575
751
296
872
935
632
835
944
247
350
300
4
118
585
427
661
384
151
120
432
719
635
760
66
239
745
242
111
809
982
170
671
720
456
732
709
875
96
143
906
630
327
932
328
48
563
123
498
654
217
461
305
192
416
327
829
635
984
4
954
492
308
586
864
855
459
175
697
87
250
595
896
100
947
543
641
184
511
400
746
535
374
332
74
676
522
259
300
681
263
341
396
8
349
502
950
622
563
298
198
211
375
598
329
886
628
347
959
279
415
948
611
616
895
640
614
368
977
876
860
333
267
217
985
225
307
978
237
492
296
114
543
866
213
700
42
891
968
400
832
191
759
81
569
17
163
705
900
584
872
664
723
356
578
727
554
574
383
419
432
944
8
382
443
535
96
302
370
173
991
189
832
5
862
931
247
627
949
551
576
785
375
619
220
777
842
713
979
839
673
452
713
872
957
619
334
569
209
192
721
722
280
148
161
875
199
914
748
111
525
753
934
1000
640
18
630
126
833
137
185
698
571
445
139
114
539
945
830
903
995
160
307
52
933
213
523
454
788
34
135
187
495
78
979
652
52
438
2
528
6
200
42
673
184
220
7
900
438
10
664
408
758
339
807
169
744
806
650
415
878
448
475
879
411
775
987
628
660
630
807
941
879
803
659
749
684
900
965
178
742
516
788
509
834
692
851
765
955
49
223
51
8
890
916
988
951
231
415
894
923
340
636
890
70
396
650
758
383
297
892
815
695
405
130
550
600
273
566
610
206
628
961
487
905
672
871
11
793
892
558
505
796
655
97
898
432
557
950
346
684
878
84
573
712
776
963
277
118
957
524
892
6
88
107
313
396
32
402
526
438
198
775
451
625
328
224
548
440
213
282
504
418
101
764
967
639
830
414
337
345
223
703
44
248
702
167
866
166
323
680
139
791
216
106
809
608
428
449
111
384
131
91
218
270
346
782
558
229
174
137
195
145
129
33
147
478
106
141
703
676
265
94
953
213
216
268
269
933
307
351
279
273
293
128
716
19
274
877
873
336
367
132
302
154
559
155
184
103
802
602
484
919
373
280
62
109
844
865
96
878
946
71
500
198
61
300
516
651
411
261
703
97
409
927
365
376
652
601
865
123
921
595
724
545
352
773
67
716
189
598
594
955
554
735
277
117
390
510
229
454
208
851
421
252
691
826
152
336
626
525
74
918
72
608
122
800
869
625
61
407
996
248
300
699
249
664
475
999
775
719
203
418
706
195
353
665
470
221
136
555
926
448
362
829
926
191
776
110
187
749
372
324
975
113
408
916
18
606
113
903
170
853
837
51
537
983
44
467
787
434
407
476
645
183
205
678
547
793
760
117
883
318
521
520
819
701
898
661
74
651
356
351
874
384
164
605
487
92
916
417
351
28
288
773
331
583
582
128
366
628
43
935
676
379
227
924
981
793
64
739
220
733
435
895
111
50
199
748
4
453
661
36
126
221
152
832
500
723
67
475
385
334
638
104
625
347
32
621
765
157
289
104
93
946
679
747
234
628
110
813
269
624
860
149
285
218
560
982
847
741
603
968
479
583
325
428
372
531
546
656
639
293
717
291
690
161
560
735
434
671
836
882
560
185
738
825
717
645
725
477
614
34
787
416
47
94
327
613
348
275
10
445
201
490
474
579
534
745
345
272
757
635
814
382
327
887
421
242
136
817
493
628
913
419
702
443
883
785
67
401
575
335
545
453
111
912
118
39
198
566
673
333
983
331
576
442
733
496
216
851
963
563
827
140
162
210
192
232
75
828
81
932
906
658
872
573
599
573
881
701
728
86
841
625
764
976
232
473
488
283
458
808
542
72
816
453
257
438
989
356
305
353
719
315
85
136
132
175
427
198
969
563
124
905
936
62
589
654
616
936
122
931
54
476
331
861
752
367
674
497
108
627
689
325
431
101
754
470
121
120
630
828
375
401
128
23
994
648
555
398
91
358
382
494
633
383
106
569
392
40
964
218
198
934
311
173
225
4
140
833
852
287
22
764
997
120
615
962
83
444
908
483
255
714
194
476
912
120
950
250
337
578
395
437
595
925
779
97
416
161
494
290
692
593
27
41
628
792
845
328
924
118
329
415
241
117
117
666
377
11
867
248
673
811
733
789
15
396
560
312
712
924
465
778
527
330
525
232
795
955
297
736
921
184
429
488
827
789
955
301
551
439
241
945
712
837
164
490
856
858
194
259
324
214
289
887
678
559
865
761
855
846
843
776
27
976
891
997
480
963
452
216
630
694
589
208
917
571
546
196
940
1
464
572
818
573
459
509
254
226
405
182
387
110
670
322
118
146
982
68
975
723
428
447
856
340
316
773
929
55
392
172
752
110
298
104
263
205
58
276
188
48
241
280
921
419
647
980
935
850
15
948
249
280
527
102
660
528
482
226
27
865
674
606
729
490
12
277
448
869
391
686
692
68
12
334
400
920
384
89
486
717
983
621
944
195
331
178
910
807
385
521
510
376
713
43
805
894
535
217
14
621
908
744
772
673
453
319
570
853
175
548
765
560
107
46
868
787
141
952
82
358
219
945
851
950
333
27
748
272
694
55
406
683
178
557
104
954
634
269
623
793
341
95
582
517
796
632
410
235
487
723
931
696
164
411
963
95
617
295
53
704
752
974
832
790
848
662
233
671
549
738
684
619
688
358
20
880
153
886
445
648
685
933
713
663
118
908
778
216
574
747
488
839
431
56
340
34
244
59
591
176
64
552
992
932
200
238
426
74
932
465
568
218
238
115
786
659
870
578
204
44
370
277
163
620
696
474
231
182
15
337
816
851
566
21
158
514
394
13
363
172
682
8
467
318
528
875
248
727
829
163
471
437
319
818
947
553
464
984
709
11
707
749
375
325
403
998
936
478
648
675
837
287
908
916
790
270
578
856
859
693
721
648
909
251
950
249
429
186
965
595
796
616
391
164
555
962
221
323
468
528
422
305
871
734
343
616
578
162
644
622
661
480
255
343
553
648
753
666
363
296
476
32
821
330
292
380
924
588
307
904
569
372
208
474
965
79
186
254
240
360
989
545
4
827
122
488
60
418
567
910
627
470
892
244
54
752
551
475
738
267
451
508
900
811
937
318
662
631
777
237
110
661
519
301
177
59
715
502
968
524
417
630
651
538
495
138
118
55
211
34
610
515
985
401
272
622
161
1
422
51
443
361
128
286
607
604
715
497
887
233
539
638
639
540
73
113
78
204
482
68
968
99
506
993
497
470
339
604
453
282
761
270
697
494
346
167
96
35
915
905
639
351
995
753
792
183
50
684
133
168
94
455
724
314
136
603
652
719
556
419
615
677
90
645
965
735
899
237
413
84
409
152
104
450
256
976
355
68
181
857
10
33
962
698
567
417
309
843
199
260
331
732
292
414
60
668
585
114
867
961
742
936
414
215
471
75
458
966
479
79
412
881
225
886
859
248
690
802
352
565
418
453
725
961
20
135
479
94
24
893
718
293
540
168
197
296
412
775
576
315
888
918
593
953
896
889
244
298
719
314
841
113
675
93
364
945
972
924
9
917
528
55
613
698
698
759
108
449
765
964
837
273
199
575
576
305
172
720
502
307
462
654
817
870
639
853
586
118
700
560
264
474
625
823
63
100
181
293
570
697
60
284
104
244
227
952
812
370
16
287
806
60
127
828
585
330
630
137
498
448
245
885
995
163
908
645
845
643
359
138
430
389
631
286
369
500
629
607
917
150
779
714
969
524
296
499
221
11
475
882
826
899
309
440
283
706
549
235
83
821
130
345
64
741
654
78
892
780
790
23
970
528
620
257
621
773
630
589
329
423
570
897
831
531
504
398
684
184
645
442
377
397
289
446
932
970
956
347
744
185
843
273
653
572
715
846
87
410
423
299
785
417
607
109
158
678
823
552
380
688
178
937
624
370
433
291
339
700
432
166
887
647
567
302
186
547
765
292
932
999
222
141
950
954
398
965
972
846
167
809
523
418
400
369
576
399
322
986
504
812
21
46
623
919
418
908
712
395
974
985
825
558
159
775
767
56
311
441
588
297
649
629
202
824
824
598
386
349
451
264
918
501
946
692
568
553
777
205
896
466
893
828
633
334
459
950
303
280
653
722
463
704
968
901
991
159
184
721
967
118
786
542
951
634
770
125
429
626
869
972
186
284
507
282
268
917
570
792
996
324
382
791
100
171
250
452
53
198
460
231
591
396
192
842
923
796
674
947
722
656
671
282
845
129
627
956
61
183
651
259
36
199
518
119
588
942
709
934
296
896
496
322
477
244
376
243
944
224
735
338
97
191
793
635
205
569
395
476
944
801
305
399
729
914
489
299
507
210
297
482
727
132
121
830
666
164
245
998
77
330
379
821
975
964
624
528
80
625
429
989
164
904
505
475
735
953
280
754
736
944
616
877
676
610
397
627
944
212
593
768
550
369
553
41
154
189
376
937
25
98
176
918
627
226
682
924
147
661
739
87
699
938
473
962
774
600
442
641
423
739
665
343
925
936
551
137
21
232
614
304
309
500
131
946
607
270
269
701
763
323
824
90
465
702
301
638
118
954
396
888
195
31
794
860
677
681
167
583
28
618
6
205
441
963
290
535
278
538
170
900
681
445
356
954
594
500
857
162
285
354
477
397
66
325
704
734
570
430
508
961
15
733
205
782
254
72
394
194
392
564
689
63
872
843
528
951
521
912
709
966
609
116
151
878
688
739
217
232
993
217
881
657
781
19
409
147
359
823
269
965
249
945
348
419
133
670
473
416
317
310
303
137
761
150
474
328
836
259
440
276
755
610
686
804
60
517
260
322
421
484
105
488
720
383
397
637
174
867
824
430
146
543
359
660
96
894
715
931
572
785
130
599
52
702
173
497
897
3
376
850
50
710
336
75
870
305
478
749
502
905
762
233
375
127
164
853
741
267
933
20
774
694
415
629
710
905
554
311
786
898
12
932
542
826
715
505
234
666
167
891
313
27
884
273
610
339
71
964
457
990
501
940
99
208
530
434
487
652
448
157
820
600
370
438
427
720
250
44
249
531
233
292
413
721
979
932
898
170
380
537
934
818
722
947
326
307
320
407
257
159
7
659
417
954
920
181
313
606
621
215
753
680
540
249
630
691
881
14
193
106
475
824
516
34
711
407
369
962
489
836
167
890
536
286
448
488
356
49
412
38
550
328
823
116
723
380
97
609
596
212
878
346
980
421
782
972
4
111
572
980
453
393
279
14
38
478
957
562
969
131
910
569
406
657
766
7
755
195
927
527
111
892
645
502
970
917
880
344
142
404
582
622
848
162
289
814
658
391
509
271
485
831
503
146
732
856
943
504
699
695
354
209
199
768
875
245
755
226
667
267
871
416
838
415
366
712
74
346
14
829
421
904
484
1000
507
178
292
545
4
124
488
97
283
742
379
745
737
536
307
361
239
500
119
211
759
592
79
191
631
273
567
842
87
516
478
579
547
670
38
985
566
190
683
695
647
538
241
375
459
248
793
403
898
753
913
905
35
315
859
559
317
24
98
871
657
744
707
561
965
848
847
791
346
90
254
801
13
858
630
145
934
798
768
259
475
694
775
170
603
193
786
388
573
374
770
936
753
422
910
562
259
900
373
576
174
470
605
912
537
390
552
499
737
561
817
131
10
876
23
445
474
504
513
180
260
469
438
975
304
44
320
671
168
423
182
453
200
479
359
435
982
464
490
351
34
519
857
762
729
371
563
495
298
436
347
736
308
394
139
406
447
349
553
477
237
913
847
708
566
666
639
619
219
777
894
569
739
565
747
383
641
234
631
79
229
639
690
775
557
633
661
846
878
633
9
285
84
485
679
454
599
362
961
602
563
89
148
147
851
930
833
342
197
623
72
203
135
481
154
116
902
315
133
1
852
27
873
66
303
981
974
695
768
561
13
206
50
171
467
648
688
996
327
706
417
258
162
704
540
631
897
805
976
900
398
942
947
233
414
853
222
86
35
656
9
86
934
523
412
770
595
476
636
756
224
244
139
509
751
459
776
524
600
715
340
103
38
596
768
485
931
934
618
555
685
493
399
356
711
17
708
925
647
901
188
835
281
661
166
526
801
42
29
133
940
17
594
243
246
85
327
783
925
14
242
792
774
813
852
924
903
534
908
52
632
458
641
287
515
6
899
594
554
648
176
125
690
951
733
175
463
992
466
955
222
900
944
107
973
321
278
360
215
195
83
484
731
344
799
5
981
67
870
977
191
324
786
533
182
959
947
271
586
973
253
220
816
555
968
665
995
846
67
473
231
553
95
966
750
44
741
10
247
186
336
43
28
461
960
739
290
292
531
98
596
769
590
6
992
793
10
803
995
3
865
218
467
894
884
395
440
623
165
539
117
766
363
145
442
11
385
640
182
754
942
860
973
126
751
649
39
839
123
714
658
392
985
526
214
129
499
329
920
576
511
145
485
678
973
966
186
731
878
654
300
130
234
697
460
633
93
367
929
693
239
410
483
768
186
492
738
771
533
371
103
217
339
452
857
92
664
153
581
516
317
882
589
944
331
931
87
1000
69
906
133
439
618
980
338
120
266
763
982
973
368
927
611
843
260
722
310
888
925
9
386
978
103
739
508
250
840
923
934
610
158
793
238
665
857
228
482
531
700
881
611
650
457
1000
579
811
554
30
243
138
317
481
41
288
428
122
236
315
639
68
274
217
407
73
276
156
873
36
531
284
409
952
293
456
186
439
463
800
50
611
859
394
830
250
146
30
511
207
496
368
280
500
210
11
754
890
997
254
760
806
45
388
42
805
127
753
393
526
15
852
843
519
854
431
573
585
623
355
961
768
774
82
629
372
432
567
841
936
210
930
399
780
354
18
228
816
5
983
571
41
603
400
707
337
401
709
691
603
73
689
182
856
187
260
140
143
144
136
661
562
799
743
48
876
78
158
140
390
962
640
3
344
358
683
571
822
838
792
364
751
233
554
246
279
301
495
528
446
661
589
914
711
306
567
12
721
30
822
431
958
992
274
368
229
702
975
542
14
298
775
158
133
122
925
687
304
974
317
33
505
924
761
787
354
135
102
135
499
778
172
60
916
914
119
628
76
916
608
92
684
243
696
210
588
361
58
667
653
100
671
730
147
817
497
470
374
108
406
507
807
701
562
796
407
459
364
756
724
498
139
347
851
903
608
666
82
282
326
388
547
97
729
881
884
734
80
339
958
460
248
317
875
780
653
288
364
435
59
450
866
827
92
251
610
685
783
929
18
971
908
409
856
952
819
188
971
393
684
768
892
164
690
103
912
169
912
83
706
433
423
573
901
666
973
273
313
746
696
759
883
686
38
709
147
660
715
985
967
827
68
168
198
336
170
962
39
715
486
823
426
785
837
164
552
388
39
322
932
716
140
885
900
398
864
368
606
506
54
168
336
90
864
579
766
402
418
827
673
480
809
339
761
283
516
544
564
717
293
38
196
582
467
906
500
785
748
417
405
730
977
644
906
890
742
581
61
703
776
719
171
864
191
319
964
993
242
859
712
623
802
843
670
712
741
890
584
348
288
995
172
926
420
853
27
439
50
259
25
187
587
448
324
440
780
118
824
348
995
961
198
853
930
755
877
518
982
91
723
18
329
127
29
909
747
308
842
151
62
446
720
958
578
100
287
498
749
173
53
852
477
115
755
781
542
158
410
355
170
259
637
190
424
176
729
936
308
944
740
823
780
58
917
689
27
100
912
340
284
36
469
314
760
237
693
636
195
753
361
159
773
279
202
939
232
808
286
841
260
335
271
657
612
262
508
614
495
213
989
300
994
832
463
130
554
556
571
334
976
560
784
944
253
550
162
711
303
844
997
323
489
25
79
800
657
242
659
565
518
507
105
555
740
141
835
893
508
251
346
741
659
944
120
167
879
552
677
28
857
957
206
728
198
504
606
45
362
277
511
284
381
63
558
820
107
977
153
669
52
637
28
418
420
984
35
314
462
126
585
34
720
970
965
31
381
683
772
741
272
499
732
172
553
827
997
905
384
507
727
492
217
815
421
397
183
944
138
478
984
145
39
510
697
347
535
356
684
414
947
65
306
612
498
567
59
581
920
718
127
314
603
501
7
790
335
177
730
210
247
108
281
796
392
491
167
110
740
87
926
218
362
914
101
960
999
39
406
315
492
305
177
50
912
502
473
197
968
619
319
131
87
195
934
551
490
359
299
32
906
623
276
753
844
423
817
607
54
729
657
962
194
550
303
78
421
593
35
128
254
686
37
663
735
745
190
563
696
72
337
224
218
34
269
480
433
903
844
755
790
588
539
681
505
367
525
51
693
357
984
627
612
239
207
302
591
873
206
150
94
298
109
649
577
836
584
292
711
841
517
492
678
737
678
960
716
521
166
383
809
637
745
557
91
905
659
244
314
148
609
826
582
946
393
59
955
145
748
80
907
526
938
82
177
45
350
245
364
887
581
800
851
754
136
602
429
939
705
247
313
773
1
383
368
572
259
798
31
604
980
25
69
727
104
768
985
5
692
186
108
196
154
358
815
136
488
59
270
893
840
207
251
426
454
611
574
883
141
335
953
300
715
556
735
194
233
839
581
533
190
789
501
476
761
591
884
804
522
414
259
700
738
558
529
569
653
813
510
923
913
987
475
933
461
535
611
351
515
196
613
541
26
609
680
441
919
704
499
961
671
980
64
959
206
55
884
353
279
603
582
554
557
153
751
90
199
608
277
551
205
423
202
211
162
859
221
623
250
96
905
670
943
341
872
350
892
559
897
541
109
734
412
489
136
413
476
300
634
885
700
1
1
752
792
378
638
785
931
203
802
735
172
771
617
76
92
17
685
955
465
349
961
730
323
866
455
201
320
425
658
891
382
645
447
159
174
956
845
259
496
931
877
619
503
860
158
206
919
564
250
415
367
216
748
65
239
117
739
771
167
214
538
428
417
893
506
791
564
14
415
695
497
351
491
368
814
621
916
898
72
392
420
499
740
92
589
683
438
8
1000
513
276
723
463
376
994
883
488
26
872
883
971
440
566
377
981
513
963
517
283
116
17
816
851
732
309
15
161
27
897
755
922
597
566
506
645
249
990
962
328
278
956
788
972
807
661
481
222
285
832
709
978
582
845
541
528
122
891
959
531
929
552
894
195
854
431
342
496
495
71
869
258
328
49
204
140
877
586
445
365
323
796
349
228
295
354
921
344
222
956
624
335
337
590
585
795
572
522
670
216
237
454
651
548
16
149
927
175
342
383
910
523
208
956
458
642
815
519
976
272
710
411
760
698
487
383
102
359
723
738
811
502
614
839
643
215
527
549
127
728
847
889
400
931
555
792
499
714
3
313
986
732
706
445
971
520
959
614
244
625
331
198
265
317
243
41
122
432
764
627
721
10
590
965
985
244
979
605
472
93
419
516
338
729
157
851
347
353
185
824
813
605
980
773
28
926
575
804
64
555
697
720
91
614
627
902
902
107
287
27
483
610
90
85
327
586
159
6
496
615
189
244
688
736
386
824
62
397
341
407
623
12
414
425
183
511
243
473
359
922
841
617
268
936
544
875
894
439
627
927
600
818
548
529
590
145
258
924
491
333
716
622
73
814
237
942
469
882
443
578
789
376
94
866
692
609
49
592
563
802
201
737
960
273
779
309
412
102
288
483
557
807
488
68
48
451
432
608
192
10
821
213
348
314
871
461
715
166
710
670
688
193
332
864
562
18
854
726
84
804
822
37
890
346
227
254
78
368
790
824
29
234
944
245
451
82
687
507
834
713
60
976
492
197
628
457
71
445
976
726
406
215
449
156
978
484
960
271
965
30
693
922
517
134
914
38
623
241
142
328
382
416
957
207
118
28
597
399
190
725
53
717
152
215
67
990
943
157
721
756
962
887
808
636
794
642
618
249
170
442
291
257
501
698
878
150
131
1
514
37
457
47
418
219
88
808
122
932
644
890
540
552
237
787
460
506
857
747
256
837
41
463
745
566
769
658
213
368
304
961
950
131
307
912
832
836
897
535
689
864
165
457
106
783
169
945
759
657
420
36
667
62
99
648
956
298
802
288
355
910
375
990
37
619
163
52
866
132
336
147
22
183
17
912
340
347
727
776
836
553
27
995
5
130
681
367
6
173
375
588
253
829
638
471
468
389
820
409
48
614
829
706
985
578
840
33
504
972
872
901
547
772
632
376
93
446
401
617
466
142
15
674
527
552
722
217
761
307
40
696
183
141
283
215
238
335
871
682
939
699
614
917
942
646
664
185
572
329
286
551
891
178
804
552
539
363
965
331
231
975
778
341
214
580
889
496
214
558
688
76
115
545
700
641
725
796
16
267
238
8
228
315
42
844
223
237
956
815
593
953
53
163
255
501
540
489
722
8
36
803
12
14
267
631
705
826
117
295
381
749
773
748
720
25
136
618
928
969
655
465
817
365
878
880
916
485
979
136
254
317
428
269
766
279
214
643
947
670
378
490
437
809
223
409
98
32
117
507
475
552
994
52
10
614
115
446
440
608
870
760
927
72
374
380
348
762
582
295
340
917
280
487
63
55
839
24
178
211
338
480
702
167
378
645
593
224
97
641
33
131
790
950
454
182
323
699
914
519
107
271
54
88
807
943
995
344
283
553
138
225
848
902
549
864
537
1000
184
238
806
231
138
214
908
99
268
724
349
790
184
582
483
340
304
605
497
82
493
780
372
708
468
196
685
144
413
259
759
156
564
582
893
449
811
198
985
113
902
883
7
547
597
579
376
408
765
564
470
39
728
841
431
648
852
202
4
710
890
526
953
545
993
524
93
459
663
154
594
513
360
602
850
241
888
708
2
485
480
249
235
504
721
354
353
807
672
755
802
748
807
162
471
820
651
992
77
258
194
95
164
909
486
925
520
186
779
301
790
719
914
371
427
430
951
556
896
712
421
90
682
87
518
232
449
127
763
449
59
842
168
972
798
925
391
802
770
858
818
613
737
430
428
261
459
375
996
704
756
377
403
723
77
121
548
456
80
890
392
40
355
440
383
131
444
92
571
614
383
319
70
913
903
281
905
188
890
507
620
406
539
725
179
602
488
36
360
363
289
439
145
891
749
711
739
364
446
300
919
308
183
891
504
816
16
644
661
94
923
407
284
329
588
126
651
444
825
325
655
345
300
55
435
577
303
442
328
859
744
53
810
41
655
668
598
927
90
775
105
824
562
322
467
935
842
711
425
371
148
546
469
272
942
880
271
142
159
130
667
789
530
561
640
683
57
287
72
198
69
293
679
289
913
908
706
178
200
428
46
224
873
111
307
523
772
28
511
262
464
893
150
383
427
322
270
451
306
154
725
625
941
460
589
833
764
508
986
463
56
689
382
822
391
524
138
196
826
474
306
709
118
931
343
109
506
171
858
687
850
521
409
811
629
8
702
560
832
732
842
56
946
307
505
972
458
654
304
98
415
81
828
981
1
177
8
584
120
721
632
878
622
77
350
81
369
932
464
181
109
450
991
283
687
332
273
128
622
274
799
374
14
234
577
625
653
479
881
961
684
672
891
489
535
241
252
811
749
806
729
771
742
909
773
912
112
495
27
179
886
876
517
60
589
814
913
650
307
166
583
909
97
529
30
960
616
54
566
66
865
419
983
117
495
213
270
119
407
628
523
646
535
496
688
720
269
343
26
785
974
759
174
119
183
245
847
900
804
501
56
904
516
418
621
857
999
201
20
94
531
233
342
571
357
743
212
559
937
465
616
638
510
859
969
787
432
605
245
650
412
349
837
709
987
784
453
15
744
554
340
949
990
963
964
486
517
586
181
836
747
215
953
867
496
212
918
890
479
254
398
365
268
116
323
162
546
778
451
145
625
633
389
274
460
651
973
871
477
894
979
454
318
764
643
99
250
944
863
751
765
746
365
268
846
949
993
859
840
735
415
501
373
651
560
704
62
595
376
595
895
887
884
940
330
620
701
717
715
364
263
137
530
420
429
990
842
523
271
844
487
463
119
930
916
304
878
389
232
400
541
759
60
976
194
827
300
203
692
974
858
583
850
339
598
273
92
184
283
179
502
715
555
550
87
100
990
382
833
389
93
899
250
104
601
357
424
277
463
595
815
924
455
466
1
283
6
883
585
811
496
481
117
994
558
609
407
833
922
619
779
283
239
728
718
255
492
20
395
543
902
634
672
774
69
123
537
742
345
29
218
810
421
146
31
360
66
816
749
694
620
261
403
604
904
560
619
361
822
876
994
904
626
239
19
573
826
238
734
885
962
267
767
904
866
170
283
891
1000
958
214
386
581
546
499
714
299
178
563
831
328
581
627
301
788
936
675
317
927
760
790
337
983
76
966
309
454
343
186
423
211
688
604
519
152
170
301
801
818
434
231
672
324
868
634
822
242
605
294
879
379
599
433
22
997
690
499
144
321
850
240
841
924
815
212
762
989
98
706
899
734
505
354
389
221
510
702
921
302
972
341
341
308
131
717
320
786
25
268
22
218
458
866
308
601
695
190
16
176
89
758
44
221
672
995
284
968
438
282
896
884
658
179
498
815
854
207
611
17
574
817
532
187
868
98
584
371
89
747
115
536
963
625
302
558
766
929
464
766
913
613
403
134
159
506
894
251
45
826
855
156
420
232
770
883
681
236
600
489
325
397
735
626
858
134
367
129
241
858
605
256
726
858
573
619
846
949
594
772
490
768
83
683
403
772
922
925
631
621
536
358
991
934
39
977
518
897
489
347
120
829
960
12
689
463
465
204
212
312
982
535
728
200
688
908
367
670
91
41
425
608
531
676
683
778
468
763
970
759
623
318
6
227
584
660
105
211
261
450
201
337
247
778
306
127
825
114
251
156
606
67
302
630
365
436
512
976
946
373
991
936
147
393
180
314
968
498
536
525
221
724
279
17
362
402
201
772
987
184
359
450
652
480
634
305
880
251
709
197
390
376
770
679
633
183
380
377
57
361
592
785
512
841
700
36
807
936
822
465
952
708
747
997
496
294
306
592
611
549
275
344
553
306
323
218
962
488
217
321
99
98
720
102
362
443
48
706
689
65
681
859
497
201
283
712
644
630
180
767
148
300
620
32
112
316
354
665
584
818
842
504
671
351
858
305
812
723
699
40
489
758
156
847
922
409
13
619
983
611
137
930
311
254
128
646
471
572
387
872
821
215
22
945
505
1000
512
514
847
559
522
210
815
32
557
969
441
450
622
855
535
221
144
266
544
257
528
573
804
460
727
337
568
594
394
436
930
766
926
656
696
827
879
918
644
312
48
935
789
19
984
846
756
405
370
325
40
639
663
40
372
610
320
368
750
976
745
846
714
483
331
158
52
34
500
896
129
670
575
636
253
102
114
336
870
323
695
794
906
569
162
581
183
412
818
421
276
969
595
239
305
924
315
149
630
641
955
602
348
242
368
963
30
122
877
441
149
678
830
850
102
263
639
28
45
577
527
933
786
764
272
769
67
82
868
388
937
390
17
225
171
941
109
515
428
575
371
247
900
764
932
312
335
408
538
810
782
166
996
937
236
459
768
379
843
322
758
655
145
182
609
816
900
456
988
519
662
377
408
229
281
230
875
443
258
744
249
748
224
276
925
21
950
337
907
704
447
83
86
406
728
896
495
611
309
822
281
941
114
245
592
536
310
694
486
522
95
31
829
617
352
413
659
512
247
362
871
189
728
290
673
651
454
599
803
768
496
504
709
991
790
600
153
409
729
231
760
1000
240
61
877
471
663
1000
166
889
29
678
697
994
270
575
984
684
417
277
384
568
478
760
593
534
772
499
224
168
168
108
41
111
540
937
817
748
787
775
110
656
663
843
651
131
718
185
159
407
184
586
836
914
860
829
48
36
988
175
433
769
840
45
703
881
712
179
520
718
477
310
333
135
783
538
302
879
192
371
682
562
592
617
601
645
462
357
906
994
687
31
431
842
522
447
135
632
195
690
190
867
159
634
808
891
260
61
922
863
464
104
822
42
955
554
63
543
917
884
592
786
767
624
795
837
207
136
381
246
284
655
387
62
557
781
118
48
670
125
660
233
790
694
551
11
521
407
125
14
647
687
652
596
816
970
443
587
754
23
265
621
552
255
492
723
933
409
149
809
134
4
728
930
749
790
542
652
953
754
38
151
10
777
842
239
834
300
312
916
77
819
997
166
753
951
509
766
831
548
260
390
495
289
721
787
600
874
465
656
13
986
123
631
168
392
306
657
611
321
651
887
724
38
364
88
528
585
653
750
938
706
211
190
164
997
446
771
741
279
242
762
589
560
32
524
812
762
439
268
334
602
425
275
913
255
628
168
753
107
687
792
865
410
124
741
544
905
543
803
468
907
219
726
331
238
213
686
890
143
44
106
714
386
489
523
398
691
122
101
648
953
404
866
35
282
736
706
761
232
600
996
75
458
524
472
158
424
563
709
154
578
397
665
274
381
532
818
359
646
257
529
20
26
45
167
992
877
367
804
465
408
73
470
892
382
248
658
7
100
234
676
530
914
252
358
426
996
929
499
6
92
120
356
706
993
421
315
247
395
289
109
356
169
515
774
979
802
455
111
635
733
820
520
145
739
74
324
626
117
419
975
832
625
874
881
450
191
859
137
743
619
720
889
414
908
839
450
791
59
197
666
782
31
636
528
718
23
465
272
463
209
444
579
55
750
100
254
80
576
941
555
861
450
324
207
110
120
424
713
949
350
331
142
658
817
134
474
253
943
963
847
440
666
795
836
30
16
224
436
280
412
711
540
582
600
231
607
422
819
27
443
483
518
755
587
30
866
48
320
449
132
405
709
302
489
515
989
320
692
78
165
252
225
769
702
723
830
194
616
265
433
657
610
248
642
606
327
566
914
963
833
81
381
622
37
534
729
785
786
982
839
213
972
93
829
292
316
407
478
219
74
784
981
453
633
396
493
692
297
27
793
798
460
69
965
175
157
545
667
198
492
782
57
859
59
338
582
958
131
433
921
69
432
812
121
480
583
188
700
772
635
241
776
503
231
474
965
660
114
583
285
231
166
596
612
633
267
153
330
829
713
885
784
842
779
270
172
908
294
290
695
105
710
349
776
799
460
818
317
201
729
614
238
311
178
786
286
214
387
152
215
75
165
288
160
110
718
885
144
44
168
563
559
951
861
311
319
386
419
243
6
479
928
672
228
934
698
102
202
535
594
1
341
156
258
806
22
1000
736
792
80
709
99
63
671
812
547
534
576
446
464
482
396
998
994
474
859
877
925
309
317
711
223
333
244
255
47
364
861
469
627
558
264
532
803
332
710
51
422
707
521
566
115
430
932
341
14
660
944
275
932
67
89
990
671
340
270
423
3
323
162
983
475
363
649
615
16
406
22
133
303
159
460
188
949
762
652
467
809
925
9
508
359
756
391
152
81
304
805
407
429
751
157
984
24
188
59
792
908
746
44
511
733
27
986
184
221
989
933
826
644
695
781
463
156
530
104
733
207
635
291
612
862
332
844
368
54
878
834
12
125
135
624
563
180
62
127
120
231
939
984
648
871
83
269
104
890
274
571
61
69
175
78
749
568
478
925
841
229
701
926
854
680
366
979
526
270
340
631
234
776
291
407
518
214
993
687
301
41
681
952
427
147
764
977
573
892
509
750
176
957
219
205
158
996
962
599
932
891
308
150
953
453
42
718
654
647
290
458
959
467
833
17
764
292
79
299
240
272
192
869
105
725
625
162
475
199
127
284
807
538
26
778
672
299
214
966
596
411
339
966
479
690
655
75
282
257
209
871
309
812
471
507
726
608
643
726
418
660
114
921
891
348
807
462
25
972
304
789
102
451
522
171
135
604
307
661
308
215
784
22
752
784
708
194
368
481
144
864
439
481
547
348
342
72
315
164
522
559
187
519
183
372
270
399
273
525
314
712
623
72
349
973
192
640
147
204
189
495
945
681
941
990
920
82
52
670
875
762
676
942
397
261
299
755
961
313
737
121
581
586
3
779
675
406
674
818
155
435
593
585
415
594
275
914
542
678
334
418
256
616
973
749
434
148
513
624
849
456
200
7
381
46
323
215
493
72
991
242
379
748
803
821
70
530
594
214
956
253
227
685
466
612
906
297
63
746
10
884
430
515
736
870
887
263
715
491
311
617
198
433
839
644
765
816
601
804
381
924
301
105
927
928
478
174
163
55
574
562
390
553
839
223
1
75
197
540
558
123
823
376
441
70
2
522
500
381
201
606
11
43
159
801
867
802
396
969
222
407
296
174
892
369
288
86
928
241
733
30
485
699
927
502
434
349
540
681
286
92
506
851
104
238
762
111
353
845
613
923
120
13
491
970
735
353
546
572
262
625
553
97
455
884
26
837
177
243
372
139
941
768
250
673
389
789
952
925
890
85
181
564
665
304
461
561
532
592
752
982
794
285
393
1
625
798
513
89
267
521
403
747
734
442
979
946
3
936
840
181
560
864
91
777
150
192
637
593
333
75
633
487
230
348
296
272
4
526
410
498
242
340
133
112
114
54
237
12
130
953
51
83
661
322
967
193
106
466
157
869
944
889
759
817
667
814
71
813
973
426
916
84
775
857
782
758
310
154
495
569
446
684
914
562
780
820
487
461
698
983
510
368
200
784
703
96
68
595
881
356
853
766
185
601
517
120
870
267
336
923
991
81
151
939
866
629
586
173
662
814
901
121
429
385
266
215
954
958
810
564
977
939
544
636
37
988
948
139
360
991
226
235
247
544
232
145
236
775
797
621
233
27
618
844
775
808
434
115
198
713
22
33
436
849
89
440
587
236
225
914
309
692
556
683
212
794
420
373
990
168
228
128
908
743
532
919
575
824
290
620
817
597
496
211
458
137
716
941
695
803
632
684
433
424
107
970
769
939
553
500
846
448
571
915
970
587
88
68
553
726
312
747
440
970
784
335
374
592
559
266
695
240
492
196
934
810
433
624
680
807
335
716
724
687
574
549
825
261
948
572
888
71
863
610
187
493
886
548
89
335
784
560
291
272
154
972
539
450
161
410
20
452
81
667
522
7
919
330
40
738
809
717
397
123
928
987
810
235
551
528
690
452
109
63
897
312
418
954
681
458
780
477
486
865
641
235
179
686
100
913
743
147
583
15
535
654
308
14
654
234
716
633
719
200
397
561
933
451
532
99
542
596
784
199
392
95
376
812
67
813
444
703
222
900
671
445
97
296
624
900
643
601
629
430
957
769
763
228
802
236
101
638
602
670
141
706
773
345
598
424
450
1000
310
960
479
298
192
698
260
219
592
869
268
390
404
212
849
671
975
434
670
100
61
537
1
680
900
924
872
568
997
177
567
137
519
568
249
687
751
863
281
697
698
501
50
238
465
885
260
190
365
787
35
449
654
895
122
560
528
69
146
613
248
297
454
488
15
52
739
351
489
246
589
887
214
838
379
497
468
341
124
481
335
508
922
217
839
317
143
863
456
260
823
47
243
86
206
187
26
325
114
792
180
294
377
972
788
790
488
508
382
325
935
899
828
699
803
929
907
196
800
999
23
76
816
746
779
948
325
883
722
959
229
922
432
359
39
294
677
152
585
836
772
792
501
158
83
497
396
820
97
571
168
660
741
652
248
265
258
763
142
500
237
999
574
758
794
767
817
198
56
33
73
527
919
636
218
531
146
261
858
247
211
951
186
810
815
195
552
460
516
835
976
498
243
712
838
128
317
502
341
418
719
554
966
731
487
737
770
472
24
162
374
543
204
476
911
774
777
915
738
448
855
795
234
150
845
33
348
163
481
309
94
47
817
124
35
182
859
699
633
503
471
397
927
793
340
763
453
489
879
372
898
142
670
213
834
369
560
563
491
312
240
39
744
217
302
328
882
530
203
11
914
626
733
595
429
876
618
386
950
19
718
144
497
337
4
772
486
136
118
607
444
68
32
350
475
162
128
636
559
529
360
111
757
24
828
193
993
840
482
352
526
681
240
894
690
565
530
496
597
507
623
274
585
587
979
608
317
10
356
6
431
760
278
744
770
470
339
147
260
86
972
656
927
251
71
638
788
231
341
374
508
20
450
500
226
693
362
9
686
82
334
38
699
853
218
111
27
491
842
444
600
161
764
113
336
765
938
554
749
758
742
240
688
166
742
558
151
509
756
757
654
175
25
443
917
850
264
887
145
438
985
90
812
543
275
370
584
964
805
877
352
799
938
934
170
694
332
465
777
378
748
281
285
84
483
599
974
67
154
215
44
547
693
746
661
702
381
196
653
904
310
148
71
566
424
722
342
489
6
719
652
410
856
809
812
335
20
18
421
95
66
475
54
140
977
540
794
171
413
49
833
815
355
144
166
552
950
727
562
823
20
467
414
448
786
617
511
490
364
142
136
382
391
718
715
826
482
138
537
625
837
239
426
789
209
754
160
397
706
200
792
534
971
591
863
387
479
937
637
113
151
589
206
810
116
868
570
536
15
832
363
914
821
374
438
304
855
80
8
619
1000
678
83
461
570
642
677
129
297
759
801
798
24
684
37
956
539
41
425
128
431
660
835
656
761
643
49
430
940
457
613
645
508
519
806
856
816
220
628
693
643
281
705
498
386
479
542
315
213
305
540
155
818
566
104
89
506
801
383
786
384
438
512
728
515
447
354
371
996
358
172
192
244
573
664
240
466
406
653
383
615
311
100
963
939
45
281
475
4
932
900
469
929
735
748
830
8
85
203
161
680
658
565
258
637
299
219
213
929
401
854
46
265
1000
74
185
849
96
722
86
886
386
813
371
352
644
793
109
716
582
890
734
844
242
259
976
87
503
907
96
75
276
33
824
790
976
298
907
575
270
802
158
50
691
213
438
835
394
374
559
760
905
241
969
607
722
70
640
842
145
397
926
536
110
839
788
627
219
918
95
876
274
505
722
910
887
468
106
830
90
372
770
465
573
670
43
923
450
453
767
893
669
298
32
500
980
38
743
926
990
748
878
463
782
457
394
37
849
704
737
90
643
480
90
856
172
55
503
17
783
987
156
760
874
940
472
47
547
699
674
634
240
481
251
911
44
543
537
406
941
665
473
247
706
473
739
317
343
630
292
907
420
622
185
732
652
337
943
564
297
382
908
433
767
608
592
277
858
4
190
520
595
642
650
841
472
513
914
29
943
724
524
527
428
954
770
555
588
447
290
128
558
599
612
116
992
179
621
815
778
395
69
195
662
714
665
666
328
581
817
992
530
44
549
772
902
151
463
604
79
613
892
298
951
46
779
802
344
190
438
196
532
688
540
456
158
370
533
993
395
352
411
352
788
944
266
529
64
451
12
714
470
207
381
189
23
760
836
398
197
20
114
31
155
188
683
61
501
4
6
443
161
702
46
994
276
45
549
621
776
601
614
218
763
73
858
712
905
674
230
175
140
237
48
87
138
603
115
744
2
924
987
260
869
941
251
794
123
173
26
696
343
633
149
941
773
153
515
85
923
826
610
316
77
812
698
989
52
58
59
465
319
451
113
377
683
816
918
257
911
660
245
545
389
84
933
197
579
465
140
809
513
309
620
42
993
639
841
817
601
232
856
42
190
538
593
651
148
566
284
710
733
206
747
559
36
885
711
631
779
130
709
734
890
96
10
653
786
748
252
743
209
458
210
410
453
598
163
452
111
750
31
510
436
397
187
711
497
123
796
24
167
624
864
164
705
51
125
403
542
275
171
193
300
806
991
86
864
79
421
974
326
962
922
631
88
845
538
342
474
680
450
983
219
7
474
289
198
889
669
710
247
765
128
906
501
788
766
61
195
8
782
155
577
24
30
730
40
589
103
308
58
654
124
129
714
859
661
347
654
215
358
51
795
124
204
340
243
829
699
216
595
639
689
899
120
262
637
367
722
715
375
497
47
463
995
48
54
993
195
269
446
785
948
120
109
857
82
27
142
653
543
927
166
995
831
440
978
913
264
939
609
729
527
900
813
625
97
341
835
810
457
409
938
638
29
620
998
496
681
253
397
918
208
171
22
380
765
848
37
881
695
103
746
633
478
989
792
52
340
379
490
345
823
65
200
975
591
647
429
65
556
566
102
249
679
976
969
494
168
606
76
776
560
818
513
741
700
830
988
553
424
129
890
846
902
943
274
927
456
493
184
259
78
422
686
659
507
883
610
255
141
864
733
512
292
943
71
391
916
213
534
86
27
7
162
225
785
910
211
93
19
683
772
269
539
421
675
639
342
29
814
687
961
790
671
123
143
325
714
857
941
839
701
484
117
148
898
765
30
605
286
327
427
823
370
782
208
514
851
634
737
298
565
870
215
161
645
370
612
750
121
562
818
122
712
413
566
395
201
645
315
113
756
632
60
27
335
926
15
166
542
524
264
804
788
547
332
582
916
46
444
239
43
318
756
865
360
580
863
504
697
427
385
981
140
485
855
181
484
465
623
846
486
858
591
683
604
623
182
659
35
257
414
458
936
30
39
455
462
581
884
101
69
621
958
139
474
869
691
156
251
986
550
334
669
360
412
366
147
29
407
884
230
861
822
716
940
934
328
400
316
672
963
983
129
409
937
431
136
61
109
433
57
443
257
767
522
732
338
167
459
467
999
938
256
162
589
366
844
959
85
526
457
20
470
943
171
60
31
932
522
51
344
408
413
890
691
260
483
14
641
365
200
730
509
682
517
211
525
189
615
718
236
912
57
267
275
764
433
323
550
198
390
908
232
210
149
617
91
861
188
40
780
781
688
886
264
773
845
665
287
451
515
327
930
568
298
922
630
887
640
665
803
59
316
419
981
621
328
876
530
388
219
909
671
357
674
352
107
715
949
230
577
536
727
408
70
677
174
945
330
846
221
498
383
958
141
590
40
978
125
872
318
342
688
996
353
882
604
970
141
80
726
392
15
297
661
897
577
702
441
930
305
255
369
629
123
117
762
769
350
769
275
498
227
282
791
802
31
395
240
764
590
297
958
136
761
928
436
232
91
768
831
367
296
394
580
270
672
135
463
436
387
152
610
439
218
57
677
281
97
295
164
574
304
524
280
681
634
720
363
635
972
432
884
976
918
539
406
712
934
77
870
770
76
719
825
746
950
999
24
847
41
598
773
286
865
117
519
285
918
486
528
243
522
370
677
150
971
440
445
343
914
19
797
872
850
472
249
906
386
296
658
162
305
337
512
507
434
545
339
77
891
770
463
859
124
11
529
558
249
545
4
676
606
652
847
870
11
488
61
277
373
722
389
331
209
162
793
51
748
485
831
175
670
285
136
326
663
761
152
759
195
995
875
821
63
623
62
568
603
246
114
924
233
306
501
828
405
725
898
647
253
105
699
459
826
174
690
240
410
865
534
189
508
976
287
344
158
107
599
230
704
426
700
59
781
620
367
159
357
212
388
187
720
577
406
243
424
97
939
940
994
818
108
738
625
778
694
373
924
66
343
790
541
203
599
6
261
473
837
995
919
787
911
682
651
318
691
341
736
247
530
423
736
203
265
24
133
702
747
802
225
265
971
669
913
886
386
47
618
532
994
168
690
400
225
158
830
924
395
840
825
402
672
568
93
555
803
564
931
567
733
233
753
589
564
545
77
934
908
623
996
129
88
890
934
952
773
720
263
965
542
508
838
945
342
107
794
797
996
183
473
311
377
79
752
906
380
436
586
768
94
918
253
909
892
322
392
123
10
35
395
390
72
490
743
410
132
394
524
232
778
835
625
900
584
951
986
637
495
170
72
82
916
851
74
802
83
985
67
898
196
936
388
344
519
266
281
374
742
728
229
932
10
37
382
916
577
225
972
110
68
670
667
442
674
62
664
410
109
453
946
660
960
861
87
504
513
473
642
300
536
831
500
406
339
658
653
954
408
988
548
351
396
838
42
844
228
815
992
192
225
312
874
626
130
639
465
968
938
648
152
321
465
541
924
996
923
175
178
617
809
341
507
720
603
783
604
519
850
322
362
57
835
297
954
961
348
708
800
221
340
546
633
404
985
704
923
507
840
215
155
409
199
61
231
248
324
18
807
913
446
58
316
55
780
175
338
89
459
260
717
674
781
892
386
15
482
402
802
28
939
355
95
816
872
984
533
894
531
539
696
288
449
725
271
3
837
383
503
509
783
962
313
152
667
581
570
641
121
707
713
185
504
457
858
508
576
895
265
101
744
217
935
96
395
660
123
162
245
924
658
343
256
197
234
804
52
815
636
744
197
363
231
550
583
982
859
342
194
172
641
559
718
467
47
51
568
398
811
924
796
325
821
826
381
657
476
331
934
21
479
491
268
816
476
248
493
997
564
798
88
876
299
68
724
260
231
515
233
365
549
996
846
454
595
710
796
714
258
356
966
413
544
438
651
753
910
994
30
798
982
239
899
187
784
528
906
512
277
729
978
446
567
486
591
749
984
804
174
934
523
387
784
397
987
434
584
236
255
80
24
262
814
98
428
980
333
214
2
374
527
458
2
927
566
458
790
967
400
348
239
635
339
187
838
515
173
222
384
835
979
883
251
548
37
537
781
359
497
63
531
428
110
125
508
821
397
856
546
210
940
54
615
374
428
505
978
181
857
963
31
831
563
288
912
891
436
332
581
58
791
764
466
723
989
368
256
136
419
245
489
310
431
765
385
354
661
26
700
371
490
328
929
73
22
344
949
207
937
996
135
380
257
73
114
905
180
261
17
463
20
751
469
340
941
687
132
544
402
108
827
94
951
265
834
318
766
256
868
340
244
802
537
149
228
585
44
640
412
116
864
212
936
544
833
293
910
727
267
128
96
444
949
720
265
366
63
447
51
618
140
189
402
783
873
307
543
446
808
79
326
320
501
537
306
652
494
225
434
315
400
889
496
146
377
148
559
408
576
375
126
246
850
245
140
329
927
239
98
685
934
283
432
310
795
240
908
259
167
202
891
262
346
953
858
135
983
936
520
837
543
624
171
453
484
170
966
437
102
901
112
521
304
547
398
437
126
730
548
587
469
931
347
945
569
850
266
504
243
902
106
350
658
889
451
830
260
89
808
407
378
844
993
486
577
209
917
68
632
474
740
67
126
303
239
98
491
883
358
129
393
145
965
515
629
687
900
836
145
73
146
732
759
498
481
164
131
869
513
320
436
858
1000
217
179
352
554
825
912
557
601
358
522
235
658
463
146
612
6
700
322
767
438
906
464
588
249
616
766
783
417
370
356
251
632
404
666
726
536
828
712
735
286
441
708
858
726
210
672
479
138
450
819
743
355
690
328
882
181
529
357
527
362
441
724
587
767
503
165
899
359
699
280
147
985
138
600
910
111
435
687
936
783
322
935
613
720
575
487
49
608
217
426
101
614
639
664
759
636
126
915
89
890
174
744
249
855
261
723
614
416
178
187
952
841
517
244
38
534
321
519
276
977
515
437
191
427
683
38
493
967
395
66
655
472
89
684
491
140
335
684
955
682
529
108
325
474
312
107
942
849
499
218
813
384
66
888
671
222
660
976
308
907
567
309
776
962
18
92
481
184
48
930
461
898
176
424
363
979
706
579
20
38
411
670
315
583
396
384
279
297
256
943
362
620
36
862
631
531
861
685
377
54
676
552
373
324
9
615
29
555
90
613
634
739
729
68
935
556
889
647
756
565
133
969
777
410
579
329
874
592
999
536
318
469
162
833
151
666
957
448
516
194
893
901
703
939
903
594
668
587
154
708
212
805
672
804
315
48
365
724
599
12
753
934
324
95
695
532
509
209
865
529
663
861
574
565
509
909
369
406
371
136
52
134
173
830
803
494
749
155
771
119
664
627
692
618
666
36
461
349
748
834
219
657
344
835
663
277
106
142
755
983
716
228
529
435
210
469
368
346
523
940
965
866
283
78
75
153
966
272
493
291
631
787
605
68
151
840
528
588
882
600
280
742
960
76
723
367
673
849
463
13
154
690
843
712
300
140
451
354
67
593
736
18
172
148
14
539
698
729
439
755
441
851
694
396
9
449
35
870
587
497
188
996
333
892
450
527
53
612
563
399
487
229
577
137
158
28
116
601
925
485
475
839
891
450
661
158
541
117
193
494
146
138
566
187
358
294
477
620
790
484
870
584
828
895
507
143
504
100
495
503
258
272
279
259
782
545
194
319
804
841
656
53
266
615
314
387
665
206
573
119
121
166
9
817
282
706
94
460
584
41
254
703
126
667
319
171
924
408
541
185
486
249
906
358
188
486
713
239
540
809
112
998
183
757
563
513
107
551
326
573
787
418
762
954
935
545
563
210
79
277
627
844
55
439
164
860
289
847
781
466
793
294
831
824
114
62
9
383
318
904
953
965
305
545
718
463
618
295
148
972
866
961
514
152
2
935
711
270
226
284
136
884
489
544
809
201
8
977
182
27
847
507
341
743
944
616
617
965
574
278
105
163
63
366
880
881
130
196
756
344
498
38
817
522
883
663
284
922
370
732
11
43
28
808
899
954
597
56
54
392
743
444
18
247
750
728
975
47
707
836
353
47
297
67
651
916
519
568
407
682
490
431
165
239
44
539
725
898
126
88
223
998
997
26
453
854
870
712
232
547
905
600
920
825
474
173
463
380
627
616
577
950
822
891
625
802
341
106
805
862
8
777
946
173
826
4
932
746
902
127
787
290
363
5
549
522
765
884
253
540
923
789
921
885
558
608
722
760
597
179
955
369
52
273
83
302
804
232
393
174
926
980
384
47
233
900
745
102
916
956
584
455
424
546
173
348
351
884
55
648
562
441
106
991
174
816
683
205
87
417
439
918
217
156
44
293
120
469
115
477
568
604
236
235
944
266
247
126
489
196
537
674
110
785
62
375
823
852
344
838
874
241
818
667
417
269
609
641
115
867
852
757
510
848
11
523
87
537
187
943
265
708
379
589
718
549
578
607
146
139
805
353
72
205
643
255
568
604
51
650
1
925
975
569
286
241
493
735
566
529
471
542
502
278
985
853
564
880
478
871
368
687
635
814
596
242
298
863
481
567
968
343
33
666
291
454
263
333
801
380
447
499
356
721
723
55
412
614
324
342
348
216
71
138
712
307
28
70
249
755
501
258
740
764
416
637
454
484
730
411
760
784
488
764
771
551
390
907
234
787
980
851
981
104
940
353
992
207
93
687
524
284
896
908
830
864
304
810
345
795
632
271
818
417
260
465
973
243
400
62
679
379
527
84
891
638
363
455
729
257
404
369
532
528
944
83
453
962
490
490
477
590
873
860
799
133
399
47
423
85
5
439
367
363
614
919
700
885
860
736
869
342
454
28
835
232
643
389
13
582
358
573
458
910
16
552
60
1
732
296
278
181
820
948
229
239
991
806
135
658
914
891
169
703
944
141
602
520
264
446
669
383
403
537
300
587
21
563
167
105
510
424
168
808
658
294
481
938
872
750
348
320
905
862
683
407
782
619
16
627
657
971
835
392
805
200
137
921
685
63
672
610
517
182
943
402
269
402
335
706
523
126
620
902
286
61
145
224
464
1000
576
408
601
535
395
151
543
861
462
861
912
524
627
670
894
742
750
298
291
968
182
769
425
839
377
940
852
902
338
476
982
324
403
221
482
372
88
329
16
150
40
699
108
329
266
13
750
389
16
526
583
972
329
214
368
284
888
506
895
269
304
832
298
567
877
519
278
263
949
8
872
392
35
574
840
986
841
107
865
86
647
135
382
583
553
214
200
859
112
66
750
633
531
277
926
660
546
138
350
32
135
203
390
15
754
248
708
427
611
76
115
827
803
173
142
665
956
401
419
959
164
662
741
376
235
859
171
703
934
575
217
731
922
545
926
341
505
309
487
75
399
69
338
834
616
476
970
412
331
531
491
40
534
821
886
926
164
551
255
293
258
138
307
71
638
389
630
396
181
287
187
618
20
561
423
623
297
434
906
399
112
538
817
740
581
642
188
168
14
260
285
396
867
396
119
20
40
274
551
60
840
636
233
657
652
484
520
534
112
577
662
242
711
870
205
44
95
885
43
601
627
241
856
841
123
954
585
30
120
116
250
899
333
54
999
390
47
985
358
834
780
92
44
111
849
5
24
515
700
300
603
750
579
266
254
139
635
608
147
264
31
472
809
165
713
236
14
642
15
474
411
789
924
28
741
591
486
67
447
639
989
461
153
643
219
411
988
233
793
745
383
652
205
309
822
97
119
265
86
423
891
68
292
106
613
935
337
353
58
23
182
812
706
847
178
604
98
611
282
375
127
423
921
557
367
216
469
969
267
559
292
449
503
759
864
271
1000
247
248
933
928
557
44
448
728
30
814
538
339
806
960
641
755
159
996
992
697
88
550
216
434
955
33
41
762
118
282
654
390
435
613
799
505
321
820
363
870
551
936
414
279
872
829
225
832
780
564
159
407
758
421
704
277
307
717
96
226
658
682
446
38
351
358
321
362
541
686
795
917
11
774
454
144
503
535
429
310
457
240
280
911
526
120
835
569
221
520
533
258
40
753
378
440
239
955
957
194
144
556
667
565
591
469
720
283
135
524
775
728
423
234
820
800
505
106
913
595
282
387
712
800
559
422
319
1
72
221
23
780
425
816
348
938
578
316
917
779
682
515
587
796
185
137
791
761
134
533
465
959
381
65
588
569
455
723
442
327
963
377
378
171
619
273
893
789
829
769
819
37
736
821
95
753
707
766
154
651
73
62
347
758
204
216
240
870
395
877
742
464
350
4
51
866
253
448
552
430
800
242
468
496
640
314
656
205
439
586
785
333
924
922
939
173
954
838
798
232
301
718
617
117
722
144
900
355
516
948
751
201
215
531
182
816
717
666
643
34
576
214
272
362
999
225
765
86
266
297
690
629
413
853
260
416
491
464
757
61
715
634
196
281
603
620
799
485
35
233
449
84
862
951
556
566
699
725
965
795
905
515
700
903
817
912
727
631
232
515
846
909
272
857
762
358
655
2
460
884
945
936
231
503
184
955
162
673
972
128
169
258
749
977
594
557
38
339
936
717
828
743
458
720
323
506
36
636
879
937
246
847
21
302
961
959
274
516
653
891
481
197
586
569
777
941
976
677
967
175
89
593
608
709
775
146
589
443
566
647
712
628
269
928
559
308
789
603
102
390
794
792
231
243
99
354
685
802
947
435
866
822
550
302
245
127
243
777
174
668
600
229
729
284
783
221
772
363
7
342
441
280
807
877
840
750
790
452
716
371
346
48
689
899
977
94
308
13
421
110
767
144
702
424
179
110
573
593
639
726
997
339
639
317
43
964
709
958
81
48
826
114
811
64
354
562
610
633
664
43
583
593
847
347
881
847
513
281
901
939
485
843
50
315
223
600
313
747
674
119
510
806
317
518
497
836
16
66
453
699
976
869
521
236
136
811
322
256
860
202
302
971
912
729
886
866
545
283
722
843
220
885
851
100
918
679
683
27
985
338
493
357
19
273
294
654
818
461
492
238
244
650
593
478
401
858
897
593
315
599
780
374
768
899
308
921
48
315
47
435
881
199
522
584
921
844
317
881
821
132
46
449
795
253
426
335
82
677
311
117
42
253
303
585
214
961
939
410
988
130
863
370
24
439
903
47
784
979
362
75
111
337
670
298
691
188
438
147
994
826
5
774
658
284
508
880
704
799
426
349
418
345
503
129
926
664
642
510
259
956
156
330
198
510
755
838
464
840
164
446
118
644
866
356
676
758
304
823
103
428
531
798
95
141
79
528
863
727
350
572
874
237
956
971
969
270
856
647
944
821
685
990
23
306
818
380
598
645
940
379
457
964
613
693
207
290
754
20
631
751
960
269
486
837
826
972
116
754
784
648
166
145
158
565
617
476
338
106
453
725
120
350
430
414
48
214
22
624
94
123
865
316
527
88
732
364
351
998
474
256
166
605
941
127
48
843
497
508
752
436
556
36
837
493
973
152
263
745
820
972
588
800
560
170
34
631
136
638
775
641
254
503
846
627
479
757
289
615
696
306
81
449
142
947
284
708
369
347
588
549
311
560
570
350
858
438
548
344
858
121
116
306
666
358
545
504
641
402
279
117
200
355
789
311
744
951
832
103
777
387
896
863
842
917
897
498
598
472
775
577
200
18
33
250
840
919
885
840
646
205
169
499
239
763
31
30
959
404
296
524
431
896
457
98
658
745
10
517
440
822
621
427
504
960
927
468
364
310
415
286
538
650
410
883
244
42
748
956
829
160
5
121
615
39
165
476
913
553
881
489
744
388
748
727
425
626
691
16
626
300
634
746
258
703
506
946
492
266
293
166
872
476
636
449
737
197
179
929
715
148
427
215
146
400
135
531
457
615
333
393
125
369
954
875
927
440
712
94
582
795
743
437
938
317
103
949
270
550
732
678
689
806
900
24
510
145
985
550
759
545
936
260
41
932
613
281
380
546
963
857
505
61
940
844
489
132
101
889
903
166
586
575
380
203
157
60
180
736
5
820
480
839
967
92
787
573
501
738
796
592
11
453
206
257
726
415
619
363
839
863
481
766
540
581
510
901
138
908
900
185
211
766
368
216
867
610
153
746
743
632
376
617
931
537
61
419
392
112
959
816
538
766
722
273
77
409
828
429
175
48
942
746
825
67
95
221
752
247
606
724
737
509
772
11
441
501
349
830
789
771
576
144
966
298
196
992
452
465
594
247
315
127
304
737
26
175
433
368
511
326
364
480
503
42
283
335
265
816
145
317
129
484
903
242
799
995
160
550
94
865
163
933
550
835
774
593
504
980
451
193
811
235
235
929
16
651
239
176
739
140
468
853
73
822
724
338
393
194
821
836
632
70
636
307
62
605
37
926
692
320
277
549
76
129
667
440
390
443
755
621
910
357
718
679
447
89
859
520
1
355
172
770
477
334
143
117
957
226
958
500
112
890
286
309
490
314
323
340
623
666
34
537
684
844
448
192
964
325
83
152
246
224
256
224
93
677
480
314
229
298
415
3
977
461
836
773
617
7
826
985
719
125
302
651
710
134
758
207
877
187
491
904
140
939
589
911
377
628
815
263
52
668
464
748
882
897
149
693
623
406
818
185
422
928
752
460
671
875
257
4
312
210
629
767
883
704
921
337
351
845
219
680
940
862
547
259
77
769
231
883
448
840
108
397
684
500
24
202
634
575
774
998
759
441
659
120
356
384
333
206
232
338
214
886
835
677
95
517
977
852
624
923
768
57
752
224
370
743
837
104
573
183
755
509
519
411
160
664
523
643
205
327
118
976
865
347
932
442
300
684
697
685
926
764
307
194
612
7
318
446
4
862
742
209
843
228
341
714
1
612
855
608
182
710
917
794
204
354
630
556
625
895
242
423
805
647
830
225
240
15
740
801
229
511
823
460
614
237
609
945
951
409
684
13
655
364
293
904
460
203
520
566
406
973
970
718
363
358
69
900
830
746
48
884
379
445
215
225
788
874
301
501
980
991
862
815
50
302
19
511
374
420
766
59
438
805
262
439
357
823
492
828
429
693
368
388
440
955
913
356
454
69
210
117
524
643
796
387
112
747
636
678
228
734
109
346
308
467
591
756
571
672
103
258
463
110
24
405
869
17
123
554
660
502
173
695
311
355
217
577
83
625
113
401
757
746
854
945
782
625
949
29
142
543
550
623
442
197
501
398
310
465
715
322
431
757
670
177
292
213
423
28
319
898
529
186
644
32
160
128
385
590
484
792
911
151
295
19
346
407
945
42
897
423
566
602
765
482
808
930
961
807
632
676
9
257
842
721
178
575
765
946
129
844
884
779
113
322
764
766
592
72
819
620
419
746
25
231
720
224
115
236
637
971
508
320
726
811
966
656
837
158
710
296
937
975
250
852
51
386
886
206
261
615
322
155
273
921
661
468
321
42
342
940
387
5
891
889
868
266
595
529
501
800
524
714
232
365
605
65
34
282
8
454
742
77
248
41
110
578
27
548
330
441
308
562
360
659
160
676
644
87
342
699
117
193
109
678
247
860
344
549
55
121
388
558
3
139
710
187
393
295
420
984
284
334
112
168
698
809
434
325
655
322
220
305
228
328
511
633
99
725
926
608
250
474
105
74
98
902
982
283
115
560
595
785
185
32
493
685
945
252
599
362
271
308
216
104
105
248
252
515
716
272
706
410
650
492
672
192
514
207
848
85
832
437
412
21
428
568
479
955
419
671
148
446
563
294
23
663
130
114
765
408
641
28
504
138
428
103
186
462
63
461
980
730
839
187
651
812
677
662
885
500
861
732
604
180
844
237
110
318
230
392
873
608
16
363
138
622
592
876
900
366
165
881
779
104
384
395
641
581
818
606
153
681
240
184
532
122
228
671
92
910
900
18
37
47
696
858
3
316
97
918
967
401
746
559
83
871
971
761
228
820
874
573
460
414
991
233
262
572
20
615
664
263
402
123
900
10
578
242
367
615
109
67
30
646
432
889
338
898
593
67
576
219
725
820
310
971
472
483
114
827
84
36
236
919
578
537
289
493
796
571
733
958
916
440
501
478
466
659
508
787
856
554
919
972
191
384
71
208
416
143
660
574
317
70
759
2
664
68
410
151
286
938
28
624
825
943
732
973
180
900
574
71
24
66
901
898
654
524
483
30
796
933
287
493
451
124
150
769
358
786
247
953
427
644
931
610
801
302
353
41
245
845
68
782
100
418
759
334
742
212
775
226
155
264
39
236
354
930
554
424
172
262
523
680
498
630
370
877
815
816
235
379
678
240
855
108
709
530
847
300
371
545
375
384
487
841
235
552
250
724
437
137
847
921
759
155
796
568
935
619
866
790
508
980
879
742
235
794
670
160
131
853
311
545
734
876
620
125
218
345
571
204
744
319
894
877
68
469
938
644
8
70
745
105
28
550
733
39
421
678
839
446
507
547
572
492
769
63
474
982
594
231
580
109
363
203
234
257
226
882
180
448
821
584
215
150
667
780
133
761
460
198
165
798
824
532
735
36
206
510
979
39
521
845
144
301
324
18
931
337
495
910
920
521
422
309
950
601
302
59
595
744
684
13
488
873
765
652
976
964
472
57
389
841
377
182
344
212
124
939
451
489
414
498
217
536
841
253
130
171
954
771
864
475
401
155
532
247
257
243
179
534
247
645
801
118
105
917
407
352
371
979
541
579
836
407
897
88
764
589
923
169
166
923
711
791
987
895
90
320
725
7
927
595
740
167
936
293
63
946
576
874
160
583
39
442
996
128
8
503
923
293
414
617
158
241
180
940
273
957
555
566
103
737
476
304
88
979
386
127
383
162
776
503
964
596
337
775
769
358
202
695
232
522
52
673
982
706
216
973
166
122
816
317
735
758
963
686
855
383
845
464
931
780
624
21
163
530
191
767
890
948
907
848
646
244
929
898
867
944
337
532
885
7
18
536
796
77
596
994
660
204
502
173
999
276
86
356
412
990
344
794
744
788
706
403
677
665
226
621
966
374
515
112
640
577
70
641
19
536
207
733
897
528
628
71
696
366
323
171
274
265
277
161
206
483
812
44
193
435
870
872
24
825
386
805
840
945
178
36
149
419
546
968
346
176
299
238
413
344
24
507
211
888
428
918
280
967
30
466
59
601
135
242
412
857
790
662
253
392
347
306
885
99
541
437
114
107
323
95
119
709
615
604
841
573
222
380
786
646
262
568
374
569
914
617
741
169
528
745
101
937
495
747
258
857
801
869
302
877
656
855
474
634
504
360
494
384
369
87
967
329
536
745
918
527
672
657
12
469
932
236
27
221
709
725
833
292
564
432
556
213
935
296
573
474
176
29
287
148
806
49
718
739
306
286
817
337
249
58
600
273
583
530
732
585
957
847
783
535
345
844
473
497
46
631
445
681
539
941
596
175
637
164
794
328
549
683
853
604
852
860
392
439
648
427
365
15
850
350
363
594
679
356
983
670
824
135
939
584
876
70
786
946
745
301
737
751
557
749
802
663
498
223
30
143
466
661
967
474
491
214
357
572
643
141
175
915
536
277
608
147
654
279
676
8
942
318
506
397
379
805
75
324
39
904
194
998
947
143
431
846
922
915
867
818
257
16
183
890
153
112
86
817
355
38
10
265
522
598
549
141
487
871
22
555
177
758
498
682
815
397
917
12
776
264
622
839
429
396
918
156
160
689
957
445
167
293
729
501
603
99
813
563
746
474
880
73
326
774
265
389
760
480
192
883
322
521
199
621
706
613
453
405
650
427
545
741
879
548
872
471
650
896
227
28
336
706
880
381
797
598
644
363
274
922
469
615
25
950
907
6
308
146
585
541
493
997
70
831
258
917
17
3
449
886
707
538
806
952
141
529
974
502
305
744
597
462
850
937
606
341
5
545
945
43
741
249
53
417
459
72
373
548
965
258
561
634
326
469
556
539
342
653
781
848
909
147
742
585
489
665
868
768
86
312
877
980
670
606
776
244
697
142
681
616
876
35
871
47
457
842
822
713
255
347
436
233
597
820
51
562
63
894
750
850
271
42
553
917
272
9
440
908
882
701
314
709
459
601
32
276
317
654
998
712
572
928
287
374
814
861
507
688
243
20
18
660
926
835
201
817
32
670
526
329
69
696
359
207
592
587
281
939
491
102
612
33
551
888
786
745
571
7
576
598
925
496
747
283
666
947
872
560
730
998
366
461
707
253
445
587
569
245
691
833
266
787
96
140
243
665
851
889
887
661
101
752
903
69
530
582
365
822
205
988
284
487
657
774
771
883
171
995
6
826
641
448
717
275
120
384
591
478
814
30
825
718
966
608
997
960
733
500
69
19
674
231
95
900
923
188
204
695
668
155
513
424
465
931
291
183
346
293
178
842
20
121
965
747
719
937
170
1
424
256
339
289
741
903
843
803
961
171
363
314
229
275
131
929
830
857
667
545
377
993
472
253
940
498
418
863
29
953
980
135
732
166
156
691
191
764
400
999
822
58
537
142
153
938
739
382
609
768
22
462
576
285
824
331
423
800
431
136
370
682
723
751
829
853
17
252
654
548
378
1
700
999
358
717
642
274
67
502
284
840
329
331
671
135
379
380
299
109
893
847
301
450
90
33
661
551
470
247
96
253
335
308
786
603
980
657
303
659
314
607
875
949
802
532
634
396
816
951
142
659
748
451
582
950
88
60
123
684
417
627
683
631
54
74
505
674
475
607
778
293
1000
362
905
233
672
484
212
359
887
999
742
931
358
124
777
476
223
604
178
416
308
820
382
71
905
309
240
139
150
686
309
701
628
670
865
474
324
596
279
359
942
376
357
320
530
43
856
2
879
779
172
175
626
783
528
699
564
838
35
138
969
221
96
69
974
857
576
430
80
865
381
445
745
57
499
705
812
833
207
350
184
19
661
839
726
938
995
106
703
207
229
657
507
689
467
474
352
259
366
548
379
902
825
959
738
782
98
698
386
643
125
332
375
749
864
151
332
415
900
583
653
626
359
876
802
559
629
587
899
690
811
757
935
315
783
331
472
768
145
619
994
974
727
979
904
962
864
241
833
390
302
24
627
590
424
536
837
161
593
308
786
873
888
389
659
402
302
714
45
84
185
806
201
252
950
791
967
355
261
998
385
113
484
101
638
403
119
854
221
712
860
772
159
190
762
992
431
421
452
87
62
447
946
913
597
498
56
401
60
912
94
440
336
197
219
637
61
548
780
981
572
660
860
299
230
10
615
509
332
356
770
732
87
271
912
49
340
547
317
130
283
385
479
477
239
248
282
955
8
565
722
702
228
861
625
972
166
356
384
538
639
813
752
840
896
336
518
266
873
83
287
748
949
803
26
285
492
872
7
618
37
778
767
333
205
996
110
20
517
119
632
155
374
276
531
872
65
143
893
230
893
1
257
409
941
520
6
157
594
225
451
352
661
243
357
626
9
434
226
733
757
79
416
120
210
983
433
427
193
551
888
167
607
576
492
406
179
206
861
339
441
136
452
329
711
22
728
741
449
914
154
178
714
194
16
915
376
597
823
418
377
883
897
505
865
296
710
7
165
251
119
990
673
463
893
292
628
527
135
329
99
770
557
397
86
563
548
431
669
507
487
635
990
737
134
49
930
682
182
448
292
35
594
40
195
248
128
848
747
292
175
406
264
30
51
193
930
304
234
269
3
682
74
684
576
723
938
232
559
740
427
943
20
594
243
306
443
845
332
50
884
489
273
148
487
759
846
722
911
701
518
704
31
162
150
195
781
22
955
164
418
364
120
592
970
616
817
773
360
98
156
407
941
837
116
213
341
72
816
519
814
568
278
944
724
281
190
778
324
704
174
648
278
404
191
85
337
382
281
356
897
350
222
938
668
256
735
623
120
302
909
791
667
247
526
593
513
440
92
434
762
828
656
460
176
29
285
604
968
654
394
158
663
819
435
333
699
354
954
149
517
507
805
661
46
51
751
761
397
131
339
125
996
379
238
936
321
968
968
163
31
765
229
697
539
961
679
34
154
438
282
477
24
603
54
537
207
787
141
650
889
915
326
5
929
536
307
629
693
834
878
635
141
87
298
577
814
422
686
471
769
611
527
545
545
485
522
838
734
195
736
518
382
949
134
985
865
995
521
970
754
909
651
148
693
326
439
671
777
559
95
197
533
533
397
383
725
643
143
868
301
16
304
612
785
154
6
263
88
664
247
334
175
31
808
473
783
99
696
787
947
203
173
903
682
739
92
386
451
431
819
156
289
989
761
187
775
412
886
114
249
162
327
56
909
877
759
302
784
212
325
255
153
20
635
140
866
548
628
538
561
925
83
255
324
178
965
524
779
868
295
144
818
321
464
91
116
865
194
62
848
160
599
377
795
645
210
841
872
764
528
997
615
967
440
883
604
582
415
252
364
473
879
828
664
398
404
626
955
405
493
850
270
801
733
870
455
913
874
961
146
844
775
481
571
181
586
599
187
495
508
664
735
806
583
951
104
317
276
640
189
457
96
712
223
592
673
332
7
632
933
566
700
572
943
363
913
74
461
992
833
646
997
260
167
567
952
97
657
1
23
130
170
49
248
911
213
315
827
359
970
217
351
312
822
580
537
689
836
792
195
427
819
97
539
159
619
648
839
38
694
510
512
597
201
16
836
61
110
941
175
869
733
998
335
252
469
781
806
994
889
377
648
324
471
368
191
926
714
68
540
836
448
987
84
727
895
310
316
373
824
684
796
135
196
542
190
924
518
237
217
579
54
486
177
848
626
590
663
773
428
36
177
255
216
342
972
853
760
122
813
841
564
898
445
228
917
357
689
256
611
84
860
190
336
60
123
627
285
148
886
261
336
892
378
896
299
226
153
171
664
133
896
760
935
43
964
146
873
75
927
381
742
472
627
233
286
522
351
577
670
829
558
298
183
223
108
883
436
348
774
406
198
650
939
307
332
266
327
909
823
660
529
548
680
379
851
351
442
289
780
245
222
104
678
400
296
886
387
619
194
198
232
748
66
332
925
327
391
423
376
78
445
837
32
250
135
341
325
613
269
913
675
182
473
30
938
418
254
949
703
303
568
450
187
432
231
903
458
919
826
147
729
802
921
474
767
953
293
2
670
166
82
223
952
353
878
280
983
751
649
751
31
468
345
699
383
628
166
874
104
127
771
453
590
703
739
673
636
612
724
802
327
816
341
311
475
327
856
989
383
502
970
717
912
74
154
24
451
636
173
566
303
995
966
671
328
387
729
417
932
514
430
872
684
197
205
244
522
611
79
753
384
587
649
428
718
533
850
796
963
652
556
275
987
784
472
166
319
507
470
514
929
690
895
953
245
26
276
90
787
974
909
671
893
918
159
68
215
975
869
194
524
274
700
178
533
190
21
204
346
126
633
158
236
771
297
241
478
316
755
72
747
276
809
226
228
87
200
497
327
860
768
430
340
95
335
610
581
264
881
916
225
979
485
442
389
371
255
342
488
938
332
846
789
557
796
541
231
59
924
432
923
205
578
253
857
784
447
304
388
544
919
975
862
315
819
398
104
86
691
978
335
773
675
167
523
231
541
270
849
797
946
966
297
710
258
330
207
215
41
268
477
686
304
15
901
806
449
175
381
412
374
148
753
701
374
230
722
438
656
927
390
505
55
616
56
577
738
217
55
653
742
522
654
336
761
514
140
857
715
726
791
978
318
579
186
717
361
638
750
418
591
422
644
896
492
608
333
703
465
660
713
201
76
589
418
244
809
127
300
496
229
228
747
949
717
572
673
657
41
154
280
74
157
411
168
958
813
964
15
903
53
634
311
585
601
969
992
536
942
450
831
14
336
473
750
411
468
602
436
272
117
81
316
233
697
731
836
52
482
913
745
771
677
217
61
696
233
444
685
253
920
187
243
604
575
762
12
871
305
531
938
42
314
71
662
699
635
877
766
428
221
853
536
43
66
428
788
711
498
963
525
197
149
715
420
666
727
58
274
746
837
915
936
750
798
216
479
548
75
567
151
643
734
970
137
410
680
359
797
530
756
801
704
617
534
690
234
191
119
199
293
849
621
232
458
714
13
168
70
837
489
800
949
755
689
203
294
785
293
513
254
268
552
927
823
638
277
354
695
838
760
174
582
789
880
498
521
895
990
148
210
703
305
234
30
367
507
876
123
375
85
577
241
920
2
92
172
119
759
221
753
403
684
563
674
933
467
539
815
240
711
441
181
47
477
393
288
31
778
585
523
628
386
153
441
269
601
929
452
747
601
204
205
515
994
214
766
50
67
970
864
225
397
131
161
887
446
595
995
551
940
757
7
52
943
950
726
553
37
629
722
110
444
244
793
129
383
301
991
819
326
543
865
964
674
665
79
368
815
341
357
963
221
418
599
121
781
526
543
243
681
337
593
938
762
64
444
259
606
426
971
755
741
560
919
547
193
794
828
801
907
934
705
370
202
983
906
186
757
615
349
552
263
443
294
733
442
506
255
337
732
553
746
426
644
485
254
875
627
984
149
449
162
517
642
503
623
125
398
323
49
382
464
82
155
78
860
508
172
792
875
909
746
561
938
536
927
227
195
165
660
718
594
803
31
48
95
526
378
981
214
75
468
604
114
89
480
645
819
224
845
24
580
841
359
531
583
669
278
246
205
762
762
168
30
91
918
623
39
147
39
528
496
50
190
950
265
31
8
123
104
362
772
261
997
798
212
735
78
201
571
682
390
403
735
193
819
851
746
236
731
353
887
297
907
198
12
327
90
240
762
829
542
950
402
62
563
724
112
761
379
92
558
804
76
640
127
159
146
834
495
59
184
815
952
631
492
197
788
984
438
269
460
985
424
332
437
18
706
601
785
506
286
717
547
568
53
865
736
569
901
607
429
982
309
570
997
687
939
837
893
94
836
153
144
780
463
149
485
290
138
164
364
481
146
766
865
509
399
725
839
381
950
666
283
930
415
524
914
616
96
698
870
308
82
91
588
574
52
160
69
359
367
900
822
299
845
717
612
150
968
906
841
91
454
689
544
427
859
722
96
260
274
218
616
162
964
791
672
678
841
568
878
297
63
238
570
982
598
733
944
459
669
628
939
256
2
157
903
837
120
560
823
855
141
950
245
415
584
342
727
532
185
819
464
963
750
804
877
423
510
762
296
62
110
847
750
877
319
587
348
705
16
583
219
498
638
34
850
708
500
829
189
933
146
722
884
181
806
930
241
844
355
76
288
352
226
971
47
629
383
661
295
129
853
54
603
263
11
664
614
769
935
641
328
764
938
929
804
385
569
34
279
465
85
934
960
889
611
212
208
6
835
444
931
587
231
346
770
285
875
890
107
380
486
691
568
962
612
415
292
171
480
746
426
129
463
837
451
305
964
209
875
297
902
240
595
358
590
1000
462
974
579
70
342
188
803
925
796
37
62
698
260
363
464
209
526
572
258
663
248
619
335
642
979
976
349
981
943
274
460
610
443
786
143
904
226
674
254
938
401
348
167
908
833
264
54
942
332
912
393
131
233
64
16
616
826
427
188
511
152
3
783
122
236
53
784
184
739
909
929
397
414
218
8
991
853
336
131
745
177
23
894
403
898
443
775
888
73
416
29
579
239
333
747
208
193
363
804
143
842
574
598
791
773
912
749
808
1
181
308
581
159
87
442
980
844
431
753
346
943
117
53
512
38
401
413
34
68
931
175
918
673
912
389
564
499
336
99
610
617
74
311
961
926
342
374
960
535
921
63
541
610
489
177
121
534
57
734
166
520
655
470
274
463
860
444
202
788
79
347
27
158
316
809
357
403
859
626
361
536
94
589
431
215
241
378
773
330
536
127
348
43
538
640
494
122
893
433
808
547
287
63
333
31
287
267
131
624
741
818
909
922
917
91
126
811
542
299
239
655
11
232
171
808
606
198
736
584
940
739
472
117
869
673
703
353
646
862
69
891
776
12
145
361
790
893
754
796
849
467
254
168
915
842
878
827
79
901
752
170
748
664
115
20
737
5
694
472
984
747
327
172
903
40
593
881
51
874
795
167
961
898
318
368
509
583
84
633
591
848
277
534
110
89
101
520
476
194
509
522
443
906
504
428
457
1000
95
644
387
108
378
595
744
791
501
390
253
406
78
271
43
405
23
802
690
179
725
285
581
791
202
345
727
298
732
846
283
390
543
892
497
827
161
1
415
622
716
475
912
716
835
409
600
661
728
571
750
342
226
596
125
885
310
877
331
367
577
563
699
293
105
565
193
536
776
895
318
755
580
294
11
831
119
509
650
911
393
644
324
30
361
837
776
190
73
209
665
994
169
938
924
591
156
997
795
464
465
133
125
928
852
45
481
631
564
465
564
860
522
744
780
365
32
656
552
82
249
838
591
794
333
114
55
651
504
442
47
814
334
638
6
733
712
20
849
221
515
388
511
305
498
434
473
954
798
347
715
488
519
668
112
554
383
665
441
982
432
557
207
123
508
498
580
708
29
709
59
13
704
262
254
255
101
730
695
431
99
501
910
895
536
288
670
527
316
514
206
771
957
324
208
617
869
974
31
996
353
870
63
150
661
698
371
251
677
287
650
403
168
349
758
741
341
935
849
922
562
24
972
19
280
728
650
160
549
197
161
579
280
710
174
792
794
699
266
871
92
578
726
878
800
172
587
91
31
994
251
841
528
275
191
642
161
925
927
389
404
991
515
75
834
483
324
511
574
33
438
567
343
429
217
535
196
520
312
409
819
214
666
607
571
456
183
120
677
329
97
830
162
8
88
483
368
279
676
311
751
362
205
378
8
646
868
991
377
903
374
946
495
694
166
146
792
588
163
31
687
880
888
252
320
582
278
979
600
227
499
388
627
767
766
927
346
322
856
166
341
534
561
955
971
260
228
338
349
924
299
552
315
707
234
404
143
392
593
97
8
304
80
218
985
235
269
45
326
472
424
132
915
717
740
780
70
90
202
161
400
430
755
891
873
153
926
838
883
156
537
129
461
456
935
728
844
598
21
794
693
561
815
595
907
662
939
53
87
682
256
390
742
985
915
861
867
191
719
393
352
20
598
747
770
405
882
320
680
503
296
99
180
709
911
950
589
875
790
831
419
344
746
236
749
841
553
880
539
954
112
697
271
904
335
55
749
276
615
647
931
5
894
770
333
209
267
501
854
578
211
389
670
30
46
828
69
83
160
17
305
739
671
970
433
621
440
679
937
448
118
780
155
199
76
308
275
500
772
359
220
250
518
301
141
615
829
951
303
419
632
142
434
393
483
907
343
982
797
104
686
321
45
30
1000
723
701
932
228
459
265
804
505
10
168
16
816
494
65
73
510
554
13
852
887
313
825
263
176
654
885
415
945
590
450
196
8
227
481
843
996
535
404
33
25
545
731
237
795
170
444
869
841
537
579
626
883
122
627
221
515
890
741
444
716
20
558
454
998
879
653
959
500
560
943
896
936
940
486
946
437
984
177
159
394
240
222
777
327
925
164
430
967
741
440
820
908
616
992
558
698
328
554
416
296
417
466
978
575
627
440
373
898
733
466
552
747
477
274
275
7
555
811
753
810
103
537
702
659
876
781
686
611
964
764
468
43
539
842
294
770
659
745
270
239
247
379
428
260
847
453
645
611
395
178
696
928
302
977
160
931
203
74
824
65
65
410
866
959
315
805
417
861
468
303
801
585
79
825
718
457
41
88
79
145
878
83
962
457
521
630
219
385
863
504
358
754
518
630
863
661
105
70
509
52
457
751
471
517
337
840
515
7
698
427
893
417
433
886
861
887
907
834
437
93
838
357
709
794
195
171
903
323
395
214
32
812
883
263
416
692
818
399
590
356
628
734
915
996
222
331
917
955
793
622
339
375
69
789
455
790
712
922
661
404
333
834
453
329
695
953
618
578
545
985
515
930
776
602
421
821
982
170
394
124
610
634
749
995
632
335
21
715
152
897
739
987
333
621
537
710
887
655
628
335
202
444
858
405
290
532
285
976
607
221
79
214
219
287
159
103
332
576
458
197
159
413
690
700
204
796
416
585
282
276
877
447
598
66
924
56
626
166
221
263
404
471
511
104
676
976
11
160
262
902
268
358
286
943
858
913
373
699
731
931
490
684
264
127
72
932
654
673
107
109
815
107
231
492
832
394
895
256
186
361
471
355
903
912
945
1000
929
774
432
513
698
899
100
363
583
954
633
229
824
298
759
2
640
650
993
838
981
864
255
712
631
527
340
489
799
261
818
788
727
967
610
267
303
518
722
565
293
500
430
680
132
141
429
198
218
939
225
943
435
330
72
479
448
14
294
568
416
193
628
692
968
754
608
322
392
808
729
616
97
657
527
521
845
667
435
479
776
656
223
253
104
778
357
739
300
817
945
458
162
199
853
481
578
958
42
175
164
663
700
700
331
41
443
594
483
743
570
277
787
298
111
106
939
470
271
455
93
891
919
954
982
136
852
303
328
760
426
414
217
991
729
475
575
431
249
645
477
392
576
880
868
698
840
563
834
929
321
401
675
187
391
934
161
501
557
127
325
226
862
588
493
673
694
238
838
640
353
365
959
822
747
235
777
479
951
562
390
248
992
218
652
52
958
165
939
137
123
375
751
531
141
10
223
472
89
104
320
970
48
291
420
271
972
943
951
651
792
566
126
683
701
714
446
234
779
786
474
266
746
730
593
533
551
72
490
730
999
310
870
385
567
427
142
665
153
809
352
657
612
310
865
289
923
252
792
148
879
37
634
497
32
452
908
396
122
863
692
900
365
539
191
132
482
3
743
875
512
940
207
70
445
9
616
934
718
140
240
655
234
457
852
673
659
88
301
373
8
77
885
844
911
290
800
632
329
515
419
785
880
646
909
538
351
623
16
290
241
210
925
8
960
843
253
812
809
519
429
558
201
434
157
114
578
324
154
854
603
366
756
541
884
824
534
110
509
561
451
728
243
484
307
539
418
177
777
823
337
372
595
58
775
636
342
146
226
407
346
522
733
809
344
168
104
126
172
383
511
119
593
136
294
310
802
953
707
998
494
816
93
723
246
273
905
983
761
459
244
959
298
589
127
43
86
899
556
933
761
842
815
526
777
428
199
883
314
518
398
682
517
205
117
683
710
609
403
62
652
489
524
750
237
903
797
542
177
550
785
401
101
814
264
927
443
77
862
249
901
351
367
314
482
721
519
811
44
248
167
251
94
122
509
896
49
382
977
625
89
13
566
299
685
323
839
269
686
342
246
382
855
394
468
492
215
448
525
795
407
777
581
847
507
514
676
112
880
716
433
920
396
637
707
23
491
297
489
953
882
437
563
393
736
174
288
694
639
140
705
4
523
434
275
445
158
740
398
633
526
958
241
741
932
295
535
658
54
396
967
492
896
274
953
102
307
834
76
544
650
151
883
472
298
205
962
238
969
188
808
577
144
696
918
327
296
54
469
324
555
957
322
605
638
359
620
395
41
773
17
499
43
342
473
695
404
616
438
722
881
632
701
482
520
262
948
968
879
413
907
866
152
495
615
481
109
802
839
200
822
249
243
319
661
918
985
249
524
991
682
955
496
158
571
198
473
875
827
86
775
449
762
350
307
813
29
498
833
553
517
350
234
220
972
575
89
628
520
793
488
368
30
392
636
527
555
666
822
122
305
124
498
778
407
835
335
439
756
6
727
316
52
676
814
917
73
411
150
924
489
28
297
465
657
708
450
783
16
201
447
172
378
22
308
146
960
925
275
612
984
78
203
85
115
629
296
31
799
996
90
35
615
22
800
133
820
707
50
967
252
748
747
466
418
789
736
31
396
317
2
140
116
808
518
807
577
777
826
742
164
923
489
581
747
260
90
471
739
116
273
56
656
550
17
33
19
906
577
955
810
730
224
125
628
197
848
668
588
234
943
612
68
717
4
100
876
584
12
998
459
311
239
285
784
547
113
723
889
839
143
453
851
101
642
881
146
581
846
382
228
673
680
416
261
347
50
332
59
469
701
224
882
342
20
210
219
104
109
239
473
299
649
119
492
503
310
101
400
687
247
927
472
43
887
625
442
452
486
909
268
57
178
896
247
985
611
267
838
158
269
9
138
408
258
828
280
719
491
22
725
878
884
415
319
424
480
260
806
809
641
212
478
905
507
963
845
71
670
392
334
187
926
552
685
36
694
175
219
946
287
979
505
783
617
413
924
559
42
74
817
553
231
12
925
229
214
952
207
636
727
127
642
685
317
283
927
629
718
167
68
569
188
925
841
120
151
295
816
794
880
317
429
436
188
949
379
342
60
848
125
899
169
853
538
680
339
797
11
496
295
630
373
170
87
838
291
568
262
657
863
337
270
724
569
143
623
671
710
397
271
203
544
458
251
983
758
457
266
879
702
323
88
257
14
103
939
658
153
966
354
691
608
259
955
787
638
339
41
66
27
120
664
675
15
342
544
520
338
429
192
661
324
34
25
576
163
303
912
486
115
768
507
702
731
841
650
511
834
157
745
163
10
796
150
50
930
228
89
521
339
258
743
782
192
539
21
650
467
907
356
791
569
650
697
255
882
700
450
152
579
309
398
788
745
496
257
456
964
337
415
556
450
100
685
669
66
750
855
537
782
734
422
49
639
638
465
430
378
152
596
193
729
575
50
673
52
474
563
87
951
515
459
584
649
127
179
787
965
900
474
132
960
689
930
800
1
611
695
370
439
585
410
524
906
540
876
914
580
631
488
144
809
869
317
635
976
767
249
268
812
690
395
385
476
730
598
660
461
763
91
763
687
160
140
507
700
778
801
637
854
783
54
618
461
754
325
38
608
775
761
915
311
786
558
15
246
219
333
720
510
714
465
290
212
319
164
35
53
267
210
845
438
68
776
74
567
541
793
230
727
232
113
432
860
312
920
737
698
407
265
825
328
843
741
664
112
304
236
354
270
711
559
344
639
481
843
593
256
181
217
742
962
845
162
647
207
468
742
705
543
418
413
862
683
188
716
397
404
217
883
638
857
59
161
972
805
989
308
768
67
950
896
256
65
217
876
675
199
16
407
829
910
378
797
444
773
508
192
234
479
572
218
314
58
177
187
374
477
55
186
265
750
127
334
928
40
397
122
624
968
797
500
428
183
806
531
769
662
91
977
827
190
215
929
959
708
102
486
578
752
354
34
649
692
896
89
126
35
948
903
973
153
856
143
648
177
611
172
912
314
305
512
935
424
465
795
229
298
729
475
149
209
37
561
775
181
464
264
300
891
745
3
357
439
889
909
194
449
358
106
303
380
419
230
395
103
972
72
439
889
802
691
735
228
641
191
298
979
192
237
625
60
849
154
801
335
287
11
443
304
209
496
542
821
700
883
803
136
652
952
456
821
399
62
459
74
785
368
142
255
545
580
892
750
486
307
723
296
703
450
643
88
658
808
761
401
718
960
996
945
647
343
156
665
962
205
952
976
257
13
726
107
40
355
164
631
24
681
873
918
703
19
13
110
261
622
824
314
774
628
938
778
476
901
702
516
948
973
13
82
985
953
432
298
162
361
33
850
835
409
90
377
649
722
77
667
445
517
947
922
301
899
556
903
322
143
392
662
674
441
257
801
43
514
502
857
983
555
971
40
821
367
964
38
994
784
394
197
72
100
565
827
611
491
463
444
119
615
784
447
591
706
351
580
707
499
590
612
523
671
324
472
993
402
958
372
400
249
168
753
365
533
924
87
168
140
914
250
494
473
171
746
706
753
765
302
684
457
378
631
429
621
490
801
27
41
757
620
193
436
433
145
998
509
704
51
817
661
670
790
865
87
985
173
63
252
299
454
996
283
613
240
335
678
92
396
153
374
435
716
176
177
521
465
217
409
420
996
398
751
874
424
947
909
250
783
438
842
172
88
309
371
808
311
878
609
703
343
44
290
551
791
172
151
797
741
518
152
15
122
849
850
857
383
720
831
185
199
607
424
593
327
631
890
279
972
37
983
589
186
305
693
817
689
949
490
700
602
959
913
935
792
894
876
800
980
268
414
896
125
140
788
350
613
567
978
463
857
188
757
294
353
498
379
408
508
723
55
791
214
867
431
276
856
803
300
276
654
466
929
727
289
575
819
712
707
499
863
93
425
732
87
144
126
275
262
87
194
467
993
175
345
442
943
462
192
408
329
664
76
5
52
870
553
569
358
469
123
177
616
423
125
492
52
144
606
360
174
12
663
549
797
516
698
437
869
988
158
782
97
856
820
913
138
979
367
34
888
793
807
146
827
922
489
113
566
793
609
689
160
128
507
692
742
179
813
897
777
954
420
296
648
204
367
213
648
88
3
766
443
20
343
352
197
592
144
819
646
638
334
559
79
785
699
602
640
761
68
934
213
261
979
513
724
264
233
301
281
683
75
113
366
209
643
407
827
944
535
122
680
876
544
201
149
74
674
563
79
543
534
49
180
983
487
505
612
22
399
257
872
592
622
266
585
789
227
416
43
690
416
549
671
944
22
418
950
967
115
865
94
8
868
104
257
23
77
894
630
359
229
16
691
461
725
214
487
573
256
660
903
479
1000
570
706
577
539
714
735
968
8
324
945
7
290
74
626
459
79
949
194
391
395
882
337
623
426
480
79
672
435
379
4
242
924
395
525
83
717
95
812
930
789
854
236
737
322
639
422
921
720
500
981
839
423
258
386
698
510
617
912
107
534
514
102
696
72
647
386
744
859
377
754
874
642
631
605
198
621
263
78
886
607
985
854
139
436
870
660
130
61
92
704
906
153
29
423
196
327
568
290
541
683
58
73
189
62
638
34
73
88
261
754
69
155
884
157
200
830
669
222
893
228
3
513
891
211
228
615
490
360
763
626
78
24
138
42
119
985
55
940
754
281
631
424
378
245
111
358
499
995
302
255
620
726
309
883
405
559
202
908
146
934
338
708
812
253
277
747
714
288
819
5
163
13
925
834
712
759
972
825
107
554
110
458
113
823
28
948
140
497
61
438
467
882
825
505
797
57
177
883
527
152
968
627
890
245
162
311
668
170
96
141
641
700
736
221
956
639
285
539
595
529
234
844
799
952
730
239
414
763
367
965
509
276
409
129
466
788
614
885
177
284
840
805
562
735
62
966
714
811
892
479
371
5
379
955
471
134
979
148
435
321
588
815
950
918
819
31
307
304
390
585
293
701
28
82
205
594
333
621
89
712
771
697
187
691
450
347
258
705
520
978
304
26
627
135
217
974
59
203
956
249
698
420
180
278
144
766
566
15
307
826
311
918
868
183
949
534
746
734
423
246
460
285
539
712
664
926
541
57
378
395
428
808
921
212
867
704
392
14
383
721
991
324
794
627
914
721
569
703
242
53
244
37
574
191
552
916
258
568
718
291
823
647
874
39
410
436
831
793
157
793
196
54
133
773
259
610
361
195
624
763
288
591
545
996
283
712
193
275
5
687
649
697
601
434
693
642
548
433
642
877
930
570
355
419
457
250
204
134
548
385
937
768
946
409
113
276
794
959
18
812
622
699
833
85
487
95
222
143
285
278
917
649
227
825
1
716
356
495
814
17
520
329
987
820
262
388
782
866
355
331
844
408
841
875
983
35
857
83
369
597
390
125
756
796
848
655
467
981
969
862
169
171
864
91
925
569
606
295
844
767
272
413
559
687
711
550
683
981
342
127
594
498
625
598
934
743
837
13
855
345
220
774
400
433
664
160
569
161
353
17
190
742
665
833
172
285
814
642
834
486
515
355
819
45
848
482
630
227
800
663
559
924
571
620
879
717
267
74
780
166
577
645
826
244
335
653
723
499
561
214
35
709
587
721
158
175
302
800
811
133
114
12
602
658
872
279
959
499
160
728
840
65
864
337
865
162
717
906
443
665
271
40
995
38
438
294
559
876
350
776
305
779
249
245
301
386
555
850
499
555
56
19
384
718
953
14
581
610
458
446
177
406
478
933
89
504
469
565
884
111
7
401
59
835
6
470
733
797
892
635
389
549
473
788
216
554
422
459
783
764
638
374
112
78
628
823
883
716
818
582
792
929
160
729
801
326
987
902
69
934
960
889
350
32
417
460
522
740
194
167
877
345
846
239
842
640
17
795
399
492
426
21
777
280
847
887
680
874
800
479
356
785
931
605
94
363
538
869
899
471
171
748
435
616
251
645
992
132
886
227
435
351
538
104
777
543
665
6
821
841
379
847
617
126
64
929
434
942
767
348
931
887
219
255
1000
763
666
959
530
947
421
629
409
95
275
913
785
952
922
137
699
250
491
927
971
705
850
837
145
560
680
529
904
262
963
303
292
582
204
865
816
297
960
242
936
558
882
705
38
537
758
312
430
376
997
75
153
265
952
297
336
592
558
48
259
9
972
878
697
794
701
951
862
525
887
460
117
349
547
975
833
908
119
577
198
934
626
958
99
841
674
601
999
30
345
628
713
644
385
890
358
632
948
280
590
933
137
915
751
641
924
779
256
250
229
998
453
573
314
199
548
966
4
231
562
367
146
738
47
117
247
739
759
836
309
316
19
541
158
747
252
383
304
982
489
597
366
199
998
398
975
335
172
633
566
680
563
723
467
962
357
402
449
787
744
266
912
11
160
918
464
155
992
255
607
36
757
483
237
572
699
388
196
924
753
969
108
288
516
203
814
564
934
779
510
91
707
525
429
135
657
519
764
934
565
199
597
556
878
446
770
736
879
664
397
653
648
270
535
180
290
149
372
887
923
330
112
967
353
610
406
26
727
914
378
508
112
462
803
943
491
429
172
514
958
176
679
455
276
5
129
733
877
926
599
930
138
412
200
650
212
743
277
993
701
234
816
166
167
658
377
697
700
220
408
434
287
96
629
445
108
452
525
547
727
239
252
282
986
212
309
657
831
56
325
518
701
991
727
814
743
237
509
438
51
162
279
278
908
255
213
282
304
521
127
315
284
248
810
526
578
587
539
521
164
96
476
497
580
103
727
805
847
338
968
237
721
92
979
182
505
711
33
345
687
385
615
847
793
596
39
381
844
961
569
330
104
842
691
709
90
750
173
615
392
791
943
106
616
789
426
457
938
279
639
599
349
987
330
762
429
948
999
476
58
625
555
739
922
611
109
669
666
870
358
995
808
334
312
216
467
235
817
429
385
626
827
963
495
440
444
460
484
751
457
370
424
955
796
948
13
443
663
787
252
453
197
700
354
737
856
319
393
254
300
654
810
908
864
879
808
985
558
679
853
686
511
835
911
669
344
468
854
847
997
614
530
613
762
91
272
671
520
61
967
612
131
984
618
40
883
484
742
323
379
161
210
835
290
93
510
10
453
397
20
934
920
544
624
15
140
950
203
721
422
306
747
585
552
472
945
144
984
393
26
548
538
323
652
302
301
78
402
463
246
550
174
295
420
491
922
122
664
406
387
436
165
228
877
555
870
534
411
748
659
95
568
636
790
420
410
507
177
339
24
453
852
716
850
997
49
898
875
297
678
341
59
487
318
79
998
938
893
508
841
154
748
652
141
861
799
778
341
801
351
784
739
172
324
599
807
14
806
296
949
792
380
161
4
837
233
59
100
277
191
245
552
109
527
8
354
640
274
65
235
84
333
693
930
34
6
566
445
296
20
786
170
999
605
231
614
688
595
637
935
511
510
300
333
310
62
329
516
211
849
669
25
229
357
1000
152
207
167
467
400
375
554
21
659
904
889
190
466
947
797
649
444
901
137
696
619
136
573
138
94
712
726
983
987
520
364
995
650
359
320
420
8
646
479
789
123
777
867
121
556
583
179
87
853
79
531
142
303
382
296
357
247
216
511
454
998
53
538
91
364
356
856
835
470
301
811
502
463
578
546
365
865
595
176
754
418
577
360
528
330
601
933
470
597
999
556
338
409
540
991
82
9
42
952
881
693
115
729
438
436
921
733
215
102
327
368
776
923
608
999
20
932
537
1
106
597
798
678
598
339
122
162
924
983
514
233
240
601
755
973
732
375
824
776
884
415
742
405
154
681
632
538
824
592
76
692
301
338
189
224
378
822
559
225
576
672
217
111
401
814
776
57
504
132
288
985
234
192
71
151
734
798
115
681
804
374
770
81
864
867
860
928
396
786
165
800
950
9
636
412
922
930
279
796
762
692
891
909
901
667
779
355
804
99
289
735
275
76
305
951
330
323
300
107
900
889
431
696
933
902
300
326
487
663
942
111
911
640
600
153
109
25
257
531
832
912
769
931
8
829
986
728
811
389
158
644
200
966
90
469
694
717
313
929
478
356
287
280
205
390
131
362
809
908
510
7
51
961
814
952
922
543
345
560
385
660
11
205
243
376
596
726
269
297
455
869
69
359
694
599
797
293
788
547
890
518
360
887
801
493
288
827
12
28
483
303
606
861
545
695
852
552
403
316
587
259
675
733
556
285
800
818
804
410
956
750
447
994
464
463
476
927
672
991
247
654
735
819
809
875
253
202
81
486
902
917
517
460
973
118
288
718
149
769
667
540
595
555
580
222
927
885
882
408
343
832
900
937
609
30
344
217
655
425
110
222
655
855
638
808
18
977
811
360
788
192
798
610
695
148
979
39
310
749
212
784
74
600
719
5
796
379
61
279
102
672
565
212
603
689
194
460
545
695
977
409
751
980
493
311
435
28
489
380
854
700
801
130
71
349
33
266
123
36
209
777
106
781
41
745
545
39
819
395
196
391
363
918
671
215
668
849
625
74
553
331
259
355
298
803
988
447
3
348
697
504
215
20
100
146
903
856
503
32
764
83
791
164
974
766
309
622
731
498
150
143
380
245
410
534
617
764
835
796
747
453
405
641
276
504
347
980
765
352
610
885
579
211
158
939
623
911
437
298
231
742
578
844
147
963
754
583
359
409
986
827
847
747
350
744
426
438
680
553
232
529
968
833
153
698
937
832
489
983
482
85
762
260
540
86
310
269
454
391
371
427
424
359
384
8
51
105
381
206
584
884
185
125
647
772
342
743
822
600
695
94
534
523
771
874
787
980
42
578
94
609
679
864
798
236
9
823
454
221
25
564
712
379
636
105
994
46
917
702
578
67
809
136
201
665
360
44
454
991
166
474
31
216
899
504
328
49
368
400
669
585
342
627
758
251
785
856
3
947
906
446
137
159
271
274
197
132
820
758
290
101
535
146
213
47
66
182
500
279
338
434
406
7
543
4
24
437
797
965
172
420
655
874
131
643
889
39
639
809
476
137
370
157
637
244
383
746
928
265
916
930
626
647
528
153
248
315
75
726
399
521
111
554
552
672
501
794
974
959
92
529
753
75
417
504
702
270
119
383
613
951
254
321
531
28
739
450
136
898
857
528
201
254
63
781
120
619
537
640
835
581
351
93
585
196
137
37
583
904
430
673
865
717
81
93
282
782
302
732
633
210
168
425
785
413
591
50
924
541
498
321
664
31
371
12
874
75
33
446
692
516
491
912
490
445
93
974
464
670
764
759
725
573
564
475
526
905
410
251
375
28
328
323
523
430
92
559
902
351
793
467
289
294
138
16
790
820
991
725
168
322
727
488
670
355
239
4
73
817
469
639
55
803
869
856
321
141
134
911
611
745
591
832
84
900
787
3
766
335
371
956
710
663
223
444
346
992
876
571
687
83
734
240
107
206
287
924
117
273
626
456
632
507
972
810
299
54
475
121
210
828
85
805
873
607
852
211
600
885
60
950
720
304
988
382
278
1
941
941
810
453
373
511
619
890
422
319
43
864
217
738
876
918
331
887
746
287
780
913
166
579
446
728
991
115
381
45
590
456
255
404
383
564
352
759
37
508
308
551
501
6
314
136
350
371
443
765
834
281
560
700
987
575
625
169
929
18
741
778
988
211
673
49
313
199
331
36
854
206
554
534
294
480
636
92
120
751
77
943
912
89
150
777
147
802
715
470
792
345
116
548
687
12
695
807
31
853
36
161
740
244
52
68
807
393
841
905
394
277
913
901
720
272
965
518
809
254
151
944
346
645
543
569
847
897
443
326
70
145
671
119
48
62
602
7
138
130
284
667
11
463
887
638
620
374
750
586
143
122
914
977
919
184
993
139
955
551
134
176
250
827
414
580
650
97
872
735
467
964
70
311
468
561
145
404
301
583
135
280
585
998
70
712
223
684
475
833
778
452
76
660
464
246
772
469
100
293
166
80
931
72
871
672
760
338
949
472
685
655
546
912
404
531
146
866
1000
612
260
522
367
908
543
902
259
171
407
112
230
310
616
416
417
519
15
753
764
582
320
835
334
283
174
390
454
602
625
546
729
29
877
36
173
747
763
332
514
272
544
23
264
396
142
55
13
87
734
66
833
266
346
64
261
910
368
801
559
987
321
608
411
604
854
698
215
789
737
100
922
60
105
410
161
126
134
416
221
775
138
374
831
24
322
40
827
838
680
517
847
446
355
20
757
976
524
479
631
301
284
868
464
27
886
147
306
87
10
452
95
20
898
867
820
507
648
823
168
378
926
251
37
392
333
751
203
760
650
818
631
750
816
180
16
609
185
804
39
899
821
361
631
343
117
817
875
427
263
918
141
897
433
350
819
121
384
293
74
628
540
133
720
517
738
967
613
198
575
175
378
703
648
138
791
308
800
368
367
270
705
597
475
53
757
190
22
8
17
21
525
176
895
979
316
244
818
468
646
52
149
957
932
224
790
27
730
642
778
858
728
810
851
230
934
517
648
401
257
789
217
523
86
358
576
418
682
802
879
337
307
452
125
63
408
192
581
561
756
593
445
458
372
651
223
388
100
114
61
637
71
921
9
858
175
360
362
356
132
409
50
618
578
270
756
610
971
72
65
888
998
599
713
135
408
338
576
478
513
487
825
794
564
644
781
591
82
75
911
541
945
216
93
551
608
341
187
754
204
92
553
183
601
336
333
776
493
381
161
74
398
656
658
491
677
276
96
928
944
112
839
237
159
804
422
702
837
84
380
500
40
47
694
756
376
27
334
363
321
191
138
937
750
441
464
820
47
839
360
891
366
64
340
417
165
709
865
20
413
429
471
662
541
449
304
16
771
618
659
978
70
395
419
3
947
537
578
486
509
711
15
498
356
300
492
129
631
365
784
563
438
177
844
44
150
26
870
271
706
748
617
440
148
884
67
396
905
779
833
633
73
347
967
545
27
941
463
148
158
818
556
697
913
713
96
342
767
463
907
95
410
312
95
569
800
69
982
996
599
893
415
350
642
694
699
439
932
424
699
681
656
966
259
157
192
116
943
367
256
478
306
827
860
419
555
687
430
102
321
403
146
816
354
927
722
861
879
87
46
535
503
395
773
192
959
735
88
895
744
137
655
792
505
26
748
733
775
824
663
901
426
207
283
811
123
180
608
445
492
508
911
787
829
980
227
552
914
946
579
3
145
817
509
87
668
969
363
749
29
801
559
423
253
356
271
828
405
13
13
267
644
618
364
649
651
445
807
105
753
99
72
300
283
283
14
908
98
24
649
84
455
340
899
9
481
161
27
925
47
915
115
733
721
604
281
975
401
88
38
944
218
497
829
267
758
911
991
944
234
256
227
799
313
486
804
590
199
330
286
22
233
45
362
103
990
437
626
821
596
47
1
986
251
724
829
191
222
66
502
100
338
494
766
979
940
48
948
148
210
504
760
703
893
701
713
836
418
686
152
126
250
42
980
748
778
277
128
571
346
737
384
93
146
35
710
169
827
990
498
531
868
955
28
407
734
248
336
103
177
444
439
68
937
273
795
593
916
819
755
348
713
908
168
538
927
748
707
242
467
885
559
835
113
346
565
627
341
113
11
844
386
759
992
68
418
266
254
333
324
725
736
811
941
181
836
807
224
213
694
879
235
540
305
225
416
600
846
666
496
669
471
781
633
462
375
969
591
975
189
229
13
568
9
507
399
35
578
860
996
189
424
958
154
593
959
174
822
329
765
975
170
139
624
303
533
688
412
471
108
762
749
135
115
599
328
75
844
153
390
585
254
771
336
402
638
908
964
110
213
682
2
948
414
857
812
964
238
834
140
328
856
876
281
905
514
461
17
773
260
31
50
867
688
447
123
170
457
721
993
450
679
181
877
874
802
890
673
616
65
536
350
150
186
601
105
323
322
987
68
642
868
921
33
635
652
111
688
387
543
156
573
382
750
786
568
45
278
444
774
180
938
875
860
619
432
716
617
822
528
624
883
624
97
534
615
592
377
131
646
319
91
815
936
939
356
689
265
789
418
891
982
815
107
315
395
303
923
734
403
439
809
905
130
976
251
672
730
992
468
226
585
475
46
757
851
908
24
937
655
23
682
746
196
250
564
827
389
334
602
406
828
298
716
292
74
440
692
319
241
418
939
709
496
117
938
930
567
769
272
879
565
654
752
715
422
641
912
962
537
879
425
649
946
341
919
350
548
257
42
428
584
689
504
528
223
797
101
817
996
313
183
444
348
395
856
355
295
487
559
110
757
98
40
434
679
936
933
41
521
823
541
533
606
449
595
492
18
432
338
798
549
51
510
86
407
805
98
647
924
329
869
410
946
743
442
884
729
424
791
434
979
175
193
659
209
701
392
307
920
534
452
188
103
228
58
238
566
122
621
123
405
204
326
570
342
584
754
142
383
950
264
898
789
202
799
679
904
155
851
53
998
617
260
126
170
878
97
391
226
916
192
171
975
417
206
300
450
844
668
62
545
655
918
986
87
383
763
699
268
722
841
991
355
9
66
128
579
617
483
216
36
483
594
431
122
612
4
116
788
727
32
849
43
702
71
597
147
703
540
56
827
763
441
707
572
590
817
330
358
938
95
646
566
869
863
862
107
953
165
174
976
680
874
34
633
999
777
53
277
536
551
763
924
900
148
684
566
496
709
792
859
94
98
270
1000
300
261
160
762
559
296
787
309
6
589
398
748
709
627
168
20
196
41
4
569
90
501
16
24
136
828
834
580
773
107
874
489
298
89
138
189
923
577
50
385
694
510
671
939
528
523
242
583
644
27
662
45
403
288
718
61
769
80
680
59
248
922
694
676
901
43
515
68
712
680
302
528
990
792
300
970
810
927
257
566
552
252
973
204
437
344
383
61
12
730
371
348
963
729
974
829
641
589
666
775
451
455
971
259
557
308
465
455
333
457
350
163
648
933
845
178
441
727
558
206
219
548
978
478
98
384
641
885
2
209
219
78
524
995
892
680
67
129
317
808
58
308
923
563
991
627
393
536
495
439
827
389
100
176
375
324
946
146
476
201
748
908
696
933
272
467
808
143
210
489
670
289
834
127
244
103
398
290
704
197
45
901
772
527
796
554
992
309
858
558
759
23
672
709
976
708
324
704
80
158
767
347
863
168
142
767
523
508
881
437
533
973
735
278
871
385
961
173
459
902
223
705
693
157
481
471
176
612
11
107
73
234
790
664
280
868
590
174
530
654
643
909
649
820
755
254
446
629
89
215
827
350
843
169
28
997
605
938
58
638
183
69
38
321
642
33
226
833
746
903
548
387
961
44
269
10
387
760
666
839
161
93
159
462
606
665
675
224
611
274
95
715
716
608
154
914
44
469
76
45
312
443
63
353
946
896
970
548
107
398
71
331
822
75
659
857
864
164
857
327
266
672
81
472
343
991
460
495
121
14
527
4
693
540
929
112
586
234
693
225
961
695
909
560
489
492
121
722
829
779
621
620
750
50
334
912
697
330
220
205
208
312
199
475
778
632
596
531
30
449
227
419
877
907
831
772
320
130
223
713
887
754
410
498
967
914
584
429
889
395
285
416
809
755
165
921
600
187
955
217
551
839
344
33
326
721
128
625
447
474
610
514
912
185
162
5
178
857
745
912
913
992
449
559
361
502
538
586
585
115
498
484
186
614
319
640
236
926
131
131
545
711
945
920
616
503
216
202
139
71
915
913
452
41
640
901
349
745
748
911
803
587
405
477
502
279
179
401
145
666
675
564
730
935
986
901
848
998
258
517
983
650
414
253
707
885
301
544
523
535
507
902
840
770
118
756
442
72
830
377
598
142
178
982
188
348
740
731
134
42
922
161
383
562
516
933
481
20
623
206
223
268
716
879
560
869
627
861
170
689
35
743
959
147
989
309
126
300
381
758
593
408
942
195
266
713
633
430
730
307
147
39
862
194
975
337
768
847
600
161
997
747
948
554
81
206
89
215
354
274
338
164
928
487
148
152
916
57
145
207
494
627
408
276
312
622
262
309
432
697
616
78
527
552
714
882
340
854
644
801
284
168
81
732
601
255
231
997
755
927
133
438
883
652
183
363
259
761
366
688
64
967
194
871
215
935
842
926
827
932
267
67
954
654
87
282
800
809
541
525
152
344
264
434
771
200
430
25
31
975
171
363
377
847
551
400
623
345
247
99
918
844
131
522
254
930
688
244
372
868
442
306
459
567
580
143
808
80
569
582
893
353
553
854
428
159
427
738
385
362
196
439
631
970
210
206
487
531
723
478
239
953
240
386
164
702
915
713
465
378
252
890
292
963
866
190
466
734
853
635
28
807
810
512
747
234
227
829
185
446
745
506
455
696
815
1000
1000
499
689
432
135
985
404
863
381
619
955
366
18
277
786
396
94
959
119
529
23
995
673
477
601
899
762
675
270
103
672
102
240
637
550
106
281
623
695
78
252
925
379
22
517
321
537
886
806
863
131
30
220
67
233
886
69
918
253
888
481
687
668
285
70
526
790
537
694
895
755
958
984
204
572
263
659
741
177
849
560
352
618
484
22
881
215
846
315
510
12
414
456
204
965
37
937
258
759
323
275
653
368
259
993
241
735
617
244
161
681
204
528
25
367
765
963
347
216
516
809
350
408
380
587
19
842
229
689
348
725
688
252
775
296
916
181
556
526
462
850
264
65
290
217
142
132
814
611
114
290
602
245
134
307
590
517
420
898
48
435
975
942
913
215
442
450
424
608
896
128
377
458
963
587
440
761
553
173
138
292
232
938
211
575
129
843
769
530
867
546
985
931
644
43
106
734
636
987
601
289
589
974
339
839
161
473
106
881
47
274
852
727
518
440
744
904
231
505
79
947
286
280
584
141
189
418
785
785
152
879
31
292
346
995
338
774
30
493
889
456
422
406
327
762
782
824
506
936
890
430
793
963
339
191
523
988
731
781
752
709
107
714
972
230
487
217
228
904
701
62
942
663
818
952
645
181
786
207
555
394
897
175
692
673
782
466
543
969
346
393
161
816
803
998
94
711
338
21
325
371
219
133
228
382
983
693
836
193
864
164
810
161
178
336
736
822
32
912
243
977
751
934
629
227
625
175
193
8
680
734
671
528
360
308
504
682
159
196
952
815
609
879
82
80
476
294
861
988
40
203
517
210
73
94
988
625
39
732
443
273
597
858
112
177
270
552
229
559
443
195
760
905
812
647
348
664
615
792
800
948
119
496
283
735
436
674
951
870
920
93
267
857
990
980
869
19
990
74
667
675
796
628
630
768
441
475
244
863
149
424
644
621
793
209
663
698
938
198
477
547
179
485
525
552
633
751
611
10
768
321
168
709
609
697
810
275
618
806
466
919
579
57
582
930
70
780
606
148
743
385
138
249
645
456
546
181
807
379
781
911
218
761
760
289
144
328
955
81
525
733
323
815
402
536
193
791
533
281
293
337
398
790
230
270
629
72
966
594
945
684
138
840
858
511
593
869
254
688
96
815
539
329
810
890
724
774
169
315
985
989
990
538
313
110
825
16
724
353
742
737
812
848
100
794
928
243
370
213
637
440
510
366
222
917
667
425
572
119
267
536
441
576
890
768
98
38
821
190
695
505
266
694
62
6
870
380
728
124
213
126
481
278
751
790
619
65
525
871
60
866
461
83
425
964
36
662
358
724
867
986
152
574
353
495
553
671
135
126
129
852
228
135
97
983
912
107
1
213
899
437
531
452
136
698
130
243
808
319
681
199
12
240
146
345
953
33
199
749
201
724
7
599
624
856
923
33
553
540
664
804
997
222
328
741
844
934
610
9
911
28
669
211
298
229
583
272
784
372
72
428
425
451
256
294
971
442
925
990
815
940
305
117
304
960
780
935
568
675
272
439
805
662
9
390
277
183
6
363
788
376
10
499
416
532
305
778
586
25
59
846
741
46
969
43
569
65
450
879
659
551
367
86
217
11
965
711
893
381
169
993
284
106
776
888
569
171
961
232
820
367
412
214
910
247
157
909
609
458
258
424
798
898
533
444
148
668
839
241
883
700
376
827
227
131
227
597
914
845
958
943
860
703
283
115
860
146
863
954
439
508
916
362
951
575
266
875
52
638
178
338
977
279
519
780
177
150
529
799
172
717
420
415
155
62
591
867
431
742
825
974
382
633
61
37
111
499
320
617
106
337
231
31
438
405
71
105
545
534
132
506
340
144
438
852
856
215
205
488
912
150
175
546
697
788
505
770
833
707
873
847
828
956
559
167
366
523
918
606
626
161
482
420
38
385
545
277
304
377
742
253
711
225
479
154
45
801
753
498
562
722
216
12
447
139
489
855
908
768
30
353
322
280
66
48
750
304
157
7
338
337
787
482
723
335
103
692
394
760
250
343
887
992
845
786
486
652
893
646
830
440
872
553
149
605
767
936
66
81
705
456
781
345
674
364
33
755
402
820
25
475
376
268
446
491
70
926
73
103
568
833
862
480
991
700
821
880
746
908
618
310
390
11
818
924
544
392
723
512
3
722
750
673
242
530
145
348
474
973
736
269
534
502
565
17
13
153
433
579
693
96
688
601
128
966
142
646
703
981
317
868
971
211
861
135
14
644
9
863
966
948
290
972
137
376
912
856
397
903
600
109
722
144
880
888
844
855
994
381
246
712
581
126
419
476
135
754
786
277
895
322
959
254
435
599
401
995
518
452
551
546
983
27
200
228
706
47
564
978
169
202
954
274
327
6
849
101
867
994
307
747
950
971
311
145
35
185
357
60
153
217
776
919
646
69
262
614
411
786
907
693
751
568
795
103
82
731
667
894
842
710
499
966
399
95
644
746
958
970
168
288
709
540
198
777
372
543
66
731
851
408
165
967
361
678
128
631
266
579
83
668
43
432
318
888
276
340
349
414
830
970
676
215
33
866
491
324
639
599
791
597
845
152
510
322
604
372
273
915
848
675
979
698
493
792
942
266
755
823
468
889
207
90
948
765
669
387
725
237
899
826
238
407
859
936
105
421
403
286
381
267
711
919
401
966
948
104
914
506
353
107
769
967
284
949
563
90
349
287
111
836
903
692
381
336
560
714
305
299
686
143
617
424
338
403
541
252
861
742
270
683
667
395
596
389
257
903
320
446
302
52
133
230
797
728
32
766
967
863
412
707
315
392
566
257
786
723
925
436
825
32
17
781
285
5
309
972
940
399
820
474
913
262
828
618
431
466
257
105
502
174
935
199
844
45
24
271
974
558
170
907
668
813
750
679
52
515
70
939
578
842
156
150
985
448
352
271
942
932
66
343
401
761
205
735
192
275
820
23
458
860
551
782
486
359
424
999
426
189
467
983
393
134
932
313
329
989
105
497
568
999
659
887
564
379
342
782
371
974
795
355
640
951
932
335
548
657
912
896
887
586
681
691
419
718
560
465
574
715
123
240
301
695
952
586
129
632
608
908
325
743
778
462
715
618
209
283
39
743
29
331
139
774
966
451
460
479
670
559
642
777
373
117
543
720
863
73
282
605
373
33
102
955
91
851
744
90
802
529
922
183
940
819
816
805
689
821
293
752
392
708
702
19
26
684
242
888
160
14
186
718
133
961
956
665
338
944
743
55
854
330
964
202
950
353
364
594
401
303
462
168
434
464
316
542
578
385
770
843
665
679
832
928
516
792
171
364
267
705
43
473
841
451
172
944
512
656
733
626
302
96
920
712
409
91
298
811
726
388
809
215
126
176
40
124
343
123
848
126
728
826
492
723
533
926
139
660
262
823
347
820
911
555
643
438
476
946
830
840
752
963
416
965
709
365
2
124
444
302
224
339
354
988
773
793
957
689
235
654
262
896
178
939
15
309
244
499
704
460
513
829
995
233
325
5
467
299
444
728
299
419
56
677
322
606
906
674
256
415
659
578
42
547
971
317
282
729
577
523
974
755
566
628
205
437
128
231
324
333
826
166
868
715
524
470
449
294
167
650
492
241
279
658
164
295
361
155
971
338
440
648
298
766
668
479
27
717
146
929
614
902
277
536
782
255
191
291
419
909
335
482
675
593
731
139
948
396
967
226
375
204
935
340
36
745
868
925
809
238
665
297
449
738
940
120
807
555
934
982
316
968
823
511
584
103
803
762
1
620
286
643
258
92
861
108
208
446
615
416
56
717
556
940
68
312
81
830
267
150
862
752
998
417
776
553
309
723
822
393
710
357
707
887
824
573
617
268
799
893
742
908
422
188
55
101
74
232
458
862
258
385
85
909
550
869
623
839
141
586
780
593
791
607
505
990
564
453
909
95
838
168
20
459
41
343
899
893
119
496
755
12
87
30
86
746
526
954
94
395
938
994
659
538
522
622
110
287
151
590
915
170
612
255
320
213
891
746
723
147
527
872
431
403
399
477
26
665
355
289
467
630
255
280
426
81
154
138
215
59
277
329
812
596
581
142
44
969
922
932
767
863
678
648
319
5
948
552
719
173
56
525
950
633
940
553
547
586
469
115
690
886
169
725
914
391
642
345
228
845
420
889
304
729
772
82
724
841
821
173
83
190
335
171
342
449
702
853
358
474
272
765
569
627
992
216
930
286
715
278
26
47
617
699
4
162
797
311
957
757
747
125
638
524
439
214
650
931
313
19
17
799
605
928
94
226
387
810
230
482
957
872
717
4
798
934
436
375
870
672
611
622
164
439
818
870
875
786
644
571
275
391
867
556
840
934
637
408
433
266
594
6
598
761
444
613
250
787
620
225
640
477
782
806
173
554
614
376
135
376
688
451
999
682
472
214
617
622
176
645
953
390
104
621
640
707
439
728
8
391
31
886
744
979
681
187
247
310
94
510
133
570
944
278
59
205
818
157
538
312
216
250
192
178
528
227
779
663
3
915
301
811
699
506
135
290
709
764
15
89
246
557
921
12
469
958
811
790
508
908
359
564
536
378
848
628
456
475
497
358
554
805
498
171
63
714
789
239
966
760
214
176
603
804
54
666
255
56
260
912
468
716
226
722
149
488
181
6
843
238
23
768
461
368
78
220
253
852
913
925
554
314
23
856
117
348
372
783
171
728
992
903
681
252
739
590
754
226
634
540
187
643
911
383
722
636
761
723
832
234
741
395
108
867
422
48
568
274
867
83
313
260
735
229
438
664
35
932
382
192
269
627
70
859
770
655
761
534
723
92
629
828
239
410
908
310
212
850
303
351
210
526
788
549
312
826
760
590
666
107
1
272
836
69
557
140
799
842
748
622
347
937
741
764
688
153
670
7
542
439
469
12
919
364
753
240
622
248
695
612
693
925
654
574
575
178
707
257
362
151
529
643
596
990
144
588
373
541
260
982
203
278
827
96
100
332
643
239
124
444
747
596
585
642
676
658
367
194
953
502
469
314
246
438
942
604
586
853
795
839
333
771
560
533
544
378
19
177
433
618
827
593
176
907
478
797
287
766
994
614
263
745
846
224
455
774
847
394
401
540
438
521
240
301
738
521
222
209
375
959
231
523
769
261
355
593
273
858
149
597
106
309
310
73
659
265
769
122
448
991
582
970
657
737
701
892
934
173
520
693
293
878
238
886
363
812
482
259
480
587
234
126
821
474
244
334
408
401
69
288
793
786
433
471
104
885
589
957
13
827
838
529
280
612
172
335
282
492
418
820
803
544
571
520
790
116
355
939
393
481
729
48
113
597
620
394
726
476
357
908
371
817
61
715
300
157
590
840
346
111
541
104
685
959
463
903
13
100
573
934
162
835
266
370
787
300
265
932
863
13
657
977
566
393
147
557
795
427
457
779
358
205
338
60
23
408
627
632
298
312
711
65
995
587
860
303
374
248
555
736
754
831
164
741
892
236
563
785
83
116
261
907
471
346
779
882
884
457
988
952
500
355
74
26
379
296
334
527
190
467
123
742
363
614
732
730
398
691
669
960
238
422
20
846
659
346
758
482
17
824
524
374
433
734
19
419
707
421
674
367
269
140
746
215
429
945
987
636
196
46
368
850
239
37
571
639
735
578
765
996
971
265
222
980
958
578
72
969
40
906
474
490
919
974
427
326
408
986
84
667
271
774
329
925
288
296
511
661
623
549
821
570
477
56
159
407
207
189
667
612
415
840
463
843
187
171
310
209
739
329
764
858
688
268
777
815
821
751
296
502
691
987
798
628
379
224
322
792
283
171
86
538
666
712
298
831
739
218
404
616
201
584
253
243
435
183
150
679
146
858
939
701
336
172
841
821
733
325
954
222
23
169
614
966
589
725
552
784
559
650
581
611
705
129
520
605
833
268
543
384
895
276
507
181
406
773
296
70
534
634
400
539
812
890
612
400
609
980
4
809
314
208
590
171
599
376
484
858
544
574
958
762
838
138
350
984
300
265
136
682
195
910
285
281
205
903
398
238
276
324
703
996
937
575
930
133
656
595
708
838
360
775
437
344
918
123
105
526
198
998
635
561
778
750
446
460
143
131
527
607
788
442
524
115
140
973
393
974
539
792
957
349
138
137
937
661
783
749
816
66
103
767
396
152
564
807
504
8
906
459
496
590
254
825
858
668
374
3
677
298
911
224
819
566
499
88
196
371
209
887
231
47
795
872
51
969
748
299
10
557
127
544
794
574
328
362
691
746
990
960
838
541
31
449
961
747
507
465
483
875
581
659
349
21
161
106
383
987
634
92
791
108
404
391
828
686
893
974
644
784
588
590
248
111
952
157
56
219
933
27
596
489
373
416
597
433
598
307
588
71
677
915
71
256
199
301
625
939
968
835
331
977
524
968
728
510
178
838
909
179
483
422
638
236
781
958
260
13
718
412
743
982
351
693
430
671
120
371
661
299
326
923
262
825
967
382
598
225
105
43
887
894
149
420
838
993
242
931
796
56
318
545
643
448
243
27
665
202
863
323
933
478
876
88
893
122
55
201
522
206
944
516
444
481
942
984
839
329
678
200
721
138
625
348
847
559
287
411
520
572
502
111
645
967
445
522
452
236
931
65
573
329
702
186
259
191
572
349
996
22
227
633
892
722
405
771
357
273
696
102
310
619
799
610
849
693
999
58
40
200
665
149
745
3
77
794
233
505
379
729
342
473
46
455
243
775
56
319
598
630
614
165
986
64
931
487
843
624
912
708
952
467
620
790
81
266
664
123
518
683
824
810
598
536
511
722
286
448
945
198
53
541
438
40
598
639
166
699
644
370
568
185
876
858
170
692
196
106
115
895
95
692
14
532
926
713
300
301
219
199
616
108
612
504
253
806
351
402
225
851
610
350
11
674
475
140
709
913
384
811
414
570
705
202
321
649
145
46
961
317
157
518
48
912
226
155
334
12
828
439
650
571
164
115
245
40
282
682
172
124
796
359
689
919
83
953
926
995
146
462
312
353
150
167
889
234
613
8
846
792
255
330
330
274
357
640
518
126
715
331
657
889
468
360
24
627
666
233
860
860
19
887
807
784
536
450
161
95
47
199
728
76
77
700
967
120
312
290
731
116
836
329
493
504
621
924
684
315
853
39
323
591
910
779
412
739
808
261
362
649
22
927
998
191
181
43
183
45
525
356
668
730
71
715
531
716
890
486
555
6
658
716
133
978
78
812
947
159
398
894
557
152
662
695
850
801
413
546
571
604
459
524
691
8
627
557
46
774
394
427
967
596
907
707
258
324
970
244
375
498
320
643
968
358
617
993
960
386
666
226
908
120
660
93
909
255
404
478
23
818
80
475
872
857
510
614
256
595
930
135
798
503
404
215
520
759
602
338
225
964
660
774
631
772
700
475
500
877
205
790
158
102
485
321
204
592
113
832
611
498
327
679
764
217
431
962
958
394
747
78
407
745
939
159
342
300
47
187
538
126
959
465
430
603
702
263
716
901
903
345
82
461
449
741
790
803
293
566
90
564
873
878
520
901
857
872
760
455
878
260
666
217
619
106
822
565
234
106
888
199
400
549
835
848
428
488
954
607
229
805
23
369
733
797
152
705
667
58
431
795
627
549
385
394
128
76
559
322
157
346
212
865
686
592
234
991
63
332
738
358
691
120
638
743
777
287
7
410
164
468
461
156
248
605
529
361
791
462
959
570
343
648
350
80
486
18
289
364
578
63
316
43
859
852
418
522
797
576
609
88
693
232
330
518
792
124
91
937
371
596
427
167
666
57
592
881
654
852
920
468
705
485
966
596
379
281
221
513
780
688
514
606
623
245
807
577
465
870
204
969
409
648
669
885
528
44
224
49
623
581
358
871
620
668
532
943
140
129
771
321
931
795
287
250
237
999
309
440
468
667
426
823
968
906
839
275
290
331
621
779
260
514
4
291
766
555
768
316
119
91
479
69
307
309
29
799
468
615
459
382
184
536
267
706
286
818
934
236
310
209
415
381
691
452
866
148
850
648
651
764
77
806
555
64
781
402
637
144
706
293
300
848
564
294
285
582
967
182
556
447
843
682
955
195
151
612
108
806
391
132
373
63
61
825
601
517
437
33
222
480
693
619
70
456
803
111
785
375
360
21
966
966
99
543
761
164
653
866
688
15
465
800
278
293
859
641
589
797
218
123
624
640
610
142
56
174
284
724
776
581
513
978
783
674
481
313
747
877
489
949
837
560
99
629
460
199
586
107
857
107
402
705
377
468
20
490
779
359
997
912
636
182
616
287
988
120
317
580
817
81
421
942
5
728
785
574
537
107
450
415
789
324
393
759
927
718
40
261
184
712
665
90
40
201
175
784
508
747
847
556
446
263
493
92
32
718
342
873
241
243
4
680
534
970
754
294
823
923
699
838
508
246
608
832
109
190
379
881
335
231
814
616
639
597
977
982
709
311
816
734
373
163
368
266
724
648
380
380
723
233
425
589
226
184
958
555
556
561
525
808
54
98
920
209
462
781
151
201
405
96
730
442
612
400
346
634
647
837
865
537
748
380
75
932
215
534
970
185
713
728
323
161
967
755
573
88
960
719
910
385
945
921
659
54
177
689
824
137
579
717
703
690
46
20
662
506
839
738
784
864
298
705
944
219
372
660
633
641
788
266
562
405
874
481
82
931
167
478
184
799
563
761
12
393
755
343
671
551
240
288
18
843
620
780
365
209
735
366
618
441
842
244
452
257
507
599
395
948
715
543
569
389
437
716
698
537
9
312
697
289
197
736
670
232
831
452
303
309
695
94
822
330
651
200
128
97
917
934
616
663
397
149
924
713
910
183
183
37
16
911
84
214
175
211
115
452
413
799
54
732
689
337
410
809
160
432
133
895
102
728
814
556
704
974
513
139
574
62
195
772
269
839
355
888
300
519
122
651
26
981
445
699
965
370
51
270
684
921
91
630
433
893
217
385
234
289
371
373
541
631
839
557
405
862
696
651
224
35
729
251
654
851
271
348
148
569
416
986
944
970
407
634
133
611
521
887
934
261
939
773
898
762
496
989
276
778
582
591
705
138
194
342
805
720
325
16
481
952
860
475
253
215
323
528
945
283
641
943
329
462
540
527
409
823
659
132
380
608
427
405
603
606
426
939
170
366
259
917
704
731
575
36
147
255
954
964
875
773
321
787
700
417
30
728
944
442
714
778
876
879
130
824
84
145
437
267
6
914
421
157
822
921
675
930
225
900
623
315
941
610
874
116
70
627
990
314
84
373
644
863
217
764
193
794
974
288
966
97
338
56
115
733
445
452
276
950
599
551
623
157
833
848
591
302
46
466
92
844
628
341
657
255
32
270
217
458
910
460
535
665
909
403
270
394
697
76
504
929
787
305
634
588
166
833
417
160
668
723
266
693
350
4
814
193
123
717
624
229
332
586
700
931
78
368
14
505
405
276
915
277
768
467
156
798
817
297
551
420
692
162
333
970
662
517
67
281
15
395
789
212
586
729
847
434
458
211
328
125
101
333
792
864
931
320
599
117
846
285
419
188
795
400
374
965
131
791
52
876
649
319
52
204
705
502
130
504
213
875
860
776
874
438
208
67
14
185
987
772
820
928
711
84
762
520
490
931
102
585
49
328
372
603
564
457
516
296
84
74
769
295
609
928
699
164
669
558
989
235
590
911
101
397
823
492
971
26
43
645
955
723
905
763
310
893
58
964
56
176
881
258
502
61
343
118
963
388
730
806
338
484
836
659
538
749
315
342
54
7
70
69
856
466
968
108
617
351
98
472
165
238
277
823
611
204
252
953
640
729
78
277
546
651
573
140
585
772
924
744
454
614
486
395
318
928
707
185
495
856
932
512
389
284
632
664
221
217
827
951
271
184
254
639
778
314
408
643
485
680
281
41
633
379
686
766
314
925
377
271
643
96
291
579
970
431
860
623
606
729
22
516
939
990
227
185
357
967
818
115
621
421
255
820
245
53
58
893
531
97
582
69
207
887
708
479
872
926
486
836
439
715
568
54
152
960
371
890
795
985
639
206
360
741
545
755
991
591
996
567
58
649
835
816
712
177
698
123
851
928
791
362
195
912
717
774
383
578
829
28
210
126
452
565
330
799
821
546
651
936
590
996
143
660
135
935
977
570
86
67
55
800
884
859
53
543
366
499
486
681
191
242
175
818
650
768
162
976
620
469
729
766
320
921
374
220
511
562
821
124
768
857
785
974
443
772
232
896
731
858
92
637
49
674
299
509
77
927
944
653
65
66
837
640
523
501
249
474
837
828
383
722
771
365
492
153
482
455
518
620
201
704
422
584
995
941
49
732
268
544
63
75
466
29
24
321
728
318
88
865
581
588
185
370
940
748
519
881
446
530
559
680
175
344
946
70
535
50
825
177
886
277
27
496
921
659
695
279
357
698
512
599
781
193
601
842
18
517
176
363
70
259
310
533
929
18
513
841
871
316
331
434
884
713
268
814
782
322
217
81
891
150
914
918
7
443
7
732
800
63
612
185
85
176
652
16
415
121
978
303
245
290
553
842
192
603
274
960
897
167
306
251
169
185
788
991
713
988
482
871
622
174
759
799
524
595
471
535
428
771
215
128
497
850
772
53
845
573
638
450
337
457
86
588
485
534
83
753
416
577
610
996
421
950
533
591
781
606
472
542
568
282
326
998
240
107
225
641
680
779
886
819
368
188
806
181
366
381
829
785
867
425
21
450
164
608
222
58
421
884
29
472
576
361
834
379
769
844
569
70
691
896
819
942
97
484
591
994
816
4
172
813
552
586
258
95
158
177
270
980
704
993
354
231
379
237
436
690
850
188
762
412
515
847
842
264
194
485
771
673
907
761
356
650
92
573
425
621
918
818
456
107
316
158
561
674
762
501
312
777
365
798
117
356
956
639
788
997
44
980
5
409
561
889
438
77
407
107
808
699
771
575
36
752
51
907
340
359
749
26
239
346
55
325
918
172
690
119
949
956
829
102
998
160
396
400
831
910
136
172
225
249
254
329
667
924
614
946
623
441
635
386
205
713
447
730
450
381
790
555
981
888
801
952
236
306
394
257
165
212
373
702
639
171
987
399
961
492
288
124
188
711
769
704
181
816
908
215
603
105
554
654
461
664
212
76
747
63
940
751
589
187
198
542
549
229
522
41
387
795
856
865
252
453
386
211
119
514
452
580
103
234
479
350
124
998
352
548
431
368
196
593
121
427
359
847
846
320
882
579
910
39
435
112
351
571
545
468
837
174
472
324
600
376
289
796
906
514
221
414
120
97
228
530
252
430
588
476
169
540
351
855
395
695
353
160
722
840
372
213
233
219
334
915
529
731
309
656
312
669
363
439
807
389
801
928
671
111
363
320
359
222
837
960
717
822
99
80
196
371
442
719
355
10
774
224
334
315
66
669
999
772
22
338
926
400
271
828
146
559
177
581
467
170
791
49
531
312
325
825
328
49
420
345
48
616
887
331
761
34
507
622
481
509
581
429
494
248
754
720
398
901
486
65
730
255
267
626
228
514
600
192
911
27
58
809
519
903
399
45
693
197
588
862
976
624
934
709
232
982
243
681
400
886
14
341
924
114
826
778
201
864
418
914
613
499
573
713
939
726
56
910
341
324
598
979
816
100
742
403
80
469
481
803
765
298
744
850
140
136
625
206
64
343
549
353
563
558
496
272
783
168
693
470
450
2
677
626
122
548
603
646
219
781
951
942
298
208
348
900
191
851
27
162
477
2
679
59
451
756
749
633
267
274
600
242
403
931
189
818
721
344
381
25
529
569
699
376
485
834
310
995
27
741
959
750
399
213
34
910
543
419
963
64
861
343
848
487
354
689
565
267
302
245
124
733
230
430
269
893
824
330
513
609
593
532
511
486
360
130
60
262
498
280
699
183
841
406
373
63
599
347
7
676
420
947
669
226
32
953
971
943
221
587
556
961
388
288
444
668
953
920
529
243
452
130
244
236
43
530
399
526
531
393
21
33
302
264
390
902
929
357
936
334
612
911
133
243
505
225
133
284
737
814
769
660
394
452
144
641
306
602
371
53
447
842
188
163
718
467
483
173
474
982
86
58
148
263
200
872
339
420
538
71
169
912
231
690
724
648
957
824
4
936
539
588
676
808
528
76
293
221
841
417
367
74
956
510
434
269
238
128
826
364
204
551
38
271
7
472
865
818
624
577
807
255
192
153
929
361
953
667
44
975
292
232
412
362
82
646
126
815
494
223
880
595
673
406
133
336
734
636
484
495
678
356
569
914
613
45
242
316
906
955
976
987
757
368
400
55
438
797
226
112
349
204
774
629
556
62
875
487
46
209
901
833
667
413
905
812
61
70
816
852
57
416
539
402
168
281
889
255
967
499
10
314
860
653
513
145
811
712
644
156
398
114
172
579
222
795
766
105
767
898
638
457
95
385
431
797
648
699
38
592
619
972
772
122
756
96
528
588
130
403
492
546
139
785
839
210
669
292
749
457
229
238
625
365
307
770
820
81
5
674
941
77
844
897
932
192
127
519
839
492
582
736
208
884
785
500
249
706
151
550
287
555
793
862
110
706
838
502
580
919
576
176
169
647
498
331
974
105
751
457
724
892
515
230
568
53
629
529
500
557
585
763
230
654
860
910
679
228
178
950
239
641
565
805
756
685
143
253
992
918
468
756
432
776
425
642
911
499
420
836
270
60
526
522
565
584
95
157
562
679
549
717
403
186
505
813
321
446
401
526
859
564
308
130
273
952
997
213
731
286
355
642
9
2
375
763
647
292
125
843
40
174
26
247
475
651
474
958
284
950
103
945
695
632
495
411
1000
604
77
794
102
562
837
511
958
427
878
929
260
784
843
465
542
807
3
110
305
552
12
436
958
189
191
776
120
63
536
579
459
506
595
181
711
805
684
744
551
106
514
447
294
52
435
962
398
753
305
951
672
178
941
162
880
244
509
405
527
158
763
819
770
484
234
373
564
508
321
260
214
967
680
850
103
947
290
21
620
17
476
823
218
635
965
903
249
193
983
758
695
448
684
29
315
681
232
575
879
204
501
224
142
554
554
817
526
347
321
954
902
494
570
977
154
407
171
467
399
707
196
234
673
531
699
973
834
571
933
601
238
844
978
654
125
942
424
341
901
289
838
159
756
943
814
480
276
651
800
752
247
866
242
37
751
874
191
316
408
142
517
938
367
647
412
188
311
805
253
432
594
634
798
432
173
834
201
574
560
412
81
156
134
965
62
37
956
870
153
746
944
417
612
287
303
195
823
987
624
291
963
994
412
142
752
844
531
277
24
283
1000
20
490
188
775
643
404
734
504
395
67
422
96
2
688
285
715
870
525
898
898
47
334
308
740
130
676
83
265
514
450
246
435
119
743
650
782
110
187
589
528
957
915
332
19
533
693
333
967
743
10
155
882
995
381
184
676
162
109
162
398
657
803
158
487
880
52
417
900
216
354
59
715
785
233
569
950
132
443
659
79
930
674
112
116
508
841
245
758
914
963
169
825
380
483
961
411
167
122
269
761
688
263
842
845
24
527
715
762
574
991
765
628
230
920
78
718
126
399
634
727
895
767
145
783
769
908
576
285
431
769
395
126
128
636
433
554
824
25
561
159
691
236
45
940
558
481
341
676
530
97
689
922
975
800
204
925
828
923
495
919
286
993
768
628
922
457
461
686
343
963
38
229
229
223
215
535
117
439
187
677
75
989
900
40
571
606
792
688
641
41
708
529
700
713
753
118
638
766
777
180
403
938
290
326
129
793
5
502
464
856
16
615
834
540
907
568
385
55
493
413
499
133
508
901
27
109
407
933
501
508
342
548
243
571
222
342
826
835
15
506
412
886
839
20
303
368
250
922
743
671
791
350
848
519
386
126
93
256
426
543
536
136
270
946
81
621
924
457
674
419
880
84
147
14
701
193
622
574
497
174
920
802
619
824
855
450
934
976
951
12
456
616
747
181
609
279
492
716
456
995
424
809
625
712
980
252
678
750
281
401
530
924
198
315
941
35
68
907
117
877
542
346
452
890
520
305
229
278
980
288
112
323
580
264
238
822
207
876
265
539
289
221
644
250
715
623
530
491
864
923
948
409
363
4
102
805
848
867
322
555
99
805
382
665
803
434
168
52
791
263
776
849
443
663
427
441
204
538
983
560
157
981
611
3
502
219
284
681
47
14
231
678
292
262
21
764
760
720
139
68
853
620
703
655
781
168
241
147
319
643
732
985
263
515
907
305
770
745
67
301
210
604
470
259
33
563
573
613
384
93
940
462
31
462
144
198
782
566
937
173
652
165
50
726
778
187
995
624
356
860
649
344
860
514
265
213
374
336
419
229
126
93
32
316
347
92
44
603
997
753
786
891
8
964
712
767
859
726
620
70
307
265
308
530
957
642
341
819
424
780
277
478
259
767
510
735
995
281
487
243
313
800
558
233
319
277
535
673
9
47
658
868
59
601
395
71
163
70
512
854
817
246
866
225
529
996
664
724
514
850
830
475
430
446
662
24
650
212
24
734
524
500
367
721
485
303
792
354
668
772
645
188
791
840
217
886
433
957
763
687
590
247
625
82
896
938
234
302
53
653
627
118
231
930
350
284
845
926
449
467
853
392
148
837
440
146
490
815
869
181
274
794
918
53
675
416
425
300
524
113
919
786
267
614
667
815
82
763
687
827
924
731
537
666
341
190
777
659
198
846
572
94
664
244
271
88
415
63
403
105
618
278
889
583
189
386
469
658
154
778
182
103
727
452
807
331
961
693
944
324
252
441
179
30
924
932
752
584
1
385
776
342
244
887
648
174
848
820
3
785
287
752
613
113
355
258
122
610
690
249
756
388
428
106
312
943
354
190
620
942
4
422
214
632
159
251
386
468
856
134
392
203
220
420
947
442
16
893
211
960
456
333
734
24
569
586
787
749
293
793
30
435
421
631
687
868
866
952
830
264
357
961
621
235
604
281
287
903
659
329
674
304
527
568
9
694
700
896
738
377
802
545
755
421
300
517
764
119
336
120
929
678
795
855
822
825
565
849
153
339
15
962
219
123
805
695
663
858
476
565
307
81
906
893
28
443
402
893
317
381
638
428
631
237
406
66
535
409
876
878
868
875
320
351
828
156
535
363
458
349
276
721
988
678
311
219
484
864
282
805
119
251
586
930
501
437
507
640
28
174
657
43
946
982
981
620
908
873
581
815
810
772
669
929
400
765
510
772
567
819
829
300
561
325
814
503
54
840
351
296
301
66
254
951
825
575
439
767
35
259
847
578
644
240
677
422
293
670
349
747
263
657
507
769
440
138
236
764
628
106
833
355
28
67
93
552
805
124
260
274
450
726
396
590
5
668
406
892
410
986
561
571
322
710
894
380
142
294
463
515
22
696
952
29
410
100
810
264
67
340
968
12
124
981
290
265
463
782
605
942
72
239
55
763
517
449
392
880
308
457
394
317
399
274
204
772
665
677
700
712
881
848
59
745
969
475
511
864
402
662
136
698
317
252
63
854
688
583
24
136
594
969
848
430
693
411
460
849
377
867
563
488
48
111
87
583
638
275
664
493
923
824
213
796
166
700
958
506
18
701
33
164
287
514
387
187
852
377
674
840
954
322
953
380
268
802
132
470
166
737
968
710
533
792
250
652
541
800
897
561
872
434
860
574
836
876
235
940
939
947
968
32
415
806
675
742
369
234
603
239
142
484
838
764
435
731
246
491
546
203
484
381
303
466
256
864
741
778
175
639
916
834
310
687
874
761
20
148
4
469
972
591
520
946
463
454
554
951
846
997
413
889
664
96
947
449
155
288
457
859
796
580
1000
412
652
245
789
490
377
329
281
987
128
532
865
457
153
241
509
165
639
21
664
200
118
304
662
505
124
2
128
216
912
294
331
150
385
415
22
511
237
804
531
512
877
735
426
109
444
211
390
585
70
944
582
183
609
791
668
736
392
271
313
397
839
172
603
506
366
430
887
732
445
456
578
187
15
589
658
659
345
847
271
209
796
351
352
324
28
456
641
990
649
111
427
105
946
428
313
407
395
770
946
837
539
45
563
775
130
528
164
314
957
659
744
489
313
294
380
31
942
969
531
310
662
272
459
297
866
493
816
32
455
148
977
441
258
384
192
712
684
851
664
470
770
789
199
161
306
796
567
723
504
992
754
479
769
411
549
704
107
59
540
750
477
847
246
120
413
511
804
223
864
987
959
514
828
23
229
663
821
807
549
203
876
375
74
73
88
880
646
216
88
104
398
193
683
218
101
313
608
640
273
676
897
788
67
204
262
155
593
912
303
808
236
120
971
628
748
834
631
110
2
803
950
602
450
727
897
106
8
728
92
868
415
710
508
506
302
891
613
456
146
537
173
230
863
322
793
186
753
668
394
939
512
942
901
740
562
219
32
851
839
258
178
401
256
799
813
220
199
64
365
222
735
700
683
5
510
254
159
873
178
261
727
260
900
690
472
151
261
284
460
363
539
834
441
329
972
320
39
256
484
543
774
869
853
705
394
157
806
9
779
174
879
782
512
285
789
29
15
575
244
477
932
719
879
652
389
949
291
962
47
339
891
559
103
77
786
143
978
505
933
359
60
549
331
216
266
341
127
278
283
704
855
162
353
187
886
466
664
939
496
656
992
246
651
899
121
16
823
419
867
120
775
583
40
42
124
737
797
821
407
705
282
528
888
292
964
5
343
214
708
342
556
3
879
485
222
465
31
103
548
218
236
465
801
373
306
926
669
113
855
275
235
914
297
649
214
850
171
567
651
623
578
192
494
976
269
518
39
304
278
171
882
598
880
574
469
197
34
836
887
173
737
196
447
48
647
668
439
152
725
686
672
816
999
689
882
64
181
810
662
996
313
14
546
456
498
630
330
24
996
503
137
806
268
838
962
787
291
255
772
883
679
288
50
347
16
406
182
651
758
650
953
33
710
21
734
641
806
890
679
976
114
502
575
825
79
285
258
866
800
600
734
541
931
773
128
867
839
839
474
142
99
131
22
76
959
840
108
581
967
406
498
353
918
999
238
957
770
790
879
557
385
977
793
542
676
492
752
876
135
25
72
446
194
766
341
150
278
958
853
69
232
447
53
681
551
270
263
626
902
643
883
167
278
858
1
410
566
254
502
117
189
776
33
486
461
379
46
527
824
765
879
699
85
620
228
130
730
83
964
741
806
54
978
718
273
411
569
378
943
595
526
6
756
248
914
466
41
435
970
280
395
206
483
78
633
520
318
195
33
546
211
242
385
913
836
93
790
182
995
290
776
743
516
252
759
470
545
275
293
647
831
188
917
630
267
736
87
693
675
71
605
290
917
455
30
368
27
676
703
975
362
738
61
1000
489
610
503
447
691
393
282
163
995
864
787
455
686
166
673
475
855
621
564
734
805
441
426
624
864
886
393
42
50
962
244
712
267
885
354
567
761
819
23
850
539
961
259
942
477
734
42
129
535
267
907
578
374
127
841
178
321
113
352
855
945
795
989
487
19
395
508
636
866
710
700
637
623
931
96
672
461
215
83
197
159
660
372
603
491
647
269
22
75
998
663
974
966
764
273
513
461
869
653
942
767
754
304
614
255
955
432
419
877
141
365
807
807
552
359
816
401
15
61
134
939
310
971
495
371
449
798
906
319
611
317
206
160
644
572
870
257
532
110
79
608
117
233
600
279
945
283
961
462
54
148
83
591
770
314
245
61
517
756
679
411
207
16
414
501
924
826
885
268
5
961
210
606
809
108
628
451
202
864
536
687
96
874
346
154
493
296
537
699
94
304
626
410
146
974
653
583
494
631
990
601
576
587
161
487
10
202
173
559
775
667
32
172
787
358
577
132
582
128
993
800
211
779
785
219
683
371
741
9
122
37
197
904
882
376
473
859
905
218
547
539
784
720
631
535
20
261
662
417
301
272
509
220
483
809
290
952
749
670
607
460
392
816
521
124
480
563
537
661
247
576
725
23
531
235
167
589
978
492
108
848
506
641
548
425
725
466
382
691
559
874
489
760
804
478
485
929
534
84
368
876
318
718
565
54
667
668
845
129
423
805
451
850
566
828
55
556
17
147
471
610
775
53
995
620
277
18
937
398
615
345
714
952
478
823
646
729
430
818
485
840
708
419
342
893
200
804
711
114
708
517
862
478
950
486
519
621
361
535
497
58
646
418
665
404
337
219
866
185
939
398
844
892
275
480
492
379
194
316
57
195
916
817
5
230
293
43
745
213
373
765
118
408
664
90
540
30
779
778
198
454
453
502
292
756
163
502
318
994
605
611
842
926
294
727
128
7
566
176
364
362
14
653
873
247
481
726
744
524
415
740
504
362
878
250
120
227
296
10
525
50
271
456
88
230
750
713
761
152
599
603
345
193
432
956
719
342
215
984
155
997
287
638
932
174
300
691
468
148
557
50
480
50
914
689
290
75
613
497
762
216
599
242
640
725
611
418
376
92
606
522
650
191
677
435
575
552
683
548
301
455
596
871
61
428
878
409
902
932
414
519
25
177
53
284
657
718
551
767
933
7
936
613
776
69
215
356
381
102
836
887
266
486
782
572
234
851
329
767
963
491
974
948
900
698
956
692
807
17
60
86
330
736
935
3
77
448
321
533
701
971
878
206
527
392
119
188
898
577
918
749
919
239
750
113
95
710
821
117
168
825
39
805
373
207
625
897
354
43
198
773
587
447
209
300
720
43
497
933
23
911
455
17
239
897
315
482
302
743
556
867
638
147
599
496
840
646
368
238
212
589
541
263
454
687
676
441
829
939
600
300
492
649
940
632
64
995
631
555
518
753
164
232
354
347
717
322
660
767
550
780
39
816
679
521
124
789
270
885
71
579
451
911
529
786
510
809
862
117
539
772
68
723
885
800
380
195
424
48
397
711
769
808
719
471
865
623
604
348
649
216
312
861
617
12
782
935
358
116
871
615
543
78
453
803
343
217
777
518
691
293
870
813
252
634
518
210
333
366
922
390
774
919
499
198
619
461
307
439
877
845
613
483
583
242
771
435
881
99
82
865
121
361
779
193
914
981
960
135
222
750
640
136
944
129
703
690
864
307
838
214
669
947
143
663
550
938
128
437
532
129
68
768
592
844
349
749
710
321
879
128
63
146
820
255
823
126
275
933
705
575
540
88
273
564
922
451
218
995
685
598
545
738
140
277
201
291
970
530
811
110
783
7
413
100
268
288
653
773
691
377
85
914
515
80
688
350
130
876
909
821
183
761
186
858
282
577
807
331
857
50
755
615
318
809
94
524
294
279
876
127
651
818
416
386
601
722
546
683
866
557
90
586
657
219
573
294
567
566
114
407
479
754
422
907
392
42
611
398
124
622
337
856
525
519
120
816
942
167
477
806
454
774
382
59
789
762
662
397
201
257
937
119
983
728
983
528
593
812
771
569
829
158
29
847
96
14
987
791
156
567
930
734
155
955
827
946
868
611
253
313
578
63
92
143
988
618
135
998
260
243
604
683
432
78
593
409
255
773
889
423
279
887
858
423
470
96
277
699
406
618
280
577
521
477
112
88
440
918
551
846
56
916
688
898
434
250
406
550
422
665
443
859
922
800
608
43
772
268
641
955
659
871
75
390
675
307
732
671
443
335
258
468
826
755
305
380
328
725
463
111
829
322
593
839
716
691
751
593
826
851
315
365
205
297
817
556
272
283
843
520
902
627
322
24
156
810
199
904
987
33
474
970
641
393
854
199
335
736
429
285
685
974
276
950
71
268
503
775
608
957
643
960
914
118
530
13
412
914
214
543
898
728
722
241
811
423
662
833
5
889
722
993
722
435
162
218
643
379
448
565
631
869
592
36
274
164
841
304
973
873
381
733
874
74
372
40
833
875
720
919
809
781
951
544
839
127
251
292
283
689
899
107
885
527
791
87
920
370
622
340
28
319
709
52
33
434
636
8
389
508
982
442
983
302
721
60
293
232
62
617
359
965
862
320
966
98
435
421
690
82
299
511
400
179
694
964
434
180
503
808
818
206
589
827
871
332
796
46
607
259
496
729
408
799
987
767
571
711
480
711
580
256
294
313
262
581
681
547
557
346
29
512
711
396
857
92
437
516
319
280
803
117
528
75
786
492
429
610
542
1
713
937
47
27
883
131
573
699
199
935
512
53
349
160
568
58
388
569
767
876
306
266
751
282
629
520
620
733
789
926
895
691
833
595
768
710
780
411
753
298
935
798
645
249
194
202
273
334
831
35
782
386
172
555
921
309
164
753
283
102
864
416
429
989
935
877
697
150
441
585
415
559
889
141
634
17
281
668
733
434
709
306
846
456
699
18
259
354
443
276
344
844
548
861
487
126
682
130
471
995
822
748
944
942
560
57
298
608
670
948
613
362
1000
619
599
338
475
92
118
340
367
571
673
883
615
958
588
390
890
577
190
661
235
255
967
11
693
755
619
621
631
933
508
898
418
682
29
706
147
138
585
333
78
97
124
369
790
164
247
171
317
432
573
211
11
840
264
439
890
425
484
778
460
471
464
208
31
723
531
849
438
205
477
123
541
990
83
726
324
593
985
361
181
714
264
229
484
913
303
171
212
669
584
624
597
469
512
859
118
641
328
340
363
274
941
572
806
156
88
75
825
333
549
532
194
469
542
912
840
438
534
481
405
803
115
719
924
947
989
900
505
622
839
851
249
469
503
139
698
772
811
974
715
863
660
112
6
975
831
702
52
883
295
280
610
258
809
176
381
352
127
293
13
869
150
216
411
134
791
754
12
318
366
684
733
646
786
755
904
768
430
128
500
985
491
835
796
981
288
476
77
535
137
431
761
24
189
369
245
74
552
628
236
918
309
629
126
691
292
414
91
471
742
905
431
902
917
236
798
140
311
397
351
598
83
74
569
473
843
301
909
55
603
116
680
568
969
648
817
469
637
986
296
690
301
460
463
692
831
977
355
544
682
138
443
363
370
39
101
726
208
69
718
494
759
392
521
185
314
327
430
690
498
979
403
754
771
611
833
226
470
62
148
662
980
44
74
789
146
831
411
561
543
740
70
333
445
913
546
928
392
675
24
630
880
11
642
532
767
60
209
648
730
909
584
749
398
188
436
862
675
863
34
774
931
958
956
564
336
29
593
152
61
224
903
492
862
254
894
116
678
923
622
178
925
668
465
879
351
270
143
638
30
156
887
693
972
885
534
496
248
175
453
763
155
335
763
849
827
1000
415
267
904
762
852
782
677
891
342
801
86
617
721
528
39
210
692
443
350
502
953
473
673
433
402
116
442
290
547
449
779
347
638
21
384
615
871
923
487
275
306
78
50
307
962
683
533
287
284
837
510
388
375
468
761
597
780
870
560
622
17
223
688
710
541
154
867
76
613
401
602
549
940
394
410
722
247
224
700
329
216
744
573
547
142
676
947
936
804
546
394
326
630
498
175
829
48
690
411
586
625
663
800
800
745
898
94
829
854
736
209
637
989
494
535
41
532
165
862
759
271
440
641
270
573
664
324
194
106
429
467
603
476
266
251
186
815
207
745
632
982
614
706
925
557
461
638
832
937
86
984
688
273
873
113
442
456
559
143
21
182
773
924
201
376
409
301
963
227
499
537
97
941
195
672
552
749
750
462
17
931
950
226
463
579
651
525
453
772
393
281
138
247
352
654
621
499
361
316
693
311
873
451
688
27
839
354
360
991
408
927
738
779
736
625
376
40
300
377
761
787
763
228
256
403
142
443
866
449
226
888
863
399
276
880
496
514
304
533
421
602
479
844
756
379
638
722
911
315
673
580
415
646
213
521
769
138
228
465
449
73
333
311
825
884
693
610
940
78
560
681
52
897
600
815
98
885
325
193
160
311
553
268
67
3
233
120
990
493
437
716
770
928
846
909
670
245
346
594
754
102
525
57
736
510
67
250
791
177
130
855
339
202
391
840
815
124
439
479
983
545
444
20
79
74
84
736
257
107
589
244
503
290
411
576
94
574
304
769
806
836
975
151
629
117
472
491
861
707
326
782
208
457
530
414
949
221
938
955
383
611
259
886
290
719
911
882
962
90
320
547
736
377
83
206
948
146
66
856
458
722
135
599
58
85
356
459
167
102
512
852
934
730
170
443
121
308
939
408
979
698
699
600
836
290
314
468
513
208
75
860
790
176
141
976
934
687
995
749
557
236
610
349
150
570
330
181
940
428
320
415
330
736
53
422
214
739
568
265
992
362
258
788
195
863
360
813
205
228
963
335
152
100
461
93
498
173
807
57
470
177
238
341
928
988
826
816
401
607
424
905
378
918
389
359
515
44
946
753
407
341
589
516
702
853
845
161
950
877
466
609
757
23
41
366
240
111
276
881
807
394
387
80
905
612
342
601
415
759
126
189
838
652
711
924
26
835
402
234
608
504
971
157
204
608
572
467
233
853
923
889
111
964
137
111
607
758
72
994
837
786
550
830
909
47
835
406
700
678
609
524
560
565
771
945
872
590
391
669
996
200
463
425
990
761
870
293
198
505
52
78
566
911
60
876
441
577
135
825
584
875
756
448
163
278
438
204
112
308
245
893
22
123
865
555
877
181
835
119
861
617
667
356
922
167
147
312
559
684
800
69
221
710
362
737
397
881
188
870
126
799
868
678
65
99
46
438
12
81
949
577
148
390
859
885
920
566
961
520
809
898
179
98
779
532
799
691
169
736
170
635
293
294
276
4
957
583
184
759
90
373
693
382
272
770
587
2
959
799
987
853
411
883
984
218
228
575
432
664
611
658
338
653
13
763
499
817
519
811
466
129
717
131
350
262
28
126
168
685
576
286
291
385
576
661
547
205
868
676
269
404
39
807
542
340
861
482
941
611
962
753
998
472
211
57
423
137
891
342
595
809
634
893
111
272
964
49
926
628
200
677
385
479
389
8
366
380
617
790
164
244
345
246
1000
904
90
501
950
472
24
317
56
954
970
715
276
282
527
130
598
557
326
167
476
607
305
917
417
412
667
797
127
994
357
97
565
199
940
306
755
618
596
470
63
345
633
582
66
973
237
378
38
993
765
397
623
633
353
916
709
137
127
738
594
244
206
494
346
185
757
830
443
272
127
678
797
172
375
686
475
97
723
15
254
454
350
572
637
862
206
561
546
414
683
382
367
671
258
30
475
279
133
892
585
310
513
641
254
534
577
6
889
163
43
360
836
395
570
692
243
285
748
251
915
448
737
40
755
783
774
153
548
704
288
505
684
726
573
103
914
227
642
707
712
63
833
389
477
266
579
318
614
283
988
449
148
304
648
429
409
39
969
15
230
268
149
334
388
156
302
431
405
331
216
743
504
184
791
468
556
297
899
919
199
191
836
477
503
916
201
957
302
86
268
447
447
626
837
184
544
220
707
785
660
11
238
819
453
996
142
373
688
643
955
135
87
957
978
536
161
629
213
240
377
984
872
188
512
970
592
936
712
205
737
332
563
836
512
509
855
213
298
224
781
521
68
267
711
787
360
202
921
403
165
446
586
233
9
217
782
452
603
576
853
238
585
37
324
185
137
257
61
118
996
46
272
318
706
53
972
855
511
300
366
835
682
211
569
833
305
318
352
191
610
122
529
41
9
363
382
626
756
964
148
394
441
652
668
220
981
838
426
996
459
567
583
100
560
117
749
1000
212
807
17
62
498
440
225
335
532
717
533
542
986
174
809
525
934
458
845
583
82
1000
592
268
45
898
715
976
702
789
917
61
11
103
133
177
370
566
494
441
297
327
313
439
815
179
849
915
987
947
609
760
261
50
427
42
900
192
723
402
178
507
145
174
345
604
779
386
676
397
917
555
896
87
985
103
292
17
149
583
269
959
978
95
840
38
535
116
861
937
587
675
849
243
444
343
882
536
864
232
771
31
991
410
885
186
622
679
948
929
125
527
866
45
57
795
325
883
41
744
984
795
506
827
746
107
978
5
204
688
204
306
293
670
241
488
321
169
383
297
365
806
542
766
426
681
946
141
594
473
579
425
36
992
139
378
197
519
776
468
185
560
630
698
804
363
689
786
986
388
614
639
871
220
680
831
512
474
161
664
594
183
753
345
163
343
172
32
946
123
924
274
63
204
602
956
147
227
554
426
582
777
368
990
600
270
577
593
47
461
524
665
389
802
68
290
590
572
338
574
384
655
47
982
5
169
11
43
588
401
967
436
587
198
20
920
174
542
697
877
755
773
429
444
795
345
795
742
10
873
739
764
925
16
174
1
848
291
168
599
617
523
738
10
598
446
83
581
472
886
518
454
441
703
103
104
617
454
570
109
666
307
534
812
912
703
657
990
109
757
485
716
940
680
24
793
916
360
224
521
453
617
48
844
749
133
994
144
458
20
390
856
839
512
955
618
368
668
725
924
203
721
866
720
863
961
267
357
746
626
16
704
9
404
488
769
147
636
98
694
202
5
285
88
593
255
447
931
225
639
30
775
501
925
331
772
585
197
565
664
125
651
624
266
528
34
983
571
718
217
437
419
857
977
246
10
686
502
836
153
574
841
439
2
614
356
387
83
455
71
604
537
355
583
761
954
128
907
755
492
224
686
604
585
174
936
983
433
818
387
925
64
504
77
763
242
660
489
699
229
726
306
247
374
746
938
138
695
445
748
663
551
451
85
746
845
939
878
437
322
432
59
937
254
804
189
64
299
400
524
244
276
445
673
539
316
333
793
280
44
101
501
161
972
160
894
298
312
890
997
430
533
252
269
982
816
794
74
279
280
410
397
754
959
86
42
633
32
655
811
79
800
419
149
59
637
427
167
781
573
950
626
137
470
740
284
650
268
529
26
189
232
377
39
695
487
640
425
519
969
190
579
616
446
120
871
446
396
926
626
829
172
443
762
308
130
613
690
797
647
34
604
873
443
430
772
235
601
5
451
500
334
1
676
329
548
671
751
290
757
86
271
180
710
940
154
168
927
494
232
844
8
429
989
304
705
828
665
628
79
858
104
326
716
518
709
997
783
277
855
195
388
608
906
565
263
744
119
61
576
256
405
31
729
309
647
118
414
752
738
12
170
655
634
268
796
135
874
486
946
984
887
997
454
275
915
257
282
79
883
585
438
859
558
36
845
707
99
113
106
256
305
427
232
836
995
262
193
836
150
497
826
516
537
946
202
70
478
870
379
363
173
579
835
81
749
568
162
400
265
41
346
201
844
335
704
55
782
960
317
567
344
757
819
365
546
437
808
309
684
948
550
625
914
39
762
781
807
273
152
687
309
402
860
625
246
236
894
150
649
667
356
637
191
265
173
71
719
795
557
962
553
959
526
859
582
83
823
487
604
640
724
975
530
297
692
263
688
516
885
967
365
68
266
392
395
730
760
72
460
369
499
113
114
861
74
784
137
168
355
263
322
705
673
590
471
159
705
610
636
282
963
995
227
604
143
653
270
924
262
504
885
515
869
459
519
31
665
53
882
258
331
97
830
3
975
786
212
926
999
446
616
689
674
252
476
464
334
387
299
529
625
892
207
197
875
437
867
393
746
904
116
578
789
554
839
945
39
162
173
94
399
891
20
340
349
945
704
201
336
689
447
84
837
908
899
480
249
857
63
609
591
19
262
150
58
534
271
952
524
769
643
908
301
477
998
871
135
646
639
49
123
651
886
222
605
825
774
139
474
354
832
892
351
664
906
456
126
573
154
743
978
895
239
809
17
636
37
241
894
328
509
866
443
507
682
418
683
410
56
106
576
995
1
615
383
160
224
197
701
732
158
886
515
578
918
523
808
200
209
448
795
922
33
536
567
381
393
466
333
330
68
682
498
23
536
513
692
127
294
723
635
536
352
176
193
773
488
867
629
31
349
504
777
956
1
750
697
589
341
309
559
979
759
963
176
172
46
54
708
141
918
471
498
459
640
188
391
879
104
242
470
496
531
430
577
61
62
530
922
186
443
971
337
801
232
164
410
919
338
649
124
854
327
529
818
703
876
123
111
365
972
81
784
154
746
153
532
183
420
11
773
194
604
219
200
608
164
439
204
341
430
836
919
794
238
754
806
592
847
699
871
533
421
353
106
875
649
583
542
361
769
427
187
492
364
489
753
254
40
758
686
937
775
584
606
436
96
8
259
818
575
813
884
307
988
692
120
493
693
508
833
439
905
338
710
442
660
229
863
678
973
738
577
651
703
485
826
548
344
1000
437
787
963
92
908
408
872
166
133
405
559
47
787
144
629
514
609
794
642
878
215
155
722
63
178
858
640
354
159
813
308
712
509
1000
487
68
136
643
1
553
291
560
843
18
46
237
620
366
476
7
62
395
830
126
818
224
975
751
42
832
199
394
826
953
173
553
361
791
620
350
436
961
313
113
388
111
899
193
869
427
376
619
764
269
642
832
659
542
949
238
360
365
18
396
309
739
762
41
574
762
85
984
802
605
376
687
339
566
382
981
315
335
78
453
494
745
442
722
817
98
206
478
675
395
465
70
611
708
389
843
522
456
301
76
762
16
596
562
469
754
473
263
318
248
517
658
698
934
308
267
346
809
674
616
201
342
213
880
127
779
25
665
71
388
325
860
312
172
178
612
355
962
326
5
629
667
275
714
965
59
398
88
587
243
479
265
206
606
835
68
183
201
673
878
985
222
897
311
836
913
892
279
605
243
896
534
885
44
594
241
241
753
308
391
653
185
426
483
893
971
320
67
582
301
191
732
285
875
613
310
965
373
401
245
329
24
272
717
901
826
265
89
651
73
158
293
531
708
299
99
49
173
14
899
801
614
981
431
952
731
83
586
324
35
146
784
793
531
499
421
66
974
600
382
680
151
449
861
638
780
876
531
321
686
766
673
768
62
522
673
935
634
36
786
823
736
573
959
991
763
976
89
377
408
705
129
847
471
312
861
521
22
497
390
783
683
43
2
353
369
649
26
406
150
384
455
537
719
593
97
178
11
576
388
181
705
974
656
615
759
484
639
167
622
304
807
402
987
805
453
716
398
518
1
705
682
222
166
513
164
217
442
401
632
65
549
294
679
962
399
273
313
647
89
845
64
845
397
401
743
447
652
142
138
531
725
933
290
783
144
528
624
481
239
461
295
133
174
393
505
868
133
266
584
610
123
592
574
857
485
734
267
979
578
756
965
558
27
959
867
856
46
539
680
394
488
841
185
223
273
578
64
990
600
467
767
692
966
107
657
259
796
793
99
23
226
310
320
406
430
46
272
824
343
28
168
109
519
674
443
477
828
760
662
348
914
735
531
529
808
912
70
426
443
343
588
282
326
394
115
714
299
851
356
26
852
802
480
661
84
952
92
890
906
364
111
981
789
123
756
310
962
440
591
556
132
461
775
226
428
599
779
267
243
193
287
57
342
195
871
365
192
131
175
279
316
968
314
32
488
796
548
706
977
533
902
525
805
142
619
572
919
623
87
787
472
776
1000
543
823
573
777
735
762
814
104
541
752
626
812
765
592
758
313
521
504
224
495
147
431
420
714
670
733
866
632
866
322
414
572
201
998
775
64
432
960
436
991
285
688
363
167
601
946
936
138
459
578
651
711
330
973
65
387
959
884
957
479
863
748
544
713
590
120
441
315
104
400
804
751
821
300
439
219
378
697
667
48
504
749
447
905
813
891
942
863
962
894
936
783
663
984
85
246
886
404
440
309
740
361
662
853
136
866
273
160
536
711
110
981
855
446
934
991
465
925
732
364
721
416
494
122
579
368
376
570
473
655
339
24
516
958
692
56
548
322
612
158
904
566
564
153
133
206
981
988
611
753
58
994
909
836
144
15
386
117
448
262
902
949
532
470
504
199
17
550
628
823
162
632
889
814
18
600
223
164
834
389
548
144
594
733
25
187
280
284
478
388
410
90
300
98
506
113
375
569
187
796
556
754
219
517
786
293
216
202
421
808
118
129
499
940
757
574
704
951
658
373
802
333
436
355
341
968
259
23
709
709
512
426
812
673
329
247
271
854
705
91
258
213
419
430
554
945
568
453
459
842
390
148
541
351
620
312
938
383
401
787
134
496
229
53
986
195
734
451
117
963
690
19
491
440
901
892
669
786
747
468
162
336
311
321
150
922
121
486
894
426
48
491
994
26
377
649
462
541
254
47
801
381
775
390
668
74
89
985
587
643
110
311
689
477
621
94
513
875
617
227
837
984
601
366
666
653
891
71
921
503
688
652
84
638
102
49
781
773
654
127
600
542
208
788
124
201
384
753
881
600
296
136
171
932
937
6
551
871
381
457
782
443
101
341
693
517
204
942
625
537
754
504
419
997
545
610
889
819
830
188
390
105
183
119
758
255
682
78
622
231
970
599
386
204
688
952
910
230
470
303
198
393
409
447
523
730
835
761
656
536
238
566
672
509
23
992
721
264
303
243
616
425
309
422
748
493
901
610
76
885
712
525
220
628
980
463
10
166
727
213
198
313
738
525
794
498
292
915
843
867
506
854
766
783
562
169
640
962
55
529
536
708
200
279
40
992
406
521
324
698
235
962
246
843
63
471
498
608
654
449
986
140
210
253
367
558
374
40
247
9
275
870
502
481
93
349
382
213
536
883
270
529
140
638
596
546
793
511
766
116
79
110
549
959
719
88
781
452
402
739
585
309
90
231
747
280
158
200
486
433
931
208
944
725
884
310
933
847
344
694
904
238
976
859
942
834
922
552
641
864
139
278
382
621
704
648
199
635
977
532
224
568
495
831
369
447
431
816
509
972
168
809
94
526
466
442
165
652
195
539
143
500
253
739
643
993
609
154
862
983
39
807
189
76
956
210
658
432
266
574
466
646
781
375
181
955
615
711
554
378
821
343
898
269
176
427
871
302
450
209
752
490
439
213
879
423
458
984
566
528
177
52
961
53
90
544
309
433
545
611
432
423
447
739
792
666
7
819
497
367
294
380
788
88
727
430
767
254
3
958
550
837
504
334
113
800
422
341
1000
464
226
487
413
633
662
258
366
683
833
769
23
352
37
694
634
496
847
191
684
274
519
322
482
33
296
710
78
973
854
798
707
984
10
382
522
590
281
120
534
729
383
464
209
189
15
462
936
669
37
800
287
606
368
582
856
384
544
373
12
25
87
427
180
856
634
484
417
5
567
527
403
994
49
14
395
513
124
223
366
14
131
909
918
692
672
513
108
375
535
90
41
550
228
542
352
662
268
97
456
835
603
871
99
346
691
572
822
612
160
39
139
978
758
911
590
838
220
49
460
281
223
979
898
351
494
361
258
564
116
367
702
734
326
944
363
153
796
352
288
147
33
216
562
754
221
456
52
475
922
797
465
636
109
321
657
369
713
9
918
365
19
837
751
851
547
855
884
337
475
589
332
737
487
250
842
177
306
86
65
155
699
255
223
759
261
908
60
94
592
839
333
811
445
934
302
958
631
252
307
911
440
640
987
701
304
787
253
381
444
220
35
617
502
83
533
249
354
752
838
929
854
864
328
71
85
561
544
136
332
382
188
347
633
97
924
246
348
548
421
100
5
750
434
762
691
17
155
978
111
957
236
35
164
186
680
794
900
770
662
832
968
103
630
695
766
384
473
556
419
79
606
312
230
223
925
773
351
985
877
496
219
219
270
787
572
308
199
807
921
753
188
2
611
355
553
27
747
164
840
283
104
620
224
92
95
490
714
152
231
677
893
69
755
642
698
198
861
436
80
945
928
121
81
713
168
835
780
537
491
237
369
601
51
614
992
252
527
987
972
994
367
657
425
455
356
899
396
56
929
413
446
456
674
920
65
996
742
225
989
369
689
239
859
575
990
893
608
235
91
389
926
100
760
767
326
795
15
179
1000
858
352
2
681
718
259
917
481
659
48
713
564
475
954
580
867
498
256
546
628
452
653
606
226
445
371
217
997
974
905
400
292
598
197
613
820
447
874
755
250
786
400
411
298
445
680
32
287
143
664
526
762
777
976
80
802
760
93
441
674
242
507
981
43
680
179
779
961
226
253
463
933
342
303
190
926
439
519
143
925
372
8
238
801
127
424
872
153
891
987
943
813
514
574
860
970
167
374
664
608
455
792
35
499
794
832
487
919
896
476
763
239
973
468
597
365
510
213
621
195
555
731
744
256
949
403
205
37
812
171
430
688
456
418
860
644
456
312
103
869
670
867
292
122
154
599
559
67
659
21
673
139
71
791
17
572
882
860
113
935
211
117
825
660
308
380
582
362
679
334
529
607
704
960
426
216
925
183
713
413
844
596
190
312
93
715
132
325
694
441
738
275
43
796
430
842
166
809
112
952
421
908
876
949
396
53
175
411
857
724
133
854
73
299
179
729
721
709
384
26
222
406
267
952
94
509
539
896
234
455
578
757
923
993
725
707
514
109
403
656
318
170
255
497
786
114
530
749
215
698
372
225
776
620
338
186
286
450
588
347
14
126
484
358
781
979
767
940
127
690
44
195
901
115
976
647
527
831
155
634
324
519
701
752
499
737
27
216
995
186
196
207
131
278
266
941
53
710
101
62
330
438
811
44
220
590
76
143
524
37
977
253
686
140
855
491
675
375
885
404
912
499
855
543
61
825
881
868
1000
862
115
372
98
853
940
672
244
735
511
410
324
534
932
512
464
143
557
286
88
973
996
784
169
429
467
763
541
948
732
537
908
936
881
564
643
407
670
139
543
198
119
807
715
317
713
859
562
532
773
328
170
209
420
23
264
991
466
644
493
62
950
29
973
906
154
971
592
915
831
665
373
447
536
683
472
109
206
456
715
323
81
239
701
615
282
444
290
532
782
110
593
411
56
938
301
225
682
168
197
413
621
171
107
238
737
270
904
6
264
69
765
654
69
557
36
274
939
915
690
476
944
471
942
741
805
890
507
813
977
581
429
493
320
443
867
589
592
297
607
148
691
681
255
589
611
932
49
834
942
676
813
171
858
584
568
779
808
203
982
803
77
268
840
462
76
862
612
157
679
130
605
567
881
638
700
41
832
517
683
874
6
816
776
432
773
544
999
217
308
198
360
770
633
88
183
600
558
353
59
537
829
864
957
980
195
471
755
879
379
315
156
670
631
1
345
938
267
953
330
656
42
512
797
683
955
714
839
965
265
397
773
950
351
678
145
570
455
388
546
690
69
175
849
86
365
773
722
430
250
948
427
973
356
136
612
810
930
891
737
722
207
254
872
253
15
790
994
377
864
72
362
263
783
707
857
896
857
129
905
461
99
240
925
525
77
988
649
171
633
677
906
377
868
346
382
756
436
622
373
606
597
981
768
314
889
747
160
738
204
127
122
863
6
174
15
569
393
103
790
311
782
234
985
58
990
13
454
277
433
775
41
213
530
176
570
26
509
45
878
473
596
535
306
470
846
739
245
774
711
767
498
946
746
728
852
663
477
8
620
537
775
427
364
32
421
930
809
539
199
926
639
201
958
778
372
975
816
789
650
401
564
730
649
848
661
903
566
233
349
469
68
456
251
80
849
221
200
62
109
676
949
441
250
82
627
755
214
684
27
547
987
149
896
516
679
281
509
576
108
330
398
338
302
357
828
164
640
698
934
967
723
985
440
812
428
874
998
238
382
90
383
75
277
419
830
346
714
551
469
777
311
747
692
380
596
53
347
425
665
663
869
710
810
535
704
486
871
644
848
450
689
845
464
161
561
312
796
98
970
530
920
958
722
951
503
486
165
946
507
619
617
114
523
766
960
672
973
941
402
520
366
169
997
460
953
795
113
487
74
726
813
585
754
436
699
332
339
967
975
537
78
837
443
835
380
130
958
763
147
261
175
578
804
778
505
625
177
282
547
626
539
922
606
594
238
757
320
649
196
233
911
626
956
800
914
662
342
339
799
82
542
962
488
834
632
341
965
570
875
147
79
949
253
8
392
980
222
667
482
503
471
771
622
617
240
331
739
70
339
21
112
599
912
914
321
493
782
44
157
219
731
658
141
757
694
3
666
321
850
941
708
98
490
785
459
186
864
53
537
561
892
368
311
704
570
683
815
381
824
646
731
262
11
237
187
248
818
586
443
166
60
160
120
888
920
211
796
429
913
72
482
57
842
278
663
167
996
596
849
860
64
306
811
24
296
417
168
583
639
381
44
688
708
856
238
479
465
308
843
472
782
488
71
926
523
605
972
255
501
424
772
804
141
900
58
437
56
525
361
5
704
642
332
284
617
180
72
794
383
584
295
334
911
430
443
269
165
211
814
942
386
494
443
213
975
289
412
755
261
797
375
836
295
992
195
222
6
579
59
283
3
9
121
178
954
438
184
411
414
68
419
331
974
430
343
406
152
922
929
540
744
860
43
933
215
532
507
884
156
86
744
904
252
369
168
418
646
904
119
412
565
655
247
645
432
931
174
844
467
757
187
839
577
457
153
420
274
135
944
985
990
67
980
197
943
993
520
824
779
111
729
630
709
381
47
261
150
889
268
317
160
97
207
753
423
139
54
262
182
459
896
510
927
428
853
861
343
468
863
934
899
264
137
303
241
877
75
47
809
24
635
987
726
336
133
768
716
670
833
311
711
702
150
49
185
479
348
809
9
844
840
318
909
147
421
269
958
4
880
347
251
565
183
700
910
459
538
73
235
50
509
833
686
719
37
209
630
247
430
590
98
124
787
322
395
879
812
775
292
156
75
70
202
621
338
275
111
412
2
803
750
177
469
804
900
179
107
217
447
583
805
861
276
722
331
585
431
328
82
294
727
922
957
50
717
897
830
974
391
563
38
429
121
778
495
202
759
975
396
953
61
919
378
448
912
631
451
267
562
499
313
88
157
302
796
300
981
289
259
289
746
494
116
788
877
50
62
813
424
983
103
499
806
670
297
490
226
412
99
538
333
806
119
186
654
604
723
909
651
762
850
846
273
558
357
85
934
325
13
410
555
360
998
432
438
891
406
616
909
862
543
215
447
725
909
217
447
513
512
792
7
857
687
447
892
900
28
201
936
683
364
68
142
771
215
443
579
371
674
228
721
438
566
164
21
941
194
265
553
941
140
529
856
56
414
95
130
326
371
353
118
951
595
735
725
651
130
973
424
728
147
805
878
420
998
552
859
174
643
499
497
981
774
427
879
675
364
430
561
682
737
251
342
176
747
627
916
730
664
729
442
115
197
601
123
623
744
376
454
379
481
688
655
272
117
14
138
320
50
876
773
494
433
226
914
989
784
738
779
872
224
419
631
368
149
87
876
826
452
833
643
350
320
685
575
993
819
859
695
704
242
372
757
750
90
809
387
901
220
144
113
603
197
590
41
405
493
393
96
872
749
89
486
309
378
170
118
432
709
481
12
496
547
510
756
660
544
995
943
342
346
592
578
394
360
664
251
707
209
948
509
767
879
889
440
946
931
366
108
385
410
765
336
560
797
833
810
662
941
760
693
414
25
761
463
20
190
907
66
982
456
350
822
307
713
475
694
713
490
180
864
805
336
394
686
251
871
316
875
864
357
291
414
725
534
636
15
276
981
648
390
827
560
754
426
493
332
213
445
340
676
500
445
653
810
285
108
711
759
873
879
528
473
166
834
877
689
252
321
544
867
640
17
994
992
490
203
920
163
26
870
689
52
472
823
31
127
747
372
992
229
57
507
732
916
639
492
497
960
688
973
331
387
376
104
242
458
768
846
841
229
803
691
100
547
301
100
134
655
801
235
92
570
865
404
130
64
991
754
2
127
610
739
780
704
81
1
294
454
608
116
363
454
448
132
737
495
931
550
346
65
965
841
808
337
895
99
709
75
436
443
667
999
554
495
908
211
278
530
225
569
534
640
403
322
407
190
556
461
143
967
694
733
356
839
996
212
468
770
721
332
380
906
585
111
66
42
545
866
441
450
141
702
320
64
343
456
534
574
276
202
628
112
272
458
469
593
950
432
967
255
992
207
69
584
669
371
970
488
857
133
407
703
232
596
785
994
859
480
239
764
967
352
220
432
781
202
543
423
778
450
845
598
753
802
823
32
112
116
973
4
145
2
430
226
12
767
787
30
186
254
930
726
249
220
356
609
878
877
845
913
914
674
927
35
315
438
803
448
814
750
612
574
437
183
195
620
305
25
664
663
934
605
380
985
993
112
61
306
173
331
621
324
568
596
247
365
737
99
157
971
980
323
288
596
680
755
118
652
316
207
873
363
46
638
596
300
606
514
893
621
394
751
469
295
301
272
893
65
471
944
245
874
252
486
968
21
953
435
488
88
665
295
239
143
498
528
422
868
680
913
632
645
921
260
44
133
619
281
96
214
315
520
633
479
972
152
668
151
610
720
1
858
952
532
172
150
242
240
148
862
7
371
438
110
961
581
232
376
552
130
392
712
655
953
874
81
509
91
688
716
619
884
736
738
981
170
698
624
552
786
747
459
967
388
957
591
668
305
482
468
93
225
836
80
633
782
61
985
748
670
331
763
71
282
380
583
469
218
537
603
900
557
340
846
911
717
676
423
9
401
561
963
231
133
146
906
655
1
773
689
910
800
933
384
8
876
449
461
39
114
487
971
783
146
932
83
273
948
500
666
730
343
989
660
424
704
880
568
325
42
365
610
146
73
371
411
445
9
364
882
519
267
37
264
812
509
141
163
597
279
909
966
501
116
780
258
221
858
154
94
590
463
419
303
782
697
423
386
441
822
770
10
331
703
761
225
66
65
390
601
39
781
752
429
584
498
972
652
952
132
707
257
962
113
182
982
263
174
357
949
813
361
243
398
48
693
503
935
620
947
8
499
298
304
59
436
851
578
44
644
820
387
728
499
765
282
809
66
348
623
833
297
893
935
393
672
919
347
176
847
431
269
429
350
352
378
48
664
454
909
580
34
420
305
694
500
649
436
123
570
18
905
364
347
876
725
530
951
784
793
399
804
489
750
195
655
28
950
565
881
116
673
425
172
691
373
778
293
879
973
55
802
130
30
148
223
286
788
392
177
557
714
709
51
68
98
385
47
160
525
489
894
746
378
712
848
78
469
599
519
951
690
753
137
743
34
84
62
779
208
114
845
579
34
670
640
994
84
217
108
434
817
13
420
387
875
964
374
493
579
425
535
545
976
42
423
391
782
652
895
970
476
239
994
25
156
688
263
553
784
25
910
679
7
96
169
567
270
306
689
517
605
357
397
620
502
834
604
174
582
445
316
903
858
503
666
568
216
317
677
407
933
366
604
437
920
145
902
390
380
776
207
586
14
765
276
433
487
537
191
293
434
10
103
999
226
886
269
843
843
684
408
777
144
950
21
356
627
277
683
70
733
49
393
605
129
742
916
318
854
270
682
664
945
913
896
108
15
778
844
338
945
898
906
4
496
889
707
564
422
304
113
939
355
112
702
762
223
264
889
880
174
822
310
465
630
64
262
489
738
835
878
131
808
689
947
424
663
509
282
913
677
334
36
33
201
147
495
855
353
275
761
993
989
835
820
165
271
681
770
755
408
400
627
702
514
830
361
324
704
985
305
762
962
43
455
325
272
381
779
799
169
671
185
284
943
507
559
468
830
590
21
37
258
841
488
588
243
212
669
438
479
979
188
822
556
81
340
988
411
13
186
360
132
748
838
693
547
211
963
440
321
587
179
541
391
701
911
366
469
924
637
37
156
967
387
308
345
430
81
283
461
522
636
262
81
290
308
545
595
339
938
703
764
794
75
756
715
880
776
166
10
540
428
405
485
448
161
101
583
330
998
146
418
320
333
416
309
326
771
76
237
167
678
176
449
568
52
777
517
330
991
766
94
710
277
111
290
756
741
539
596
499
75
788
415
259
962
175
743
573
334
586
258
681
377
228
537
831
675
1
270
178
973
896
273
374
422
935
486
758
506
199
595
136
906
920
839
682
318
836
505
969
511
643
476
337
516
450
92
53
945
939
141
223
828
37
362
324
300
860
860
36
451
409
793
737
302
996
530
156
816
36
568
758
352
218
577
791
826
476
682
242
63
368
402
656
290
662
431
1
29
353
917
36
164
736
710
636
866
791
821
392
586
620
626
424
110
170
650
573
820
735
97
70
119
92
907
538
9
36
791
881
80
835
586
249
747
667
306
356
855
563
150
78
382
362
624
164
446
309
179
356
240
791
498
168
343
104
738
415
282
695
855
908
679
989
453
321
455
65
845
95
194
7
423
338
406
433
223
996
112
80
751
565
407
408
82
247
930
456
296
438
653
120
753
784
927
587
718
90
210
187
796
37
713
650
250
627
323
431
754
472
65
561
591
456
294
245
408
719
511
539
138
403
255
130
731
932
812
911
659
825
444
780
909
661
145
52
623
428
341
608
702
247
241
860
881
951
722
105
468
866
213
852
569
634
270
864
824
256
921
358
252
923
24
144
765
777
98
87
85
38
796
638
53
894
952
679
514
729
411
329
202
430
687
62
237
499
708
947
363
765
367
163
487
389
927
668
527
573
88
565
474
391
667
131
917
630
303
621
572
33
257
14
577
717
64
512
222
594
298
903
443
921
173
136
943
603
905
643
855
844
663
740
398
500
688
578
53
399
375
919
901
637
725
249
895
992
995
692
766
980
996
548
345
696
526
199
465
910
815
907
680
74
357
286
774
134
795
478
650
293
572
169
757
955
961
855
422
642
881
7
782
401
651
637
251
607
612
80
222
437
381
120
649
164
37
925
68
623
758
144
56
589
230
201
335
807
880
1000
607
788
555
90
34
958
47
78
982
611
162
789
952
956
905
379
21
70
854
457
27
905
250
586
54
931
460
257
980
416
930
347
145
943
942
945
393
951
838
670
236
360
115
181
370
439
157
486
783
433
954
379
431
200
915
137
328
149
546
809
996
217
98
175
901
354
946
168
435
832
534
494
532
397
757
352
474
633
763
399
386
429
548
447
559
556
715
584
621
683
803
418
562
391
763
539
215
887
305
994
625
247
902
990
897
720
60
238
989
736
997
528
489
556
154
810
440
284
549
571
820
315
816
216
42
467
395
779
862
724
111
484
279
206
14
915
517
176
279
773
893
434
490
167
101
772
265
215
383
773
236
864
16
541
387
216
222
568
937
311
453
247
40
310
765
350
187
411
977
755
119
251
240
466
117
349
46
164
171
577
823
121
58
296
189
723
814
85
426
703
127
181
791
493
342
992
959
445
222
152
148
36
664
919
842
907
493
763
609
787
721
976
450
354
998
675
199
836
236
235
165
191
963
855
86
616
773
900
706
344
277
645
138
244
273
701
171
383
585
106
702
547
615
326
274
726
385
105
989
802
76
7
205
599
435
287
946
85
355
387
28
507
703
669
791
316
778
505
944
894
433
316
132
561
515
824
228
736
167
26
414
416
312
984
299
168
883
767
958
595
991
947
336
640
122
743
946
788
692
928
804
109
384
434
274
967
948
840
754
183
505
776
804
897
312
625
167
679
128
631
925
66
298
634
439
546
964
228
388
27
153
427
276
47
680
707
397
387
306
57
857
488
589
17
843
323
840
144
948
729
676
925
81
69
744
856
432
874
576
76
840
777
40
231
884
810
531
74
470
876
672
306
463
181
96
880
408
177
643
598
863
163
942
118
376
662
494
626
824
127
190
753
568
734
225
715
851
175
505
123
986
881
49
89
972
175
193
257
704
29
415
148
230
198
145
70
550
43
474
750
901
995
675
172
189
403
651
351
576
604
140
225
4
802
253
919
493
667
448
257
132
510
874
398
828
762
712
751
96
690
721
840
75
387
241
474
193
733
748
303
545
894
320
394
357
458
745
930
856
588
114
822
311
754
608
342
259
705
585
530
363
782
438
75
134
265
578
796
440
588
577
761
462
168
256
136
566
25
348
151
462
552
195
557
439
838
381
993
876
894
23
139
269
699
589
897
717
572
809
759
985
680
823
38
686
25
41
69
289
154
87
741
246
315
205
815
427
567
80
646
838
656
212
362
661
870
20
619
858
844
739
212
169
434
297
863
23
367
487
32
722
324
906
186
286
869
114
740
646
124
264
777
314
989
836
877
618
819
244
97
521
362
635
102
344
80
183
438
850
596
151
627
403
763
735
212
933
965
731
28
487
732
126
175
981
32
539
397
140
595
877
728
632
793
910
556
759
198
443
826
991
180
835
283
177
734
473
113
45
465
785
811
374
702
757
905
782
845
565
546
134
314
922
77
600
363
234
452
907
784
206
835
89
177
975
736
845
973
704
686
522
116
354
193
276
354
812
804
211
156
146
194
626
658
966
78
964
938
144
215
816
375
520
341
761
158
111
417
385
417
493
884
858
926
313
900
628
168
133
231
834
27
225
529
106
157
588
997
191
803
213
127
687
388
497
833
281
424
894
851
740
847
966
852
887
918
284
410
613
225
796
693
568
13
912
802
828
161
682
310
942
280
98
734
881
173
503
813
502
865
951
636
812
526
542
341
684
96
819
869
405
108
829
159
979
704
581
671
908
529
191
842
63
560
746
328
115
333
805
153
178
154
248
690
189
557
440
792
424
335
224
206
205
112
439
358
918
73
498
26
890
168
294
808
491
775
747
144
917
806
956
466
312
881
328
586
254
532
345
949
320
383
349
733
232
997
846
991
111
317
567
882
177
466
963
586
355
536
52
739
693
951
971
845
119
308
145
445
95
770
458
995
177
53
360
998
810
296
294
172
111
869
106
349
17
97
893
324
28
11
185
466
405
985
905
905
252
894
459
159
376
941
441
180
17
486
228
140
592
946
185
332
322
718
754
198
648
708
423
32
731
763
185
409
661
677
180
726
521
938
240
205
372
556
912
562
569
503
528
802
397
227
352
994
694
364
366
702
740
430
669
104
37
319
698
538
666
97
651
780
439
484
818
34
268
558
915
736
606
502
638
563
343
317
336
513
892
929
531
347
833
216
862
108
386
637
431
190
101
682
513
444
655
672
28
104
722
682
291
42
945
732
559
137
498
376
116
995
127
977
81
220
792
732
972
988
1
155
798
329
142
490
365
399
351
901
275
420
513
863
537
932
82
47
604
316
37
963
385
371
46
311
388
618
365
912
270
107
170
155
644
178
534
698
134
229
702
344
642
729
467
899
929
926
963
228
366
43
754
72
477
745
815
338
168
341
912
130
423
170
604
478
986
429
727
577
92
420
591
438
229
138
754
408
76
783
230
48
314
398
947
515
503
109
551
10
40
41
134
525
90
670
754
73
739
927
531
46
404
613
563
844
989
812
871
975
750
971
336
286
214
129
900
116
48
483
404
888
981
835
790
658
918
839
635
866
776
269
404
422
895
690
289
483
235
318
703
478
115
356
678
392
3
502
880
21
229
19
410
761
271
720
173
788
917
917
733
893
964
713
977
958
395
876
746
962
398
621
547
37
922
532
710
411
951
671
954
119
75
552
717
887
752
236
184
6
821
511
209
386
910
936
541
519
155
420
919
392
195
549
298
254
570
950
30
362
796
173
871
600
510
581
127
462
196
329
740
121
930
460
772
20
503
342
276
416
110
100
275
844
862
76
122
92
660
503
179
117
191
630
287
491
825
538
397
584
954
607
644
890
762
144
668
169
572
487
80
731
680
31
911
643
691
915
709
576
128
847
756
185
234
331
828
311
16
385
437
48
758
837
536
918
69
51
591
493
396
975
732
61
391
874
529
329
25
856
998
240
892
484
854
784
869
840
1
181
224
588
767
770
28
68
952
602
735
177
33
911
420
674
580
289
354
769
363
250
585
916
710
976
645
849
677
522
317
550
576
709
144
187
6
298
473
652
331
929
50
94
576
274
23
526
608
805
766
64
477
124
151
220
851
969
204
642
934
687
935
616
328
695
3
756
201
466
319
727
161
713
804
47
631
558
81
457
457
837
251
472
612
893
914
709
720
775
636
346
907
60
207
144
978
435
774
88
939
482
550
814
459
968
264
923
255
713
218
165
547
979
835
285
909
657
692
291
642
621
240
596
713
631
829
773
363
170
715
811
85
40
884
945
728
734
157
990
760
49
909
772
149
203
859
813
948
177
695
340
980
802
23
455
511
171
460
513
766
309
478
722
197
57
449
43
963
485
539
776
335
938
357
112
952
120
776
274
848
834
768
991
321
579
552
999
979
497
99
555
798
706
499
235
100
917
825
676
130
803
804
943
454
927
675
693
939
311
70
588
167
884
109
547
112
972
728
71
135
377
84
254
869
68
27
352
21
517
125
597
701
786
457
905
718
469
315
706
428
327
555
944
349
529
491
663
9
982
318
1000
142
615
360
317
749
635
9
912
128
737
107
178
226
332
889
670
157
661
163
859
343
150
214
292
737
631
448
691
701
118
485
344
768
353
388
210
32
780
882
922
198
950
316
642
821
85
784
669
480
154
962
110
911
303
554
553
829
483
369
212
463
718
14
738
490
62
901
201
646
8
242
489
463
854
923
691
530
362
29
618
583
156
217
724
941
446
611
680
983
306
927
450
134
830
453
531
854
829
817
409
943
982
872
316
189
164
155
773
761
62
300
994
148
833
622
872
5
376
404
650
24
92
872
243
705
349
741
731
347
962
853
505
63
208
955
100
141
629
927
794
201
554
141
526
631
757
981
310
402
890
365
917
196
474
831
58
10
363
195
878
941
181
387
74
72
563
396
759
223
493
696
938
938
181
187
680
595
566
897
780
759
816
589
479
98
138
109
258
993
551
330
472
446
810
523
910
289
810
274
241
393
327
177
909
503
348
474
650
381
274
123
863
12
235
738
987
870
808
151
468
471
287
680
806
392
552
311
83
462
744
27
445
201
832
648
317
836
371
780
617
991
613
18
69
186
926
315
515
535
679
715
135
709
223
614
695
441
747
836
693
126
428
806
322
236
347
678
92
386
941
107
45
326
217
963
133
565
380
800
364
977
918
173
876
968
159
720
505
829
479
417
664
113
830
83
80
285
226
727
942
9
772
462
718
187
692
481
424
116
783
175
393
701
995
376
526
64
398
238
730
776
50
471
971
804
707
720
704
751
359
5
191
713
758
59
585
325
133
802
542
294
108
840
352
964
383
60
8
900
169
104
210
269
187
487
134
808
350
818
935
671
552
368
768
831
416
387
759
233
771
868
172
905
787
466
817
238
625
6
673
170
823
218
96
154
990
30
292
465
160
908
396
207
799
739
323
532
578
785
483
32
814
719
617
459
717
836
861
605
339
328
394
496
152
521
83
772
269
580
338
422
844
490
718
867
40
154
914
172
457
683
273
720
9
620
731
814
314
600
82
746
200
584
651
495
812
980
381
710
832
734
101
898
686
377
728
99
731
16
313
636
610
492
911
221
831
881
425
625
757
239
885
247
588
115
689
110
341
16
875
22
502
165
705
829
362
49
830
408
907
495
233
70
182
616
229
506
943
538
46
679
908
585
84
255
971
361
81
24
599
411
203
168
396
80
314
546
641
100
600
983
366
450
973
947
208
800
530
17
700
708
988
472
898
848
979
893
790
383
14
199
7
418
512
363
988
115
325
886
501
643
100
363
844
19
396
761
751
67
262
466
664
1000
43
528
970
395
961
783
763
544
789
373
71
347
914
576
44
827
310
812
879
24
417
676
117
58
215
447
782
629
691
68
287
859
15
389
647
826
226
480
403
183
985
735
254
484
840
265
201
673
271
691
895
98
752
10
843
220
285
591
547
890
778
519
243
506
767
470
692
262
880
519
270
383
837
12
48
43
995
346
321
568
265
769
24
670
964
75
105
108
580
147
191
774
658
838
756
936
750
413
253
59
331
133
996
680
584
791
603
320
745
835
62
979
264
993
75
937
983
910
443
960
739
887
40
290
105
172
680
411
710
867
320
189
408
77
565
758
62
471
998
454
293
589
755
342
443
977
663
90
358
29
1000
637
418
949
552
945
945
47
508
512
893
693
1
825
32
638
439
915
886
204
894
697
748
650
517
399
612
426
531
616
986
188
906
609
474
435
98
3
177
679
981
105
891
839
664
379
878
579
921
439
569
991
705
44
155
793
21
901
689
421
388
756
663
167
390
101
242
988
475
390
514
26
359
812
297
452
815
667
636
571
194
114
581
669
223
286
794
282
78
392
793
418
239
703
723
820
436
575
345
345
711
93
473
338
18
633
342
110
18
62
255
334
132
974
976
930
14
995
899
447
949
241
372
10
279
855
655
358
255
930
900
717
881
954
867
68
611
948
574
872
9
850
293
30
78
745
590
480
456
133
277
28
82
969
982
664
73
4
299
554
387
242
86
184
799
752
680
493
960
97
80
300
865
122
912
336
387
743
487
804
708
634
854
155
345
794
322
287
534
48
23
373
134
987
178
574
734
400
120
755
885
588
938
180
683
114
761
930
286
281
653
175
597
320
969
493
316
610
271
447
897
418
30
556
989
83
468
702
453
373
307
329
497
305
299
950
326
866
964
862
528
489
373
122
85
965
880
48
975
901
10
338
357
801
282
162
278
771
485
225
156
529
451
28
663
148
339
657
738
789
290
796
490
722
509
588
585
690
943
90
929
153
136
350
695
704
974
364
986
46
185
472
191
945
250
798
977
180
335
829
350
713
714
363
537
643
841
926
479
291
98
153
713
31
296
685
679
794
952
519
71
949
260
462
750
121
716
666
740
322
500
817
795
388
246
811
776
267
434
971
330
38
152
434
454
351
630
849
692
717
81
97
112
645
200
710
263
834
660
114
211
615
112
770
913
377
166
357
285
170
196
916
126
314
419
285
639
436
807
714
594
540
141
480
78
606
676
536
493
39
248
644
768
480
98
589
612
332
793
487
551
391
840
730
784
769
875
433
864
485
157
41
189
60
421
541
652
49
260
77
394
729
180
408
169
640
697
290
431
720
361
382
629
829
735
741
643
941
871
509
338
617
627
122
416
380
927
677
942
241
770
228
6
756
682
1
398
573
718
687
804
252
547
347
411
627
838
211
982
858
864
785
720
825
163
632
49
466
964
101
354
939
229
83
322
820
508
998
290
687
142
622
861
519
374
298
586
386
730
670
535
128
931
35
539
98
16
643
524
741
619
889
785
472
97
563
214
133
508
792
528
211
466
659
48
457
183
888
689
407
503
803
540
556
753
691
527
231
754
980
709
666
362
176
41
468
316
464
162
807
703
219
412
556
376
150
906
630
801
821
798
569
579
398
386
702
488
252
913
470
355
31
788
186
458
129
79
565
91
675
847
814
991
945
755
771
430
680
152
307
776
335
206
870
773
257
191
919
338
904
13
205
976
356
116
795
483
765
678
627
675
133
958
84
102
758
596
266
455
76
91
276
291
618
546
924
368
834
119
62
859
638
484
449
780
861
687
142
915
101
397
56
874
35
475
173
852
232
840
500
226
167
191
497
845
594
755
689
261
602
904
681
76
761
299
971
335
752
428
358
721
400
426
912
654
331
950
94
904
117
963
953
229
183
695
821
580
579
413
106
415
811
167
264
934
758
328
533
442
614
542
326
759
978
67
552
468
141
650
745
4
277
705
999
43
40
380
485
203
260
119
518
380
926
154
501
362
848
44
850
578
726
504
441
579
615
605
120
164
420
215
210
988
882
863
753
519
369
805
112
767
408
110
951
436
435
135
800
572
363
531
445
729
765
821
796
642
552
149
805
159
834
872
773
45
724
431
532
151
660
2
139
223
416
911
45
584
632
914
744
577
439
854
601
519
830
827
19
168
844
686
333
679
959
102
397
561
285
18
317
897
31
596
112
854
204
809
901
127
667
755
829
926
562
770
299
74
896
523
659
254
469
609
590
634
639
599
289
938
930
833
541
466
720
188
880
175
966
238
794
263
367
567
675
226
714
912
39
766
239
71
67
601
837
811
818
866
555
637
821
239
662
891
560
335
711
152
723
654
596
975
973
132
329
343
987
339
228
725
114
615
688
293
953
395
239
12
889
87
738
276
616
921
93
445
415
682
911
129
188
645
90
648
491
903
330
593
52
229
836
525
75
517
26
906
995
888
438
799
916
264
342
900
647
687
587
2
510
467
642
785
788
391
57
349
521
603
508
246
251
737
2
281
189
875
616
570
305
698
220
691
136
504
584
601
540
953
432
617
168
933
939
883
326
556
254
596
352
11
504
159
652
427
540
878
525
119
229
392
644
176
741
368
789
557
931
616
989
300
277
541
233
280
56
593
308
428
743
655
532
895
585
144
818
505
178
549
775
38
55
448
340
183
601
312
508
658
83
887
549
982
312
562
943
396
848
722
384
775
859
358
184
337
441
335
678
111
375
658
16
235
663
671
242
258
148
338
821
707
489
569
93
209
418
287
303
746
760
120
230
549
637
519
674
732
994
734
145
849
301
523
781
273
120
521
686
689
444
926
132
29
956
432
68
166
768
939
930
667
660
10
812
557
552
329
455
765
273
119
594
901
931
921
173
205
646
367
124
44
587
469
542
71
859
857
721
475
444
95
105
17
82
556
619
913
23
862
909
454
817
984
886
374
246
452
321
665
454
647
160
436
856
457
489
10
732
865
202
94
286
596
223
722
650
864
236
176
50
441
24
905
465
601
431
478
561
729
549
306
436
135
265
845
180
200
937
554
129
907
472
452
433
611
567
794
779
284
877
471
92
680
483
221
647
732
825
493
329
479
325
108
532
871
545
569
864
477
656
526
956
482
247
188
802
603
892
420
481
414
94
430
366
988
79
640
628
965
861
646
851
924
284
744
463
29
976
4
117
414
786
516
399
317
724
859
615
5
884
653
402
78
461
835
487
118
731
588
421
376
783
105
236
9
197
223
824
596
683
952
989
529
276
744
552
995
742
32
737
21
27
715
392
393
649
61
259
251
540
187
586
705
252
23
105
917
107
858
828
469
175
497
280
148
796
152
160
131
318
887
583
377
951
256
159
685
5
202
182
475
734
678
225
180
817
545
589
474
74
376
713
775
859
974
166
961
351
684
14
433
554
330
533
931
76
704
406
280
260
626
269
259
464
601
87
338
628
829
472
487
173
395
953
371
331
53
60
83
946
967
79
277
513
167
376
717
180
269
323
746
448
167
569
959
965
975
454
252
460
23
725
423
448
565
612
770
135
629
626
884
931
535
812
620
106
84
749
601
621
906
28
630
560
702
166
420
887
236
78
344
229
588
297
963
613
539
351
584
429
695
683
201
510
126
216
9
2
268
433
193
749
787
316
817
191
563
81
411
200
169
907
292
4
201
269
778
244
763
375
81
946
631
287
541
257
655
987
219
688
989
428
631
421
405
67
143
574
938
853
74
5
68
172
372
540
65
120
901
282
516
817
539
291
794
930
468
7
113
148
97
483
587
610
580
889
296
94
707
796
605
480
651
378
896
532
389
133
402
298
542
315
680
382
238
292
772
934
727
938
966
833
371
647
338
715
731
798
893
445
15
855
745
993
36
797
298
751
571
303
598
851
298
481
579
395
507
508
197
237
826
442
377
238
760
681
388
607
174
857
117
586
455
21
260
926
823
244
487
193
259
14
623
872
945
537
302
84
721
445
775
232
979
301
163
668
741
391
962
241
856
389
415
647
985
887
94
452
976
918
237
459
639
118
207
57
765
198
36
686
878
455
365
581
766
595
884
187
225
946
607
448
486
673
6
423
412
665
840
987
186
104
59
145
156
61
429
449
646
944
855
467
133
191
429
44
143
140
909
205
744
131
695
333
913
159
869
343
328
460
785
216
130
481
447
864
71
62
262
64
53
798
419
194
826
923
662
717
911
334
724
325
819
654
5
130
573
266
845
997
563
610
176
799
514
175
500
196
722
967
376
207
883
866
416
109
419
880
327
664
377
28
558
358
935
863
535
656
823
772
61
407
431
546
492
284
676
291
318
506
727
205
982
358
309
383
33
954
871
843
90
278
452
664
379
264
351
153
21
913
26
509
296
186
601
523
288
248
435
783
510
66
261
807
308
959
188
960
877
931
572
85
122
45
151
128
167
449
366
179
304
299
275
152
670
110
463
700
711
516
271
536
184
784
638
738
524
692
748
270
934
189
546
618
799
586
890
317
934
334
559
766
402
12
527
556
777
622
672
261
925
427
210
309
210
699
215
232
215
150
744
346
799
694
711
614
626
181
641
651
957
919
437
653
892
298
296
857
322
365
912
779
916
486
482
514
853
628
597
402
520
209
158
201
629
850
220
99
630
420
924
88
637
74
670
806
771
872
161
843
753
308
187
829
700
390
794
791
895
837
146
62
270
243
658
465
669
568
10
276
687
820
78
324
674
247
599
554
371
594
578
586
430
773
907
965
874
839
175
783
928
600
155
425
792
927
896
799
282
287
125
787
745
276
883
988
800
646
867
561
235
322
548
709
921
343
268
278
302
839
52
631
848
814
869
865
240
820
944
365
612
286
38
222
678
251
541
777
442
882
709
971
324
241
773
748
684
438
253
368
457
379
587
211
303
512
17
88
589
670
204
683
565
645
872
361
782
648
618
311
214
471
252
304
981
555
140
767
741
181
246
45
765
636
866
777
546
39
118
792
337
754
866
965
188
819
549
558
482
287
624
391
33
518
222
553
174
723
459
847
86
869
679
661
689
870
445
931
641
348
638
628
241
887
681
813
257
947
526
201
828
590
714
699
258
323
976
960
37
631
285
653
692
187
284
325
167
183
511
159
839
529
334
574
511
930
122
157
697
757
429
169
209
694
799
79
919
983
728
918
988
5
235
326
423
915
219
472
198
907
918
464
941
612
901
306
830
159
424
112
137
587
537
77
182
441
380
678
881
633
403
895
191
991
282
754
78
413
808
66
955
999
701
770
849
560
325
866
397
849
811
563
749
979
692
560
228
778
463
982
275
65
615
663
271
625
314
951
520
181
983
979
242
810
387
760
110
135
869
470
977
755
56
648
848
980
219
502
319
468
45
715
977
374
835
634
621
854
590
987
256
321
200
288
514
598
102
715
954
271
777
247
667
889
436
825
77
528
169
131
463
96
228
389
577
83
448
914
180
911
274
840
762
948
180
305
672
848
625
559
467
907
779
889
4
249
798
988
778
678
312
544
892
61
584
432
707
498
41
715
293
141
332
722
143
166
523
463
499
522
173
129
419
174
484
59
53
312
64
608
756
608
866
153
404
774
959
817
282
48
677
451
764
293
427
417
326
161
461
527
749
544
652
875
873
999
122
866
164
69
278
864
251
486
449
699
754
931
990
731
990
924
616
619
81
282
130
21
271
987
659
519
49
519
790
418
424
974
71
995
299
223
627
352
476
858
620
844
368
296
716
800
652
234
767
510
662
916
979
358
924
756
431
158
716
250
300
189
804
858
491
917
258
560
427
389
919
831
842
904
538
35
316
501
440
214
241
160
81
944
162
403
392
903
93
905
389
100
538
605
325
439
377
864
715
689
247
298
80
141
395
558
991
633
173
390
671
163
288
975
396
273
54
149
215
540
544
1000
419
219
475
585
84
159
905
668
681
72
147
675
565
38
440
753
887
458
199
8
166
464
357
574
890
137
208
508
80
392
635
992
153
151
209
889
315
201
267
883
976
17
301
848
404
906
825
339
780
790
61
921
331
413
390
963
847
959
803
644
645
542
950
874
430
185
442
454
375
792
157
432
880
692
164
481
674
948
943
332
162
677
237
577
58
449
556
264
989
956
627
87
334
9
628
640
951
208
642
10
705
603
651
757
249
862
212
976
941
200
109
411
390
241
950
357
220
957
136
965
291
380
610
402
589
564
594
482
576
19
7
61
74
465
214
585
98
597
500
672
279
813
534
16
530
171
465
67
438
556
334
626
57
144
448
496
696
764
793
892
214
516
226
249
750
668
243
303
295
581
705
402
156
702
569
179
168
734
307
955
139
506
643
927
245
139
561
297
851
538
704
884
724
872
188
522
648
756
800
13
69
734
601
979
986
188
564
976
765
649
521
872
561
904
418
465
160
368
751
793
214
962
506
342
393
612
818
555
800
272
149
983
587
891
817
527
883
644
477
889
872
526
353
717
879
170
351
89
820
200
794
97
655
405
969
563
486
819
45
193
202
929
57
86
629
867
298
21
993
855
761
857
393
158
920
544
386
122
79
404
70
659
561
591
671
155
661
527
543
844
776
353
348
992
670
995
472
981
591
197
856
928
416
876
827
4
647
677
815
105
491
649
361
172
272
476
644
312
455
801
258
751
240
120
651
748
698
384
724
747
70
723
441
514
946
142
27
225
22
493
875
71
367
734
348
543
793
305
922
887
71
345
815
223
475
961
887
798
241
282
44
147
621
597
558
641
639
971
932
25
539
448
62
655
701
742
903
908
791
400
155
484
737
379
174
324
903
824
849
587
237
305
706
109
709
171
957
718
684
161
656
72
197
833
998
603
629
664
108
975
642
197
886
350
877
179
835
71
495
816
453
726
493
991
285
755
844
927
910
409
419
762
462
844
242
988
722
622
915
358
918
675
288
791
165
702
541
88
101
451
717
777
12
258
708
596
33
135
437
597
377
339
368
1000
760
559
42
795
271
931
371
404
677
76
168
462
431
754
480
376
648
864
226
870
883
94
203
807
278
508
733
874
657
500
559
757
502
513
84
359
962
916
711
45
165
595
809
624
161
313
586
278
324
190
762
355
84
590
911
417
88
939
924
405
847
324
903
553
540
362
70
933
287
652
141
662
510
211
381
116
239
546
941
798
721
792
863
703
636
747
211
152
981
893
143
339
568
559
410
803
124
849
120
300
162
100
616
924
981
519
346
999
995
884
624
709
145
407
44
632
970
440
802
632
788
751
215
613
92
427
664
889
581
173
535
941
528
350
493
83
451
157
486
965
196
729
471
960
274
102
756
372
47
306
593
34
665
806
561
975
731
527
693
738
527
276
136
143
198
890
369
349
969
146
191
801
659
984
495
422
990
640
702
502
537
469
146
249
913
824
483
598
173
55
853
858
959
668
817
407
822
100
283
180
257
377
393
952
254
471
400
521
105
881
522
926
448
871
187
126
171
199
999
341
704
270
702
3
720
859
628
253
755
632
773
467
959
600
830
73
820
157
407
49
400
447
220
101
512
859
18
419
830
704
396
857
638
753
257
336
978
613
316
259
13
495
384
970
112
190
934
742
421
880
895
964
334
14
563
982
94
942
547
750
191
91
776
648
661
744
746
984
623
6
672
964
576
263
780
435
963
287
579
431
584
171
230
298
982
215
548
427
50
6
439
815
36
956
762
689
313
364
964
785
938
118
472
30
253
170
664
764
319
809
534
111
341
113
684
714
170
559
447
240
619
990
725
856
203
674
872
286
876
824
487
1000
540
416
478
223
177
251
874
254
884
666
917
92
869
229
606
254
313
124
155
869
382
645
277
297
650
758
917
211
799
359
78
74
377
227
586
657
689
541
709
276
54
959
515
686
546
372
117
32
728
277
496
28
450
533
255
261
561
356
371
74
191
887
123
44
403
586
586
426
732
249
423
360
23
690
419
514
290
179
107
688
238
84
583
935
824
662
549
655
952
981
1
202
208
107
529
641
642
798
41
677
984
88
235
176
865
751
593
673
170
390
558
242
955
618
479
434
118
953
33
176
830
323
711
69
943
215
356
541
931
264
555
53
288
780
643
46
231
233
478
414
667
714
383
217
895
700
695
93
300
206
344
448
444
459
657
486
156
682
852
497
383
876
392
132
553
770
515
440
686
334
671
416
846
258
242
990
98
217
771
638
301
751
912
574
647
345
80
763
19
822
851
328
397
121
790
445
823
346
749
118
912
503
649
275
400
862
290
901
309
927
335
633
514
573
835
60
364
723
884
412
631
472
157
263
800
11
998
495
823
197
311
673
979
746
773
513
700
654
556
418
958
725
123
255
585
296
505
997
498
819
347
241
63
641
116
64
451
207
83
87
240
804
526
453
442
215
418
810
744
802
993
556
627
551
290
10
930
284
866
203
484
995
569
547
447
557
353
672
986
248
582
363
706
445
629
170
766
850
303
345
749
937
83
673
57
201
60
319
46
689
343
63
45
311
85
207
368
937
750
851
574
316
498
818
645
776
396
222
440
341
42
345
256
692
125
165
722
466
382
806
105
794
705
988
64
683
307
77
495
862
126
843
248
526
102
722
627
893
840
214
570
506
891
417
331
672
956
618
10
916
733
195
959
235
765
246
987
675
803
27
496
87
266
795
866
106
842
784
85
119
777
681
731
899
987
890
181
765
924
829
447
243
612
344
81
128
727
249
43
332
693
562
726
340
645
204
765
320
868
648
70
328
204
908
663
433
772
961
765
130
899
280
690
406
927
392
880
704
570
677
422
314
468
314
134
817
856
110
107
230
519
863
923
867
875
618
351
358
873
186
462
393
717
527
753
241
558
799
738
175
585
144
515
467
798
788
691
896
972
279
776
863
235
657
159
928
525
211
556
394
378
935
841
256
215
176
683
606
331
927
694
906
292
612
694
551
630
984
890
37
449
990
863
630
632
956
973
179
296
815
91
221
55
556
855
69
820
939
663
339
213
462
66
563
496
990
755
565
782
956
665
826
808
375
47
873
88
508
519
109
210
598
675
358
276
486
974
166
338
88
968
955
50
277
642
860
480
510
644
303
403
190
816
3
620
49
252
964
233
699
458
476
689
652
344
524
903
913
479
54
533
321
407
910
757
265
568
43
860
849
874
191
976
298
638
841
40
467
500
36
85
209
521
478
72
745
65
908
438
111
797
189
920
921
143
867
40
824
732
109
725
453
417
589
175
940
337
885
173
946
695
674
37
128
785
622
260
205
20
526
358
439
3
212
473
860
466
752
555
254
809
545
449
754
862
190
486
731
990
689
623
32
120
983
39
159
860
884
745
738
310
927
875
204
503
348
656
459
903
292
84
172
373
795
270
226
150
161
359
726
373
206
6
17
956
189
841
918
262
95
110
774
592
562
508
822
916
836
494
391
395
433
870
351
935
97
848
506
815
819
487
214
705
844
323
868
766
659
431
208
751
654
19
28
958
536
246
488
291
878
581
351
328
418
36
594
981
235
367
268
223
775
910
407
650
153
304
846
14
201
735
180
114
673
494
699
935
979
282
41
631
559
257
479
958
531
198
20
143
121
451
852
997
44
385
529
17
406
830
171
913
846
373
323
951
670
847
548
210
154
687
84
85
91
91
348
53
62
16
804
179
965
698
939
157
378
213
567
880
238
795
522
104
851
10
745
413
705
728
390
758
939
276
347
303
137
692
371
417
406
575
155
576
248
709
745
111
707
46
415
873
180
791
119
93
994
698
382
107
59
222
665
866
712
295
693
933
46
58
441
604
726
43
342
336
758
982
601
330
457
55
357
835
148
316
39
579
922
538
11
469
387
705
504
520
40
134
181
908
392
690
516
951
911
765
301
506
123
962
943
713
978
977
266
150
363
229
956
81
484
540
892
300
91
27
173
365
848
10
324
329
236
680
892
817
784
892
617
761
136
513
909
546
957
685
107
880
909
813
677
758
235
598
729
46
257
962
155
267
970
121
44
260
701
696
292
932
355
775
339
16
490
206
337
220
844
128
562
60
191
601
473
780
620
189
304
785
737
110
102
492
326
363
662
197
776
690
527
474
843
805
465
375
268
616
733
30
14
408
514
537
856
657
538
96
1
951
513
455
344
206
510
981
361
582
118
868
95
235
787
63
138
995
988
890
760
203
474
58
719
497
378
825
723
520
785
376
693
495
470
345
526
516
858
437
6
323
351
994
867
891
763
958
247
696
662
260
827
752
248
189
88
725
228
344
511
148
541
454
717
125
231
756
185
372
399
212
625
541
805
572
726
714
720
941
947
702
46
723
994
625
321
391
944
826
392
891
873
727
614
665
444
532
937
675
15
241
110
185
66
836
623
204
138
970
881
99
420
243
968
406
894
621
205
490
750
450
893
955
29
134
626
586
919
967
998
777
370
166
425
533
664
180
527
269
604
638
986
396
84
194
884
719
252
470
253
630
416
538
981
573
999
246
25
900
857
749
961
63
650
55
846
624
629
655
801
944
194
333
117
346
448
144
655
126
81
940
584
774
888
342
38
732
833
651
436
377
264
722
851
333
590
54
815
300
391
266
404
193
359
943
765
414
965
850
100
66
830
688
329
909
90
859
188
863
569
166
643
395
726
291
451
522
389
730
478
151
702
976
31
930
913
290
897
681
306
924
560
262
640
912
29
63
841
54
72
56
755
88
599
632
453
206
785
619
302
389
327
179
984
60
629
21
966
690
92
3
868
930
868
266
768
999
787
240
995
709
282
733
776
591
934
543
788
769
62
531
539
195
509
31
653
669
773
914
950
501
825
277
469
161
659
897
225
189
35
316
490
281
857
307
346
306
396
885
856
300
852
219
892
76
36
512
346
826
839
153
893
208
838
958
966
152
380
481
663
662
408
551
781
107
795
870
297
596
56
964
747
726
520
746
243
707
484
489
31
101
441
796
476
142
697
38
764
132
303
352
200
534
6
627
63
623
128
248
805
250
993
433
993
708
695
765
648
849
699
733
975
559
305
874
53
65
584
636
854
5
38
883
662
519
939
423
87
29
919
897
328
457
489
550
983
180
51
967
740
934
157
624
995
186
157
246
578
536
80
205
71
316
740
398
926
267
558
970
987
913
988
821
104
184
326
392
151
589
549
417
46
11
685
472
512
397
899
480
872
272
305
81
871
46
303
795
642
109
755
481
351
564
581
913
651
758
408
958
9
340
213
211
539
806
141
56
296
686
727
19
737
904
266
761
288
70
617
445
329
275
526
945
542
523
883
264
375
819
770
667
356
351
743
377
390
232
301
941
194
557
235
83
25
339
537
478
659
308
91
221
283
996
430
440
517
796
226
978
979
535
844
678
65
893
687
711
115
989
124
362
565
932
766
629
964
158
429
351
797
635
468
174
761
371
125
76
792
266
575
327
668
717
50
240
67
525
168
271
689
111
961
619
876
809
327
280
555
768
623
916
502
643
109
504
102
137
769
207
402
634
27
112
75
850
280
215
835
551
94
430
87
679
34
289
427
762
941
966
338
311
367
236
904
262
434
45
741
235
534
298
336
590
104
963
271
845
177
313
508
299
805
697
631
205
587
948
582
375
136
244
57
728
766
684
376
686
284
245
943
767
393
592
546
555
323
662
181
49
200
285
621
566
723
254
910
703
357
634
232
632
20
882
310
811
364
281
772
583
224
67
766
91
266
772
638
864
959
812
173
208
27
819
459
49
137
475
178
486
359
937
345
460
965
290
60
716
272
824
164
806
773
356
147
156
226
745
188
228
96
297
364
13
231
155
712
786
38
467
221
817
179
513
175
229
872
830
363
826
42
916
424
371
774
238
835
417
766
642
304
973
248
323
914
546
200
496
425
790
123
150
607
11
873
601
841
254
264
877
942
710
306
482
589
466
761
457
734
114
239
366
137
169
697
654
404
421
872
249
819
159
511
499
732
30
542
609
677
76
343
755
964
822
596
412
191
336
18
113
466
904
385
27
61
404
65
649
462
153
202
363
745
179
307
489
197
149
183
843
223
447
321
916
803
571
162
164
229
20
919
395
119
529
443
905
945
401
606
573
922
851
737
415
546
196
510
168
878
322
480
549
907
291
737
20
43
162
703
620
520
868
216
581
187
63
482
49
581
952
882
792
670
429
52
789
753
685
199
807
986
466
853
248
123
911
5
874
595
422
7
509
426
208
591
561
564
416
479
140
457
538
122
859
946
123
648
690
907
417
20
709
183
932
305
571
918
261
294
797
842
380
583
180
9
472
523
959
17
662
629
868
843
676
431
156
115
95
604
255
724
120
826
374
347
708
951
14
301
476
364
14
411
454
934
656
724
922
33
599
315
20
262
44
830
21
217
732
465
280
317
977
908
243
149
841
390
489
393
194
480
359
472
300
101
544
239
952
3
129
466
697
607
710
221
259
843
233
109
56
65
359
300
224
673
997
965
476
423
947
783
349
378
173
347
451
978
7
580
83
75
194
204
227
701
568
757
818
238
230
29
709
380
43
567
457
570
135
27
990
238
932
211
639
838
459
789
141
868
767
450
596
837
41
517
522
389
444
257
952
910
851
648
481
560
350
469
448
121
255
780
209
901
741
51
232
288
960
624
744
30
449
669
655
692
509
456
173
576
309
311
214
178
520
892
466
43
585
191
286
824
302
828
629
494
331
799
291
997
345
958
179
993
403
164
459
584
115
235
516
198
500
578
1
618
441
786
136
219
566
326
728
496
418
395
7
892
940
239
996
254
749
189
613
757
124
289
156
706
144
682
163
754
75
877
922
714
315
670
407
451
397
803
227
755
665
914
455
442
342
718
430
726
290
734
829
837
876
673
201
804
132
948
905
877
825
906
941
247
275
571
638
614
69
611
481
514
923
449
189
97
414
671
686
400
981
321
545
737
668
86
289
277
120
529
782
235
222
379
293
69
506
161
358
955
698
848
470
263
435
679
804
623
888
301
649
53
511
24
766
515
70
613
326
99
582
122
979
932
199
300
935
441
305
399
77
188
755
619
976
797
852
968
615
872
205
204
912
371
687
798
204
185
857
944
964
990
148
32
857
829
624
848
42
545
84
628
767
557
811
624
661
95
720
588
554
406
915
139
363
111
756
625
186
13
756
97
80
679
47
134
10
74
592
223
387
678
476
569
955
793
202
408
242
592
522
801
640
258
553
953
49
827
51
138
663
2
470
408
172
804
973
354
770
838
75
754
445
199
497
920
766
97
274
573
267
160
927
18
642
242
898
309
22
844
199
315
305
7
408
352
103
584
928
64
75
783
851
961
959
143
630
892
578
238
524
513
874
708
871
667
585
833
736
265
129
712
38
102
514
355
432
431
620
913
82
178
97
329
431
625
580
752
903
972
929
544
772
898
680
190
152
108
280
894
804
633
671
982
791
288
884
453
481
357
523
172
778
77
510
442
918
162
459
1000
813
716
820
631
804
17
206
231
963
485
479
529
473
358
828
645
136
373
942
72
830
178
574
109
551
770
541
652
258
606
502
654
283
579
189
685
448
4
545
94
382
243
275
555
197
914
788
270
269
387
936
952
35
402
151
373
425
564
952
311
577
145
113
429
182
804
302
377
135
30
451
504
609
644
239
429
370
821
490
144
233
537
89
926
13
693
968
219
202
1
817
272
880
593
343
625
9
409
795
222
431
797
307
863
694
764
582
808
14
129
58
720
281
63
925
87
803
19
79
937
415
49
200
869
934
624
745
202
853
268
386
843
899
882
116
911
863
10
649
840
402
740
425
180
369
29
757
946
264
427
503
92
331
922
447
182
633
514
256
693
678
409
249
384
273
323
716
700
201
11
941
111
64
431
515
769
925
992
768
549
872
672
405
596
162
162
162
506
534
956
852
888
169
983
941
800
979
223
59
26
87
798
721
360
549
724
748
828
790
979
544
508
136
271
100
604
712
111
155
722
508
454
380
748
410
986
211
254
335
33
903
143
331
435
587
568
69
949
116
81
402
650
484
296
66
231
522
595
107
888
292
476
1
791
22
895
851
656
822
231
616
955
1
913
379
233
704
530
236
511
452
411
713
349
344
720
214
792
871
375
970
272
133
983
479
230
759
808
35
958
569
228
732
585
633
359
562
508
103
236
251
676
26
299
728
72
798
108
561
830
328
110
255
520
377
928
166
726
813
619
8
176
310
966
894
830
133
865
348
695
537
667
881
153
380
119
284
79
308
769
599
255
111
495
605
875
580
429
311
159
747
10
210
537
537
902
244
648
701
969
323
595
485
264
970
781
548
966
898
478
561
843
372
819
840
845
282
592
911
538
837
754
166
784
460
799
516
8
549
902
207
65
911
413
40
959
300
122
435
740
165
206
846
923
897
932
630
108
578
144
187
932
572
919
308
873
202
424
475
321
852
555
126
832
431
720
479
925
265
481
742
815
411
308
997
358
574
737
527
641
300
316
792
68
71
26
588
266
984
721
794
746
512
580
991
457
185
870
411
557
591
253
704
883
623
818
243
471
683
9
548
871
48
44
243
7
364
874
192
968
650
367
535
520
418
50
78
479
699
394
481
478
423
437
755
261
762
635
479
580
618
348
315
610
273
503
70
934
727
256
969
911
39
233
514
312
52
931
129
979
745
57
897
314
748
390
372
133
956
631
472
484
29
884
236
179
179
753
627
697
588
568
385
133
724
753
462
280
317
377
643
368
233
532
340
243
843
176
523
496
148
38
650
666
889
327
125
353
204
741
431
945
319
142
770
945
752
967
590
874
637
503
99
481
674
729
988
469
18
102
812
108
934
236
923
105
228
127
700
239
211
833
704
956
800
968
131
568
69
734
917
3
692
184
732
297
105
434
37
255
106
358
957
967
401
797
10
575
407
551
719
261
88
620
429
776
505
945
6
83
906
100
571
41
867
496
126
868
813
212
101
490
629
780
833
732
453
281
607
419
777
115
211
402
868
113
968
439
284
812
708
198
97
525
734
694
632
399
701
64
799
34
73
115
86
6
29
275
879
920
443
303
341
817
788
954
47
820
665
951
806
855
318
167
41
119
148
342
646
540
671
941
606
220
526
620
96
971
75
79
78
95
421
783
409
137
355
747
168
556
174
447
335
701
687
925
631
356
383
737
663
484
366
316
257
999
620
348
590
561
72
860
266
250
924
883
188
325
377
642
349
111
206
630
398
145
807
349
880
82
463
329
289
231
845
285
225
346
616
892
164
888
678
871
756
660
730
508
778
358
222
148
104
225
291
413
453
165
520
13
654
81
632
255
760
36
333
458
868
689
724
86
817
611
537
62
190
701
229
149
174
752
194
401
266
305
152
908
421
185
731
156
751
529
592
116
156
159
309
119
766
329
821
82
403
847
394
89
472
573
821
824
422
424
3
449
418
24
797
205
788
177
750
695
771
956
780
431
389
415
763
537
113
653
457
173
853
830
983
814
344
479
854
829
330
311
580
405
88
435
597
987
51
383
300
212
866
959
846
299
724
162
927
953
297
326
710
928
298
146
358
938
988
980
559
341
981
680
552
323
184
886
906
407
9
731
120
112
778
907
927
143
450
53
344
309
567
296
868
201
362
949
16
807
712
636
912
371
629
664
197
195
977
645
653
519
455
715
954
155
102
135
118
159
885
733
574
802
204
674
260
758
800
571
466
960
46
157
805
583
114
493
162
19
729
508
277
869
564
211
560
289
37
72
926
695
980
51
366
983
4
625
956
186
358
293
371
144
371
110
669
770
165
695
424
749
112
80
323
544
316
268
618
139
911
379
145
569
51
74
637
628
318
53
317
884
43
133
858
50
888
685
143
898
158
416
985
969
880
515
998
28
912
170
230
367
24
272
945
992
791
539
115
912
988
473
971
803
919
697
606
542
482
392
341
404
473
934
387
55
409
919
523
368
871
249
562
953
137
541
558
918
800
897
99
250
80
783
848
893
396
923
868
971
994
377
834
420
384
45
328
939
969
105
417
990
762
166
35
797
521
320
137
994
325
712
339
686
778
812
555
899
579
858
510
230
771
183
691
511
859
393
168
289
229
185
824
588
694
957
463
945
5
746
930
409
707
832
95
103
436
444
465
997
683
580
26
468
789
705
99
89
630
407
614
979
27
29
148
663
22
964
82
363
267
8
501
728
665
246
709
56
193
686
805
189
126
928
936
417
66
772
933
897
542
335
13
703
750
275
321
330
312
799
707
36
722
526
188
432
837
188
849
847
890
813
6
468
866
721
6
65
127
888
818
648
423
437
356
301
752
955
161
42
244
490
998
980
737
52
307
239
570
90
399
746
185
79
876
415
71
601
387
344
34
94
554
986
538
969
891
599
247
794
516
919
254
121
504
475
161
464
116
485
56
609
997
762
130
304
162
851
959
244
351
110
789
741
261
615
957
64
550
438
724
794
498
982
67
515
430
513
934
218
288
328
660
279
195
73
28
28
14
165
821
124
409
338
862
653
727
708
804
894
831
931
478
450
625
305
988
587
935
447
999
73
154
96
500
88
871
316
638
73
725
131
214
127
484
658
507
380
704
597
552
236
794
972
311
98
794
21
394
587
542
251
894
165
606
691
656
605
861
605
381
550
601
785
621
835
833
748
746
505
898
569
195
974
444
99
530
682
496
924
872
949
786
524
684
420
18
455
744
767
172
506
367
752
72
450
873
235
430
792
353
657
513
31
618
14
980
618
368
480
678
778
406
498
49
601
64
205
709
947
551
898
405
379
533
467
420
197
50
657
912
598
473
523
459
502
310
401
500
169
930
366
605
358
414
446
626
665
583
521
920
258
434
341
259
623
595
426
867
231
747
377
369
628
54
736
857
14
876
750
810
838
245
739
399
840
458
647
963
657
956
741
749
271
828
710
646
889
728
550
920
557
167
50
570
210
328
627
495
347
112
291
742
812
744
298
67
199
320
346
439
646
544
283
998
760
190
320
937
212
500
815
852
515
42
576
323
864
226
75
295
410
719
948
26
315
236
838
405
532
943
122
983
964
918
231
137
547
245
565
352
347
163
501
688
646
176
975
228
735
742
852
482
94
950
201
830
362
854
199
494
474
318
290
467
779
110
144
296
574
720
520
349
305
358
796
902
810
746
296
977
455
67
756
560
839
99
562
619
863
220
410
670
683
886
897
120
370
957
707
49
183
510
375
693
913
881
584
774
501
565
819
87
183
510
165
172
701
388
246
607
528
918
868
770
989
717
271
40
921
544
305
56
173
425
168
788
950
932
626
527
313
257
682
231
387
389
456
137
115
609
525
33
587
923
191
30
586
417
74
864
600
873
18
443
259
688
455
886
884
89
864
323
929
566
375
73
477
768
901
58
969
661
253
988
694
510
444
542
419
293
201
479
133
365
38
522
493
530
278
466
64
728
770
658
464
187
233
106
423
724
104
846
736
542
237
803
321
992
676
577
378
618
673
284
934
609
451
243
155
140
440
879
979
571
27
974
22
524
3
277
101
205
824
406
229
129
239
633
277
681
778
466
493
688
599
788
700
727
372
489
455
556
70
674
764
327
217
323
265
312
276
484
103
303
639
11
759
140
84
909
86
192
573
419
124
739
486
846
466
810
611
521
657
740
53
912
476
8
867
316
555
809
128
238
164
647
9
218
511
794
337
328
797
888
904
50
769
684
598
836
945
545
909
976
100
825
49
398
506
374
843
112
139
33
180
328
589
792
144
664
10
858
115
357
552
312
847
412
576
551
447
8
692
728
134
929
713
44
658
795
662
325
699
35
380
221
471
1000
698
695
697
796
457
404
340
904
820
128
392
939
968
437
676
939
348
27
270
352
310
95
295
735
964
591
850
173
761
992
751
536
903
131
321
614
474
223
513
213
266
797
128
415
960
650
667
31
416
629
976
884
990
673
441
325
494
702
197
574
255
230
638
490
245
410
76
793
349
55
671
865
963
481
756
625
824
727
888
94
728
740
936
872
86
977
467
820
864
336
902
993
156
178
901
87
942
705
520
460
639
232
78
431
988
31
201
952
63
519
692
14
517
671
382
533
32
287
447
364
914
789
347
721
635
353
143
971
251
912
183
55
487
298
884
646
250
101
761
582
464
853
428
111
733
409
848
848
588
895
390
797
257
55
861
475
125
705
987
330
681
20
266
104
166
184
854
64
523
280
506
20
985
876
146
104
800
903
74
603
701
813
518
140
920
956
80
908
240
479
374
63
301
290
379
272
595
3
784
911
291
232
755
44
355
633
519
285
682
731
64
544
751
974
713
705
186
436
274
375
267
966
221
771
464
258
889
482
231
659
895
434
829
139
298
955
40
553
150
311
658
412
423
488
530
255
627
841
551
962
339
348
682
989
266
74
990
619
733
917
152
212
478
736
823
387
19
375
308
628
247
457
58
511
616
550
959
831
887
290
296
409
488
143
551
101
76
500
67
574
536
123
879
556
66
407
62
91
245
158
61
87
296
751
226
842
97
244
226
208
827
706
982
185
663
288
250
530
637
218
594
710
905
479
599
353
347
201
550
771
420
971
865
321
956
875
461
931
109
231
457
448
97
29
958
261
130
111
300
434
680
248
721
745
383
497
126
982
80
289
941
504
337
27
97
86
781
381
343
824
346
923
381
129
981
965
186
889
634
348
999
206
963
834
514
746
613
446
320
110
336
746
876
424
444
543
533
624
843
964
79
460
977
267
27
750
281
872
632
377
640
644
252
258
85
165
245
422
698
886
219
572
375
448
108
832
282
68
562
806
642
838
469
294
30
41
484
66
833
841
13
141
350
789
480
547
322
74
819
447
70
273
364
61
4
212
489
65
357
157
641
494
560
229
339
641
482
589
575
668
84
881
16
534
847
483
416
632
542
646
566
984
310
998
623
158
763
382
995
782
467
60
977
513
267
873
524
314
184
763
390
529
145
807
317
637
222
974
626
941
785
803
833
489
567
46
900
64
922
229
988
136
462
497
955
111
993
666
364
745
12
336
703
82
640
420
212
440
444
40
665
981
426
373
50
878
823
892
475
721
699
852
394
888
473
826
332
963
758
566
389
526
845
608
745
313
419
789
674
957
750
344
953
308
93
780
273
813
861
989
370
636
910
3
156
81
135
45
999
804
569
219
226
361
554
323
588
866
197
833
436
73
673
959
479
826
980
740
970
886
360
957
640
637
251
824
234
229
49
304
693
681
373
628
41
831
670
962
620
834
566
639
142
141
116
232
825
855
12
189
883
350
480
980
114
857
152
214
319
912
975
721
210
892
879
307
636
856
90
269
5
681
820
499
90
176
362
752
127
192
740
258
202
94
258
300
334
856
790
763
473
888
858
651
297
628
398
417
997
841
275
85
287
433
845
679
284
317
395
175
342
825
491
522
174
131
488
918
648
811
664
523
43
102
989
935
350
377
51
841
612
257
887
701
636
157
563
388
575
593
30
710
925
247
645
425
173
202
821
561
235
703
670
652
227
586
601
941
112
95
584
415
920
176
730
862
633
596
611
462
5
42
10
83
587
578
173
151
969
970
777
452
746
778
799
646
897
498
97
284
521
91
230
890
776
608
774
99
695
848
519
930
245
776
853
3
451
582
415
426
203
997
652
220
93
892
559
438
795
259
598
892
286
113
302
172
555
157
237
378
273
715
735
331
777
401
125
881
224
655
310
729
530
504
93
674
87
165
776
161
519
210
631
402
274
105
681
88
505
32
78
465
300
931
709
99
586
42
669
877
262
611
70
119
347
308
301
797
995
76
668
623
492
928
465
811
316
70
347
377
479
344
206
785
928
905
142
12
719
562
279
744
63
528
668
995
996
890
311
11
705
926
68
806
473
814
102
543
661
116
107
702
98
595
875
38
550
217
1
309
618
410
86
720
685
103
228
295
632
74
665
828
548
455
781
761
394
564
518
835
968
60
80
457
23
315
273
832
212
439
242
851
842
698
487
685
436
579
748
923
411
675
85
198
274
258
642
588
612
182
939
126
362
179
328
515
489
175
280
988
442
934
620
848
296
564
320
90
682
395
974
257
177
263
458
447
850
457
634
855
466
86
78
646
493
660
384
663
321
934
47
89
352
906
575
451
997
578
581
60
694
757
675
658
208
744
878
457
495
189
899
106
22
416
222
410
298
333
419
551
785
830
36
184
802
600
951
238
713
753
984
614
186
266
490
886
283
529
264
442
181
624
698
704
606
987
673
755
123
79
212
464
335
126
315
128
836
898
717
361
200
125
12
91
803
476
31
401
318
873
282
845
640
375
644
453
477
305
598
604
634
294
264
281
237
703
34
441
925
414
530
673
83
821
560
972
375
79
54
640
577
407
634
61
459
734
828
308
108
283
897
808
330
333
62
141
787
838
911
59
151
218
407
54
1
673
36
131
936
939
303
230
552
645
177
209
705
375
604
439
813
341
14
3
91
763
702
936
932
78
38
187
867
39
289
309
733
694
318
22
683
531
39
208
386
542
439
523
367
703
451
598
33
854
101
665
365
533
499
569
199
716
390
756
206
496
12
105
230
50
942
756
784
585
760
894
850
693
936
715
877
602
438
207
25
376
242
750
672
539
658
652
796
15
24
274
455
302
962
175
3
997
88
374
403
395
931
162
413
859
264
158
823
13
132
136
146
895
448
168
797
884
601
664
376
44
870
141
498
567
379
475
255
395
520
729
989
144
575
164
947
635
110
241
476
119
418
886
61
826
939
983
19
713
390
64
852
47
807
638
818
4
700
492
993
362
745
423
704
290
190
19
850
926
159
796
280
884
600
988
366
81
49
226
783
554
247
731
896
516
144
554
334
651
69
16
940
728
231
868
532
91
615
147
35
565
843
430
525
562
829
694
156
237
623
217
528
488
264
410
743
367
25
59
595
31
132
467
131
612
157
611
487
309
105
614
104
819
748
281
831
275
279
2
890
834
603
335
258
725
274
576
503
561
857
214
840
911
576
599
631
613
56
27
621
86
863
775
73
48
322
796
672
521
474
527
713
477
56
143
964
403
1
924
914
726
638
32
830
627
365
975
147
568
964
449
931
62
908
604
316
208
392
9
980
702
460
496
623
599
534
181
229
373
251
507
263
707
783
180
163
591
609
77
777
994
405
840
30
850
316
316
646
76
214
417
729
19
24
340
935
719
885
870
970
581
496
302
872
25
462
438
868
211
108
511
167
456
104
951
180
193
992
837
991
728
436
373
742
366
62
811
974
751
246
910
73
76
127
213
628
306
562
630
279
694
943
31
354
139
746
145
5
751
716
336
348
935
600
186
552
93
12
251
643
981
181
975
416
661
291
895
991
850
672
368
59
282
806
316
148
466
775
468
726
396
821
966
503
288
454
508
892
118
228
480
635
721
699
1000
867
146
720
197
731
823
580
434
418
894
202
797
801
902
430
572
656
511
968
117
476
191
948
976
17
714
369
19
78
112
860
409
974
529
455
40
442
293
446
484
891
156
262
625
245
845
351
691
491
255
130
214
240
459
936
919
521
314
104
400
181
193
640
967
269
64
902
356
861
93
375
952
237
381
391
416
252
198
705
906
497
418
246
756
708
447
310
601
550
101
742
216
358
584
824
216
196
672
868
821
920
316
957
519
251
335
87
24
566
414
41
580
534
702
424
198
441
878
369
26
58
720
668
916
27
948
617
819
12
527
349
273
674
66
702
63
147
206
800
348
752
290
254
642
478
907
281
80
446
102
609
446
127
326
266
169
575
472
304
390
492
725
792
4
19
133
652
476
367
48
284
32
521
592
455
637
256
393
475
324
775
17
984
700
901
250
934
353
556
106
16
650
61
898
870
87
706
8
752
165
94
707
301
250
232
964
934
366
137
115
208
288
770
733
573
74
925
603
719
687
99
817
699
327
457
501
726
727
791
914
733
711
667
234
804
58
575
15
756
204
755
158
367
434
189
364
192
924
180
626
486
50
134
743
306
594
108
482
709
41
750
894
280
971
430
951
349
852
484
322
328
600
451
695
46
982
223
753
949
107
40
686
167
816
10
32
286
110
14
739
662
337
952
897
146
289
225
939
344
498
965
853
621
735
436
593
366
498
497
696
14
339
998
433
374
581
539
3
440
35
976
977
316
989
493
403
855
386
794
222
186
427
90
330
330
9
737
767
716
742
76
87
67
92
332
153
521
554
330
223
356
897
414
885
387
499
181
551
64
951
117
628
17
81
353
593
542
956
427
771
513
795
102
237
78
342
749
751
532
459
944
715
875
535
251
17
858
855
323
768
136
139
286
301
983
477
299
223
586
902
260
80
982
65
419
506
820
392
907
572
436
561
78
506
217
693
565
188
33
899
131
13
181
656
583
984
816
360
268
93
187
53
58
147
33
841
478
90
539
357
787
687
492
135
114
704
70
114
728
173
559
650
896
376
198
489
568
601
291
73
505
742
775
822
309
220
391
509
147
714
142
222
746
663
243
858
534
927
229
385
424
621
824
354
324
32
954
720
287
818
236
288
913
475
802
436
861
909
916
748
28
144
523
304
746
22
514
955
945
330
169
545
110
121
936
308
770
224
87
909
298
287
135
7
13
273
674
311
877
187
12
994
733
209
669
725
737
724
101
300
89
377
495
898
45
972
313
548
575
618
104
54
226
727
299
604
670
612
250
322
461
648
852
911
975
724
314
842
29
677
743
141
51
116
331
783
648
108
597
459
237
211
703
35
975
615
262
129
919
492
749
168
317
679
209
938
534
8
625
224
765
929
850
365
902
653
254
3
268
669
682
279
425
946
449
119
422
580
521
999
223
660
831
547
948
385
721
116
709
854
862
187
483
10
949
588
738
118
569
791
269
259
4
160
492
957
591
719
878
475
703
604
918
631
501
375
331
787
190
268
435
633
859
323
656
81
325
995
846
928
141
106
741
196
546
426
478
695
799
840
246
685
416
775
491
651
303
960
508
172
976
48
605
189
991
344
153
958
533
535
735
591
324
974
26
60
93
810
972
833
626
91
974
188
556
413
693
887
36
370
927
373
526
554
817
942
228
524
592
987
925
34
451
291
277
731
19
896
563
697
915
384
518
678
446
668
206
844
955
878
624
751
710
144
944
270
436
809
831
772
857
571
808
202
27
551
839
377
7
667
929
302
444
889
415
230
405
263
89
881
265
716
646
933
335
319
205
721
749
498
792
59
562
517
896
495
536
804
831
76
374
839
401
134
47
652
428
835
538
892
938
820
657
500
662
211
125
708
197
27
220
744
682
229
143
456
561
694
322
642
109
862
916
198
780
529
294
827
869
693
596
927
536
281
379
609
266
559
999
609
9
511
166
427
231
90
630
717
861
957
706
827
961
467
113
363
347
547
309
168
706
766
62
903
363
946
694
926
663
132
382
982
13
348
609
727
816
715
232
729
717
281
927
258
986
545
597
157
264
919
560
515
999
699
790
641
668
608
172
955
904
240
224
437
909
892
882
5
723
879
379
898
257
671
724
512
911
812
577
953
199
361
894
609
207
559
22
746
72
595
277
982
514
129
189
571
216
943
595
498
122
934
964
271
184
687
371
152
910
502
110
180
58
657
892
986
163
682
136
620
335
142
869
528
855
140
490
909
387
863
783
939
716
145
844
537
961
496
933
184
699
192
993
216
810
230
233
806
513
645
741
518
448
326
132
946
653
369
837
562
845
380
118
162
947
118
161
998
736
840
774
943
932
90
822
808
966
151
591
81
324
525
996
228
438
452
167
806
955
55
934
747
763
249
349
435
746
122
106
463
990
607
72
715
202
389
378
24
528
261
7
842
169
593
206
219
237
914
773
177
131
999
269
309
327
996
305
273
293
824
50
125
680
77
737
933
257
77
244
115
512
979
979
279
246
835
979
127
332
430
406
431
76
849
562
336
484
316
54
206
56
485
192
331
216
415
84
588
918
201
386
813
830
48
811
912
407
22
275
937
974
104
317
301
361
76
766
554
10
318
55
32
884
668
976
688
273
31
743
76
859
414
795
131
253
151
304
441
325
606
238
707
270
851
647
759
698
346
580
977
825
92
626
262
940
780
147
789
953
458
791
1
968
644
829
908
376
908
791
367
675
131
174
567
845
725
652
212
130
744
202
554
592
901
80
567
251
533
335
581
458
421
268
733
404
528
514
345
720
381
605
198
884
821
428
110
722
755
806
190
454
51
1000
226
829
362
721
494
208
640
357
472
907
440
936
760
723
306
680
41
564
384
878
711
415
777
138
884
840
400
980
264
864
720
239
94
590
541
967
933
356
815
936
556
427
624
508
207
741
717
246
993
391
66
662
101
97
634
147
579
319
12
433
914
835
253
633
994
915
229
611
178
113
495
662
419
68
796
935
822
229
544
983
926
908
894
115
129
64
534
529
672
160
115
283
683
731
181
836
290
266
914
738
814
196
57
179
365
183
953
956
879
93
133
448
817
861
765
172
388
347
991
646
364
799
774
222
895
925
716
20
197
827
714
159
893
137
206
513
558
991
309
747
20
780
937
562
329
542
325
199
533
559
161
888
967
935
869
302
278
420
557
233
173
96
821
116
487
630
738
411
716
689
160
367
667
995
90
626
757
488
841
364
488
744
665
245
215
78
456
797
449
628
921
463
129
83
513
234
132
520
855
80
715
104
225
760
164
439
333
111
795
503
480
268
156
917
201
699
206
584
751
904
959
878
72
694
388
764
729
824
874
111
2
663
371
537
53
141
115
997
55
606
630
571
776
943
905
974
756
629
7
158
56
973
466
679
890
184
560
981
459
875
284
49
107
979
383
461
650
54
872
134
545
290
683
323
395
334
8
432
412
74
585
673
826
199
953
373
131
38
307
951
368
786
587
113
543
459
745
523
270
593
124
60
923
84
735
547
155
867
159
968
314
964
169
515
978
208
362
797
312
418
932
434
164
768
922
791
78
743
618
726
954
144
443
260
213
583
775
916
608
127
352
221
565
481
760
441
978
413
633
606
64
42
628
389
631
988
705
383
899
242
521
144
305
715
769
275
244
628
885
284
666
90
838
880
558
828
962
843
64
180
426
946
35
796
84
785
3
286
80
570
697
464
249
916
397
273
670
550
388
814
808
325
196
961
925
885
953
177
773
547
632
878
50
819
626
145
391
21
355
67
896
40
686
843
562
515
362
555
420
128
334
222
396
124
938
952
837
72
911
6
246
379
626
955
976
811
567
369
423
728
363
531
507
257
541
965
742
442
428
717
469
646
435
984
125
103
519
782
681
670
132
64
680
656
221
158
152
136
248
364
13
275
880
760
284
967
272
196
612
938
503
751
340
513
156
488
521
875
405
154
3
988
502
783
654
856
866
539
532
528
691
615
379
992
371
30
66
5
581
575
297
652
345
257
387
474
326
875
213
382
958
631
179
502
932
384
179
615
437
472
207
537
579
305
810
575
715
596
208
460
615
733
500
120
898
505
982
167
790
601
12
170
248
749
543
267
853
632
511
206
871
313
932
288
323
360
718
287
892
585
461
392
992
64
70
757
948
21
339
108
618
304
827
482
722
135
914
383
540
217
307
653
334
60
298
649
313
760
647
189
498
888
410
184
142
874
253
52
579
986
781
534
227
245
495
396
117
802
62
39
656
58
478
501
625
247
658
306
649
907
3
356
68
410
249
942
471
302
669
321
697
128
976
250
820
498
649
133
768
270
908
33
679
455
364
866
530
77
254
134
662
336
322
981
377
955
440
333
953
719
775
536
493
446
385
824
651
69
154
996
502
818
734
347
147
266
273
48
242
950
160
749
50
865
83
80
772
492
971
864
492
159
667
759
344
593
945
858
800
319
691
362
605
589
437
78
527
465
212
996
82
695
642
756
510
647
809
608
891
554
578
884
602
692
984
539
910
568
605
458
12
159
981
149
173
744
238
261
189
649
823
175
395
572
512
639
845
692
319
363
155
960
519
938
796
318
668
311
631
846
613
816
910
917
869
610
280
164
269
344
115
592
825
512
846
872
248
106
55
811
25
685
734
778
533
288
798
965
762
191
239
606
18
928
265
856
403
39
514
420
395
528
572
845
140
805
944
929
325
41
212
18
664
852
696
464
41
520
269
167
120
105
850
27
578
179
872
663
329
495
345
597
57
436
678
812
722
304
620
35
683
611
243
948
824
396
834
416
198
39
968
268
82
325
265
129
825
623
162
500
229
402
596
435
824
570
145
907
833
636
426
88
391
961
257
213
181
619
584
296
269
965
756
7
442
960
727
117
118
107
131
885
190
461
52
276
163
112
973
965
713
987
892
81
271
586
894
41
98
451
738
216
806
645
286
683
101
909
679
778
11
699
967
483
630
52
147
94
734
438
256
903
503
254
662
170
826
871
118
755
276
770
753
867
690
883
777
30
819
87
599
345
335
259
894
772
486
885
544
744
127
931
570
35
390
328
613
608
795
746
387
619
122
941
277
947
457
361
807
1
160
811
359
572
210
643
936
867
428
510
986
44
152
205
889
724
1000
254
430
439
575
15
264
63
459
983
708
932
552
105
326
834
808
884
244
175
876
157
70
431
202
479
157
587
88
142
402
383
174
825
488
712
640
677
625
89
776
454
443
28
677
112
197
115
488
8
187
227
659
161
306
887
557
538
927
623
843
444
229
393
975
84
892
333
680
941
562
689
555
307
444
802
312
979
232
130
287
601
196
337
149
102
345
268
390
713
413
817
697
846
650
487
854
611
400
643
652
230
638
335
863
359
554
438
596
655
865
94
614
351
623
367
585
497
351
237
176
605
261
41
940
575
266
131
526
15
279
946
425
575
51
969
426
66
385
205
737
571
707
971
941
496
331
791
290
84
799
570
656
333
550
314
989
282
483
153
62
110
851
452
865
672
22
551
184
137
441
3
531
278
991
512
699
387
594
58
199
294
435
775
699
126
951
244
792
79
124
579
406
698
787
69
35
184
422
82
553
128
64
953
467
510
624
331
366
820
716
565
574
114
608
492
222
707
770
393
106
970
661
179
79
663
538
524
636
636
741
45
961
717
236
490
690
525
49
882
819
55
530
937
137
873
207
378
853
160
521
319
186
755
173
624
40
903
282
72
521
558
537
670
947
783
411
339
493
890
408
721
655
533
102
651
201
954
374
830
11
565
99
570
709
136
434
453
407
542
601
589
13
917
316
388
628
275
492
78
230
790
420
349
100
206
734
988
889
54
368
323
894
51
590
96
292
983
495
630
50
989
112
459
387
723
611
185
597
890
870
118
267
343
999
938
617
283
178
771
837
974
967
599
131
681
191
557
492
973
921
458
535
284
992
363
961
884
439
437
927
537
670
164
513
742
526
599
457
401
877
136
218
465
681
345
667
889
412
271
280
825
484
866
713
990
520
618
180
678
504
466
728
464
803
603
377
497
223
288
290
128
618
940
314
774
423
55
683
617
780
859
890
890
32
591
6
21
272
343
493
258
459
230
757
639
263
977
228
847
493
364
525
20
946
225
929
223
14
788
637
30
870
276
934
582
866
469
290
552
914
548
790
806
368
961
20
455
271
44
641
690
385
123
965
557
748
911
379
86
607
766
905
239
346
492
518
843
8
385
665
767
176
672
910
866
93
249
869
340
782
25
521
822
682
167
645
183
284
155
773
534
154
276
892
840
58
601
855
264
121
450
996
259
345
948
596
267
21
18
269
970
78
971
266
667
920
454
674
604
881
681
622
149
457
875
5
737
427
424
42
549
96
783
625
289
589
362
189
47
843
606
883
248
206
615
832
53
206
398
670
948
648
130
63
794
911
348
941
404
732
725
536
474
551
36
328
734
386
797
718
845
884
561
864
667
821
323
636
634
515
799
662
907
421
282
605
817
291
16
320
207
296
433
973
214
605
231
531
986
680
321
605
535
967
476
961
121
299
686
200
341
756
254
366
572
175
599
295
920
160
483
505
454
424
429
531
528
291
641
665
320
880
587
931
222
961
464
967
989
309
737
973
812
809
375
652
9
547
727
795
526
137
996
247
935
782
487
213
476
896
133
37
868
11
295
82
379
257
353
293
627
472
330
552
520
302
802
630
625
634
583
976
785
530
293
608
895
597
744
669
30
365
725
209
948
474
593
945
854
815
316
427
590
516
922
478
797
139
440
60
441
15
482
141
553
991
485
175
338
308
147
490
279
196
504
233
120
401
428
171
2
738
371
260
175
167
64
100
405
329
595
133
106
890
901
65
777
125
568
205
29
961
117
347
439
592
535
255
973
79
141
523
448
295
82
263
970
319
707
248
197
283
638
132
380
934
668
24
492
961
676
345
794
207
162
130
987
744
568
588
339
556
976
973
896
263
574
758
801
772
68
77
651
407
455
608
822
994
3
324
231
873
89
674
877
771
389
539
312
645
583
496
632
978
986
498
541
433
13
749
537
528
970
650
732
362
703
179
589
362
965
231
391
878
564
413
903
310
112
420
744
305
758
436
13
816
634
427
200
663
233
619
710
49
923
618
1
860
314
415
606
723
913
1000
974
797
477
697
583
865
30
906
248
960
797
59
555
43
991
559
489
138
893
246
18
555
555
156
752
817
188
710
572
198
239
312
84
70
69
123
33
445
838
840
51
167
924
185
680
303
217
237
849
490
509
700
426
469
646
971
613
195
624
259
916
164
497
946
846
905
302
789
513
472
351
642
100
725
14
445
212
938
980
106
613
359
368
662
131
604
230
316
895
932
484
432
614
903
15
328
303
242
330
397
293
938
648
600
960
567
172
142
300
864
183
799
822
282
743
533
213
213
462
180
423
241
188
897
166
584
534
273
731
361
557
608
502
452
232
87
891
541
60
858
837
245
276
714
337
895
637
296
929
347
739
374
514
417
471
589
283
591
695
266
611
327
682
674
481
569
227
411
181
659
246
248
480
898
44
579
416
245
955
828
517
566
938
479
648
226
225
416
611
247
345
806
273
753
637
929
326
410
780
397
835
399
987
477
816
449
547
244
323
979
822
744
837
951
465
242
845
885
838
462
688
227
983
987
19
615
694
941
453
331
883
32
675
827
536
92
1000
275
230
886
950
238
171
420
377
802
683
653
398
161
36
731
708
47
674
768
500
725
832
786
679
372
921
566
568
763
539
147
156
91
238
107
539
105
312
328
248
78
532
567
463
352
753
583
35
870
933
710
946
851
589
765
578
45
973
393
543
991
924
557
445
79
673
577
657
268
841
489
39
901
928
481
503
809
496
333
521
56
282
126
662
83
578
253
356
144
941
982
95
876
968
264
473
811
947
789
238
357
166
838
45
516
88
155
547
217
241
242
619
457
248
817
752
292
349
649
382
902
173
388
56
623
198
925
511
836
998
406
957
583
385
618
66
197
589
130
634
109
449
783
111
770
205
507
380
367
202
978
732
193
268
172
262
16
348
327
65
223
155
489
434
804
203
94
866
116
309
747
397
955
255
385
771
256
76
524
14
827
753
318
306
44
108
858
793
644
363
907
643
696
687
378
196
885
977
775
910
671
480
839
392
438
572
309
993
249
643
848
978
116
579
76
594
371
198
691
76
519
320
365
693
248
607
842
307
752
427
612
870
567
933
863
577
92
126
45
440
580
650
249
195
676
345
558
597
795
938
614
479
272
443
525
256
270
309
100
118
682
996
133
551
512
481
856
800
625
202
974
918
306
441
280
139
316
762
942
367
882
381
252
80
763
378
346
330
485
874
975
629
687
255
208
111
623
121
670
252
128
553
569
756
335
625
633
222
868
482
348
396
181
123
349
241
441
234
18
451
843
62
212
385
238
852
724
163
824
7
24
152
549
639
872
302
943
263
696
376
312
360
979
216
444
312
102
403
692
308
312
619
398
729
520
554
976
888
868
168
123
723
598
149
789
781
565
275
158
149
393
408
870
396
93
129
274
434
539
487
31
940
623
621
557
127
448
577
988
930
798
328
936
639
46
247
978
226
560
637
933
16
216
731
943
142
519
492
244
795
208
566
944
637
521
694
269
422
450
372
631
222
117
945
111
319
102
869
338
155
730
24
79
554
764
251
57
909
167
1000
568
401
317
8
507
372
255
382
920
839
455
566
100
809
640
988
830
655
774
31
911
963
79
472
96
164
454
312
135
994
652
952
739
651
474
335
343
282
139
182
904
867
445
482
645
284
794
604
347
251
708
762
930
695
601
177
21
939
455
271
847
748
224
694
938
144
854
537
63
601
607
680
51
3
777
470
992
945
271
315
937
909
608
400
983
640
657
189
540
473
997
977
852
892
691
748
756
163
627
845
130
515
272
326
818
398
447
82
555
624
655
66
431
796
968
92
828
940
282
704
309
488
740
510
209
594
751
90
472
297
895
142
100
810
481
798
519
355
311
212
223
203
676
558
870
789
990
351
236
277
9
842
49
44
743
359
390
20
495
989
528
560
568
131
961
791
203
548
390
5
649
619
448
975
780
775
547
183
92
129
565
618
897
781
901
290
670
172
593
383
814
728
677
364
305
212
766
130
133
340
892
315
1
417
133
430
344
56
715
633
175
785
634
638
522
398
575
31
448
749
21
340
597
308
423
817
469
133
502
94
781
545
104
84
554
487
406
680
629
412
701
709
528
556
495
760
408
69
944
990
108
302
656
128
317
600
962
352
455
554
518
176
501
805
647
755
292
227
680
543
807
254
156
738
199
732
794
934
560
609
985
14
131
98
287
942
361
922
485
626
601
254
644
580
914
396
834
589
764
542
329
97
325
805
783
969
974
252
848
241
379
440
588
354
908
312
21
783
457
460
299
268
526
424
822
746
281
593
533
252
446
974
439
373
118
795
702
423
995
967
683
949
318
888
828
146
27
309
849
276
756
154
610
217
743
160
652
927
435
5
184
4
519
707
845
970
285
86
141
526
399
187
576
320
934
941
143
393
108
530
593
131
335
265
410
578
303
637
86
945
13
739
367
966
489
929
335
722
904
461
203
266
929
84
391
728
58
789
598
911
830
142
804
276
642
937
526
300
98
782
604
790
145
664
295
156
887
129
811
429
937
89
28
739
58
142
794
7
120
880
446
573
529
154
822
159
226
978
167
2
149
156
940
21
627
156
421
540
519
24
435
797
424
199
681
9
159
147
137
295
957
831
402
230
845
460
641
578
611
11
161
495
341
996
82
458
814
185
705
706
325
112
103
342
595
984
105
35
82
503
567
657
220
493
92
836
400
508
146
283
376
315
752
780
955
780
951
824
378
917
406
651
345
395
620
144
403
176
803
267
194
537
149
916
543
95
514
721
887
656
890
199
181
191
634
760
475
201
804
810
665
210
809
191
885
730
245
873
870
314
143
950
339
975
651
602
83
779
148
125
103
367
93
135
659
159
449
601
673
68
598
600
252
6
714
780
250
162
559
6
607
314
990
981
156
48
612
833
524
771
105
986
197
279
905
732
993
823
453
342
785
868
209
266
638
210
905
643
746
636
758
301
133
729
861
610
995
177
607
205
729
242
13
493
449
772
960
48
795
540
555
910
518
865
267
349
386
169
551
48
964
79
763
712
127
508
954
973
315
176
481
237
556
987
301
163
617
183
814
368
943
918
783
267
895
47
382
195
57
306
703
194
305
604
489
547
645
61
367
970
216
526
755
282
975
211
368
226
577
906
958
766
684
101
307
704
374
587
719
67
927
401
292
537
677
167
840
117
22
30
892
850
112
547
687
269
938
394
250
991
498
811
157
537
452
549
972
313
153
624
248
439
973
670
96
319
364
833
668
679
866
894
350
390
338
696
402
152
51
759
472
945
779
472
36
246
979
551
943
9
832
671
382
625
33
549
707
736
305
265
690
951
827
400
516
401
894
374
763
375
492
772
238
64
749
29
236
939
530
589
492
365
581
110
675
704
498
285
255
139
19
39
370
144
806
343
508
141
608
352
334
169
548
600
669
218
633
547
475
928
593
107
626
459
342
734
353
46
432
590
816
75
543
520
845
41
530
954
502
515
682
192
822
249
345
729
782
365
405
509
38
327
276
882
35
680
35
443
144
733
780
779
282
125
700
481
234
793
52
114
991
869
354
4
793
154
910
823
71
909
97
670
315
110
332
294
880
876
786
280
155
668
390
979
163
775
852
890
743
304
202
992
245
277
709
420
187
349
19
425
461
430
836
102
239
89
437
377
785
319
266
624
346
284
395
429
463
631
786
391
108
983
489
285
949
851
5
371
463
991
573
493
171
416
40
123
961
959
96
696
910
644
320
385
759
315
900
422
116
379
434
784
985
183
222
270
602
653
444
449
69
885
114
974
939
621
255
571
248
123
858
676
400
624
366
64
41
299
812
719
410
390
753
863
693
556
702
698
12
365
601
163
705
967
270
23
695
820
538
453
576
709
44
348
48
206
949
472
279
389
716
119
420
677
56
559
729
539
656
78
715
99
341
467
273
842
722
240
982
801
962
800
625
779
284
202
28
819
634
378
611
281
196
171
315
599
960
890
180
687
235
786
912
320
72
747
3
905
302
256
600
84
692
249
702
13
222
787
752
217
791
137
812
606
971
300
512
426
882
256
537
948
485
509
111
55
805
63
482
842
783
220
503
575
91
53
59
30
251
864
370
958
349
154
886
464
941
669
816
788
485
326
915
918
898
178
453
87
356
833
570
3
22
143
269
758
756
895
174
829
344
200
907
795
86
381
878
959
584
358
788
660
731
619
800
790
27
711
791
517
59
566
810
806
636
602
821
768
494
554
574
535
382
192
963
109
295
39
903
198
306
69
190
636
75
556
356
108
711
920
313
778
209
355
421
122
485
785
936
176
211
965
130
667
367
790
549
79
545
632
346
49
6
791
10
970
339
213
218
405
163
820
834
337
140
975
892
81
771
381
617
665
659
391
480
358
831
458
707
319
311
127
91
547
428
168
405
635
848
406
495
704
288
302
103
872
574
66
117
115
56
443
576
788
401
137
382
343
716
418
156
260
291
865
441
604
589
773
299
680
924
673
127
500
613
591
139
695
72
483
265
683
970
788
96
693
20
512
206
204
61
823
227
632
277
802
238
701
448
316
729
607
663
268
707
347
40
951
87
709
417
230
289
556
364
775
707
984
188
471
968
352
990
252
978
307
342
313
424
729
811
152
927
799
736
221
587
990
113
161
61
637
154
648
687
930
291
436
854
28
248
223
786
944
163
837
945
959
173
42
944
931
762
95
478
177
280
890
507
92
554
957
604
983
912
479
818
63
595
660
811
393
649
34
216
95
188
555
285
649
12
489
877
439
492
457
202
399
543
165
49
754
453
754
555
462
487
60
489
282
984
834
566
249
718
144
439
106
144
437
154
864
415
718
728
644
166
252
579
399
878
262
544
98
622
11
15
49
826
748
255
124
971
345
464
821
988
255
285
43
887
899
138
578
197
671
595
623
501
29
912
51
497
813
128
638
422
289
209
444
265
949
817
72
468
232
524
482
801
788
723
148
131
429
5
416
486
306
128
653
363
948
142
745
643
415
637
223
473
196
439
522
682
148
59
120
600
15
637
400
597
583
141
531
755
161
152
247
528
556
117
374
283
687
734
312
651
387
801
246
12
528
712
696
946
706
33
15
878
31
38
542
65
351
354
210
75
524
652
315
757
725
4
533
280
450
147
273
851
763
627
289
331
136
90
230
673
536
423
52
21
119
672
6
52
583
802
922
676
599
245
848
126
595
691
117
875
835
214
865
959
365
19
352
746
927
143
841
563
878
236
471
876
953
798
360
920
562
265
638
221
263
261
138
919
549
525
233
411
657
817
243
411
504
959
349
12
52
729
28
640
412
150
293
499
647
801
609
829
490
428
477
926
591
81
532
918
503
776
488
808
770
696
752
864
535
176
523
159
398
235
653
403
656
792
951
98
717
505
707
437
574
284
756
181
17
963
693
46
830
592
380
67
311
482
982
259
954
809
322
219
799
132
51
60
864
49
837
296
476
159
573
477
105
412
970
179
651
875
637
969
922
533
661
917
424
462
483
103
834
895
264
900
477
940
431
123
926
327
116
280
678
242
866
330
442
707
869
710
723
380
79
12
895
532
49
850
473
184
959
851
657
970
869
792
925
518
172
847
761
245
85
257
628
645
96
529
119
984
553
736
222
456
283
183
313
260
304
324
277
946
372
851
806
284
699
791
175
741
330
406
64
702
834
829
569
256
64
589
918
433
358
77
953
374
800
226
26
61
213
157
679
250
108
93
472
992
65
85
125
289
455
257
110
358
231
791
811
850
976
379
852
945
443
992
593
813
141
13
369
103
925
236
700
510
790
481
228
161
88
996
938
829
425
595
220
781
432
906
733
815
102
852
542
949
735
801
179
177
52
32
471
188
913
678
896
601
85
96
887
493
67
181
41
448
403
811
702
493
732
700
198
299
5
814
791
898
234
502
652
921
890
826
442
616
562
573
325
186
274
509
719
106
800
61
826
35
854
372
98
163
682
603
606
423
591
851
205
375
69
264
775
474
821
439
702
865
719
412
724
867
557
946
250
703
357
132
760
926
300
221
911
165
36
779
574
484
559
875
228
73
227
494
859
416
74
687
903
151
206
846
744
967
125
102
926
842
508
738
102
342
14
560
557
846
615
368
70
469
743
476
179
917
196
535
494
894
678
29
285
259
615
200
700
740
24
147
232
354
292
408
254
788
754
188
641
431
408
153
672
527
655
778
84
2
705
472
41
17
787
692
635
683
763
277
61
723
807
834
14
85
736
921
542
367
586
947
698
306
967
13
964
49
836
608
506
872
743
625
563
861
215
759
628
206
543
568
709
679
951
460
500
133
686
46
883
182
237
361
344
67
593
360
851
459
305
261
255
572
429
81
80
761
786
803
390
455
96
867
479
967
640
239
841
714
975
762
335
760
513
876
198
260
802
798
157
533
708
514
401
844
341
992
146
343
811
49
674
41
262
253
971
904
505
347
823
343
348
824
669
848
324
606
212
445
88
72
179
964
932
175
785
366
691
843
56
588
710
211
493
280
338
29
648
37
623
149
738
120
327
231
799
131
240
713
811
926
960
599
316
135
494
105
740
353
22
249
814
769
993
730
119
171
254
804
4
117
543
558
601
280
911
611
173
190
697
586
816
826
18
522
811
890
242
918
889
179
628
168
41
830
691
399
329
848
571
759
359
448
280
769
689
328
266
142
881
435
263
440
655
192
115
747
419
355
373
500
980
773
320
469
377
501
788
276
746
17
836
131
753
34
910
669
612
534
13
461
26
711
823
680
897
929
789
378
620
960
79
957
687
626
343
529
373
650
798
164
925
778
381
188
939
626
739
402
99
829
190
60
12
751
825
115
305
4
515
459
4
196
199
381
333
214
183
17
597
587
208
346
856
925
986
716
956
128
275
534
218
271
342
482
717
680
339
411
529
880
845
938
725
286
908
828
118
633
207
891
891
755
587
33
325
502
896
958
680
313
377
717
103
761
88
607
481
962
840
200
14
242
279
618
963
721
28
415
517
906
163
464
357
692
124
606
404
395
103
856
137
103
623
797
704
346
96
192
120
579
340
521
395
324
865
157
778
503
444
565
43
722
220
812
157
813
821
469
679
168
437
912
9
391
197
45
842
207
597
189
906
507
944
639
264
294
324
531
106
845
417
393
273
350
616
424
49
103
176
819
732
833
2
891
565
218
236
601
294
660
686
608
60
433
75
717
318
882
15
82
997
53
702
930
358
461
39
550
539
875
218
241
667
926
325
956
627
474
226
207
137
636
279
298
633
3
928
611
615
809
956
101
179
284
468
869
294
515
432
750
680
547
576
106
155
981
198
652
533
453
263
378
87
111
901
391
724
993
692
624
536
520
115
31
137
275
568
932
122
663
729
474
418
230
65
814
474
700
196
250
537
258
824
571
966
721
652
304
763
545
7
910
908
890
613
791
85
585
60
145
886
690
412
867
742
274
370
851
22
160
377
273
523
12
349
546
36
909
714
74
840
798
692
159
492
725
161
139
156
404
373
387
86
594
280
373
885
267
858
291
654
322
286
532
371
532
568
619
658
938
316
78
949
444
157
536
193
225
650
628
524
596
67
236
722
487
348
462
130
217
745
476
456
997
821
512
200
384
740
110
271
612
275
538
601
219
20
70
876
64
687
884
948
378
392
742
528
972
551
202
689
214
921
459
531
483
23
843
243
583
304
796
96
927
806
89
739
891
12
386
218
290
331
792
387
965
806
592
245
812
312
338
524
224
227
56
425
498
522
152
906
156
474
83
136
872
30
268
895
961
708
954
15
245
435
973
222
729
65
507
918
893
138
931
133
815
247
942
206
140
996
564
702
671
386
301
354
763
248
976
511
282
459
672
635
398
554
484
415
544
433
728
241
170
858
571
211
134
719
47
109
17
627
937
280
395
326
928
364
775
840
439
689
439
227
459
234
580
480
770
252
740
805
561
287
255
493
955
371
41
81
512
867
236
552
556
135
231
220
435
506
749
239
856
855
149
49
799
980
245
847
158
231
98
836
321
593
483
137
538
751
833
61
91
594
105
173
824
627
815
714
465
837
648
314
134
845
463
43
960
852
218
27
809
496
496
199
231
563
491
256
711
37
814
723
524
834
388
703
239
61
474
37
223
244
450
307
37
846
791
419
590
148
381
89
824
104
262
869
939
212
755
621
738
938
853
282
137
333
608
236
682
335
391
210
780
352
841
981
226
495
747
473
101
882
597
459
502
177
451
325
446
195
118
449
92
606
25
152
124
524
698
862
350
626
838
781
711
605
26
267
659
779
744
535
614
60
591
7
496
347
101
953
173
282
935
547
168
135
106
20
459
76
224
604
423
451
730
778
677
956
934
251
299
414
982
36
240
105
554
21
503
861
12
150
11
326
523
267
626
339
557
532
296
27
891
314
848
462
706
467
742
4
14
623
628
649
776
59
711
853
842
984
639
948
947
676
971
197
721
70
693
598
167
397
445
824
732
535
420
441
526
546
375
452
768
974
685
438
848
867
787
347
48
388
251
801
456
748
875
482
255
177
327
1
783
913
491
922
718
276
6
862
116
531
581
236
344
997
965
89
45
902
523
962
90
104
131
370
927
508
612
963
948
127
308
166
775
14
586
719
744
678
118
909
129
565
755
5
255
934
248
405
560
324
295
15
352
961
895
7
698
511
715
637
382
583
199
435
931
80
502
14
733
596
455
6
750
683
165
31
539
409
747
766
937
836
221
642
329
579
380
910
36
98
356
458
454
883
825
560
725
574
307
763
312
805
482
664
494
590
305
727
540
911
740
231
643
82
494
504
640
538
853
108
69
425
356
580
461
909
488
492
194
707
553
646
366
85
678
272
670
286
457
916
909
74
671
799
531
974
866
584
756
283
741
42
240
487
319
599
234
208
661
48
611
963
617
899
259
894
697
139
519
59
468
106
726
270
308
747
653
385
411
427
637
64
535
549
521
298
389
236
516
104
554
129
55
142
973
268
914
552
581
564
501
56
577
983
570
520
471
620
110
21
599
809
775
195
535
270
565
983
232
247
146
195
478
372
908
509
99
254
382
118
80
272
308
385
284
762
194
262
507
987
25
249
63
917
200
332
712
942
514
569
333
299
890
746
933
904
947
586
733
872
222
252
409
95
574
630
703
620
703
268
835
290
986
356
655
270
240
458
488
721
252
992
692
233
538
588
849
276
623
862
75
208
113
65
294
985
164
305
607
542
947
275
796
32
43
583
289
301
734
126
830
982
298
41
877
79
834
318
296
53
577
668
417
18
969
748
165
105
975
389
275
693
813
29
514
231
275
508
454
365
147
47
732
930
52
238
857
129
540
916
400
344
701
343
436
707
620
783
685
357
861
937
54
468
328
481
771
878
28
868
714
148
201
679
20
109
191
243
287
880
295
268
994
815
248
16
914
825
307
678
981
904
964
547
296
498
33
466
988
166
185
203
358
147
358
135
358
747
990
882
714
149
45
458
522
332
571
944
725
751
8
871
441
436
153
464
823
772
980
812
913
224
700
375
205
594
622
165
583
652
142
484
721
343
120
400
292
288
216
795
487
312
73
735
537
283
407
945
117
96
621
642
533
522
563
763
311
738
588
12
743
489
313
358
569
537
399
619
620
336
674
474
632
144
294
683
159
75
177
627
837
666
52
718
970
109
857
530
167
965
696
358
326
46
515
5
274
150
889
538
895
129
991
604
692
546
603
299
262
566
230
676
945
628
582
743
344
944
767
78
167
196
912
367
931
860
610
41
420
502
759
18
517
259
700
157
244
983
50
414
936
539
817
840
99
893
726
174
103
694
276
635
824
934
37
257
521
822
471
110
187
72
796
755
803
288
618
237
202
142
572
364
372
336
134
9
170
595
511
4
422
617
75
318
383
81
364
627
120
720
207
762
614
219
556
115
442
481
381
821
554
133
77
58
976
721
433
339
994
843
891
355
831
764
436
705
168
950
639
246
587
262
233
493
335
523
571
748
737
998
169
79
254
30
147
239
595
682
749
1000
405
295
526
56
904
465
594
600
617
586
43
353
47
364
29
80
990
467
5
157
955
290
155
183
193
719
536
648
298
373
364
853
165
309
170
867
164
244
687
443
154
262
799
839
990
721
58
565
106
300
301
838
617
276
634
95
362
309
874
682
882
333
534
785
919
745
994
480
441
49
610
910
904
612
595
699
14
583
360
400
190
809
538
914
59
416
155
447
545
218
20
249
95
744
89
878
813
335
726
425
844
485
679
662
379
475
583
154
595
947
669
969
764
323
296
158
664
982
957
200
239
906
312
603
789
562
514
256
639
232
615
772
559
557
353
890
896
808
429
721
480
177
48
667
664
991
924
906
208
966
584
113
946
594
885
458
885
798
896
944
35
877
841
618
739
769
488
609
420
228
349
62
915
598
626
247
797
730
439
811
696
807
658
865
312
857
932
70
569
249
262
451
435
545
171
873
109
840
532
8
841
330
347
445
174
57
897
417
909
959
504
676
94
175
870
74
863
895
787
912
651
129
546
490
341
970
721
950
485
621
4
26
753
37
167
344
761
450
284
922
829
998
696
435
371
650
426
18
423
606
119
239
362
581
674
799
805
639
937
481
798
898
301
604
980
89
716
541
971
429
253
731
948
280
868
248
477
794
791
246
290
359
888
184
920
629
137
965
670
150
868
363
358
305
929
577
58
635
665
540
36
134
661
767
193
57
269
486
462
781
796
968
358
926
620
489
922
616
472
709
686
23
449
15
552
747
149
299
880
881
1
371
443
215
356
705
691
172
668
804
298
84
949
465
671
850
847
278
810
24
983
935
576
859
357
296
912
642
25
741
848
412
543
243
288
60
52
800
9
448
315
911
555
522
270
520
511
628
682
983
321
74
172
248
557
600
998
132
770
90
616
989
621
408
66
724
881
844
974
204
58
902
977
545
243
496
388
66
867
857
558
864
23
841
99
879
191
332
30
763
518
863
809
391
49
966
918
803
760
331
401
270
818
468
499
269
929
823
439
939
461
120
247
724
406
735
739
228
296
114
727
719
238
635
498
846
133
106
523
690
21
608
718
341
114
332
186
149
526
995
32
627
916
719
380
951
70
472
542
387
156
791
691
761
867
287
659
891
407
802
988
609
774
208
662
883
556
310
620
792
942
713
182
546
618
803
86
606
655
277
611
193
696
963
274
144
686
118
464
289
693
861
505
153
598
290
61
244
737
935
417
578
710
962
747
593
638
703
921
498
536
164
855
846
416
687
484
495
844
964
808
688
588
211
324
598
605
97
650
447
385
546
383
577
839
926
529
483
319
583
451
517
849
296
743
858
29
41
657
460
537
550
477
998
47
793
177
922
654
143
200
553
188
851
297
751
689
893
832
776
148
17
185
713
879
668
277
453
107
908
912
514
123
121
365
428
236
140
736
808
870
761
946
875
795
738
111
757
180
667
716
921
586
890
351
172
945
158
799
4
236
432
524
206
730
813
171
384
486
658
966
316
106
893
97
182
468
215
340
329
575
474
687
992
639
398
29
510
593
509
66
517
528
217
231
702
286
912
350
951
700
783
313
383
329
573
83
548
334
558
934
482
802
742
715
670
99
145
392
13
71
549
516
594
428
661
731
23
143
66
945
326
457
910
603
329
446
979
758
896
456
428
273
160
659
53
339
137
43
399
919
243
334
882
556
305
678
503
680
480
433
499
274
603
233
91
3
129
624
724
759
906
233
219
577
542
853
164
825
869
87
969
178
547
542
940
122
355
789
630
819
635
38
973
412
671
866
847
129
753
812
223
162
233
458
579
513
741
130
408
435
945
682
996
828
674
16
112
613
99
592
411
445
548
805
800
245
822
524
168
149
666
978
332
820
407
276
480
772
954
133
364
424
489
768
469
964
725
814
410
991
638
790
687
207
344
838
945
178
357
153
696
425
752
123
128
653
773
480
954
807
301
437
811
269
819
449
111
794
710
409
279
166
652
517
903
121
822
618
580
705
138
424
790
648
727
86
548
433
527
444
273
155
228
543
504
926
488
696
77
289
179
687
107
69
679
623
122
221
677
791
382
81
952
268
725
448
759
913
363
479
880
929
292
153
944
197
315
24
827
868
544
184
821
678
928
885
537
279
121
70
564
654
71
227
947
901
468
686
784
826
186
271
67
794
507
114
278
364
609
240
233
988
162
464
517
856
423
684
39
671
635
260
156
680
299
121
225
117
339
508
319
843
322
401
720
651
373
852
451
577
503
712
434
312
364
79
683
18
519
994
129
868
415
477
760
408
845
305
476
810
20
17
18
678
324
229
573
530
856
19
216
184
473
429
650
244
104
425
345
220
707
855
23
964
901
299
85
863
128
24
65
478
574
711
51
601
802
809
662
93
935
496
955
500
46
999
263
343
572
538
229
462
504
114
230
451
43
545
938
771
846
917
940
764
176
118
689
978
237
613
763
173
489
158
127
240
63
202
616
965
413
96
216
709
313
174
217
80
115
41
607
539
700
663
519
838
125
377
296
380
607
500
725
795
345
514
728
741
119
9
159
878
177
629
164
478
595
590
815
560
157
65
564
85
672
253
990
517
2
701
579
480
179
216
704
238
940
629
541
652
519
933
512
443
741
143
635
677
425
701
560
701
535
854
262
139
988
306
792
936
327
197
161
942
787
786
701
133
793
262
815
945
403
441
325
362
200
713
370
776
59
271
245
293
294
673
813
265
17
888
456
311
681
383
428
149
471
70
405
877
461
319
703
39
628
872
302
185
702
25
879
712
520
248
585
581
953
532
496
354
825
99
837
638
707
446
319
836
755
874
181
110
230
185
81
167
764
862
198
800
917
449
214
902
411
640
330
248
69
283
332
251
330
155
272
499
226
744
267
647
883
614
710
172
877
817
896
793
640
617
515
663
317
492
482
177
743
750
306
37
537
735
625
147
22
591
439
233
733
528
927
844
482
915
869
806
92
37
990
190
665
825
920
559
71
523
87
797
414
262
571
112
55
915
466
355
274
187
148
944
590
875
24
956
368
173
20
741
878
166
467
486
985
460
837
679
786
678
345
131
676
421
723
759
542
253
940
194
865
293
829
480
785
78
82
671
37
423
572
993
61
297
572
674
773
522
493
890
861
70
116
1000
217
259
726
353
17
292
377
404
905
265
377
921
468
619
116
606
506
802
263
465
115
355
223
553
126
366
5
232
426
436
17
260
469
999
297
203
611
725
822
754
424
413
377
720
822
489
445
384
462
32
663
263
683
410
941
413
499
322
994
973
995
470
829
43
611
334
557
730
360
714
173
29
233
312
373
952
878
679
144
845
534
498
413
882
172
273
23
454
308
932
829
263
552
988
753
949
740
50
690
259
817
642
721
95
253
88
795
12
132
172
955
499
323
984
111
586
188
356
973
265
856
967
332
469
24
101
665
704
530
786
70
898
932
863
272
18
538
922
10
619
980
30
309
177
913
393
223
373
464
852
984
596
262
886
495
480
532
314
13
846
396
79
557
210
528
931
46
982
302
950
477
730
976
998
244
492
551
253
302
98
838
720
968
702
702
690
491
325
782
51
353
476
856
893
492
898
284
758
755
454
586
187
568
493
118
313
932
404
525
986
217
621
406
664
934
627
155
13
293
411
119
920
577
727
485
453
601
596
172
133
673
390
794
979
917
48
385
699
584
166
248
146
406
122
856
638
489
77
187
294
260
841
192
899
979
394
225
551
372
440
273
318
180
501
453
712
428
793
139
114
992
212
923
675
771
993
766
460
178
76
833
226
512
200
674
914
594
983
280
99
243
649
486
443
142
753
538
618
60
418
904
856
481
606
222
172
717
714
664
979
896
125
902
154
373
283
555
492
75
180
429
364
32
5
685
789
75
373
509
322
386
272
274
6
881
6
288
14
645
491
47
647
275
316
617
460
980
10
685
580
499
826
869
4
799
355
299
622
240
511
786
677
9
490
276
533
949
677
149
983
831
56
972
561
492
251
881
650
323
604
898
746
681
752
261
802
470
9
60
765
89
560
776
665
899
487
6
648
675
677
201
45
956
346
274
899
359
968
595
494
963
936
584
258
38
82
607
703
136
20
649
404
564
229
254
366
210
915
990
510
741
186
719
851
990
901
320
899
143
35
884
934
110
514
118
556
416
74
350
58
675
218
856
75
319
400
279
107
980
971
320
64
577
664
783
25
63
701
579
438
927
986
116
665
190
537
848
162
13
96
176
823
477
779
400
565
391
525
810
548
866
784
691
424
996
385
284
551
599
987
212
155
534
269
312
11
301
466
337
180
30
85
371
337
989
752
256
55
799
999
776
803
564
411
610
392
345
292
290
699
951
658
538
625
224
405
391
662
85
866
566
308
48
262
622
253
408
969
565
758
440
387
455
609
905
665
892
413
153
703
51
445
789
987
54
476
537
849
730
804
93
28
222
499
745
153
1000
752
336
667
925
811
525
531
78
411
941
280
796
264
417
959
812
83
295
440
542
57
333
176
64
198
701
996
583
156
875
821
131
518
679
316
441
899
33
692
775
846
286
904
136
709
741
626
57
262
682
848
776
683
384
977
459
72
71
343
376
749
680
702
514
756
998
701
832
607
247
245
324
452
32
892
339
715
80
313
397
71
783
603
573
516
303
64
58
567
12
858
312
550
564
566
356
127
34
281
506
518
929
266
540
706
832
401
490
835
663
750
315
54
229
231
157
277
123
305
427
618
736
220
8
836
613
852
417
873
796
883
699
962
959
344
988
422
27
424
6
465
963
946
282
952
937
989
394
487
479
142
492
824
913
498
688
833
415
807
630
275
245
560
165
699
262
902
703
689
183
480
899
369
732
110
270
481
440
122
557
190
522
153
259
515
615
984
530
909
486
320
489
364
789
403
299
614
59
66
736
171
327
431
356
728
651
791
241
66
251
245
311
652
162
331
82
354
965
340
617
475
615
447
991
277
26
265
538
951
924
539
150
786
459
567
111
21
492
572
324
902
998
452
762
62
414
623
893
762
628
952
687
537
118
238
287
300
742
869
748
316
681
773
57
409
192
967
374
654
610
309
679
21
884
551
704
311
874
752
486
863
256
289
289
960
617
448
279
236
988
701
122
276
237
189
300
323
228
965
525
835
633
878
509
921
924
650
870
854
132
981
914
184
804
903
752
175
308
827
459
337
176
623
432
723
538
820
102
519
750
322
119
489
88
171
307
901
184
411
466
812
509
637
772
1000
620
576
134
57
59
932
352
666
37
835
868
490
902
345
599
964
65
586
933
210
431
649
49
276
201
789
75
45
404
833
424
9
487
373
77
571
659
348
514
806
650
209
898
26
535
840
275
861
835
684
186
193
789
561
166
977
535
546
699
750
340
823
757
112
135
447
191
908
704
766
945
669
420
531
968
145
827
314
694
574
45
738
755
48
471
766
672
945
31
865
545
175
756
922
520
988
534
952
720
32
118
460
706
830
108
94
171
553
701
599
115
88
197
961
352
1000
112
268
274
12
155
554
307
279
677
678
59
165
374
460
588
864
976
985
885
439
18
663
567
549
380
454
879
239
202
572
898
595
853
455
211
649
510
411
757
880
28
937
716
661
809
491
678
57
979
51
718
6
52
245
405
237
736
206
200
260
816
410
382
729
441
711
241
420
498
247
908
633
524
630
693
979
872
297
562
952
500
830
719
423
871
125
85
184
440
673
261
279
35
834
860
7
120
142
383
791
984
238
754
141
741
269
840
653
364
930
459
148
496
232
206
285
24
762
96
301
7
351
421
850
616
448
644
583
378
802
217
761
19
772
115
254
263
583
411
913
663
350
489
878
516
480
69
434
131
740
495
139
322
192
603
244
335
719
119
507
791
394
154
542
46
168
700
56
655
702
356
501
555
628
59
547
740
111
154
490
862
975
932
889
538
342
649
187
584
355
388
768
399
982
547
188
636
952
856
299
349
212
475
813
878
670
800
731
566
533
932
250
193
369
731
509
809
650
898
220
669
880
502
183
869
179
10
125
687
616
604
545
961
905
120
32
27
334
915
627
488
667
434
466
670
883
249
316
159
971
509
923
893
897
494
877
76
681
925
738
443
132
627
176
291
904
313
109
639
607
170
378
388
96
811
293
343
234
420
294
914
322
419
689
911
218
763
481
520
48
733
581
710
665
171
183
470
840
429
482
549
983
14
233
674
601
972
944
508
745
729
603
963
523
475
812
818
662
148
221
226
615
885
759
588
809
826
73
791
127
286
419
990
856
748
511
911
685
56
653
211
404
894
71
259
40
156
103
445
838
744
229
245
183
346
191
604
212
579
793
318
763
374
292
943
117
90
33
452
769
518
484
130
121
988
114
929
872
61
711
516
78
158
904
823
112
363
986
5
280
173
633
235
802
86
563
165
842
810
814
945
918
826
968
992
630
837
630
581
472
86
256
942
511
659
93
661
791
999
189
842
141
983
576
411
338
506
285
539
340
401
246
901
873
27
385
693
881
693
191
540
157
541
967
249
621
433
162
153
778
792
440
75
138
677
734
295
700
289
365
802
194
216
63
355
825
116
287
689
609
796
627
925
578
828
232
129
199
843
478
111
464
573
853
37
39
651
879
637
951
487
404
391
631
847
220
543
500
219
585
535
804
289
956
249
572
154
569
8
911
703
109
606
786
976
956
988
697
210
793
180
239
574
244
323
255
325
596
659
982
97
891
554
772
897
723
435
694
186
832
783
628
201
633
367
274
777
594
258
154
508
348
224
59
414
381
740
683
597
649
365
223
404
213
227
266
692
906
208
323
495
437
914
553
827
558
34
298
147
726
518
645
622
116
362
883
246
473
2
653
736
626
225
348
11
24
883
205
141
683
449
279
255
955
941
579
987
198
896
511
144
668
324
41
145
929
996
445
686
936
851
418
604
834
11
461
81
91
672
44
874
402
290
155
368
794
972
581
410
825
536
425
77
13
840
372
310
918
54
262
157
433
396
191
691
652
229
749
454
208
247
176
783
404
434
421
371
561
498
548
802
809
454
581
270
41
740
737
770
230
153
76
204
677
601
814
772
420
683
934
929
268
816
228
450
910
128
908
600
212
456
37
387
331
892
405
980
127
913
92
730
620
415
317
374
699
319
716
729
113
205
935
110
382
797
288
629
575
623
65
344
3
943
250
612
853
567
799
779
569
778
460
994
196
131
727
940
600
903
1
153
577
384
105
379
987
211
57
780
572
393
690
390
419
78
399
598
410
851
477
317
387
810
284
189
948
350
444
577
479
272
793
650
339
558
398
740
391
65
201
996
956
683
984
469
171
162
614
823
734
970
66
322
227
676
193
529
940
309
432
301
536
434
754
688
58
683
304
884
178
791
641
249
551
926
919
119
23
281
560
315
576
752
377
281
468
335
366
474
784
28
732
242
938
558
322
661
344
61
220
298
243
88
822
500
847
80
993
467
843
221
615
50
269
807
416
988
422
908
397
724
797
438
483
809
35
458
868
234
917
565
583
266
406
436
201
917
51
592
419
149
378
560
904
716
981
245
256
52
985
388
257
291
2
428
418
856
99
633
824
648
573
472
634
612
196
942
55
393
746
841
274
304
344
699
977
429
323
318
675
297
320
839
499
143
707
592
529
773
908
752
423
280
981
878
245
434
120
728
811
775
943
828
636
689
954
715
790
704
728
600
75
788
622
90
170
458
448
636
170
57
634
12
574
168
203
20
556
1000
581
875
12
794
120
698
200
367
913
657
392
260
183
782
572
777
340
842
847
202
937
953
2
962
978
382
490
187
564
849
343
672
570
746
981
423
376
544
435
603
632
663
843
206
647
357
920
74
912
587
943
277
136
546
303
618
293
806
29
503
502
61
982
670
305
495
324
615
969
21
495
680
35
397
631
596
370
497
115
621
619
659
841
695
290
440
896
438
738
613
420
895
712
472
789
150
233
77
190
559
625
334
174
879
770
884
893
62
672
940
14
806
842
899
986
27
328
283
461
305
641
759
216
865
952
848
672
405
418
497
585
201
544
566
32
437
955
875
850
864
137
159
450
615
536
925
240
810
881
45
616
763
893
87
13
103
380
532
362
255
73
710
959
510
442
353
229
621
116
457
62
581
363
674
216
690
365
776
966
925
782
542
926
633
937
565
549
719
591
779
734
805
820
914
346
325
393
668
799
676
741
67
634
687
320
219
339
666
81
898
389
213
203
698
841
219
884
604
888
720
550
569
391
689
535
141
793
315
657
745
615
607
864
998
396
879
981
400
948
336
577
411
701
579
62
529
763
891
285
469
799
613
16
313
283
290
100
660
457
738
483
216
104
939
171
49
589
979
80
785
448
455
392
857
758
873
380
106
350
787
51
374
356
170
405
610
946
865
758
340
12
47
487
772
372
335
90
993
739
402
622
622
567
172
192
604
140
590
418
780
739
989
249
757
930
690
37
705
930
617
567
283
78
317
964
672
886
917
23
442
407
150
631
206
55
341
91
461
92
347
385
553
736
788
108
292
424
238
554
635
586
1000
5
591
229
161
561
506
432
758
464
46
846
577
864
612
339
732
387
174
912
256
158
673
266
676
32
109
48
31
564
599
818
975
208
555
591
961
933
872
665
128
390
251
934
527
468
808
179
366
62
771
570
342
372
551
346
500
461
562
852
163
893
979
67
645
600
607
74
43
175
284
632
471
1
18
200
979
319
353
584
915
398
428
1000
90
107
301
45
706
910
438
310
57
419
479
408
208
485
288
50
1000
406
314
725
404
889
721
526
677
784
595
902
962
285
880
885
364
422
388
864
504
757
677
443
862
685
763
38
1
613
314
327
973
79
862
579
380
935
35
671
139
835
967
48
387
299
897
240
739
48
699
903
733
557
381
238
712
540
416
961
821
361
964
775
278
469
362
864
362
20
736
891
758
839
81
985
737
529
96
231
332
485
48
842
63
612
367
802
849
570
602
983
492
809
192
288
118
639
361
403
29
223
513
531
862
708
322
713
784
405
625
466
794
129
832
420
3
539
324
549
957
325
118
27
32
489
791
511
217
813
930
981
91
383
817
559
715
772
935
745
326
93
382
455
459
311
292
662
641
5
1000
44
172
207
194
288
235
19
806
70
161
349
882
971
10
953
875
124
722
788
340
603
911
695
562
960
20
209
515
691
373
588
38
961
134
41
583
937
538
226
801
416
188
632
568
798
852
279
620
678
312
654
218
404
426
91
952
217
973
447
79
783
284
16
42
41
258
826
609
321
159
634
846
748
576
542
775
520
854
942
260
883
643
575
333
813
932
572
578
115
835
856
318
622
253
119
689
851
666
962
892
857
841
717
967
782
978
814
357
583
779
30
49
503
755
884
780
639
12
604
599
465
292
10
558
484
271
858
823
222
306
886
448
280
875
80
382
326
826
902
95
202
825
510
420
926
264
38
831
259
381
243
561
694
952
247
40
351
314
559
145
814
79
975
313
577
370
872
68
517
317
289
228
597
404
726
134
619
375
17
526
215
997
356
390
595
603
826
618
753
748
800
150
495
880
959
207
448
908
526
774
495
70
267
484
943
692
566
517
305
758
689
510
567
228
223
391
71
814
145
541
896
229
173
359
875
678
599
163
366
522
782
576
768
160
89
704
676
953
508
990
419
994
687
907
236
349
768
836
1
897
578
199
651
802
35
361
153
413
605
598
951
83
110
676
637
769
875
589
496
237
988
794
267
322
123
5
209
407
86
102
180
242
135
736
741
46
476
54
950
600
233
356
111
400
730
846
13
576
732
608
507
905
673
798
355
899
656
906
103
11
118
255
645
807
873
933
536
912
727
611
636
837
326
582
179
263
167
153
693
897
117
371
549
942
491
76
836
67
626
891
297
96
238
857
875
720
223
463
976
598
234
293
31
639
277
490
543
98
381
718
463
482
622
237
808
928
30
831
296
71
626
440
620
427
695
752
152
14
823
144
442
313
729
300
698
807
60
832
769
495
727
497
554
118
368
810
427
333
952
689
13
861
737
919
393
545
846
922
126
717
863
81
752
639
123
86
735
287
376
149
140
355
734
794
662
130
691
631
423
399
15
712
447
291
215
783
301
807
619
107
116
16
508
522
795
767
46
607
405
615
139
517
259
734
557
731
538
922
95
282
621
290
140
789
890
821
263
788
736
251
284
932
76
441
955
847
312
675
318
106
642
277
598
390
247
57
796
328
988
222
922
56
322
852
198
608
777
828
157
977
387
283
694
725
266
70
440
889
720
232
114
881
352
105
691
981
118
1
554
911
102
902
759
63
76
88
247
75
834
348
821
135
29
957
281
855
726
255
103
201
948
546
183
591
311
899
44
116
257
924
93
684
72
12
408
964
962
744
911
104
621
668
161
973
881
727
54
4
525
278
661
152
875
17
308
1
425
448
625
368
637
779
338
613
40
604
302
769
813
465
80
549
475
203
270
18
736
834
353
441
448
853
675
687
866
356
16
682
226
720
642
686
245
685
22
690
162
317
382
75
556
898
728
182
268
227
572
283
647
852
562
280
928
52
452
248
367
912
387
523
703
688
792
969
900
996
798
41
349
161
440
101
192
259
455
449
180
157
521
907
784
426
665
119
164
162
857
281
55
752
772
291
779
400
773
508
405
431
959
724
214
780
429
324
33
816
60
173
507
919
554
271
356
605
567
377
466
218
811
830
508
812
276
350
587
376
461
878
273
302
530
938
891
537
945
412
4
637
247
943
137
985
881
518
884
361
923
980
652
721
856
826
512
972
30
86
405
389
345
188
454
440
392
90
237
117
304
713
547
868
329
118
860
118
679
311
158
69
750
483
288
138
337
523
930
312
835
703
968
898
937
776
123
72
506
292
333
68
919
635
785
760
735
631
762
730
636
337
734
2
656
282
251
162
736
747
777
69
804
430
979
972
823
58
902
443
683
556
919
25
37
884
197
650
824
909
35
140
281
595
171
439
996
256
163
936
782
494
435
109
740
959
573
782
42
323
738
410
710
632
887
931
758
241
165
621
973
814
4
553
253
165
884
133
870
676
102
179
286
296
639
468
643
435
234
228
724
53
957
831
350
14
617
892
45
487
88
500
744
619
665
930
186
867
897
382
205
89
262
393
824
839
22
97
646
519
880
991
609
681
348
902
617
629
541
740
770
613
197
734
854
102
344
376
706
250
857
827
538
18
750
275
527
314
9
432
234
29
151
129
818
772
328
436
460
62
213
284
89
635
218
618
834
465
555
911
584
937
187
980
670
940
385
710
72
745
493
496
42
430
534
134
428
716
809
886
197
300
63
626
392
867
823
366
215
364
825
258
165
611
507
656
926
344
458
658
168
164
437
440
586
583
420
998
979
712
398
363
522
470
839
308
100
771
808
520
449
492
432
30
928
183
455
213
471
765
352
382
315
581
706
10
750
408
543
271
153
437
948
280
821
511
838
895
499
628
447
362
957
671
362
811
287
917
791
16
984
401
226
852
114
625
569
150
232
178
412
605
994
918
519
580
716
71
111
912
470
20
440
893
42
815
126
470
466
565
821
903
442
126
187
336
747
131
802
865
594
529
761
287
641
725
101
880
388
271
172
15
388
258
814
237
750
823
718
961
538
700
516
927
779
510
276
810
295
210
712
908
655
409
728
878
30
436
864
643
613
896
587
651
22
993
828
572
745
597
948
52
540
240
104
650
953
748
60
565
649
389
274
715
745
366
509
664
813
110
530
220
874
180
694
814
628
125
331
680
16
536
276
414
478
468
858
998
136
100
500
557
568
156
296
438
721
30
266
491
57
935
331
508
377
748
186
112
908
353
460
670
423
187
189
713
378
659
598
388
713
662
305
948
984
838
994
308
143
636
519
3
179
750
766
712
895
824
299
228
564
708
659
980
607
42
155
795
212
332
186
322
146
45
380
430
336
750
132
264
800
707
535
527
962
479
850
880
619
681
294
701
446
256
428
170
473
617
79
980
584
967
770
515
113
930
527
524
984
703
15
811
247
453
50
608
2
144
388
410
987
744
36
148
706
69
196
6
653
756
299
486
296
232
519
142
104
543
580
711
763
936
607
933
964
5
862
980
104
84
450
840
642
737
651
71
457
44
658
308
455
933
561
126
114
949
994
281
38
603
611
199
127
822
409
379
734
93
136
687
688
282
224
270
801
733
883
734
517
91
495
962
125
396
596
901
338
822
568
56
616
919
66
98
400
310
499
422
693
852
499
2
675
539
774
430
181
417
566
673
687
121
818
408
189
432
568
962
392
687
699
111
128
206
266
119
5
416
533
507
912
450
54
399
105
358
147
935
936
501
502
840
208
813
338
648
184
4
762
500
177
960
800
547
90
879
279
5
662
965
112
113
751
471
520
671
81
112
664
170
625
810
284
456
195
982
777
742
257
146
493
153
410
799
32
372
762
492
409
64
540
267
422
150
915
267
43
98
201
387
459
329
971
119
200
599
989
43
436
683
73
641
353
578
918
176
821
116
353
484
162
633
785
98
921
900
979
362
172
541
244
402
544
612
34
55
357
70
732
174
964
761
745
582
330
137
141
925
60
925
11
804
135
461
479
704
427
226
879
701
169
934
581
614
113
165
981
568
340
714
744
484
559
678
204
293
152
159
395
569
129
77
60
389
514
477
383
413
166
554
987
397
243
851
353
632
93
125
304
354
760
290
674
95
907
608
576
925
320
721
155
47
424
629
452
413
341
428
418
78
831
346
848
536
314
363
593
108
672
931
707
34
195
18
77
664
356
197
393
727
173
1000
412
246
247
638
281
341
498
699
852
160
942
985
311
904
761
693
43
234
825
26
796
565
780
466
968
964
208
839
886
640
142
655
936
87
665
798
536
599
196
469
6
706
17
423
730
920
310
126
838
529
486
179
381
100
52
648
538
508
407
400
73
898
407
497
311
93
581
116
647
693
497
74
39
62
973
708
459
346
166
181
520
478
580
38
568
608
969
174
430
839
907
32
54
299
313
561
876
340
384
695
113
278
589
753
623
98
889
541
175
200
980
610
971
421
307
773
188
432
548
528
225
661
284
431
78
576
210
444
72
748
426
352
751
304
145
685
981
630
626
410
110
850
908
17
566
300
470
552
645
186
885
480
131
369
926
11
37
187
440
686
750
568
906
174
51
676
62
899
474
109
319
863
283
599
399
275
991
710
787
121
923
687
451
76
965
784
918
16
643
282
868
451
536
51
848
265
225
694
98
344
605
380
574
811
209
629
164
538
152
684
935
219
83
877
285
155
575
678
402
230
932
919
632
189
13
550
930
27
336
870
214
249
525
873
971
567
663
740
319
333
91
230
210
78
627
528
376
536
598
868
433
806
585
106
394
377
10
557
170
701
590
336
133
353
287
503
362
796
943
724
220
318
999
558
635
653
203
703
592
631
849
928
404
837
111
874
82
574
874
254
825
80
640
957
476
591
459
315
314
82
765
322
54
228
495
829
453
172
611
724
789
180
413
257
850
416
252
852
671
498
705
634
185
521
281
233
534
26
619
176
744
63
486
735
923
36
152
277
253
116
412
223
734
654
648
973
727
723
123
985
743
612
920
209
436
66
409
916
729
261
767
737
453
135
991
259
378
51
833
37
385
122
427
134
636
777
426
472
175
499
121
75
658
83
649
11
964
123
567
846
563
806
74
488
966
201
736
274
769
909
125
757
831
663
23
454
656
537
793
701
991
627
148
375
666
552
293
388
1000
568
662
618
590
774
529
407
913
640
164
160
221
200
610
286
619
830
219
202
622
720
816
615
684
166
932
287
713
501
476
334
335
598
843
658
825
446
520
762
989
323
799
711
20
443
763
635
706
673
609
996
911
955
487
463
460
712
834
887
34
334
810
192
332
65
208
974
736
456
962
331
932
568
492
657
594
926
650
125
951
801
770
782
179
752
386
91
746
812
457
426
484
964
375
434
629
981
180
706
485
664
323
582
526
727
225
152
52
417
315
109
286
887
497
987
925
557
422
483
346
594
732
291
655
448
37
215
556
456
3
272
828
365
589
847
943
27
814
747
445
844
22
548
136
712
956
788
668
183
405
401
344
717
580
41
246
908
672
628
995
773
544
37
742
754
756
778
809
145
998
274
857
806
622
552
243
146
323
986
268
104
609
888
399
900
996
752
796
980
317
998
209
615
495
458
365
377
107
117
759
246
528
418
708
24
759
692
16
229
89
979
244
303
879
636
399
477
997
217
140
814
113
900
434
762
904
963
839
22
151
81
48
190
249
278
227
292
288
175
282
966
658
279
685
813
241
497
436
295
625
562
652
351
441
705
600
482
544
382
344
454
215
727
507
387
630
922
103
501
426
916
99
673
866
818
365
315
763
949
441
193
890
279
973
764
178
88
824
645
255
100
300
915
21
184
654
34
130
561
97
638
855
835
105
185
882
137
488
962
137
509
21
513
87
638
781
786
245
332
60
464
906
884
557
535
877
950
800
701
5
591
39
249
983
680
845
210
787
142
792
274
21
652
859
557
674
829
789
692
950
650
204
673
480
187
64
563
434
252
872
805
148
424
513
133
877
37
196
134
423
840
5
881
253
726
717
337
196
261
212
914
276
571
65
669
778
389
771
576
688
571
451
651
99
782
685
554
802
789
945
495
54
748
968
783
314
31
270
812
228
944
187
266
766
417
914
918
772
664
433
953
400
613
490
242
891
27
519
197
23
187
720
873
546
187
388
720
350
67
34
181
536
20
166
777
147
491
711
88
358
350
603
951
231
555
674
910
942
816
633
206
417
678
474
539
656
191
32
89
11
157
862
982
502
895
703
242
168
617
977
805
23
2
211
15
97
432
222
716
21
991
880
326
16
657
828
649
112
301
208
201
762
319
995
218
483
894
408
205
876
852
723
219
493
403
723
583
699
884
555
516
41
349
604
697
984
87
687
195
523
305
156
638
556
548
930
845
712
363
645
465
369
395
237
819
853
543
237
877
459
806
963
112
559
82
101
610
985
61
565
542
46
755
18
404
607
89
246
234
703
819
520
982
748
262
730
887
941
924
980
280
518
570
992
800
135
341
777
977
146
473
811
225
643
519
671
706
253
424
236
321
315
542
743
916
417
124
48
602
851
152
656
105
356
401
916
9
167
115
863
882
421
819
368
552
601
813
213
939
557
337
286
16
11
896
380
247
346
650
39
844
123
520
191
145
16
721
569
508
576
869
518
155
361
528
39
689
348
752
952
326
483
383
992
463
91
871
277
154
864
176
730
866
998
469
152
519
732
176
134
787
412
581
751
381
855
35
607
89
43
196
909
619
803
858
116
163
419
518
188
83
868
181
139
62
33
302
109
381
48
559
586
620
302
787
737
479
157
85
563
740
787
18
178
838
327
290
11
114
59
506
288
381
811
614
807
696
370
381
770
534
33
990
786
993
471
21
522
778
943
105
474
897
686
646
478
858
185
941
806
151
249
204
436
624
276
427
321
745
183
567
614
205
244
412
818
717
474
910
34
828
151
974
669
833
717
286
634
784
35
385
844
930
909
302
849
740
94
850
516
829
144
445
342
568
320
716
426
720
32
278
213
549
476
716
96
308
878
695
406
877
487
678
900
904
716
439
688
223
787
153
453
548
168
375
220
513
135
463
423
838
119
117
924
198
450
54
662
179
942
867
828
661
672
449
504
811
244
111
765
257
527
353
56
669
457
598
518
546
818
568
303
992
30
436
337
78
515
635
793
141
492
441
118
623
275
463
169
46
55
624
386
721
125
598
976
800
879
705
199
163
769
187
152
939
734
94
297
398
535
41
596
421
685
48
463
668
949
836
392
230
867
294
421
405
701
167
798
453
102
365
598
874
577
852
103
880
544
901
501
452
839
729
337
589
37
47
138
207
653
502
62
570
830
96
701
755
560
616
201
464
453
804
17
232
737
794
761
610
253
616
73
199
630
871
376
772
305
800
920
999
613
268
568
257
749
820
766
443
42
818
508
316
720
737
835
9
823
223
526
822
167
10
557
456
859
900
797
382
629
178
211
589
574
149
446
725
953
410
325
438
287
270
800
780
878
937
943
66
644
952
371
374
810
390
309
188
682
199
598
921
557
532
930
304
624
464
986
732
725
301
994
912
896
82
349
576
255
188
360
814
374
481
167
4
92
672
357
849
758
303
719
757
835
447
184
165
746
144
994
688
189
170
423
747
333
375
255
229
929
396
635
805
520
71
885
825
802
317
512
840
991
850
60
335
752
14
357
380
4
456
37
890
383
421
576
263
297
713
83
442
414
408
66
40
634
762
958
97
488
94
394
71
596
146
576
952
221
652
674
532
965
488
277
199
572
920
857
223
511
450
775
475
440
705
796
760
439
249
319
620
113
172
13
80
722
342
880
566
595
553
801
542
445
518
770
892
215
925
79
715
125
905
801
119
59
440
37
461
140
74
274
879
907
479
474
404
617
902
292
704
485
781
891
359
416
557
777
110
540
505
957
505
733
473
3
621
259
510
885
483
867
855
615
809
287
701
146
598
578
154
944
129
245
627
728
805
104
526
65
358
810
450
244
25
721
470
691
556
774
179
338
917
518
4
872
157
332
571
356
282
244
612
343
757
338
190
924
148
918
528
333
235
817
829
847
55
50
937
231
793
186
980
102
139
850
119
633
231
874
72
424
173
561
490
750
623
674
421
469
449
984
481
61
502
842
491
652
349
154
264
288
216
509
707
690
857
593
428
646
95
688
390
867
693
63
895
480
29
151
842
251
147
279
207
96
664
785
950
614
27
583
187
587
276
733
442
377
534
314
280
988
506
167
26
105
52
652
457
560
804
732
397
315
325
871
51
344
954
894
381
956
225
499
109
688
981
299
337
893
148
294
452
648
504
418
996
144
347
848
563
410
52
607
658
111
703
879
835
217
670
448
616
376
392
437
482
235
142
261
866
326
538
177
375
866
403
118
713
407
685
663
503
48
456
927
968
46
967
126
941
602
542
928
619
499
805
605
748
329
645
240
789
535
782
383
408
595
373
255
23
149
142
927
808
973
721
58
91
681
589
442
950
766
435
388
527
245
872
115
222
399
874
222
407
420
425
960
869
725
219
46
49
779
800
67
139
845
124
196
868
674
464
275
742
726
331
980
318
516
679
131
332
607
106
371
400
166
111
632
586
267
812
119
399
927
362
228
938
882
620
823
490
989
419
977
122
927
140
212
807
852
749
56
197
965
265
760
141
254
986
15
732
489
682
98
231
38
766
78
338
995
704
395
176
803
550
136
768
650
7
848
822
330
402
207
747
439
971
756
441
89
775
600
990
717
847
113
26
987
731
230
501
88
779
759
209
244
523
435
846
888
738
879
836
601
779
492
610
54
441
757
488
33
794
555
235
970
237
320
552
279
740
39
935
633
392
692
565
622
494
991
521
976
236
193
574
95
512
837
752
92
320
445
939
809
131
47
678
555
534
101
864
21
647
602
288
986
813
223
903
974
277
609
53
165
335
628
856
462
238
992
448
542
271
26
85
853
609
106
464
548
882
485
602
101
382
588
891
241
572
746
812
4
945
575
121
62
236
156
124
150
307
530
282
403
435
550
861
235
760
223
234
379
344
802
32
715
739
65
735
716
584
184
356
921
458
787
935
761
396
960
897
519
621
343
658
764
645
586
582
67
514
443
990
706
627
877
375
48
334
548
146
972
284
387
1
1000
512
911
220
138
232
221
18
936
676
44
741
59
719
951
196
423
390
225
770
257
502
87
168
895
763
171
16
396
249
183
84
56
315
865
22
260
12
416
90
996
942
937
860
554
759
675
374
828
581
212
267
202
809
529
641
741
472
194
301
782
953
264
200
687
849
964
489
884
82
778
734
245
439
225
638
411
339
639
737
398
975
406
804
931
443
3
666
343
997
493
465
345
844
855
46
871
258
732
989
957
619
633
954
960
762
382
475
127
881
724
52
488
601
501
673
843
127
93
703
505
986
39
650
425
201
740
184
259
385
250
978
596
506
490
993
518
272
460
676
432
503
601
258
975
83
293
622
345
966
24
794
107
368
728
712
739
26
180
295
606
802
389
521
697
293
282
291
686
903
71
591
496
53
31
433
396
61
352
242
39
250
772
481
765
842
212
269
593
108
274
676
530
968
947
874
986
892
702
739
181
775
363
96
541
810
813
266
534
432
884
653
76
809
792
132
262
188
706
570
158
310
918
359
596
596
245
439
105
248
916
238
904
677
449
60
569
868
892
450
920
256
43
219
145
89
342
389
60
104
730
133
847
844
703
620
395
427
826
720
8
857
87
891
15
506
44
770
217
22
3
147
751
741
169
113
191
786
678
963
635
140
257
239
601
640
646
245
2
18
876
976
547
324
224
468
421
217
866
123
782
323
882
100
243
26
276
890
493
932
115
224
150
117
857
997
883
757
321
278
117
469
770
780
719
354
627
794
712
502
628
594
479
459
424
349
809
676
450
792
575
765
429
609
690
174
141
215
598
277
405
201
239
590
64
886
797
706
974
708
525
182
387
930
896
401
878
901
357
809
182
556
666
328
813
381
541
253
601
719
414
857
959
773
382
614
409
568
682
223
664
813
277
561
460
587
875
466
64
503
690
222
889
467
849
636
439
634
512
707
129
504
394
651
163
651
388
44
167
584
40
971
868
463
914
959
633
10
14
387
895
582
820
152
892
919
848
43
826
185
416
483
338
514
242
574
29
502
233
691
556
1000
6
469
412
720
165
299
629
450
490
205
843
241
271
468
865
770
948
663
673
30
249
703
939
744
439
611
624
199
830
295
388
322
232
861
274
920
234
76
782
182
390
898
529
112
641
387
583
213
356
428
937
730
813
637
125
720
628
340
998
482
62
849
118
173
678
462
297
316
640
28
988
287
563
659
904
485
778
231
830
332
703
350
298
125
509
542
161
60
285
95
179
492
223
871
305
691
593
379
864
912
635
876
107
298
279
349
197
429
711
190
436
42
53
293
874
713
705
311
562
251
864
920
873
435
923
313
367
519
74
823
685
422
661
398
375
515
823
21
313
136
599
330
490
277
216
92
453
124
154
322
475
803
897
633
622
926
795
141
10
948
406
505
624
181
736
181
555
726
681
899
375
867
50
678
636
863
715
89
11
249
5
554
374
30
413
670
367
48
44
823
802
395
41
809
772
473
450
142
902
720
939
762
439
47
761
882
982
494
651
205
747
324
693
858
986
190
79
647
367
56
263
259
777
911
724
630
46
306
260
390
925
20
946
324
232
507
635
903
169
903
594
715
92
321
837
779
276
909
179
878
62
396
277
64
902
826
43
633
568
635
753
988
399
308
826
875
700
263
182
727
651
267
900
814
824
214
901
17
372
321
321
981
765
909
379
789
144
416
181
715
392
263
258
911
372
228
155
755
158
405
813
28
856
885
14
765
759
762
821
951
336
666
921
137
282
909
104
93
995
230
41
212
914
492
766
635
6
914
106
193
746
919
450
738
512
680
641
503
599
335
409
198
808
541
200
900
168
796
99
131
843
903
524
198
2
361
903
713
26
378
60
96
119
42
700
79
521
534
245
71
74
839
738
671
340
738
593
590
427
823
729
77
327
416
948
780
849
642
246
553
629
790
37
88
350
709
397
510
692
862
190
326
278
779
534
625
730
293
609
938
486
952
374
104
739
925
734
601
958
166
73
889
106
342
775
660
981
903
215
608
36
958
571
269
636
752
733
687
852
229
190
41
544
787
173
362
501
218
707
193
512
973
304
600
248
745
392
353
380
500
147
501
928
550
931
508
612
652
501
521
9
614
701
661
658
222
269
618
958
29
496
269
209
865
911
108
190
895
64
343
289
671
295
826
973
987
675
808
296
840
463
46
45
462
336
382
543
55
126
65
839
681
242
126
992
79
355
490
389
98
541
565
532
504
922
162
831
547
300
250
550
941
11
870
496
265
66
448
472
249
96
846
990
86
902
640
864
649
407
478
739
600
237
957
459
830
13
237
436
761
906
336
531
404
513
535
920
108
150
21
982
764
45
42
177
622
734
198
793
378
258
845
669
546
568
34
432
636
188
305
858
1000
131
581
149
286
540
640
148
206
564
35
258
357
246
19
907
992
20
591
615
864
82
700
577
914
78
799
210
319
529
334
45
671
588
348
208
673
364
448
569
88
485
679
614
241
441
27
813
52
434
222
958
842
490
838
5
767
223
278
200
333
472
725
20
367
757
879
429
726
921
859
367
205
506
592
333
839
761
787
774
658
52
640
773
682
714
31
345
371
981
274
27
561
235
331
688
247
999
491
179
107
541
255
824
481
977
551
666
454
24
550
713
914
936
881
312
114
90
380
831
970
599
542
932
2
523
968
121
703
114
77
749
510
904
844
336
150
411
628
527
893
859
399
829
480
9
148
898
661
375
706
678
396
989
287
268
979
876
513
273
789
377
970
757
303
56
348
958
123
529
926
108
936
266
589
253
65
168
531
485
76
974
792
544
846
867
263
3
745
913
898
893
653
578
502
585
923
720
798
545
376
691
645
520
796
424
828
996
921
929
57
946
794
457
14
835
19
55
317
543
310
448
252
731
966
201
140
454
594
872
84
629
693
872
801
80
528
60
398
860
184
283
53
295
594
288
98
70
683
441
736
141
661
251
40
957
799
899
65
981
832
3
31
353
550
545
125
307
856
583
814
369
141
870
880
676
708
77
230
754
133
984
963
851
445
14
898
475
711
560
30
122
705
740
35
290
108
221
168
581
13
751
615
284
340
375
838
811
17
59
934
619
478
80
917
524
261
377
548
253
634
35
450
229
441
99
858
652
226
407
553
255
424
461
539
90
936
209
749
768
717
543
156
64
292
309
866
701
586
609
382
257
752
202
259
447
135
92
31
868
294
371
136
655
513
183
597
250
375
7
206
594
731
323
847
124
691
936
754
407
905
548
247
372
772
60
561
943
197
478
751
630
113
488
510
485
887
527
203
620
940
141
952
839
995
471
5
811
643
249
346
685
182
855
117
73
287
492
120
577
627
323
793
701
545
15
658
800
34
422
857
734
380
751
873
227
417
511
852
578
105
365
467
958
25
108
890
448
875
589
370
835
972
123
342
140
931
89
724
864
776
715
785
341
468
419
642
640
905
966
321
49
795
156
179
972
724
307
698
289
551
658
320
49
953
44
492
211
597
942
72
112
372
301
375
773
662
266
353
838
51
913
402
896
694
947
68
299
269
499
609
470
765
531
378
594
826
709
338
281
473
399
21
817
409
93
272
855
873
586
819
911
616
534
126
258
71
816
759
21
961
781
227
330
413
274
853
643
976
686
537
391
693
687
966
135
102
740
955
840
241
221
433
426
160
640
464
112
936
672
899
545
81
512
750
933
300
413
542
267
350
880
811
340
570
524
890
406
605
563
878
8
554
191
747
645
255
377
466
738
371
342
767
284
975
766
200
573
224
517
451
43
475
634
176
788
6
261
323
961
944
407
57
864
835
212
445
70
498
567
545
91
427
438
406
597
478
519
695
426
772
731
666
523
542
856
283
838
532
160
347
974
453
546
748
254
501
954
818
800
75
705
858
671
642
515
568
126
511
503
977
885
976
19
445
378
684
976
804
753
533
641
214
233
4
247
498
154
380
628
234
916
221
460
456
735
740
358
964
942
133
608
504
55
223
582
818
323
211
575
860
922
719
545
211
252
885
730
439
359
430
657
16
434
373
617
276
795
60
511
256
419
155
203
560
601
65
842
701
831
115
124
434
129
663
2
922
733
899
962
550
84
454
887
613
346
12
995
534
186
314
533
739
355
284
300
593
649
588
710
125
186
734
229
883
55
814
723
699
636
880
232
195
978
510
854
873
403
898
851
275
816
129
46
2
349
718
128
100
141
273
947
747
877
767
698
278
428
576
291
59
161
713
44
452
301
781
685
768
114
186
633
999
160
159
273
859
790
785
243
874
952
534
922
197
761
780
111
406
958
456
709
760
715
920
63
296
355
634
506
106
191
66
249
203
151
63
206
8
298
35
447
964
305
694
993
200
949
585
124
529
929
729
899
99
488
674
516
317
461
630
367
586
512
735
524
800
745
305
955
935
232
921
939
779
810
233
113
924
486
413
567
645
396
136
814
404
724
645
790
961
818
866
510
890
685
522
162
438
247
149
58
586
34
584
425
332
209
101
493
589
976
948
689
716
261
142
909
417
163
60
24
679
491
893
308
633
869
17
967
767
710
937
499
846
200
602
458
392
360
506
642
367
191
406
561
925
30
352
125
874
12
258
140
725
981
955
704
896
178
875
916
142
614
846
166
317
247
615
914
398
874
34
143
636
489
812
282
633
305
944
151
574
275
823
476
997
723
393
117
172
64
257
802
657
691
196
473
658
210
509
333
766
765
401
302
525
292
316
308
446
991
757
468
268
906
329
141
339
918
629
822
257
150
86
89
514
856
787
988
670
730
290
307
278
404
251
238
292
495
85
180
92
574
326
963
137
128
375
370
677
665
895
52
274
299
528
868
845
715
528
527
531
310
630
753
159
6
697
290
135
758
406
145
194
174
146
370
731
307
714
176
179
600
206
632
637
493
149
501
682
208
91
669
31
321
836
809
594
538
516
374
854
765
672
182
498
407
935
16
687
982
630
948
519
604
182
828
75
712
467
260
875
606
146
84
215
614
863
811
149
359
222
739
312
36
251
165
598
481
878
327
867
560
1
700
381
320
503
88
978
589
621
144
414
332
252
155
908
55
610
765
50
223
715
449
670
790
576
756
644
448
547
838
263
385
94
250
404
66
705
108
925
925
91
769
174
400
45
660
845
779
541
487
477
931
561
570
438
142
581
587
577
496
310
724
256
310
876
710
646
467
152
880
677
579
926
101
82
306
384
364
400
553
210
870
409
177
127
231
180
8
148
731
20
444
894
107
576
940
56
859
756
13
930
233
306
157
140
445
183
71
515
867
189
771
772
677
896
261
541
161
118
290
455
894
17
336
429
470
897
423
623
433
737
287
47
804
242
997
770
318
534
945
626
676
195
1
363
582
871
566
695
165
681
567
655
568
635
170
127
310
375
219
890
424
503
495
709
137
959
638
237
814
891
63
454
18
659
462
899
443
729
856
248
628
164
171
898
505
547
943
260
155
224
567
584
662
78
14
30
251
846
85
250
648
848
979
814
427
8
439
526
243
185
700
714
832
437
490
776
338
105
284
94
596
21
84
972
89
964
499
5
942
744
962
967
565
172
964
624
76
572
100
607
341
824
917
453
933
505
209
452
734
325
904
216
912
402
767
360
791
184
666
661
108
238
664
195
122
505
846
790
611
938
62
537
483
662
459
471
783
152
601
383
177
87
731
266
847
823
565
473
779
860
264
900
160
190
513
520
453
582
788
17
789
47
667
839
742
153
313
324
617
961
272
895
503
481
100
617
340
930
972
894
856
560
777
977
485
611
837
69
860
70
870
404
227
793
695
378
317
963
233
18
707
215
632
857
850
123
706
293
871
474
846
377
556
42
291
534
699
265
715
58
402
32
675
820
538
783
565
264
455
873
765
53
402
336
931
895
524
380
579
593
828
314
771
373
273
561
429
835
114
836
732
570
60
349
185
671
260
131
97
532
659
807
171
582
306
144
341
133
154
286
604
725
983
433
586
26
351
346
209
723
165
38
511
339
805
143
919
805
37
62
117
874
771
133
995
254
916
448
51
357
543
655
84
38
870
736
837
56
21
57
415
525
455
204
662
508
251
609
187
663
501
560
368
920
992
384
124
193
897
132
712
299
413
253
210
799
142
36
220
778
317
164
968
900
675
686
317
332
822
972
72
2
984
246
559
784
445
446
689
39
775
246
528
548
543
263
563
17
989
608
976
136
236
865
50
650
329
693
222
439
338
272
160
173
895
93
211
894
862
836
62
793
285
262
100
724
901
814
454
47
691
432
335
130
441
915
734
127
548
610
406
397
142
489
211
63
229
462
704
853
414
260
376
103
189
319
825
563
386
388
646
132
691
986
537
695
496
224
939
401
847
507
109
82
73
17
467
328
634
853
824
707
767
577
611
796
346
462
161
724
333
758
895
316
19
626
473
458
896
287
106
758
825
935
800
977
553
509
728
211
816
964
837
378
920
150
340
226
391
672
323
534
571
402
373
264
476
961
994
913
536
690
1
490
793
365
530
259
384
795
494
487
601
563
21
584
926
83
13
223
705
188
323
269
902
634
346
626
246
813
803
495
459
219
740
265
72
908
936
60
604
453
109
607
205
91
321
777
795
569
680
543
543
633
3
210
34
38
213
665
118
512
984
252
219
326
345
201
218
788
794
309
641
407
728
412
774
272
818
228
625
31
768
101
520
663
692
464
999
79
423
30
345
588
633
608
407
651
704
552
612
85
17
892
733
786
14
656
225
725
920
451
940
423
851
857
45
268
190
32
525
698
484
956
38
627
849
812
894
478
794
671
970
302
204
721
843
220
555
599
955
102
89
282
627
547
68
5
770
671
615
982
748
683
7
200
519
800
925
870
437
346
318
744
92
551
671
849
365
603
477
511
44
805
771
199
31
467
476
989
685
308
101
224
913
873
767
353
7
804
595
239
161
662
441
408
115
640
411
11
231
442
950
61
395
854
100
578
675
579
701
211
237
621
740
390
900
112
998
80
433
547
694
221
845
569
689
462
711
7
742
728
317
309
724
668
206
895
578
904
179
844
457
34
348
681
773
519
680
961
595
860
547
8
515
554
255
152
6
81
669
461
408
605
613
623
697
325
427
828
265
353
681
400
989
23
370
315
598
800
442
979
899
52
303
361
774
308
487
612
123
539
246
334
38
408
169
36
310
291
25
838
564
217
151
987
876
604
436
831
738
179
447
853
271
778
469
114
339
323
183
244
783
921
78
450
746
46
396
845
449
318
377
472
180
645
912
399
145
814
782
831
576
777
417
450
476
731
923
614
675
973
235
894
657
289
942
549
18
577
343
375
249
235
50
141
669
753
633
424
592
811
494
107
847
876
797
136
937
958
807
223
623
877
229
24
419
509
827
835
886
637
379
177
59
777
42
523
785
428
891
458
555
373
847
496
485
64
602
74
2
558
918
803
220
927
485
205
866
662
507
528
566
605
746
49
680
392
234
751
610
41
855
341
143
402
831
652
460
107
212
19
117
488
225
789
661
251
676
734
813
820
630
870
13
43
627
747
790
696
648
278
77
32
10
618
449
115
780
167
652
554
643
413
789
799
106
726
620
340
352
401
893
959
254
731
225
701
20
751
645
33
225
615
309
486
210
759
921
362
162
580
738
511
803
124
642
56
386
79
828
624
755
467
254
659
565
906
323
325
826
20
259
446
779
507
77
740
809
624
184
26
746
753
71
119
943
61
379
323
997
20
657
823
318
181
619
208
801
319
735
193
88
400
331
37
105
311
545
383
794
795
831
738
239
76
152
583
929
504
867
340
915
800
606
709
311
310
221
487
671
192
940
462
967
867
999
868
954
420
913
724
738
1000
473
550
865
15
580
397
647
605
638
349
686
812
98
250
426
128
842
404
693
510
219
569
32
909
567
717
287
800
38
496
385
926
984
866
393
685
306
948
803
713
935
59
917
988
75
549
868
764
869
879
938
882
217
62
418
471
778
212
366
618
696
845
418
821
274
578
178
233
167
228
347
566
117
650
181
294
60
52
802
682
665
330
652
315
919
363
600
3
610
801
972
714
203
244
775
468
1
992
562
103
505
749
654
131
658
726
43
798
344
695
975
357
610
333
127
162
125
766
363
621
404
99
618
61
276
321
176
352
828
681
586
879
684
363
874
179
133
400
850
720
953
549
969
8
916
672
312
941
284
407
389
19
43
456
233
987
125
540
75
449
8
165
867
961
450
894
603
761
324
614
94
406
282
957
865
683
759
185
684
79
693
632
43
297
76
29
753
823
485
5
80
307
623
879
47
172
731
974
185
934
811
777
199
465
960
776
607
521
357
177
133
322
891
653
753
671
672
511
244
363
636
133
589
142
720
275
288
757
825
321
273
527
3
670
261
719
789
528
74
892
630
208
484
987
380
333
641
580
250
546
252
17
194
687
49
759
604
922
505
320
925
328
246
271
693
345
105
258
603
772
728
343
16
960
257
95
448
636
765
159
720
413
909
394
335
406
638
345
363
738
969
714
15
139
734
283
471
518
154
474
161
287
639
117
572
556
206
580
833
400
134
598
859
839
656
127
955
102
788
391
686
679
641
66
602
199
701
489
229
496
507
168
473
822
763
412
367
378
567
458
820
550
386
967
760
773
521
12
669
447
299
986
795
847
211
151
217
929
479
85
840
721
716
461
439
463
661
383
86
201
681
450
380
783
543
565
773
460
795
428
192
253
876
730
201
735
8
279
375
447
419
558
9
774
447
692
486
7
426
794
360
580
27
841
345
788
249
708
457
149
73
478
661
463
659
801
421
547
642
662
424
167
560
481
969
365
122
672
674
397
308
227
34
943
354
825
184
648
488
862
431
546
657
192
242
662
48
670
525
544
3
17
406
981
468
673
974
8
994
870
791
24
620
924
745
875
889
852
268
707
439
319
129
135
238
3
867
959
577
406
850
107
632
471
800
487
718
987
182
729
80
540
180
571
624
790
825
398
302
955
245
24
630
58
838
71
685
574
489
57
735
523
984
278
456
646
531
573
247
298
716
578
699
902
836
721
108
46
835
923
585
561
324
797
557
219
299
198
431
50
994
607
394
79
430
888
40
712
883
23
681
764
557
885
746
344
83
248
655
219
394
371
966
187
983
911
750
566
554
412
755
60
781
661
704
148
27
350
999
552
643
735
67
874
318
309
703
348
930
304
295
247
311
297
204
10
58
482
852
555
724
809
409
33
169
846
330
403
527
820
131
165
808
994
524
395
511
520
406
326
638
352
862
779
107
864
41
550
811
80
414
500
303
39
626
313
250
154
579
782
886
11
286
544
345
432
165
829
215
770
743
919
775
509
569
193
470
271
662
80
945
252
52
614
576
799
760
878
794
277
462
744
422
151
884
469
604
213
671
51
742
495
312
355
214
466
312
56
33
491
690
748
745
31
142
37
736
95
841
258
633
113
956
672
453
466
22
56
50
892
115
995
570
747
438
528
133
742
796
689
664
720
15
760
446
93
115
998
110
50
742
959
21
313
520
740
609
614
654
89
723
763
540
333
930
705
243
861
218
100
210
201
956
70
973
384
287
464
41
571
298
857
977
882
854
587
154
976
448
542
209
201
329
883
955
784
124
726
831
224
642
640
129
80
117
23
536
157
359
32
527
647
412
829
145
284
662
562
213
100
544
432
568
509
690
725
52
577
72
842
93
928
814
141
790
98
675
894
190
462
889
699
980
811
329
165
276
763
698
656
497
783
492
403
991
517
39
280
71
449
614
44
214
53
241
972
376
815
544
229
403
837
92
766
573
346
710
366
338
635
715
903
273
976
819
267
212
708
742
586
326
613
143
799
263
290
644
533
463
523
252
181
460
607
356
652
462
685
367
987
822
163
328
96
767
952
360
180
38
915
528
56
827
508
776
924
270
224
353
32
780
598
780
999
932
712
613
939
911
13
328
659
924
730
815
682
857
279
618
254
122
836
497
198
668
617
983
288
107
400
60
466
236
898
87
674
527
641
176
881
314
743
685
607
645
698
284
430
762
770
726
572
851
937
298
869
938
536
626
887
811
699
906
993
244
11
305
892
998
879
186
194
580
566
488
411
121
910
615
768
868
876
203
662
625
57
496
656
211
535
894
507
226
669
399
981
397
502
365
232
779
842
640
879
24
375
636
547
61
290
360
431
108
788
882
174
396
941
755
98
466
11
264
871
147
119
63
578
435
891
250
757
358
352
307
157
288
707
543
142
206
3
368
979
86
2
875
200
403
638
956
364
808
484
384
779
709
573
936
672
113
11
181
796
854
180
910
232
867
915
714
508
57
347
351
122
147
92
242
172
961
915
835
476
22
85
51
92
622
444
268
598
65
326
932
902
841
88
803
737
164
227
223
736
481
995
52
548
168
727
45
346
986
695
541
392
449
420
226
946
181
745
56
219
534
306
219
818
387
942
389
663
642
44
243
87
247
602
981
814
628
79
175
780
740
973
14
670
389
997
484
458
455
448
825
658
232
77
777
885
672
17
891
865
574
530
72
698
374
365
983
501
638
688
893
228
11
781
661
346
500
345
667
717
151
152
788
707
18
476
217
598
530
586
494
282
207
966
975
841
575
70
347
708
978
799
291
505
810
587
823
603
25
703
331
619
153
353
53
15
184
300
410
534
482
212
892
462
76
893
786
314
251
83
871
868
974
947
501
982
902
143
684
229
965
601
187
42
42
904
589
695
624
898
156
1
268
102
392
705
29
565
875
871
754
428
161
377
238
46
249
683
742
410
11
190
699
865
629
360
938
512
595
736
612
993
409
350
822
534
234
149
843
391
804
182
149
91
382
703
475
773
127
952
696
929
780
885
63
866
671
283
300
176
521
70
361
992
558
716
905
971
690
597
236
49
489
837
149
130
168
613
146
26
408
113
11
726
25
156
813
992
384
281
877
401
182
234
924
572
894
860
876
502
104
976
660
492
682
397
568
778
597
390
144
56
157
42
612
975
23
595
567
888
612
306
169
702
259
895
221
95
965
815
441
408
733
869
120
577
935
158
721
273
724
320
505
437
770
792
162
346
193
769
754
200
699
675
215
574
607
229
823
406
859
362
243
527
232
494
313
559
337
323
44
278
976
198
96
395
44
117
560
795
666
916
655
116
383
478
647
110
94
288
337
131
698
864
944
14
975
592
758
686
797
65
470
550
931
366
104
810
865
844
683
434
895
773
46
106
97
252
787
391
800
286
983
263
682
425
743
249
659
903
225
842
490
604
932
500
232
347
133
338
787
874
140
741
12
128
130
295
89
238
508
997
820
395
310
364
455
650
673
456
690
814
800
310
154
191
46
268
427
228
520
971
909
957
428
116
136
739
640
723
637
398
764
402
615
161
501
582
171
47
260
334
971
138
811
416
768
892
346
964
478
531
570
214
473
778
143
138
269
403
821
622
109
774
637
944
621
408
265
466
624
995
155
177
663
214
756
20
965
805
971
109
811
202
510
83
954
38
533
777
689
535
486
371
26
7
517
588
815
457
655
155
979
473
69
509
540
289
566
291
967
920
982
777
43
500
627
896
41
968
231
766
6
146
694
875
542
976
133
83
163
608
173
982
366
236
843
159
560
689
367
42
993
691
329
327
879
992
945
244
391
134
877
931
660
736
738
851
333
175
191
938
238
47
232
338
245
233
390
911
253
225
950
167
803
516
971
337
467
249
702
939
676
987
177
527
648
539
314
947
872
804
49
295
39
654
437
393
891
149
966
236
287
521
795
993
802
233
673
966
81
7
960
44
391
99
411
846
660
873
22
837
404
934
713
39
737
660
311
355
47
493
284
430
652
725
859
416
227
334
333
386
755
683
305
295
1000
520
995
858
452
961
897
353
407
114
659
744
1000
671
941
128
507
98
812
561
308
397
478
533
657
812
564
520
248
111
25
905
378
502
942
342
820
367
359
78
179
159
743
933
82
576
235
683
881
774
669
806
979
974
110
442
874
587
877
543
710
256
924
132
171
402
14
94
506
719
151
414
888
461
920
624
802
629
213
314
606
14
785
282
733
404
25
588
394
421
111
954
259
388
119
560
365
754
561
778
730
157
211
177
12
644
71
10
818
44
103
340
996
782
143
949
816
539
373
949
231
921
916
268
529
202
247
930
503
718
702
577
86
821
108
198
428
285
340
424
966
627
195
929
833
380
814
209
809
232
156
259
275
893
296
212
396
254
614
662
275
431
553
420
890
719
603
403
624
280
883
36
278
92
832
189
665
717
897
175
424
827
829
813
825
453
925
212
670
196
58
817
581
864
198
215
570
727
323
622
298
2
361
220
592
934
913
336
858
799
952
170
364
919
871
30
91
49
672
539
160
546
389
961
760
382
437
589
674
57
827
728
607
391
603
220
502
480
83
972
585
783
151
107
704
373
729
523
76
42
279
300
969
467
656
953
779
563
385
233
965
122
910
106
513
990
766
523
244
281
369
511
803
489
73
562
243
570
359
821
903
833
491
797
317
94
472
439
439
392
218
68
91
468
861
195
182
242
491
433
130
400
22
555
900
672
498
322
273
774
855
252
628
484
96
560
819
639
267
544
103
289
83
144
807
158
229
493
833
482
27
360
27
549
819
837
882
637
373
499
524
329
874
222
72
127
488
324
786
333
939
448
810
803
340
764
90
999
356
686
640
119
947
844
952
451
280
325
224
24
713
376
685
716
153
137
332
897
350
637
166
528
588
653
891
542
777
897
268
837
728
392
127
283
21
478
797
659
247
285
325
458
662
531
182
622
137
464
33
885
258
715
336
444
726
659
505
66
145
617
876
761
18
741
303
719
850
387
520
99
217
927
10
814
796
292
129
465
914
639
782
146
371
942
105
244
999
593
714
146
161
307
372
371
927
856
765
449
623
40
512
986
54
675
877
927
754
332
618
872
979
560
523
454
132
259
43
595
17
157
686
894
770
722
165
613
77
269
758
20
424
200
850
419
48
638
561
185
733
601
894
976
525
217
727
806
620
276
531
394
697
372
320
844
311
471
359
412
707
52
93
981
511
792
735
711
598
746
295
107
493
197
229
557
873
773
322
222
801
500
262
66
840
641
91
607
484
879
148
403
380
665
806
417
858
69
719
251
818
955
544
710
440
262
370
305
274
526
82
88
111
515
13
204
772
39
721
181
675
274
621
504
6
556
337
672
844
356
308
843
280
975
457
829
95
753
99
545
470
909
662
284
425
548
233
694
425
635
106
823
637
22
929
687
569
355
446
502
374
815
288
635
120
209
969
858
662
879
819
60
533
295
934
184
214
268
728
73
406
771
625
362
572
341
307
277
342
696
534
628
468
909
372
761
758
882
663
11
16
253
325
429
553
621
260
971
9
158
697
674
873
479
712
370
785
475
842
217
305
452
511
250
20
324
254
922
889
815
261
438
670
508
143
542
900
279
564
249
339
713
491
62
694
911
307
144
77
933
325
522
99
259
961
399
483
331
823
971
743
774
481
928
744
303
686
601
988
197
488
928
528
679
586
108
276
830
720
884
813
715
779
450
986
22
355
97
30
958
367
220
432
967
613
904
230
762
966
782
71
446
446
326
41
928
563
786
481
406
792
185
615
483
61
478
707
162
544
920
671
567
555
594
795
765
984
123
555
400
392
949
883
708
302
235
925
182
232
287
296
830
101
649
650
339
530
59
314
97
517
740
845
92
586
258
308
867
954
598
925
926
603
262
244
364
513
714
83
958
432
94
186
570
11
84
629
359
634
561
606
637
409
286
444
717
662
748
919
97
563
349
231
306
990
692
948
766
666
269
490
957
365
620
359
272
123
985
102
300
83
923
705
593
952
451
533
89
594
635
995
721
95
194
40
732
831
872
328
439
236
553
773
263
462
750
635
140
13
908
902
437
711
275
45
538
285
801
521
164
593
504
182
371
751
375
11
701
451
438
395
891
376
190
282
483
275
149
191
893
780
890
753
402
504
448
904
143
71
241
77
408
563
282
892
491
307
83
760
646
540
673
102
672
962
698
98
913
956
801
681
551
847
649
198
989
505
655
214
936
56
636
783
108
948
74
796
491
136
182
560
881
752
303
626
101
412
359
376
542
603
492
280
235
294
429
350
47
429
372
600
529
287
620
382
160
784
607
428
157
280
726
716
605
686
666
611
163
415
824
415
734
636
930
99
157
149
185
728
606
530
935
410
719
555
588
802
212
439
986
751
794
925
254
16
959
22
481
130
880
142
816
452
557
311
40
700
697
661
504
1
661
947
584
610
513
779
361
816
622
906
189
515
918
817
53
405
434
109
251
642
48
529
973
674
922
521
694
285
761
841
45
244
463
989
383
737
966
118
60
241
9
42
129
301
214
633
392
761
352
708
714
276
444
902
157
997
745
831
938
368
703
971
155
392
363
638
945
201
980
736
626
68
784
21
892
471
849
997
303
324
104
716
963
91
729
55
35
488
136
991
609
316
23
712
383
63
450
772
454
877
970
999
437
840
28
815
402
752
169
901
292
824
206
360
614
971
285
193
637
405
569
329
907
9
493
937
852
989
139
209
72
836
820
851
280
831
681
30
260
968
799
613
919
944
237
794
636
667
237
688
441
673
874
617
543
132
414
417
350
854
81
14
830
857
493
434
780
49
338
168
628
743
454
85
740
536
345
560
96
167
926
436
273
662
662
273
45
365
132
851
310
560
221
834
786
776
749
768
810
497
120
520
99
762
960
160
428
512
34
73
733
406
640
264
563
819
132
754
7
488
707
641
454
875
203
738
194
498
664
111
375
306
344
622
760
39
988
553
229
787
46
420
626
903
498
692
370
488
422
892
936
409
764
33
661
940
769
379
474
18
151
50
399
783
318
106
918
940
177
883
352
18
599
623
41
556
636
71
457
471
669
782
238
987
226
111
482
186
991
908
131
759
560
980
952
998
475
405
190
103
997
346
7
154
322
521
226
264
434
851
131
528
778
220
954
659
984
941
919
888
326
89
726
847
232
827
118
730
844
115
861
828
10
671
650
958
399
879
202
486
68
124
814
291
998
244
5
269
365
929
153
851
499
412
109
196
738
891
688
488
757
821
5
899
584
300
773
791
239
71
117
175
527
414
877
705
460
344
125
665
489
317
754
541
644
460
968
129
141
176
911
520
861
504
750
738
850
35
40
91
670
934
246
939
72
2
845
255
357
273
964
955
330
780
380
584
91
665
288
324
485
915
189
247
73
553
119
246
878
146
711
837
124
352
817
769
1000
776
935
380
904
931
418
781
189
353
550
118
923
58
997
539
913
847
98
992
48
584
442
833
8
987
486
169
427
118
631
907
442
33
722
864
474
1000
376
399
477
464
559
239
780
156
695
514
477
988
292
638
228
4
961
829
59
464
258
811
360
398
974
356
663
440
117
387
313
504
657
202
607
983
275
112
253
231
536
903
633
271
980
421
462
525
559
64
67
738
178
894
35
677
85
405
426
934
141
422
856
724
852
745
369
410
262
296
128
980
429
30
71
113
377
708
269
794
975
347
900
161
778
890
743
778
338
978
25
714
827
67
748
117
147
938
679
491
536
139
897
137
871
406
369
999
674
575
803
807
981
256
631
766
751
22
23
987
858
594
270
732
277
175
406
236
734
688
533
419
534
352
480
97
794
837
688
869
445
4
288
218
113
637
65
657
650
778
258
919
272
887
728
841
890
349
935
313
606
581
822
836
855
763
525
731
781
216
638
96
217
997
814
451
486
61
914
129
118
570
260
669
346
747
625
495
231
971
519
114
547
615
778
325
897
35
694
937
327
422
460
18
515
228
648
463
497
524
90
62
474
274
555
440
221
283
649
161
707
561
889
977
653
912
178
592
149
217
207
825
94
851
597
12
354
385
107
810
477
958
563
163
584
320
581
152
667
624
484
284
591
860
832
324
962
333
774
817
839
394
263
496
709
780
336
240
832
992
374
733
482
58
300
51
51
396
274
443
488
5
140
255
647
175
986
869
44
634
274
519
682
12
157
318
717
701
296
830
970
330
125
342
166
853
762
943
449
690
689
215
182
495
563
671
207
558
192
427
346
175
937
440
47
954
507
842
372
268
762
927
191
663
765
834
770
847
416
616
683
151
959
986
731
690
916
507
739
418
970
853
426
632
186
440
960
725
37
870
822
531
30
414
124
113
62
705
991
418
483
785
333
843
128
466
943
500
841
228
97
244
514
896
623
270
437
203
246
86
391
413
866
264
477
467
353
481
880
237
966
583
738
806
30
784
22
529
56
467
732
846
355
901
304
735
438
32
14
339
712
516
505
212
721
428
489
17
805
359
457
697
494
119
839
240
623
79
564
744
466
69
859
424
574
331
16
475
563
145
545
634
690
280
967
529
571
829
737
512
919
308
998
644
249
61
257
59
308
888
613
460
780
246
263
204
158
191
174
756
66
603
793
571
634
558
109
861
962
849
895
31
76
82
825
919
935
737
360
766
774
556
653
982
194
836
356
966
209
694
318
922
860
473
13
264
491
360
852
370
364
794
91
222
309
262
909
686
720
124
528
438
916
870
146
341
486
618
152
178
848
45
49
376
106
811
130
453
225
668
186
971
717
623
91
918
888
447
456
727
888
624
217
219
702
39
841
626
629
428
871
439
670
646
380
684
367
607
392
183
554
961
855
716
37
402
592
484
239
644
175
630
169
88
273
97
410
351
831
185
375
969
554
619
749
226
916
719
377
167
588
968
293
836
277
498
751
50
999
675
644
999
1000
692
712
877
262
25
83
410
104
579
536
500
594
665
672
917
631
336
722
630
806
456
825
799
44
367
556
617
421
419
616
158
157
975
660
324
340
272
793
866
164
435
295
753
688
82
81
604
632
159
470
861
783
357
182
674
13
985
417
646
718
942
380
985
823
208
923
297
193
679
103
845
967
574
251
802
56
506
574
317
575
433
290
33
501
820
940
671
475
886
263
717
831
203
250
203
746
105
626
269
153
292
901
660
974
315
32
556
564
346
496
857
622
509
927
741
919
115
465
180
665
583
537
132
906
67
737
500
239
430
755
957
564
73
61
88
131
422
577
193
488
442
894
159
272
448
364
361
321
808
292
974
545
148
759
911
200
69
679
610
438
1000
728
954
745
290
190
206
740
714
88
130
696
102
862
137
13
607
289
6
103
432
455
160
279
256
293
285
565
648
436
669
418
284
501
878
895
400
612
749
401
137
688
226
485
772
506
813
45
288
849
110
490
140
386
203
431
602
533
968
531
366
549
449
353
934
220
432
909
917
484
372
190
259
887
555
28
809
490
853
694
119
24
45
151
354
649
105
873
887
24
690
248
241
551
735
690
94
565
952
611
458
839
647
72
123
728
608
333
987
800
825
631
641
79
792
972
856
4
16
639
879
218
800
190
789
281
71
978
784
580
336
307
112
296
70
832
354
42
82
828
26
768
411
598
824
363
202
467
554
117
722
807
68
37
560
481
800
783
642
622
743
598
951
515
945
922
367
13
459
459
351
407
792
964
267
588
145
994
154
602
173
537
960
904
562
741
167
438
768
109
290
677
10
340
720
673
330
531
760
370
414
389
466
507
940
866
328
661
53
812
931
35
5
12
571
810
894
822
915
452
383
252
71
912
79
196
597
266
13
186
633
513
879
592
337
88
922
382
305
613
776
293
447
108
689
198
101
668
330
300
318
358
363
245
98
803
340
42
386
437
388
359
74
328
126
163
443
104
238
888
390
390
473
280
754
962
936
324
797
529
908
245
814
218
466
890
88
100
146
702
193
7
726
476
776
49
548
815
12
860
143
395
690
511
799
455
487
326
150
325
845
61
75
301
244
937
41
893
141
451
334
926
929
573
995
597
808
63
825
355
395
301
388
819
309
958
556
861
460
199
213
78
409
233
801
12
142
171
66
224
230
632
232
688
148
471
457
812
529
887
123
222
690
78
635
108
375
216
771
800
881
102
992
794
112
538
512
543
985
834
531
508
780
78
172
961
409
610
99
373
981
4
364
815
557
655
115
510
61
578
33
63
518
954
324
551
621
37
781
809
607
920
362
978
207
723
104
36
906
180
185
509
269
533
522
820
593
225
519
234
325
868
363
149
344
756
109
972
481
789
328
387
212
690
383
711
420
381
196
655
926
565
816
645
77
728
60
843
881
432
800
375
698
736
468
544
994
205
258
923
696
69
511
830
562
313
905
909
297
699
105
363
361
927
261
616
812
365
329
904
129
530
555
218
295
61
571
549
637
688
364
10
60
379
784
471
39
436
213
28
711
62
94
511
153
752
574
986
369
839
27
624
893
101
470
518
377
322
949
547
822
346
254
238
253
17
881
375
865
234
48
721
986
260
713
841
52
325
382
896
301
350
395
171
669
879
576
822
6
720
558
984
488
881
526
268
892
243
623
30
394
132
234
321
741
677
903
763
871
113
976
722
927
625
680
212
560
118
509
13
808
739
132
239
393
103
577
87
982
857
507
258
899
826
809
430
222
596
772
388
765
405
939
27
173
506
8
942
597
824
777
427
959
457
300
96
62
173
300
147
76
882
504
71
274
869
64
410
611
19
478
891
363
620
838
202
905
970
573
125
414
598
632
473
528
445
429
816
584
725
269
79
32
463
274
223
304
581
170
484
448
121
42
725
944
138
179
860
695
83
878
906
282
807
980
409
720
999
570
354
508
668
842
836
529
535
810
90
674
241
605
898
894
794
535
329
854
375
362
230
338
143
46
550
300
227
133
828
483
931
489
547
461
95
1
7
915
601
868
113
802
886
966
103
316
763
851
513
810
562
911
402
566
931
742
237
770
682
953
971
837
358
915
843
186
796
759
653
3
592
544
959
528
16
245
897
463
680
575
276
209
246
594
690
328
652
747
481
298
618
652
545
776
948
260
19
396
269
283
492
987
998
315
242
646
954
134
331
900
413
235
996
652
446
442
618
806
121
367
722
647
250
788
455
649
871
41
455
441
356
468
800
921
116
583
247
249
985
848
112
439
932
598
452
500
810
337
558
605
165
385
491
390
987
184
955
514
582
740
566
38
60
291
139
957
530
431
968
136
862
38
239
439
282
923
435
232
895
673
402
187
26
825
428
793
872
82
574
546
607
551
837
943
231
884
364
126
247
11
927
297
136
84
428
703
663
57
635
685
574
415
68
309
764
856
958
604
794
263
679
98
283
250
866
380
616
826
289
309
705
740
309
827
5
181
545
883
906
434
46
75
515
845
106
95
750
710
238
798
233
864
135
224
319
114
372
261
1000
723
560
301
98
412
571
143
63
965
641
262
663
807
121
118
444
788
357
980
683
170
582
764
88
121
179
241
524
834
280
250
965
81
795
574
109
719
329
945
36
388
136
821
154
46
376
197
264
160
328
53
195
189
767
679
628
769
732
512
528
823
391
292
732
123
535
912
674
719
71
311
749
869
534
584
92
943
57
758
152
693
418
403
340
479
964
902
555
406
934
302
234
467
501
175
759
54
938
355
471
64
531
811
931
719
576
284
809
507
19
224
68
838
587
775
280
316
684
430
692
161
117
830
215
362
359
257
547
577
402
505
736
684
479
233
254
892
317
235
243
182
321
186
822
536
124
182
601
720
195
614
47
116
909
196
876
679
585
354
970
380
801
1000
464
128
388
94
398
158
457
727
207
154
571
300
587
275
171
688
610
401
896
837
134
418
144
232
190
815
268
80
423
568
121
376
239
286
496
407
551
61
316
746
580
110
774
357
297
254
330
789
644
382
725
236
787
950
180
349
187
318
850
831
491
726
708
297
417
530
548
42
856
823
63
472
20
47
189
343
335
35
883
940
572
835
347
96
763
687
720
690
316
842
829
600
278
817
679
711
295
366
909
311
83
195
872
389
928
54
299
784
109
431
443
787
396
287
556
183
826
509
325
469
659
941
290
653
86
781
234
267
704
721
719
127
217
174
815
915
408
821
655
211
921
97
420
473
98
602
950
163
847
978
848
143
621
40
205
109
658
665
180
892
328
868
701
392
602
698
549
138
716
321
974
334
80
603
929
153
601
370
293
876
429
282
41
834
194
977
170
870
341
797
859
392
356
710
971
980
966
243
42
468
91
84
757
747
459
235
22
519
327
377
367
579
53
679
349
794
471
862
248
663
695
423
819
113
303
86
234
638
76
315
591
752
938
595
388
57
930
906
6
78
610
539
757
189
666
761
189
845
241
730
88
621
186
704
258
135
698
615
629
590
559
559
951
243
589
890
209
266
680
830
67
423
927
236
902
333
301
905
994
145
488
188
644
894
784
434
763
35
586
691
597
896
186
404
491
990
785
790
571
702
168
881
71
871
788
696
970
747
251
65
643
487
176
785
680
83
38
245
628
149
624
720
773
724
781
45
603
243
845
955
20
705
734
152
749
651
808
779
637
441
175
193
824
363
29
847
597
813
767
550
574
840
779
580
416
941
947
311
210
952
221
158
225
395
339
38
345
149
114
798
337
658
944
584
419
835
796
253
70
233
889
466
261
175
485
776
571
430
671
203
52
339
777
218
943
635
447
266
17
260
201
612
957
150
304
871
346
365
417
357
323
177
893
353
902
629
880
797
439
954
731
425
566
634
847
782
19
540
288
789
122
368
519
207
900
448
826
664
606
62
350
347
233
685
179
723
854
912
749
924
355
297
175
521
391
950
850
401
678
920
180
87
855
985
769
529
882
407
795
88
370
385
767
944
835
120
162
228
989
60
156
791
741
735
264
63
173
161
201
337
861
77
894
978
348
85
751
417
484
579
898
886
476
576
119
649
267
640
78
667
760
759
794
380
604
417
578
519
799
661
701
37
460
237
277
39
798
171
248
569
18
989
778
880
10
33
765
579
272
293
295
151
768
195
422
663
968
393
902
238
925
190
945
854
104
814
421
771
961
569
632
959
381
787
673
762
971
136
83
656
169
405
678
947
605
333
887
710
461
994
851
713
348
523
819
254
355
956
245
344
204
421
489
28
764
40
283
205
262
224
614
976
501
238
122
3
635
122
140
667
188
286
883
646
848
549
727
201
67
268
948
309
186
523
662
589
683
814
446
105
162
672
495
461
366
885
288
817
500
779
355
390
771
998
579
496
598
650
558
628
719
215
764
570
428
579
7
70
234
252
747
412
482
972
737
638
642
504
644
501
119
640
768
844
968
77
349
950
429
576
922
530
728
115
753
23
496
447
204
436
321
368
95
2
61
411
261
522
40
585
722
248
311
602
225
143
101
87
274
955
829
400
565
309
283
931
645
732
416
876
141
789
469
706
483
832
54
888
804
447
918
667
72
227
601
319
583
540
123
240
237
854
563
46
600
487
460
364
118
402
405
62
366
92
856
974
407
978
568
827
29
697
706
988
840
365
949
209
366
632
246
686
347
60
15
395
570
449
304
595
89
778
165
621
977
847
468
759
69
365
904
597
641
326
906
989
333
579
31
354
885
885
268
227
772
279
641
219
735
712
406
298
733
544
301
401
85
402
483
357
129
694
167
655
344
31
442
427
211
72
597
614
629
434
473
882
345
879
313
505
695
202
758
255
629
621
348
999
779
84
149
177
412
759
807
691
864
413
472
135
440
566
832
746
114
495
306
704
697
281
117
590
61
501
950
550
441
122
146
781
154
73
151
907
778
678
129
733
998
558
123
759
961
277
390
3
84
449
956
616
127
724
204
533
509
430
1
199
164
882
992
578
835
172
12
17
598
921
539
4
520
75
598
542
554
362
700
831
609
232
357
282
748
719
347
901
501
175
597
221
635
198
31
356
261
897
894
636
564
656
863
596
761
752
302
510
15
538
436
481
266
480
516
465
653
808
891
588
598
81
267
434
626
977
273
696
543
317
93
126
790
521
757
447
11
844
734
705
129
877
643
313
960
707
61
144
163
999
463
343
809
381
822
219
311
333
21
985
590
767
336
255
290
504
742
74
729
951
555
741
418
548
938
541
892
59
445
299
507
706
596
341
144
133
733
670
591
300
501
91
736
562
432
64
443
631
18
300
722
691
139
99
577
517
26
415
835
173
898
860
623
546
122
521
829
843
692
73
410
432
933
63
273
413
449
942
721
640
618
663
703
230
576
464
729
129
608
80
617
860
920
398
745
952
718
170
688
290
272
801
312
20
310
807
375
706
402
700
118
927
325
949
551
50
431
399
382
918
226
606
521
224
450
341
453
590
379
378
530
240
503
184
55
496
915
330
836
110
981
238
496
917
944
474
12
988
797
770
298
355
612
684
449
264
884
782
190
902
430
391
47
643
897
464
933
707
766
430
792
938
533
911
370
584
171
67
936
226
168
678
191
647
799
515
992
716
175
677
668
634
337
342
935
111
982
788
382
535
486
155
192
136
111
500
336
472
222
307
906
429
752
586
495
879
1000
989
370
400
498
269
128
95
508
980
322
22
568
790
281
173
311
411
952
39
958
919
924
5
97
826
215
276
773
708
412
303
397
268
5
111
617
951
909
581
308
412
764
270
942
209
424
880
266
970
101
759
573
799
344
625
408
770
577
433
753
35
443
579
741
126
776
983
714
517
408
491
330
52
716
482
330
999
506
974
619
382
152
240
10
352
272
483
659
30
933
181
818
752
902
961
471
990
110
27
750
821
185
263
809
521
104
980
667
185
678
586
597
868
592
772
624
434
352
805
437
986
367
775
964
386
639
396
264
309
186
873
521
888
492
470
154
450
188
32
996
520
510
296
528
300
795
621
273
712
676
540
526
271
736
916
439
570
133
747
94
307
16
667
995
91
532
521
687
459
95
881
273
594
738
533
784
421
600
570
98
371
411
784
100
944
541
280
398
877
170
346
786
783
47
215
220
102
557
152
688
906
733
713
860
68
843
416
918
493
800
529
407
532
828
17
327
189
843
978
562
898
324
659
541
439
899
86
277
725
488
126
312
729
520
733
463
366
652
428
956
920
79
380
344
646
651
898
820
264
823
225
679
403
832
687
878
151
38
499
53
45
387
192
834
556
866
755
181
457
378
431
29
393
598
708
788
125
103
774
133
256
686
851
180
386
575
408
317
21
43
59
619
706
641
655
655
547
257
895
441
880
20
59
445
86
675
941
510
993
192
462
605
889
985
827
483
358
188
277
867
248
437
91
479
886
310
822
239
89
101
340
26
988
553
171
516
904
245
121
108
461
362
150
286
934
525
567
431
608
457
114
403
187
687
436
851
845
981
946
156
883
734
676
925
632
298
534
981
5
487
818
394
928
353
105
64
52
658
833
557
253
144
261
354
389
684
350
772
320
90
810
783
509
739
405
804
636
249
410
535
120
502
716
747
798
252
586
430
375
995
683
761
402
276
109
336
408
639
775
349
416
1
371
274
439
561
346
817
858
789
601
359
2
493
701
324
852
332
130
867
132
227
413
697
297
61
120
846
223
836
349
76
172
178
187
802
963
377
971
836
407
244
340
213
47
131
485
696
172
820
112
909
470
185
685
801
897
660
485
295
127
754
654
151
244
627
121
74
402
3
791
936
624
757
136
931
685
844
131
999
338
96
518
963
469
501
681
368
417
369
977
759
367
614
619
1000
754
950
653
940
873
184
114
891
431
383
608
915
121
172
206
783
183
998
556
828
190
174
531
266
936
508
889
832
198
879
951
851
342
625
524
146
70
533
20
154
566
994
497
87
659
366
143
610
929
755
111
360
392
654
317
414
299
657
710
549
782
849
267
317
243
729
941
735
52
609
527
107
993
436
361
863
993
944
345
555
59
780
762
592
514
106
684
313
344
55
698
791
985
366
977
815
225
300
878
138
688
234
589
686
614
52
995
731
574
414
150
775
370
747
960
320
901
95
597
574
525
329
656
482
840
337
807
932
738
610
961
873
9
420
472
849
577
706
750
502
661
778
619
500
930
384
52
605
88
482
950
936
536
872
402
386
12
443
326
914
839
917
420
660
374
723
383
550
900
298
871
537
950
747
458
569
646
298
373
836
351
350
43
667
349
108
5
748
203
247
507
55
656
553
342
903
69
990
172
418
611
725
464
711
423
600
814
882
990
760
341
281
964
491
815
533
78
672
122
840
61
976
275
865
742
746
997
208
923
86
978
530
528
422
621
891
698
841
764
223
141
831
827
912
690
634
129
445
348
885
975
848
274
511
650
828
25
179
58
986
849
622
443
395
935
242
309
920
697
122
509
124
665
801
17
138
427
439
954
905
53
924
873
308
738
782
459
281
626
249
101
786
734
381
767
24
685
650
246
868
476
445
175
496
143
26
53
975
464
814
601
70
724
771
531
886
930
185
438
517
110
284
101
356
222
944
142
645
616
880
480
696
52
633
74
499
723
465
591
748
501
758
606
41
189
549
261
321
346
739
657
199
618
20
750
386
492
210
465
973
476
102
863
568
425
466
505
334
859
46
89
793
254
662
895
504
793
912
744
498
657
138
345
914
981
46
37
955
22
633
613
765
458
222
489
341
313
724
614
417
311
689
650
740
103
36
129
580
498
259
522
745
954
192
368
564
729
839
57
550
371
891
58
657
131
346
415
944
780
775
194
679
743
637
377
333
233
773
717
278
954
176
488
674
879
267
997
540
867
304
791
580
497
293
436
974
789
640
504
355
492
309
910
293
372
202
305
347
29
148
984
966
50
180
627
219
515
206
784
762
964
841
330
133
466
637
702
707
146
620
807
66
431
597
783
528
322
961
838
968
366
338
527
830
771
967
642
675
346
730
231
129
27
335
345
830
755
233
121
301
807
865
102
308
163
760
321
396
365
263
818
82
621
736
868
243
226
500
183
463
444
868
978
858
459
544
840
986
260
242
825
411
232
200
168
532
88
601
105
9
693
302
648
952
228
604
492
64
698
258
821
844
39
599
621
997
820
892
32
786
839
146
768
229
636
75
636
617
60
384
798
632
86
326
545
353
811
755
442
623
956
900
69
829
273
301
536
775
576
990
59
101
756
890
456
802
554
193
769
293
458
379
452
27
373
278
378
998
176
198
504
619
681
116
280
98
917
337
433
389
332
665
658
914
118
329
528
558
507
946
682
753
347
524
544
376
61
830
414
102
997
381
753
644
885
857
730
542
872
805
1
318
485
877
773
401
928
869
523
964
944
110
207
784
109
467
604
208
501
74
76
422
984
624
561
449
514
131
499
739
444
492
6
37
32
460
264
620
591
216
773
318
155
200
803
32
221
851
451
101
22
616
21
876
316
46
945
198
454
649
87
501
230
865
128
859
984
713
810
797
357
987
626
527
891
808
908
682
693
217
155
799
545
317
40
920
881
186
932
279
879
84
494
979
221
586
501
992
87
28
212
344
736
29
631
153
151
889
97
37
32
926
576
715
804
346
469
612
225
214
312
981
34
324
231
402
881
931
701
881
887
235
250
878
671
702
245
300
273
699
176
211
91
404
46
374
264
895
689
436
662
509
792
920
866
554
798
395
859
764
263
128
827
781
872
56
459
300
204
980
27
823
409
873
878
405
869
91
551
602
971
370
506
359
940
872
46
353
785
633
605
400
575
603
39
236
421
70
703
881
65
141
604
820
820
860
155
778
898
227
461
835
585
364
891
428
830
292
614
535
617
541
218
937
93
398
195
410
114
75
708
233
606
306
87
333
214
153
286
570
831
591
271
792
959
621
105
482
811
414
367
187
421
329
602
93
20
509
797
209
476
543
889
967
517
727
496
656
436
161
757
951
236
539
411
976
242
193
881
525
309
5
552
808
14
799
328
584
792
991
598
725
688
529
701
13
535
594
142
406
873
253
427
749
206
102
877
42
352
550
38
950
549
800
881
730
85
734
6
34
979
232
259
433
482
480
221
629
886
622
632
471
744
85
44
268
852
112
705
337
629
85
662
29
694
425
355
519
515
306
406
59
327
745
167
771
444
218
838
172
377
968
574
473
366
484
411
738
285
152
178
986
582
225
896
479
541
330
733
85
639
597
509
415
894
610
103
153
449
359
769
675
496
254
197
988
729
530
839
712
599
861
720
784
302
644
300
483
42
15
363
678
775
134
995
668
654
237
901
981
213
297
452
175
205
736
509
157
532
63
622
286
321
381
657
19
594
54
266
387
565
905
215
94
554
994
469
208
358
122
225
562
344
987
858
810
996
365
441
1000
367
710
899
926
137
133
60
799
952
94
326
858
311
206
216
506
780
880
494
575
555
776
855
562
922
209
426
550
501
324
693
280
486
136
616
491
641
59
564
24
861
751
228
584
214
775
731
276
359
886
778
917
670
11
101
755
930
33
590
147
842
213
366
801
965
859
845
887
870
513
312
316
103
364
527
307
609
992
778
541
848
417
651
673
51
331
641
59
21
860
485
721
984
174
920
400
811
330
863
205
256
956
740
76
407
875
782
49
403
484
318
821
423
772
664
216
279
166
413
360
131
315
69
470
279
458
787
556
660
762
264
155
69
472
463
187
579
17
7
351
409
189
730
107
479
940
15
582
846
749
740
636
604
524
18
190
318
797
792
418
220
404
556
232
856
574
492
88
187
763
66
878
767
770
797
642
792
647
57
287
454
648
313
679
847
632
146
325
787
113
280
873
29
864
503
393
442
722
676
49
82
437
197
87
210
899
689
384
142
2
311
940
122
690
389
623
813
680
654
998
557
557
707
106
883
589
461
823
623
165
850
812
184
55
579
64
108
858
40
562
265
183
93
134
673
616
248
508
114
800
657
48
853
670
539
63
442
777
906
586
278
230
199
894
353
968
943
219
928
722
656
380
632
795
799
759
7
461
806
216
65
494
835
429
562
226
336
344
324
486
454
285
966
597
6
882
203
792
94
178
138
653
155
299
297
797
184
412
771
709
795
433
890
110
865
407
41
163
351
641
103
100
297
233
175
369
790
69
692
681
32
665
229
903
432
259
796
552
899
470
33
175
765
311
921
467
238
849
107
782
514
208
176
265
820
426
797
883
622
556
969
998
630
125
981
260
381
299
697
503
96
875
972
285
950
379
139
812
431
363
707
461
555
358
350
266
27
451
889
449
596
782
736
353
388
50
489
185
20
94
615
475
271
6
907
688
255
590
553
662
99
742
780
249
540
675
658
124
941
120
473
904
662
584
636
507
954
323
235
511
705
154
525
517
263
980
432
415
482
255
388
654
576
493
830
382
685
883
199
839
842
76
530
839
578
346
762
979
671
990
638
828
410
133
786
9
426
383
576
442
130
890
774
420
333
549
357
399
750
879
141
641
635
172
405
444
190
712
558
519
765
564
951
660
605
751
940
878
295
447
364
477
502
363
566
912
873
606
94
410
224
22
365
989
89
770
263
250
40
850
570
461
376
939
261
601
889
933
595
155
353
546
394
265
717
620
999
650
670
287
641
249
85
589
409
910
210
532
384
159
147
21
333
318
397
580
550
705
211
402
675
539
886
226
101
833
703
853
385
284
21
803
617
488
7
826
311
771
699
917
14
701
898
268
779
447
632
74
683
797
154
905
523
469
60
660
620
480
86
130
791
842
892
462
554
797
499
531
651
663
431
29
691
880
67
128
640
354
607
866
240
294
20
765
923
183
742
981
458
888
125
784
813
755
366
7
566
111
316
30
525
299
112
214
611
522
744
262
652
244
991
723
241
223
784
403
111
390
366
634
611
145
896
9
678
607
562
463
114
835
515
24
549
182
902
151
751
96
555
283
820
249
16
111
494
688
633
837
440
902
226
258
844
171
11
864
265
806
19
35
361
554
196
554
134
165
883
220
946
409
97
534
650
609
341
297
458
819
90
713
544
186
318
90
307
575
259
396
108
549
569
318
379
845
972
856
516
177
737
591
399
335
871
768
521
726
820
878
387
346
436
683
324
563
654
376
153
501
673
318
531
819
231
454
127
317
822
803
573
356
903
449
758
460
703
148
207
102
987
122
42
352
179
800
170
417
123
97
710
871
711
256
923
663
370
209
3
557
182
394
553
925
971
945
787
763
118
970
175
452
345
745
182
872
677
966
629
4
447
371
310
664
219
824
256
315
993
667
479
985
129
419
842
298
507
404
395
773
417
668
994
222
504
514
609
449
29
29
164
851
260
77
206
33
653
531
124
81
208
885
255
502
570
182
597
931
110
286
871
846
559
950
451
653
833
680
81
796
390
419
471
401
397
45
610
462
726
138
565
822
571
14
643
831
49
193
560
206
869
816
181
111
951
375
638
972
354
387
351
111
120
784
614
913
968
850
192
699
556
40
925
338
929
738
271
739
883
864
81
90
429
416
368
529
174
408
493
884
685
392
716
203
72
389
943
845
56
828
835
742
606
419
216
212
567
673
631
945
852
71
8
4
384
748
616
275
908
988
121
667
985
128
756
930
119
896
630
33
62
548
464
337
943
690
167
924
281
505
298
830
493
884
583
346
3
185
708
491
379
483
660
137
46
927
990
73
363
100
556
298
934
254
90
295
529
140
834
633
33
235
337
737
614
609
852
37
470
156
568
280
752
328
181
878
66
178
40
663
966
373
236
198
514
293
391
926
254
977
276
289
401
869
985
787
435
756
378
120
819
352
541
833
866
973
444
239
959
429
869
56
174
255
11
750
614
485
661
177
751
119
198
147
988
772
623
934
181
596
753
435
549
372
352
486
435
615
563
552
756
252
723
843
133
388
671
640
406
629
347
595
101
648
962
689
528
57
845
112
102
73
756
682
543
834
202
779
699
841
253
413
252
814
769
691
895
31
432
783
211
71
39
836
824
682
191
887
349
787
511
960
99
395
611
387
282
312
251
598
443
811
296
789
426
931
580
505
883
623
28
305
525
270
871
217
382
573
995
313
832
541
127
348
959
170
324
32
141
861
793
376
33
987
270
714
708
911
758
145
65
40
768
653
345
764
483
511
192
301
683
288
517
250
133
848
873
411
246
886
190
126
11
638
93
373
664
931
194
887
948
132
153
478
70
386
848
679
593
538
920
283
11
602
188
95
555
443
696
268
166
328
169
292
657
118
894
480
597
604
831
992
981
197
167
484
530
738
945
782
541
957
958
573
876
928
987
632
430
323
356
554
208
422
590
177
76
555
268
572
101
964
508
310
998
947
770
120
573
314
891
968
490
148
214
281
769
124
910
427
20
471
562
733
831
854
719
657
884
803
40
503
896
127
845
32
929
319
482
466
682
944
774
654
392
875
506
475
556
583
420
851
300
754
666
207
942
606
924
470
878
390
580
783
785
924
491
816
251
78
891
142
998
724
936
205
317
450
896
538
400
216
490
88
45
936
309
386
539
327
606
212
116
261
926
173
410
127
604
618
19
184
657
832
614
758
942
594
630
451
42
998
846
108
176
431
872
404
369
209
925
383
977
217
751
935
857
659
86
470
717
706
719
241
777
312
272
368
741
415
555
795
169
327
454
213
304
822
60
151
570
191
403
984
934
189
31
544
949
376
839
12
556
382
372
190
497
140
658
453
858
59
351
988
514
82
570
674
549
150
130
183
823
62
38
565
365
800
766
463
430
424
12
298
373
723
849
600
448
207
55
809
826
608
620
437
962
228
230
440
471
87
637
347
813
214
449
634
56
341
344
763
838
363
388
868
31
667
938
745
555
336
364
595
353
942
69
564
41
986
614
437
561
643
148
741
136
852
599
397
718
692
134
222
727
276
302
542
46
225
685
560
619
435
717
199
335
83
370
599
614
888
651
7
531
506
737
405
66
563
648
501
57
142
69
494
244
671
963
429
285
510
76
996
234
622
192
95
722
932
829
347
430
72
499
451
271
753
665
185
371
110
42
961
932
660
826
380
190
875
512
265
998
247
584
880
234
961
469
21
82
210
602
482
432
819
734
920
982
155
597
706
373
764
658
343
640
823
59
798
149
186
750
944
886
970
786
556
35
85
749
295
532
292
474
648
124
502
294
55
723
414
414
39
316
127
458
793
151
696
151
187
37
709
125
736
8
460
780
480
74
663
32
117
879
732
880
906
606
5
509
239
208
211
433
588
167
901
387
333
1000
199
281
389
992
583
872
661
903
90
420
178
611
106
706
918
107
962
940
742
380
39
231
725
653
883
416
113
425
462
145
488
593
592
437
833
57
33
995
547
645
241
146
424
142
137
293
145
364
406
918
484
475
976
105
370
856
871
309
982
318
585
434
952
937
910
831
418
66
828
952
225
327
887
464
551
937
962
534
420
732
884
455
257
203
597
161
845
410
54
738
832
401
989
262
690
794
468
795
637
234
225
360
568
810
219
846
869
537
351
418
900
780
494
467
481
746
660
780
421
94
597
474
801
311
923
115
981
598
843
464
496
158
570
366
71
487
491
92
196
167
866
485
822
206
3
867
400
619
27
485
423
528
318
155
425
648
555
702
210
365
663
604
837
864
17
595
569
580
963
360
607
704
115
496
364
557
345
385
706
968
362
269
241
43
658
616
202
789
990
179
466
443
437
1000
40
803
43
977
277
503
489
359
491
979
603
571
280
910
288
999
674
756
435
199
724
725
431
162
822
381
932
789
930
10
56
631
522
222
4
646
716
923
193
175
637
211
150
731
764
912
561
799
426
346
629
945
781
325
528
190
914
545
478
695
437
258
37
696
200
682
224
665
574
249
436
476
939
551
809
608
781
420
960
148
173
290
206
443
209
369
594
380
550
925
730
896
586
899
740
975
998
960
157
447
885
634
206
937
358
883
57
724
12
841
647
967
164
409
768
957
990
661
820
278
531
913
88
201
569
655
381
419
249
227
140
423
573
364
947
112
275
59
916
347
414
524
589
602
948
510
919
689
879
78
55
650
25
371
648
463
786
491
319
542
435
431
787
216
491
288
618
935
702
66
125
651
959
638
878
226
631
350
290
222
252
671
257
635
336
99
133
977
541
859
644
192
58
601
859
594
250
516
229
447
548
814
209
861
122
432
652
136
941
989
693
936
159
2
285
161
22
175
171
442
207
954
235
752
781
379
310
705
463
111
401
458
262
888
458
966
926
911
789
88
552
17
966
869
973
803
313
321
687
332
926
53
695
713
115
438
575
576
169
332
787
622
260
437
926
46
421
398
954
394
828
730
286
555
279
125
383
916
192
151
55
785
575
717
142
755
204
332
15
385
594
30
1000
128
641
619
403
449
869
811
272
287
898
535
347
2
861
954
35
830
628
638
681
1000
604
274
49
618
852
372
948
319
964
171
249
704
72
57
290
978
349
358
381
43
248
544
692
861
50
353
891
152
591
896
137
521
55
766
322
312
371
917
824
111
435
925
411
71
125
474
580
20
747
4
795
584
548
107
1
455
722
245
72
244
581
661
8
526
714
961
498
747
626
399
227
780
10
1
265
766
783
155
714
59
755
458
394
494
861
217
732
170
36
551
197
989
697
279
336
22
592
656
974
973
443
812
344
118
175
225
856
640
171
744
261
965
124
86
729
254
82
413
246
723
938
93
697
84
957
13
323
77
341
987
339
552
53
769
686
17
28
616
877
668
28
166
416
550
676
55
794
272
208
868
720
781
879
990
38
667
142
419
594
615
479
653
239
457
347
240
99
874
560
839
22
281
294
968
610
983
745
823
636
75
378
728
554
746
919
561
938
908
348
642
186
937
94
321
694
894
871
402
248
618
427
973
994
94
678
309
520
261
67
338
97
630
432
951
471
143
773
176
265
65
362
638
751
528
958
68
85
427
332
14
780
71
547
852
202
98
187
612
347
142
458
575
454
128
835
406
793
200
748
435
840
595
849
670
968
534
845
815
794
250
695
560
161
268
899
838
965
578
532
252
87
19
157
815
618
167
891
413
557
451
588
869
560
425
907
3
834
759
94
485
426
714
576
949
949
154
662
729
195
151
772
547
308
610
721
660
252
726
392
787
128
986
553
168
593
940
242
854
33
15
635
729
117
655
14
874
25
841
417
465
982
640
761
16
53
411
801
789
205
291
722
516
891
125
653
368
910
407
969
921
294
999
127
211
415
44
533
212
307
702
369
167
55
129
626
52
114
619
402
323
260
540
149
400
773
100
293
688
316
683
650
888
799
178
562
894
562
86
560
765
417
653
556
298
828
346
712
606
517
560
296
255
729
782
875
277
681
847
116
258
68
126
229
566
488
451
419
875
475
717
961
520
549
17
704
906
407
301
937
223
290
177
323
226
751
157
170
950
93
595
602
90
997
386
214
976
671
910
375
844
885
389
689
690
879
105
882
80
413
374
770
778
902
393
432
339
176
522
260
235
454
542
450
131
655
633
795
329
105
514
486
823
267
315
109
174
353
481
630
136
757
756
345
435
117
785
67
282
671
46
712
942
945
735
837
692
103
977
88
187
1000
618
806
721
244
404
425
183
954
744
592
776
448
908
691
473
778
504
406
703
436
482
37
573
718
729
990
94
56
17
132
710
795
661
39
634
684
382
744
770
509
37
491
55
647
827
538
632
924
484
865
200
763
915
151
183
624
531
892
715
479
219
180
912
835
874
571
253
357
727
279
632
550
905
737
509
894
197
200
953
858
429
73
267
335
301
953
502
671
19
661
469
647
588
33
209
302
12
907
515
717
790
203
538
747
317
185
447
868
76
984
757
970
474
912
989
621
953
83
948
109
241
900
118
324
324
514
682
13
731
763
791
423
503
195
560
673
430
160
526
889
127
640
669
306
364
641
169
637
773
949
200
127
781
303
410
40
433
229
773
676
289
720
597
76
87
744
524
412
65
220
93
918
836
108
287
799
543
499
406
900
630
741
122
569
448
803
616
320
932
778
6
787
679
505
194
625
133
370
720
695
749
890
275
600
495
53
537
994
12
338
345
200
815
351
663
273
425
976
567
11
741
234
664
785
233
91
691
204
526
836
904
118
388
774
962
559
71
569
463
764
959
269
805
261
606
851
458
227
431
717
890
403
6
765
927
462
391
28
801
255
439
635
645
460
828
470
99
774
861
190
105
646
960
358
839
86
294
160
517
602
739
658
490
950
324
844
31
776
861
466
301
466
259
467
241
707
483
189
46
106
533
703
967
531
266
286
574
504
400
769
653
585
531
793
136
989
71
83
766
38
294
817
164
631
801
623
413
471
206
286
78
695
211
673
308
686
885
407
335
439
188
504
760
347
744
259
487
300
286
447
864
146
782
20
298
774
106
349
135
976
224
465
166
845
604
206
519
346
915
68
553
854
937
430
370
238
726
415
606
620
156
707
106
695
486
433
703
697
13
874
641
860
569
608
300
572
721
739
612
49
665
542
934
868
808
129
714
816
257
781
53
42
720
593
604
774
146
534
872
735
44
715
695
433
175
414
177
48
478
758
947
629
879
75
918
218
839
194
323
398
775
259
105
782
149
499
271
66
521
720
177
234
738
69
486
461
569
961
387
838
992
156
899
479
23
925
303
326
203
418
731
569
428
771
732
479
269
146
943
601
568
776
632
349
229
981
12
474
56
726
30
914
393
563
654
134
710
847
324
495
613
605
545
283
247
974
967
75
277
564
167
906
14
648
505
7
148
792
796
746
953
848
225
881
992
482
69
492
298
111
878
260
870
544
942
310
467
783
17
818
716
243
921
474
932
791
217
171
436
395
743
127
447
608
364
727
469
46
483
248
160
249
693
981
720
202
705
8
334
595
335
974
51
817
472
540
632
88
857
562
591
930
266
907
526
253
276
450
879
738
63
25
803
504
116
961
152
456
170
85
200
36
814
130
256
609
72
610
118
54
692
190
485
416
640
872
552
496
303
1000
178
200
365
750
468
278
993
217
687
932
733
642
168
360
886
830
673
214
106
35
823
454
592
875
964
683
90
45
978
733
784
839
523
971
31
860
100
802
399
346
225
945
638
411
957
81
562
66
932
145
434
584
478
418
435
737
338
971
77
172
408
285
11
741
844
75
666
629
126
788
139
272
876
972
169
63
322
139
449
571
794
48
673
44
635
867
927
621
216
113
821
24
463
597
145
756
545
980
380
432
620
133
138
77
932
276
883
25
877
734
953
9
583
377
569
919
811
570
291
983
948
929
114
814
341
287
609
275
148
605
778
955
856
745
594
679
404
291
258
399
141
92
512
482
157
538
838
453
434
177
592
292
149
510
635
355
806
946
833
909
449
957
625
79
937
877
120
694
756
55
430
688
517
624
485
989
479
141
425
227
192
604
67
444
115
900
819
54
630
981
904
781
257
254
946
885
809
401
592
742
962
332
911
28
64
254
992
83
851
698
917
415
477
520
570
647
164
607
252
527
288
752
906
297
794
91
499
383
177
815
552
377
11
177
367
986
877
561
263
338
734
676
408
745
909
181
767
204
478
190
551
807
53
500
606
522
74
427
37
599
43
693
284
979
202
545
796
325
511
878
677
445
431
867
657
212
745
827
957
119
451
639
417
330
501
627
710
867
432
577
958
245
867
970
932
983
629
112
770
318
370
335
381
979
48
927
386
802
816
499
58
405
27
188
325
831
840
421
937
853
455
551
131
827
180
106
849
298
238
610
195
149
756
830
848
969
733
695
556
434
35
818
380
390
158
90
804
254
394
205
945
835
408
199
779
84
586
820
508
104
991
851
668
293
898
13
199
349
445
511
840
493
747
716
352
796
717
264
968
40
709
415
151
133
766
235
407
586
303
413
181
462
565
279
639
790
462
234
346
401
581
740
855
971
130
282
914
679
865
712
746
92
854
337
643
183
244
325
863
563
581
541
569
245
802
265
296
973
81
61
61
540
14
591
766
846
326
618
422
756
785
90
581
971
90
864
751
204
755
303
958
103
106
947
794
947
403
240
162
144
36
848
172
762
424
547
984
512
522
297
26
988
485
153
667
342
571
645
326
804
227
268
398
65
743
73
791
209
352
8
292
7
844
121
868
474
689
872
115
409
609
41
763
458
550
773
582
935
159
111
540
425
526
871
869
838
502
824
326
172
860
86
382
759
244
555
757
829
981
664
504
935
981
460
721
880
460
436
359
966
14
897
645
328
304
503
958
893
584
334
982
342
998
179
16
878
900
394
958
472
928
118
91
192
983
996
535
585
5
612
519
691
547
331
472
747
460
774
687
374
101
851
6
261
695
553
888
190
517
630
243
424
570
106
82
452
397
33
65
809
354
4
271
225
696
199
287
413
31
515
107
715
26
881
878
251
823
835
31
615
523
771
171
892
339
325
567
752
657
270
77
920
834
85
826
929
686
598
126
373
291
300
487
73
784
109
628
412
191
50
831
374
415
255
563
888
861
523
325
991
91
838
433
513
863
592
858
953
389
726
471
41
609
167
903
12
499
614
739
903
366
767
993
418
24
93
822
720
306
801
694
689
492
428
980
477
607
231
903
698
825
97
665
418
605
755
548
572
900
287
968
186
126
561
528
852
396
940
361
784
441
498
284
209
422
117
32
110
612
498
734
265
621
994
917
639
904
236
2
149
227
930
625
574
636
64
86
313
925
893
629
127
557
153
767
288
735
402
129
860
331
980
401
426
626
539
730
280
410
41
863
425
665
673
314
821
383
461
371
296
218
790
623
115
685
626
449
566
474
4
943
483
331
848
483
664
702
746
189
604
620
315
63
970
783
57
427
809
885
753
636
862
834
181
362
895
546
580
196
987
724
917
7
396
120
622
254
192
74
174
708
948
383
607
869
247
543
524
559
263
96
216
726
729
711
222
683
294
110
1000
135
810
625
715
831
853
443
900
660
563
108
783
182
190
622
599
887
83
789
123
779
220
789
980
766
436
881
852
267
782
624
81
700
477
776
571
820
42
702
968
26
595
13
133
16
851
10
168
911
155
991
74
889
16
615
606
461
518
921
646
338
231
745
536
48
52
764
32
795
620
432
21
176
358
749
69
687
991
853
533
543
589
944
376
381
293
507
823
12
109
99
547
463
468
921
131
168
440
149
775
557
254
749
817
43
614
770
183
813
952
507
803
175
181
904
330
52
621
785
803
861
797
866
348
393
416
458
477
221
88
562
293
493
580
79
247
544
896
668
357
673
970
333
513
140
179
665
930
981
376
728
716
349
787
328
416
462
320
326
190
920
906
617
420
405
53
172
226
344
394
675
679
998
979
840
71
549
7
462
20
684
122
715
884
882
377
233
949
955
516
108
822
237
287
830
234
898
869
549
306
737
555
225
310
779
873
21
329
854
914
580
519
265
936
807
411
425
150
475
937
157
749
377
270
421
582
316
725
521
216
469
50
418
701
235
391
906
600
523
11
960
93
550
994
306
682
907
460
76
349
104
383
115
471
508
923
373
323
854
138
680
755
565
101
31
220
544
127
542
79
678
399
601
907
124
720
49
251
459
957
489
500
991
802
345
825
435
543
322
692
719
316
58
407
515
264
558
781
78
530
493
538
934
720
550
105
972
391
707
548
796
728
91
612
4
385
382
568
631
445
862
714
765
151
403
579
28
120
681
639
606
914
815
217
420
695
633
183
283
712
528
101
52
804
736
515
757
653
293
66
954
741
37
615
979
178
357
679
674
434
103
825
877
405
143
65
203
418
601
353
420
90
233
758
55
255
115
732
254
484
346
218
526
469
80
991
575
943
256
637
661
679
781
853
115
391
593
837
82
567
101
636
570
420
65
155
736
183
396
498
757
6
606
856
7
537
892
436
271
449
316
322
355
477
96
500
335
316
232
345
444
115
611
394
358
143
754
236
913
979
199
959
406
440
240
2
363
381
647
778
76
408
910
568
580
10
838
960
151
937
876
281
658
283
613
727
800
64
1
925
791
748
702
890
430
646
201
510
570
842
14
27
757
908
717
82
507
66
966
642
132
461
766
991
389
784
406
928
80
625
718
907
71
356
20
314
835
829
717
148
220
460
513
585
478
754
116
221
901
360
307
708
840
658
701
252
917
296
805
522
186
393
924
193
315
654
526
748
313
122
15
321
168
457
256
874
87
792
964
929
138
792
753
348
916
328
490
440
57
749
785
438
777
676
679
275
765
644
104
846
948
342
423
389
928
472
739
790
949
333
6
803
200
844
108
293
35
316
175
797
662
322
291
490
985
14
294
948
185
253
291
174
712
825
158
985
235
642
376
919
465
842
810
979
368
318
796
784
662
971
274
164
956
970
181
829
690
840
552
341
200
275
695
494
930
892
759
310
154
92
486
112
377
427
32
219
187
489
809
761
213
853
604
404
298
396
325
357
106
136
561
812
544
819
583
965
739
704
704
136
149
712
117
798
179
442
665
422
867
214
803
54
810
595
692
574
496
598
828
493
736
915
23
161
195
90
323
931
739
183
459
395
803
179
825
407
256
518
299
906
128
696
389
327
128
723
958
956
666
674
519
316
306
475
687
338
717
112
598
383
716
309
437
629
685
849
409
989
799
554
109
29
37
40
362
158
659
332
103
310
207
996
254
293
296
378
479
276
781
332
560
91
956
854
737
179
946
327
201
471
447
717
917
692
189
976
510
819
631
900
377
894
977
539
295
781
26
991
857
795
106
803
986
183
118
965
547
671
119
716
256
452
593
867
172
981
946
40
997
576
393
288
319
909
197
597
433
662
252
881
810
433
301
537
131
475
549
245
305
124
265
496
588
219
9
955
675
67
357
771
447
22
849
583
962
33
262
644
898
859
516
935
597
552
987
234
135
153
491
274
402
806
321
873
61
787
645
506
114
129
18
934
823
116
418
437
28
63
898
711
430
157
258
557
521
66
823
941
843
577
75
388
340
872
681
572
429
392
393
603
363
644
483
264
18
844
126
521
153
670
242
178
599
158
337
507
311
530
68
747
907
90
569
100
467
199
640
266
510
105
950
612
72
587
960
641
117
677
258
481
355
282
940
197
80
655
459
157
929
682
196
51
533
792
412
422
665
817
888
762
935
833
479
148
282
679
169
87
798
669
176
467
575
549
543
606
364
320
427
923
792
32
393
589
792
190
628
900
390
285
178
431
908
187
59
146
29
297
657
419
797
447
775
444
96
740
748
405
46
490
2
71
604
47
326
546
914
458
617
825
813
77
78
443
551
534
799
399
68
956
515
975
941
254
481
725
510
393
899
988
813
719
979
909
754
400
196
999
246
910
563
729
553
889
563
946
239
804
499
974
344
875
232
458
80
611
77
822
736
943
463
708
37
392
4
828
810
274
124
176
301
609
733
782
121
559
103
877
967
779
304
467
733
136
611
502
398
519
826
374
371
423
607
461
104
784
824
431
114
791
363
221
46
600
586
346
147
482
849
659
255
653
686
92
565
694
310
35
226
979
896
737
534
180
910
379
984
906
70
195
613
847
40
617
249
850
275
808
293
474
764
415
772
216
250
612
103
684
895
342
106
3
3
58
782
122
984
459
609
639
731
925
43
130
220
820
305
85
365
107
23
148
897
161
398
203
432
219
922
663
274
864
930
297
169
994
914
899
863
243
298
669
990
773
840
224
518
288
539
77
977
814
353
424
918
899
983
888
929
728
195
135
252
948
578
357
240
102
498
860
604
693
970
355
883
191
412
27
314
89
634
515
48
476
593
491
418
919
869
324
97
308
435
409
851
463
845
144
141
547
669
636
116
598
386
858
292
39
680
85
757
489
75
387
235
77
113
59
401
62
311
555
535
219
963
764
804
732
78
711
734
554
856
860
204
819
877
271
66
102
577
973
863
711
150
724
870
849
464
449
288
533
433
869
313
817
785
290
462
282
389
976
30
224
143
598
165
871
320
54
454
864
632
925
595
834
257
588
917
519
11
141
925
157
140
407
345
28
722
990
233
15
569
52
265
844
956
786
771
550
406
545
436
82
1
507
760
547
632
709
790
449
96
177
27
143
752
938
570
412
873
960
983
87
571
132
451
665
268
667
655
878
705
533
573
819
908
941
97
348
487
48
612
524
8
514
515
790
639
633
805
448
396
13
352
656
760
600
758
316
57
639
99
796
593
857
548
849
277
449
661
744
969
450
473
654
949
409
139
174
125
330
147
505
396
659
231
4
984
849
152
918
878
103
259
587
492
305
105
158
410
623
693
445
43
211
922
481
149
624
348
759
294
479
671
827
307
687
184
212
465
278
643
670
364
658
281
847
395
750
883
881
612
644
436
194
294
987
950
656
440
974
120
767
876
888
929
516
871
305
719
181
434
503
736
208
399
587
483
228
974
672
813
643
617
251
662
530
65
8
532
455
446
330
682
431
97
703
258
785
809
937
363
609
92
60
278
237
572
519
16
927
249
466
876
890
40
215
831
846
284
997
506
153
695
348
377
844
891
794
739
496
764
991
323
118
138
628
599
594
768
645
431
171
69
507
832
803
546
901
520
176
109
408
354
140
115
925
760
985
428
892
778
608
967
933
265
918
434
674
540
150
790
435
474
733
772
816
980
809
370
71
414
163
753
788
778
207
119
155
659
981
283
776
270
455
820
396
125
975
645
856
144
345
728
290
269
743
432
63
797
705
49
307
472
99
127
110
827
381
335
80
726
556
839
797
283
593
166
308
303
949
783
355
688
726
352
42
379
626
641
584
667
504
993
72
71
989
912
980
708
816
558
548
335
694
128
687
680
170
700
81
175
645
834
703
496
598
243
490
30
412
621
137
848
514
496
212
436
64
313
142
657
117
284
839
242
227
783
267
252
340
53
933
480
363
946
863
381
94
218
850
894
380
921
937
214
422
362
328
562
964
934
804
726
651
978
648
919
185
72
665
698
894
65
250
327
218
721
503
778
594
303
356
508
558
942
264
638
503
214
921
834
271
634
937
36
234
183
123
790
129
697
227
892
74
750
175
570
232
162
354
719
455
985
284
877
927
376
992
264
339
808
607
707
791
292
466
147
647
633
949
676
906
346
143
203
412
604
329
300
15
38
438
103
127
918
884
493
254
726
698
990
608
80
128
175
195
489
393
491
887
31
307
742
464
85
291
787
188
770
973
765
398
912
693
254
914
715
856
953
879
5
115
161
604
627
306
965
908
699
761
707
945
579
518
65
485
249
543
25
678
455
29
657
187
252
998
820
102
378
830
907
893
73
286
299
975
704
447
638
304
818
597
144
254
571
873
288
211
313
393
59
541
25
423
394
345
810
634
206
805
121
57
10
791
708
307
82
412
490
164
511
257
92
615
444
312
482
363
912
369
197
478
867
528
404
449
965
198
601
925
978
265
891
565
876
239
824
5
144
939
160
18
30
548
534
109
681
956
807
685
908
548
98
799
718
278
53
195
956
173
486
199
942
630
683
850
114
608
702
766
513
109
198
743
199
817
495
823
13
190
329
983
59
785
110
483
642
889
623
978
139
100
243
366
21
850
532
39
1
121
85
692
515
332
910
152
593
573
264
38
802
730
165
715
539
318
139
364
979
458
737
149
661
446
944
118
549
984
942
513
259
900
736
598
314
38
393
335
852
104
350
368
102
751
957
513
449
288
144
216
982
618
115
217
297
749
320
366
947
203
559
296
735
788
338
493
758
948
538
114
175
341
990
627
448
559
762
700
503
463
79
569
929
108
596
187
827
685
852
391
687
812
462
670
24
943
640
632
692
25
362
548
135
801
492
841
674
19
56
983
689
673
93
426
294
446
143
511
708
420
371
366
11
577
389
101
721
136
172
4
728
332
651
955
52
512
826
105
148
562
20
468
623
813
570
690
476
885
185
566
834
289
181
256
6
364
421
906
167
136
243
863
856
319
544
692
856
552
528
427
882
940
375
128
256
951
487
142
975
643
12
448
424
30
361
876
793
591
253
427
713
896
146
586
622
745
150
513
110
354
605
196
262
581
464
599
877
702
171
364
684
800
675
795
841
450
867
671
434
114
60
779
435
371
204
559
821
187
432
356
559
572
84
720
167
516
794
442
9
550
744
73
526
158
89
686
891
469
423
286
913
969
218
30
558
301
747
918
812
777
371
453
447
146
596
527
778
433
863
118
327
151
226
324
510
754
419
544
640
110
992
546
445
9
859
440
774
369
397
337
717
785
560
316
957
343
646
911
578
672
904
56
723
866
679
358
825
183
353
611
141
337
417
304
508
580
453
394
142
265
239
509
411
636
824
753
615
886
973
815
207
619
199
65
29
473
715
975
384
309
236
463
232
256
337
836
262
627
371
585
309
842
81
774
447
57
228
239
239
429
404
833
484
441
277
14
199
547
328
595
376
48
937
704
571
589
158
443
950
434
693
9
601
684
650
286
293
651
9
447
790
220
156
164
916
642
381
205
985
131
221
965
601
577
458
329
971
754
40
915
941
328
772
572
19
994
338
687
315
421
788
276
862
337
621
5
882
599
392
980
950
127
805
380
419
822
47
611
519
239
721
992
811
392
517
615
613
629
213
692
545
991
273
500
286
901
991
736
385
520
529
417
563
154
143
237
586
60
239
3
267
601
906
730
503
641
605
927
461
164
332
242
958
313
253
820
131
21
419
256
68
782
361
378
585
465
943
485
241
880
624
26
810
69
692
261
821
26
786
834
192
269
102
315
355
775
308
262
93
382
103
134
20
2
853
460
55
211
108
83
31
312
803
558
587
199
819
919
603
758
374
487
262
727
369
47
880
214
888
690
83
242
825
460
417
77
865
511
890
486
739
181
888
677
5
222
12
408
596
124
57
732
492
399
550
283
686
260
533
650
651
850
997
771
219
486
78
96
833
71
598
325
662
918
288
613
201
300
272
74
152
964
755
725
369
390
651
126
422
313
107
666
921
524
874
995
974
653
271
425
941
729
183
31
147
277
580
591
374
622
756
753
256
13
944
276
141
283
675
442
30
832
293
455
360
418
330
875
245
810
637
38
799
710
594
602
399
763
172
851
780
664
218
200
996
759
277
988
773
227
958
868
197
293
332
243
677
148
343
801
173
48
425
407
305
389
776
168
367
779
101
394
817
760
606
432
130
593
772
706
508
227
581
368
875
944
181
146
696
968
440
174
881
976
739
444
607
6
660
150
558
766
225
41
575
79
932
175
48
648
800
166
956
142
732
81
506
370
986
285
270
563
36
829
760
402
926
40
236
126
138
23
76
721
339
85
295
967
805
795
393
596
959
648
315
817
20
878
416
148
273
752
81
732
35
27
62
21
715
489
169
754
584
904
994
568
622
898
643
975
166
705
492
304
370
878
116
444
507
25
156
608
146
160
491
64
492
670
260
421
977
821
997
525
865
940
992
287
457
916
500
254
758
944
425
681
296
134
99
459
415
56
237
331
916
339
458
247
913
489
87
853
668
520
69
408
936
411
341
491
698
41
462
8
319
129
114
922
94
728
427
990
593
715
946
320
78
668
462
220
867
571
885
223
386
504
484
48
53
222
415
761
232
287
423
199
923
221
455
315
87
193
482
691
730
242
328
946
342
793
113
942
926
113
83
865
444
794
412
414
549
181
438
248
312
679
27
425
685
572
112
400
826
615
928
605
973
24
604
353
915
146
827
317
181
324
944
3
209
14
501
467
44
944
77
181
440
57
8
791
782
609
518
272
624
28
858
786
492
199
485
967
575
216
19
770
710
709
43
207
769
170
592
274
161
969
32
802
331
104
675
213
661
617
591
197
542
290
985
591
845
220
544
28
912
707
716
967
122
512
723
904
238
43
936
708
250
955
178
783
593
972
93
19
664
153
803
124
999
936
566
658
565
980
271
234
878
66
23
161
645
84
19
784
730
100
157
620
741
47
203
386
243
351
339
503
898
919
242
986
763
360
485
238
781
97
268
720
414
290
249
816
557
240
79
647
392
166
125
479
899
253
63
523
440
684
426
849
70
357
440
374
998
734
873
777
349
570
475
631
57
729
668
225
536
138
663
657
652
814
617
959
455
588
565
749
664
595
838
244
86
665
561
255
362
931
199
993
617
914
88
192
910
30
565
993
953
601
655
810
97
840
894
492
388
493
269
436
900
122
478
773
467
137
676
836
365
260
673
279
862
209
589
576
94
25
230
522
542
844
483
407
503
988
434
200
792
26
972
947
609
355
606
276
589
330
839
626
206
933
384
682
835
653
985
710
827
225
620
275
740
801
772
881
917
286
104
60
872
962
243
962
158
803
851
767
696
440
828
877
700
891
662
657
695
947
872
432
601
215
285
247
312
362
944
250
16
351
406
376
314
390
637
835
835
202
379
713
764
963
468
622
602
4
41
219
229
272
277
280
48
779
135
941
285
981
781
21
205
697
872
992
540
927
999
525
792
76
822
682
255
578
838
264
206
723
313
840
670
816
462
211
165
13
560
360
970
150
521
114
245
983
187
124
229
112
574
548
531
249
569
173
93
794
600
224
588
121
389
906
512
583
946
429
255
960
944
504
170
692
489
739
159
438
228
238
45
243
685
606
248
736
5
228
212
903
523
444
912
223
390
817
490
31
362
523
251
963
963
235
726
225
586
18
84
996
774
943
273
950
619
87
811
176
988
578
148
324
851
756
971
277
586
781
404
706
592
28
349
382
276
334
20
646
85
595
906
638
123
425
802
12
447
910
256
994
609
145
462
703
291
997
815
83
993
471
169
220
623
27
781
739
92
437
172
187
124
468
72
589
537
915
941
113
44
788
111
517
44
179
814
232
128
204
703
626
360
852
163
487
484
748
3
625
966
930
261
672
537
86
68
56
769
808
887
30
136
747
857
892
275
487
359
848
458
208
966
516
365
908
569
79
35
712
45
111
908
91
957
566
39
379
729
558
940
632
421
79
387
641
601
707
132
971
913
765
644
989
801
939
957
365
21
593
677
236
895
575
430
532
392
112
159
243
924
123
570
237
945
928
844
631
554
645
777
341
378
13
365
378
443
926
613
316
496
199
972
177
156
497
216
45
425
459
349
983
726
994
194
309
587
277
792
505
192
648
591
984
551
58
171
609
112
690
205
204
274
229
329
667
736
261
348
574
440
379
262
359
861
330
420
854
490
443
611
154
950
201
691
326
956
287
570
149
52
757
982
849
151
819
207
617
162
487
497
282
931
442
53
757
710
15
443
738
224
595
74
91
448
968
74
47
102
112
203
300
270
688
929
928
616
865
583
917
680
212
675
593
379
362
284
488
722
93
257
238
90
956
789
921
530
530
530
269
420
793
658
178
153
841
681
540
914
40
185
203
861
653
131
113
269
444
614
619
491
673
59
11
384
363
173
385
441
878
45
143
343
462
426
81
196
917
944
891
378
196
779
945
757
440
421
643
176
22
844
423
900
453
946
837
853
516
245
638
317
487
35
799
382
464
162
693
470
472
204
511
297
726
399
697
761
341
702
408
986
651
976
864
234
113
974
417
622
221
784
154
998
393
476
326
456
461
865
742
440
57
751
340
385
226
354
431
202
738
26
290
808
960
751
579
266
476
122
923
307
23
461
362
688
32
634
390
623
170
204
489
202
948
945
295
857
614
975
207
851
438
458
316
773
940
464
869
213
382
505
773
682
528
920
663
744
676
945
826
818
277
596
200
220
698
634
739
826
622
218
326
77
911
321
134
900
38
10
899
43
875
754
260
482
375
715
321
847
718
314
73
499
419
866
414
453
296
178
9
136
343
411
65
398
382
427
849
357
520
588
415
723
900
247
795
536
980
941
768
301
275
152
363
252
252
951
827
963
356
540
909
311
875
846
847
490
470
910
504
412
892
328
259
317
239
123
410
922
624
281
987
134
415
909
658
995
105
303
936
941
220
807
878
576
735
486
574
821
628
823
341
557
385
411
37
831
113
747
330
733
626
235
279
104
856
578
155
850
954
884
24
996
471
494
264
824
269
55
379
657
771
6
853
744
146
729
690
703
569
390
527
805
198
536
458
398
387
921
670
644
211
795
468
82
873
310
799
975
724
194
364
422
404
91
39
517
876
929
633
971
966
866
184
182
614
725
170
208
555
699
481
116
931
435
245
38
371
663
530
224
383
573
811
202
661
708
532
223
310
82
315
637
798
31
892
618
6
755
337
754
512
500
304
775
611
189
998
95
474
404
113
810
389
990
873
289
79
845
324
582
839
414
862
461
620
287
146
371
954
866
261
296
619
959
162
885
250
613
356
218
232
363
570
801
342
32
742
346
190
825
35
849
811
557
468
962
707
503
807
611
599
82
266
273
450
153
926
531
653
173
498
75
318
353
179
648
791
647
206
77
492
960
595
504
890
798
248
199
691
770
950
239
682
385
709
642
739
942
962
743
231
855
205
563
694
693
767
504
414
622
283
497
250
47
644
73
239
932
355
115
903
801
876
446
375
562
430
109
436
617
82
908
609
8
518
158
841
194
477
296
454
279
796
240
73
386
364
779
981
23
196
677
675
273
889
248
961
303
27
549
147
165
862
866
569
127
575
32
608
670
315
926
876
812
815
149
205
107
987
390
995
419
48
804
420
708
550
244
645
987
589
285
670
803
799
686
189
306
689
252
783
366
771
701
34
1
805
639
891
698
236
525
292
943
934
350
183
494
767
391
933
20
31
12
357
110
456
639
436
664
952
287
156
719
79
963
54
672
475
181
627
630
32
666
189
479
674
296
833
876
558
351
699
968
242
60
870
169
580
425
284
816
287
680
923
131
685
94
104
734
578
192
966
239
655
712
154
3
484
361
645
887
458
465
622
749
774
858
670
417
777
551
653
788
215
817
328
920
10
783
505
591
890
540
619
687
203
82
826
314
450
440
684
255
673
572
222
796
183
24
668
225
529
51
943
909
825
501
344
580
671
448
133
935
991
288
290
601
81
334
95
147
962
344
92
130
898
908
18
214
34
677
493
427
775
784
195
793
587
715
951
212
676
903
280
795
947
934
408
424
84
67
454
510
489
856
816
43
492
927
534
218
664
37
320
722
402
521
186
207
4
915
886
310
785
170
759
740
229
85
711
279
820
103
326
851
985
475
913
762
142
313
986
809
138
123
373
165
537
570
76
819
967
342
233
848
478
916
756
51
48
48
216
499
23
93
640
30
834
389
431
791
598
465
55
621
1000
658
807
733
554
628
309
617
689
344
422
636
500
875
645
770
534
652
205
993
513
182
170
278
706
646
894
481
276
1000
412
997
557
456
87
944
354
798
776
667
371
95
79
370
849
194
771
498
108
229
309
998
981
548
287
14
264
663
541
854
654
6
263
876
754
282
362
241
459
970
635
587
478
312
554
936
509
203
132
301
593
544
669
778
39
463
578
956
334
484
525
526
868
510
946
145
701
697
946
738
421
666
558
833
118
955
487
884
364
883
260
514
78
398
315
792
480
50
68
127
812
796
917
462
803
885
249
768
15
903
166
719
341
962
258
759
570
738
918
256
212
952
43
716
848
603
514
208
552
132
958
759
142
971
876
517
294
305
910
37
276
391
113
500
612
182
729
377
349
140
684
912
730
577
395
798
166
942
470
122
883
441
804
418
523
242
460
686
157
160
623
648
737
832
852
70
312
981
801
205
540
734
786
837
527
593
532
328
230
435
498
766
22
815
520
973
908
648
375
773
581
139
734
378
692
328
27
577
409
538
405
74
318
127
65
573
899
584
66
283
696
884
121
235
723
880
927
359
695
950
903
594
413
815
101
274
687
648
706
736
704
295
773
113
439
786
869
450
8
2
188
149
483
732
662
996
20
422
29
795
159
521
446
93
446
783
265
747
722
504
774
858
869
376
715
876
799
416
674
906
793
148
972
886
177
31
846
605
271
498
404
327
505
401
981
764
892
551
93
652
66
2
773
707
892
394
382
86
144
919
735
644
876
971
108
283
378
948
314
96
687
736
798
856
176
451
531
543
242
803
770
907
809
647
295
18
383
595
82
199
506
134
961
647
535
823
72
209
823
748
802
700
1000
957
305
492
792
836
76
322
833
3
490
806
936
410
538
886
467
807
291
448
317
701
129
356
766
963
829
143
75
731
558
970
233
738
536
371
639
194
812
817
188
463
680
968
877
712
679
209
199
424
919
992
113
26
790
15
537
912
42
212
717
460
322
117
230
481
376
820
458
618
426
682
453
713
22
47
974
103
776
102
362
823
194
75
986
976
619
9
246
704
72
660
377
35
664
219
93
22
365
169
775
701
795
669
540
622
29
418
152
392
815
467
218
577
79
985
130
688
103
893
428
165
789
70
58
912
416
963
145
192
4
446
132
958
396
16
215
670
498
481
925
853
195
825
501
480
608
170
960
597
849
603
748
408
662
204
873
81
500
877
984
659
120
957
475
162
984
108
550
573
57
670
801
336
954
749
899
808
262
23
122
26
257
637
213
407
26
327
152
909
256
488
228
209
622
775
498
264
622
994
943
729
484
797
149
538
814
240
109
340
442
622
59
308
189
925
193
739
433
936
17
382
589
524
965
980
266
311
851
879
970
231
314
181
455
350
648
793
604
267
997
377
535
897
524
713
654
712
913
292
557
861
436
715
166
307
589
930
264
649
337
863
255
507
619
742
408
716
67
832
31
836
739
528
355
915
733
684
19
652
458
986
619
738
764
366
680
145
430
17
786
614
555
940
730
245
879
23
906
930
475
702
561
948
153
91
944
317
558
618
655
704
357
499
314
667
599
844
444
561
494
941
408
149
848
953
908
774
5
448
372
126
983
712
691
589
768
464
995
841
338
934
131
809
690
32
730
976
272
523
771
297
612
713
630
209
260
263
385
491
496
79
972
608
245
750
252
903
629
782
372
826
49
362
590
62
10
919
879
178
24
654
128
700
816
676
240
695
146
493
294
814
351
893
304
838
226
30
759
339
941
914
35
20
446
210
341
664
400
15
776
490
796
291
907
332
271
60
237
515
757
367
448
539
350
304
743
19
284
790
684
615
818
875
450
618
772
795
943
830
773
972
980
886
339
743
506
672
793
301
914
716
474
578
198
766
410
778
741
219
664
129
210
343
390
524
925
451
538
439
896
537
910
380
111
406
228
222
157
69
746
574
219
498
720
922
128
535
418
309
606
326
567
736
341
293
315
280
236
565
1
397
380
4
660
478
932
987
472
910
744
697
613
827
660
665
358
806
140
795
696
332
685
312
336
796
276
654
797
230
991
32
358
11
332
1000
627
638
651
565
654
739
363
603
45
345
791
290
381
682
403
223
408
777
563
660
199
327
43
151
110
608
825
954
38
147
287
250
979
938
868
196
232
893
255
165
693
226
585
877
686
488
840
942
29
585
291
806
47
435
68
96
783
713
834
30
147
306
108
822
353
551
477
443
540
490
930
203
845
18
122
760
480
399
380
548
493
294
504
713
959
615
405
911
738
655
208
737
758
864
411
488
56
213
912
971
831
700
973
187
501
207
433
359
99
29
942
641
173
729
447
622
143
811
155
634
743
943
797
918
519
728
628
98
86
828
359
834
286
888
163
763
128
723
922
396
913
193
160
960
312
500
288
423
712
380
374
368
88
36
466
189
649
418
231
118
756
566
781
833
976
374
263
295
632
621
475
11
499
35
720
826
117
79
604
991
722
168
174
29
988
458
269
344
624
394
822
812
165
289
718
104
897
284
655
849
362
735
531
447
33
168
873
373
725
246
174
397
228
580
402
931
990
498
908
309
142
80
802
196
793
96
595
992
359
602
208
6
861
963
714
875
711
685
234
980
718
211
121
124
432
573
461
735
264
90
141
527
667
395
736
675
626
299
327
276
572
985
661
593
926
522
303
852
730
465
952
564
124
927
623
998
496
233
667
165
651
780
48
129
770
501
595
423
729
682
106
672
549
807
444
921
601
895
259
811
286
693
866
861
236
876
521
702
697
214
651
945
468
504
974
120
658
774
871
690
970
236
175
542
382
425
912
748
110
832
835
150
238
736
914
642
97
162
748
583
304
389
21
801
765
553
533
803
302
346
862
726
856
282
447
844
373
1000
852
258
799
96
304
365
805
840
560
457
834
710
518
916
704
201
184
95
174
543
880
330
440
739
536
227
205
453
990
686
68
425
186
251
309
481
548
938
250
195
696
302
93
155
835
593
42
448
501
13
48
262
122
205
259
208
851
234
361
359
869
621
861
860
406
553
338
10
252
924
376
571
229
750
863
108
742
995
585
244
953
595
958
16
168
782
303
564
999
858
951
419
848
216
223
383
475
361
693
815
634
428
803
301
707
458
579
234
549
148
66
739
187
136
917
763
540
357
276
755
675
183
33
433
277
373
149
455
823
728
114
65
720
261
187
252
107
361
927
703
642
784
821
375
669
685
517
724
891
871
406
446
230
745
381
247
146
739
524
64
599
731
609
69
773
898
7
211
631
161
204
671
315
522
531
922
92
207
769
802
122
788
668
286
418
12
898
816
592
565
639
126
776
714
135
155
518
630
189
771
671
783
926
433
241
901
734
688
61
373
576
972
630
416
293
653
342
382
472
708
7
855
856
998
109
359
758
680
401
70
493
312
46
938
18
296
172
206
539
895
950
707
740
561
115
132
419
75
437
137
184
897
858
183
57
696
734
637
254
522
758
937
548
442
999
381
956
781
873
512
322
559
241
91
136
410
330
469
280
169
721
151
576
326
678
703
926
549
917
495
537
827
728
135
623
845
814
312
229
257
294
729
834
137
692
766
757
796
648
353
634
28
525
870
858
354
572
244
456
320
115
294
802
851
463
923
563
247
844
364
625
566
113
288
433
310
563
778
584
518
26
640
502
260
827
314
995
328
686
14
948
302
198
937
597
695
397
677
903
399
569
863
999
277
243
603
261
39
527
407
234
82
128
245
565
814
631
861
325
24
563
494
512
306
475
980
939
493
646
630
262
926
880
855
341
942
433
799
222
607
28
468
420
279
267
693
388
439
594
543
256
481
987
954
499
108
812
332
629
4
364
316
431
69
749
876
746
809
578
407
141
146
616
465
587
60
514
678
848
829
977
231
777
992
240
56
777
683
732
929
423
8
519
463
938
717
39
991
275
586
930
836
476
691
962
26
374
887
6
178
726
395
603
456
932
420
559
390
512
746
508
387
988
855
388
396
450
24
383
601
402
392
835
725
120
691
281
324
915
440
699
667
465
589
681
414
865
840
474
679
832
73
437
465
183
984
234
1000
424
475
140
108
223
605
530
685
332
517
579
103
938
863
77
351
931
375
674
976
801
18
875
213
622
869
14
989
826
485
430
445
884
617
978
478
296
742
855
537
311
83
853
281
486
751
155
556
246
191
459
735
463
605
955
33
277
180
406
611
749
999
149
337
274
600
83
938
443
21
590
707
641
882
907
114
986
605
229
259
897
825
735
877
700
740
43
781
377
249
926
971
592
822
508
401
314
807
615
684
790
689
229
584
823
927
277
878
140
928
428
392
121
839
705
680
639
238
259
250
71
219
946
341
344
512
734
870
643
225
887
130
119
307
906
288
856
202
346
613
499
826
239
649
730
449
261
841
722
811
942
606
990
467
272
849
59
970
53
974
396
985
460
275
68
592
131
697
195
776
852
402
619
790
505
476
872
682
467
628
172
886
985
502
48
855
249
162
720
627
310
581
784
146
668
304
795
963
456
646
445
214
197
775
488
518
898
862
779
733
145
929
373
788
469
662
742
902
743
387
71
861
757
791
775
862
615
175
521
441
639
522
522
888
468
480
661
161
122
541
67
672
86
882
810
760
182
798
566
805
493
781
18
176
212
532
75
300
580
84
129
902
707
964
475
995
547
982
881
969
783
963
687
831
613
637
232
139
859
687
652
874
478
790
744
515
430
968
417
288
282
776
598
790
234
359
523
839
820
744
446
814
892
734
464
140
951
150
915
281
585
449
463
597
3
752
852
708
257
31
709
78
50
487
227
224
411
563
914
191
992
273
41
626
247
329
128
624
802
175
394
256
990
47
465
948
531
902
872
243
496
458
302
503
349
627
389
521
413
440
549
101
572
567
501
707
603
582
693
852
822
463
583
17
6
123
883
470
531
903
61
143
84
634
230
956
938
791
151
162
574
521
112
706
974
940
80
175
364
241
35
670
484
536
940
383
10
13
698
666
674
438
253
277
582
357
362
789
500
523
852
64
444
477
732
939
678
347
776
585
904
120
523
512
506
74
656
623
372
62
4
921
877
604
40
16
759
229
629
496
919
400
960
494
647
128
260
383
401
700
305
490
916
46
459
183
995
895
32
911
530
184
242
927
225
946
739
297
912
32
608
18
209
795
773
539
511
823
756
823
205
185
692
362
774
285
728
707
237
269
59
225
510
325
401
559
355
289
280
450
267
271
495
32
199
337
96
189
713
719
2
801
622
471
665
799
51
623
900
925
791
912
477
132
408
604
349
821
374
909
728
764
571
193
867
900
363
209
697
37
168
433
871
840
386
590
339
932
166
46
921
662
33
341
317
496
746
123
437
986
693
537
762
759
13
321
134
435
610
559
142
510
5
140
148
31
302
234
291
732
183
588
544
44
651
816
65
814
461
948
5
241
641
403
375
324
924
247
277
410
893
632
235
607
950
395
853
794
124
730
597
713
584
76
666
63
874
433
514
346
938
350
944
260
742
799
993
757
68
130
659
660
413
432
284
942
438
554
404
292
456
424
421
850
549
796
386
598
949
658
194
24
504
377
285
677
257
6
731
37
862
381
539
890
196
562
434
876
145
471
862
652
759
430
791
611
875
743
143
512
989
804
437
990
487
33
671
472
799
625
337
307
424
504
501
546
111
911
931
733
130
378
956
484
862
461
113
135
42
846
970
474
244
948
337
351
642
447
761
744
568
655
66
303
21
33
646
54
706
524
694
740
800
266
373
690
476
921
86
248
365
892
165
139
828
710
984
158
19
918
248
531
25
754
883
340
830
542
651
238
162
403
823
77
200
69
951
315
675
878
540
35
655
115
518
587
912
58
533
362
88
475
504
308
672
733
894
937
395
95
456
551
800
607
576
179
477
164
660
217
30
335
739
142
222
321
681
454
212
479
978
752
375
638
621
377
101
893
244
665
155
634
346
249
297
281
881
269
450
25
889
686
355
115
246
720
561
712
345
816
887
194
897
229
305
628
545
718
294
924
947
66
373
909
591
474
328
879
338
505
735
265
513
723
241
189
296
736
29
367
862
58
226
42
554
693
702
640
79
939
235
591
321
197
682
510
739
846
764
343
625
614
20
322
402
569
156
770
369
365
852
513
267
174
70
870
507
117
977
596
550
902
853
385
773
102
456
352
460
192
148
888
618
256
612
645
125
849
554
11
571
310
682
856
586
17
2
757
497
224
909
481
478
214
692
72
633
635
973
519
310
771
344
515
998
636
388
751
734
959
515
961
716
556
340
174
601
519
876
939
327
957
710
831
337
120
587
759
817
388
875
891
227
993
952
421
921
759
709
222
845
367
289
794
119
755
846
244
790
100
110
914
198
209
672
953
952
900
826
658
939
545
755
431
292
576
703
97
445
426
316
463
459
243
262
226
5
12
489
546
690
352
432
757
510
738
477
911
923
803
143
291
800
2
412
479
127
124
128
328
606
724
684
326
210
146
880
150
516
133
237
452
347
38
765
681
493
837
169
420
458
690
126
288
369
250
506
400
261
562
42
809
986
825
455
880
497
47
461
851
986
887
646
443
208
485
816
468
893
9
793
487
7
61
140
305
777
16
792
653
164
14
30
808
275
661
480
103
786
203
848
681
782
637
54
532
474
326
452
286
717
599
403
424
332
327
836
939
115
996
479
798
272
816
998
681
521
832
351
396
567
332
951
232
693
770
214
307
65
51
553
881
537
100
985
932
453
173
695
764
98
575
760
339
145
258
637
33
168
733
60
744
250
68
970
220
458
635
654
907
661
318
399
573
435
477
940
757
587
192
679
830
659
23
125
632
340
677
890
417
534
205
264
891
845
85
16
576
135
696
829
70
836
295
48
237
269
218
412
769
832
926
709
855
378
842
498
108
513
933
592
533
250
141
516
274
232
232
60
452
222
546
200
29
691
492
508
977
976
16
735
44
854
206
147
368
925
49
780
485
105
538
225
385
838
444
684
601
443
54
77
440
984
257
773
230
455
303
515
595
497
318
277
277
875
617
436
147
562
333
983
234
196
8
557
926
361
838
473
960
718
252
582
585
897
579
739
156
229
376
605
106
317
938
861
237
707
69
83
381
342
462
903
335
396
830
606
468
887
679
110
617
782
533
442
942
733
914
630
347
461
271
264
521
177
293
490
757
281
163
920
195
308
31
570
29
728
940
196
576
423
518
17
424
36
37
492
858
679
634
295
332
900
466
753
993
522
586
884
153
941
691
298
984
323
337
992
114
53
119
282
647
177
231
961
647
456
74
917
384
116
914
460
993
409
652
938
833
93
251
638
975
981
552
340
398
12
713
299
31
530
580
231
317
650
164
270
327
438
632
988
680
751
943
357
843
333
796
916
873
989
40
731
364
726
914
994
197
652
829
586
307
10
532
259
498
523
689
425
737
35
998
287
420
761
172
85
910
614
538
772
971
967
927
100
178
12
713
960
276
117
907
408
504
102
895
74
592
311
230
822
787
245
970
976
674
501
212
763
212
796
568
22
95
155
795
946
843
251
90
73
212
52
452
809
85
64
17
144
253
807
613
219
388
634
890
763
991
724
400
271
603
866
630
574
715
98
976
539
814
690
488
48
611
553
707
29
274
607
25
872
94
809
535
883
98
446
535
764
920
65
788
69
616
933
24
579
223
987
810
216
436
790
806
898
796
920
56
951
441
818
698
757
315
185
235
112
215
9
39
579
707
735
4
981
903
89
16
333
647
68
50
62
892
137
853
555
524
581
228
12
48
843
767
789
932
209
995
504
764
841
784
291
246
530
145
462
147
79
377
549
925
14
698
267
784
727
155
979
200
120
611
506
91
676
358
364
81
249
476
660
588
714
656
136
877
943
151
289
467
690
252
208
732
183
330
108
638
778
430
175
631
255
920
503
418
264
999
334
891
243
531
385
412
913
684
328
867
296
769
487
442
766
15
14
662
948
8
547
756
821
679
343
356
596
700
582
202
828
853
299
433
705
381
860
323
547
360
694
357
600
825
303
53
368
994
652
83
415
330
536
472
658
719
476
212
780
353
18
922
369
187
668
527
621
911
418
899
1
707
785
218
76
953
224
675
838
857
448
528
138
611
474
284
721
181
103
251
406
295
81
416
433
234
156
842
485
405
146
454
937
682
578
222
67
116
234
896
915
554
980
17
989
488
625
444
592
237
29
506
35
69
772
628
541
801
870
894
691
193
187
156
815
445
76
972
21
760
25
106
545
557
467
499
282
339
692
916
825
762
204
433
538
300
315
450
364
36
505
276
659
657
498
245
179
935
228
485
305
250
75
27
392
966
587
181
955
417
821
785
475
733
925
246
693
109
982
326
669
393
383
932
53
529
541
70
390
270
363
229
888
762
886
569
313
414
801
445
882
55
81
343
656
960
702
348
971
441
488
910
458
162
744
519
723
240
587
930
791
990
677
761
601
178
740
452
757
865
103
133
293
810
460
267
417
475
363
581
936
246
139
275
426
804
583
375
561
378
109
781
194
593
519
26
16
784
2
393
850
511
278
969
98
450
247
374
342
249
871
628
241
826
756
228
462
897
960
845
910
418
310
827
767
346
693
187
306
739
431
385
170
14
590
768
668
963
902
758
542
175
723
924
605
53
48
869
605
24
628
455
89
358
767
131
525
94
378
514
554
624
409
372
617
389
600
730
755
61
592
858
112
601
759
350
343
389
352
739
566
951
138
470
83
238
769
719
842
387
686
704
428
182
588
786
146
507
227
571
734
963
495
733
537
199
28
776
223
112
714
66
86
338
987
845
720
703
579
63
358
295
845
133
519
336
985
567
99
186
964
927
779
594
562
970
386
618
907
918
616
640
267
919
378
743
980
20
899
141
110
102
951
751
972
30
445
561
800
347
694
107
745
150
828
181
91
724
351
331
307
394
241
993
732
584
201
789
645
560
416
809
453
456
565
775
978
384
948
275
319
864
810
367
302
234
44
914
420
396
753
934
861
641
386
110
741
576
336
504
777
208
120
919
120
30
308
573
422
547
358
517
272
294
102
915
862
909
257
641
566
691
319
931
295
1
241
352
999
327
321
487
794
579
343
168
799
818
881
574
677
854
711
247
817
394
786
377
567
195
316
735
95
990
372
281
90
579
687
335
967
691
185
741
500
629
880
726
213
903
451
606
656
494
83
945
84
114
155
222
575
983
719
685
323
686
674
224
759
43
255
208
939
745
171
583
129
730
794
938
836
697
918
73
414
451
481
638
897
310
51
806
539
149
208
751
72
183
895
641
201
808
188
123
419
309
33
785
872
277
964
444
839
986
588
961
857
710
819
278
938
62
175
541
152
771
534
842
298
858
120
218
812
407
282
736
599
466
771
46
242
935
655
190
652
256
933
427
410
287
566
85
299
952
229
24
6
838
610
709
538
135
68
72
322
255
222
982
414
828
81
393
566
957
92
122
578
221
739
823
95
134
181
147
584
12
459
517
825
328
13
263
771
894
444
483
832
403
572
528
145
929
359
225
29
223
880
158
288
432
738
816
475
223
902
925
653
616
940
199
384
304
600
206
789
244
839
290
339
395
280
722
26
601
117
840
532
180
915
539
645
222
97
918
134
728
987
586
93
376
127
390
823
132
566
698
705
464
85
884
589
352
559
88
290
902
669
558
818
101
681
560
940
287
706
927
302
604
75
587
70
314
734
850
694
61
695
779
768
326
40
855
945
10
789
767
110
857
194
92
997
103
441
414
206
199
8
530
959
55
811
950
677
997
684
328
455
880
609
83
94
86
177
18
903
584
7
744
199
506
94
121
205
845
68
332
635
76
23
910
370
895
843
958
603
690
230
805
6
932
446
836
1
701
304
976
373
80
715
832
34
692
854
333
202
43
111
402
194
356
985
186
888
406
587
809
39
138
126
967
698
495
553
826
162
227
304
731
984
824
708
715
458
680
339
940
978
968
183
520
217
199
937
700
336
227
912
521
385
630
758
871
37
407
211
445
940
160
636
726
57
911
408
154
754
185
338
915
357
703
581
582
558
277
363
92
962
290
811
286
253
779
885
625
836
795
360
243
581
140
296
434
577
991
5
164
85
666
474
201
501
450
984
95
809
731
387
838
991
54
952
883
392
61
120
740
514
445
967
48
600
24
496
404
484
293
383
715
110
562
738
265
397
202
343
989
730
887
732
546
583
487
701
586
576
82
91
374
270
552
694
417
335
297
227
903
221
14
110
485
388
126
520
510
23
759
386
167
642
993
939
145
654
627
506
838
696
502
656
666
541
338
650
551
325
704
147
590
157
329
423
889
444
286
116
556
375
345
897
826
124
639
400
297
632
104
402
899
618
951
9
938
523
852
990
66
484
98
174
509
107
54
705
46
537
309
37
466
51
397
652
929
99
602
211
981
359
312
117
256
260
609
648
76
19
351
644
902
316
176
320
709
644
383
323
336
350
947
847
470
319
930
825
748
831
727
296
461
535
466
617
719
367
316
978
70
77
858
304
226
862
792
703
622
713
189
210
991
186
234
110
18
264
983
701
98
899
801
180
519
674
893
882
988
178
168
42
894
754
570
532
386
458
311
141
803
562
801
245
793
915
532
378
438
668
616
12
514
649
828
943
204
183
817
627
309
515
984
811
874
620
522
909
536
751
137
581
359
696
219
66
902
588
968
116
393
322
687
361
150
654
756
884
377
342
560
804
610
590
449
32
36
597
902
672
492
634
75
23
500
667
142
367
458
858
514
761
739
515
821
273
499
466
436
182
633
544
37
569
283
663
780
872
658
288
144
306
993
827
343
415
20
805
224
514
229
623
647
786
134
462
554
296
827
72
943
202
447
433
515
219
246
419
647
845
157
460
177
495
292
537
265
719
604
313
846
392
3
980
965
264
745
129
839
469
438
489
758
428
485
815
548
997
612
698
524
776
194
177
748
988
690
796
704
406
582
257
916
283
466
630
723
985
703
859
696
171
644
439
927
542
200
457
770
612
181
39
315
835
965
669
300
967
418
644
329
757
238
811
150
896
340
514
431
148
197
85
703
422
373
889
207
707
62
30
703
216
942
212
90
379
376
454
964
298
753
891
469
624
616
884
913
156
786
151
471
811
368
730
720
460
793
78
238
755
120
446
558
543
8
579
227
227
722
24
860
244
90
89
263
935
898
321
238
86
749
458
681
285
632
925
620
587
537
794
979
85
261
751
254
703
816
302
868
830
739
675
737
221
588
681
908
317
75
682
334
949
381
945
294
116
632
896
166
907
399
116
551
570
163
938
673
164
354
359
776
256
829
862
357
103
795
415
185
734
452
538
545
540
141
220
182
32
821
109
773
617
193
952
921
154
119
230
358
315
764
989
258
143
395
717
121
265
993
958
893
867
928
604
440
772
214
727
130
327
556
450
624
473
279
854
515
555
290
177
503
356
330
543
609
161
622
773
197
485
931
406
859
455
392
20
940
771
510
496
297
873
122
932
513
179
924
838
554
618
291
453
462
864
841
651
997
456
512
831
821
926
787
909
301
298
114
581
727
341
209
352
666
563
980
363
908
138
27
871
245
831
438
332
738
562
717
752
957
765
242
101
370
977
930
331
976
700
826
740
488
620
619
666
295
116
924
599
273
539
230
458
273
816
885
807
912
248
439
691
440
185
836
466
883
344
725
802
73
141
492
181
1000
640
454
899
317
318
376
393
344
943
171
984
121
338
497
293
599
218
981
921
48
972
670
690
788
122
184
540
177
71
99
666
486
408
910
698
531
590
358
753
79
403
685
894
78
240
165
106
326
817
620
900
347
834
166
362
214
792
216
959
197
525
853
718
8
117
226
587
775
604
245
648
82
504
809
84
286
154
422
905
929
425
755
373
7
184
414
645
563
73
343
69
613
970
282
252
581
58
261
562
588
466
178
280
131
699
316
196
108
682
50
445
658
357
395
429
425
85
752
785
980
302
267
931
903
890
832
345
731
138
51
963
932
866
446
242
324
320
880
435
787
530
744
802
129
16
49
899
38
908
807
898
60
841
414
506
759
595
324
208
177
754
414
282
164
284
393
502
48
330
170
583
60
341
963
111
106
683
442
601
412
717
449
387
689
572
677
741
814
939
449
160
278
659
527
979
609
482
478
15
588
882
860
836
637
311
548
622
316
315
32
740
980
216
217
386
585
595
91
674
301
913
888
509
456
686
220
651
662
483
578
945
870
337
528
718
794
342
838
593
443
234
738
689
409
589
792
105
789
410
75
285
904
849
572
400
27
142
440
295
919
655
740
33
44
747
964
725
368
389
127
30
376
731
617
40
216
234
322
167
290
198
544
213
693
792
60
359
471
892
822
292
470
597
252
416
63
897
116
113
647
897
769
141
460
306
827
96
7
467
474
101
257
856
380
738
83
628
326
881
314
107
64
242
585
227
531
239
538
198
633
770
459
110
32
383
909
582
745
540
750
985
455
322
982
604
357
740
189
695
938
494
605
726
308
647
522
197
969
808
970
461
575
335
287
541
390
900
336
926
972
778
538
991
882
762
50
131
703
655
366
718
14
510
205
455
658
822
7
779
861
830
396
182
917
264
537
388
821
761
129
471
394
15
297
577
686
537
631
501
151
440
172
688
94
350
231
154
653
411
510
859
75
491
751
866
70
831
380
824
117
112
61
488
296
378
453
234
347
305
495
269
945
225
404
443
31
299
867
354
904
249
808
650
200
52
785
750
905
836
92
69
860
339
896
333
945
667
317
829
738
699
201
433
141
188
398
850
209
415
969
551
333
353
703
528
933
184
504
388
425
684
969
410
457
330
789
965
303
865
631
336
446
95
210
856
189
117
244
571
678
397
864
293
816
169
625
979
146
494
313
900
215
291
303
638
657
735
402
770
107
667
110
242
648
528
551
141
301
154
667
789
157
725
244
847
617
983
167
253
113
393
280
201
125
450
897
479
268
482
599
911
297
461
733
61
346
8
98
279
144
300
688
971
382
832
75
849
468
86
496
453
578
159
606
631
793
730
337
272
787
77
972
716
121
599
116
466
472
961
874
845
768
26
860
413
431
560
821
69
715
814
155
905
27
555
63
272
386
640
102
458
273
156
995
108
738
219
200
863
664
961
220
628
974
739
536
448
389
446
639
104
328
742
260
597
202
941
544
444
299
989
666
413
142
812
456
55
24
450
707
21
90
562
55
245
75
549
517
276
366
549
367
757
844
168
582
215
905
882
364
613
942
645
770
555
110
926
759
346
967
57
890
997
363
216
847
699
982
886
714
832
174
995
76
712
286
360
215
224
894
623
819
898
254
644
727
25
534
471
317
866
666
740
428
331
990
872
363
512
448
841
864
760
520
549
187
805
924
328
765
1000
439
15
346
783
505
15
271
622
705
71
660
896
221
588
84
278
47
487
353
376
685
674
443
719
122
6
128
579
546
764
801
979
874
151
263
754
413
521
377
163
331
996
205
570
334
865
362
598
879
615
222
575
940
417
41
310
850
604
342
573
306
427
472
721
170
813
455
846
907
257
362
242
575
226
365
766
892
922
859
158
325
860
523
483
939
681
91
434
490
118
153
453
681
114
126
335
983
903
44
407
877
241
539
488
529
748
23
779
510
391
618
519
867
14
421
802
759
30
951
15
216
400
679
120
513
676
931
232
737
504
791
337
770
977
441
721
620
125
369
240
489
706
7
893
255
286
731
188
720
923
303
345
729
905
181
387
765
439
743
687
789
802
810
702
425
348
557
107
7
141
985
551
6
832
628
832
333
826
210
457
455
745
410
868
803
841
781
295
734
2
164
967
242
669
372
1
122
23
85
790
791
99
611
881
571
843
732
595
474
729
401
806
315
998
637
126
40
941
949
284
902
671
991
670
372
842
63
686
530
143
490
42
284
636
511
111
262
127
617
726
500
439
103
203
600
105
90
437
292
666
505
315
290
20
550
721
926
34
797
452
246
317
353
577
108
141
378
46
696
671
457
902
210
286
878
577
657
247
726
389
52
271
729
326
87
576
27
183
351
526
997
511
29
401
598
354
695
489
409
785
275
124
865
509
370
29
650
452
86
841
5
900
513
670
606
743
601
285
120
410
876
650
272
596
769
192
982
472
263
798
543
148
657
404
745
47
561
479
295
135
207
616
544
464
244
218
543
946
279
783
176
18
931
650
25
957
169
266
121
670
803
895
761
71
757
624
110
250
194
1
543
580
406
299
329
58
1000
913
122
859
903
810
377
816
997
960
690
957
393
791
148
721
984
605
895
195
879
45
680
89
755
863
528
56
443
325
53
700
215
756
549
818
870
384
66
758
527
591
289
343
347
214
245
725
396
46
829
389
93
178
335
650
829
980
487
653
937
615
768
911
331
242
673
748
15
530
357
42
552
939
100
24
360
320
237
177
350
62
676
637
16
846
331
122
237
880
483
341
638
697
667
335
589
599
160
451
898
840
433
863
261
498
937
224
482
985
596
371
43
903
19
641
768
244
415
258
779
630
722
143
239
583
484
866
900
736
711
554
577
785
619
492
561
887
110
423
502
527
490
575
261
414
647
97
516
348
520
401
255
860
286
230
408
203
199
27
346
377
518
395
675
35
862
276
643
440
897
225
256
86
161
720
718
919
169
616
495
655
407
142
483
875
736
188
633
149
792
833
72
927
564
206
234
534
387
961
192
909
899
71
636
684
542
986
6
240
951
130
368
515
407
501
647
116
217
916
362
674
569
221
823
898
765
569
798
136
338
870
738
763
668
20
795
761
732
874
318
177
329
737
790
159
862
193
930
682
149
420
776
532
414
591
81
348
111
679
712
275
836
711
784
425
213
581
366
200
154
559
802
470
883
668
496
591
758
529
66
453
162
889
550
958
444
118
22
972
232
733
957
68
870
473
921
209
286
189
6
688
609
426
419
270
189
292
787
538
924
234
123
325
910
254
891
750
643
96
340
581
210
293
253
75
507
575
821
627
612
756
61
280
881
193
449
541
782
946
308
249
902
778
486
779
477
474
498
780
484
512
254
232
613
645
305
67
808
174
995
279
123
571
912
731
820
135
186
112
740
320
772
456
663
489
190
324
606
551
775
450
844
816
748
816
984
803
947
425
647
373
824
719
719
504
113
555
920
962
328
373
5
821
304
271
253
17
38
782
447
766
464
579
403
978
944
202
756
142
832
998
37
167
374
276
500
138
964
465
937
558
150
401
83
32
704
415
128
565
292
688
873
298
632
527
845
711
402
727
397
989
496
706
782
363
293
637
789
92
171
882
902
112
962
602
650
339
405
604
435
469
118
446
361
432
618
688
22
661
223
133
528
910
162
915
683
145
462
760
226
830
754
400
94
622
92
996
932
337
774
899
662
467
60
50
337
849
611
518
683
975
326
446
83
696
924
809
849
123
895
667
735
275
3
695
38
42
265
611
565
563
273
993
328
303
27
904
780
537
4
90
779
436
151
621
453
857
407
273
326
703
551
955
648
621
835
912
458
363
526
882
66
620
580
365
298
925
482
120
500
565
730
439
840
443
787
735
780
61
316
618
324
119
736
540
564
672
813
926
769
687
305
362
148
710
712
821
243
272
287
714
121
898
858
367
726
843
859
541
583
88
766
20
638
515
994
920
246
783
250
465
220
88
106
242
420
626
577
429
29
689
124
479
290
247
603
358
319
619
289
631
425
104
772
335
603
780
691
38
209
643
266
762
401
621
424
695
502
770
421
481
995
745
180
338
105
537
426
158
127
511
903
836
491
629
826
434
455
965
590
236
981
499
329
533
484
194
839
168
835
341
221
494
769
171
242
564
684
821
964
743
349
109
833
262
9
558
860
572
528
949
767
86
406
934
470
931
5
631
295
475
900
8
790
900
159
787
818
562
530
100
654
603
73
246
273
168
81
647
52
522
760
387
219
850
462
536
555
313
572
323
272
611
663
500
766
351
488
408
797
215
695
300
317
774
305
986
557
365
264
338
321
78
341
664
852
182
517
420
281
840
19
894
889
549
732
746
738
178
69
325
331
633
539
253
57
683
966
461
915
298
722
647
890
603
772
444
967
876
600
195
598
677
742
774
887
980
999
56
60
989
559
52
886
145
495
673
988
463
136
675
77
130
415
59
301
415
685
970
580
698
187
776
40
731
337
235
144
514
907
359
794
666
584
513
126
924
44
276
71
740
11
167
664
354
5
58
84
971
894
27
132
121
44
115
795
346
692
355
572
795
657
351
87
523
333
351
246
615
536
983
514
876
708
802
178
306
682
541
84
880
453
103
546
358
993
420
570
91
114
685
936
26
724
629
924
51
146
355
640
797
175
306
907
939
574
911
970
31
637
291
248
424
490
747
511
492
234
594
226
863
70
811
829
893
717
709
893
518
531
471
6
41
91
429
794
782
87
988
692
235
178
13
676
447
857
507
433
333
647
616
808
157
880
140
660
814
455
113
115
375
143
210
298
407
446
624
284
366
410
615
174
234
101
366
875
785
431
830
331
944
9
77
639
11
49
976
404
440
613
407
546
293
830
725
29
309
567
455
511
89
327
673
73
220
375
474
211
224
301
757
260
936
454
656
167
239
722
14
476
104
700
456
205
688
587
706
521
316
701
186
818
696
194
89
336
969
118
223
222
958
415
369
939
705
515
975
376
222
137
707
17
67
380
417
542
769
56
976
260
227
832
863
180
147
377
107
904
14
741
29
684
939
541
11
879
731
447
679
205
211
355
63
605
184
876
223
591
505
373
277
281
735
453
130
57
601
258
727
856
528
579
963
907
443
534
743
72
727
907
583
72
817
527
138
819
590
34
756
149
548
360
646
597
516
598
58
335
585
127
908
74
260
412
568
771
812
456
789
580
694
940
247
109
179
415
352
846
471
366
237
938
770
620
582
964
84
242
279
734
620
74
558
753
495
331
30
174
128
722
114
887
508
530
377
400
189
711
978
80
386
23
787
516
261
382
162
681
987
735
762
552
221
845
508
73
876
426
942
292
479
573
767
447
164
393
19
509
350
141
425
79
985
555
863
730
303
547
595
830
638
110
430
610
840
890
819
685
187
277
522
271
339
380
593
278
309
954
2
773
802
613
440
543
178
300
911
297
721
763
209
561
210
856
395
489
808
394
203
685
901
270
106
852
524
951
172
518
410
925
558
952
477
593
530
611
867
869
569
729
2
190
356
870
409
137
201
398
238
744
129
51
674
817
558
442
329
987
564
227
582
34
174
874
961
516
829
740
67
877
338
68
689
69
528
555
346
787
965
171
87
178
877
551
125
713
506
549
221
593
239
930
731
263
498
292
176
161
153
705
748
343
194
339
88
774
640
598
644
657
504
926
681
162
60
794
679
345
128
532
33
548
695
71
673
689
553
64
421
216
901
337
978
416
537
682
40
835
804
234
503
171
130
719
392
586
715
467
952
469
941
95
53
264
511
585
278
976
452
908
995
382
290
997
48
918
467
160
20
54
512
600
943
811
68
616
519
855
782
775
379
358
289
93
156
852
635
418
141
868
550
146
1
445
364
580
319
480
332
137
505
203
984
27
138
22
33
425
682
803
929
268
609
389
54
36
953
594
540
528
510
42
64
46
455
671
482
924
985
2
363
832
612
143
994
340
830
362
327
577
731
960
974
71
235
26
46
779
922
304
240
486
463
936
977
461
443
728
258
937
228
782
188
716
234
22
989
522
50
925
954
546
461
298
105
145
965
904
947
185
822
418
176
68
917
138
664
442
581
112
627
975
552
475
884
552
814
74
955
441
642
744
638
795
985
702
425
313
471
977
607
971
565
925
36
511
308
500
490
889
119
340
340
467
769
634
795
433
787
510
944
934
888
120
249
880
270
4
756
884
44
935
98
295
212
774
390
817
517
136
154
571
213
531
438
89
514
492
91
237
817
445
147
643
718
986
45
612
58
680
397
410
973
74
431
691
306
367
138
428
613
843
765
472
936
103
843
364
222
108
656
183
157
522
136
797
388
692
445
367
880
667
993
936
921
788
700
420
542
563
790
320
182
492
449
733
239
878
73
823
845
838
181
347
951
339
402
220
161
705
654
902
616
837
75
708
349
356
88
637
721
431
195
388
794
513
444
358
308
473
822
623
761
947
811
214
345
555
995
556
515
931
430
932
646
466
241
889
178
764
676
582
448
478
40
817
868
527
394
823
677
560
940
36
279
897
467
47
686
103
757
822
959
955
73
777
118
474
131
360
387
400
748
774
832
926
665
802
107
834
641
731
149
379
953
413
571
733
725
284
146
296
313
689
103
491
996
627
459
773
749
663
397
505
248
342
870
661
965
372
621
820
421
63
352
949
26
953
663
431
698
854
743
561
583
636
498
696
58
430
890
958
915
623
533
378
500
986
904
716
625
986
745
912
932
378
137
331
993
335
874
909
76
59
403
747
727
884
869
148
760
837
156
990
248
837
93
456
180
516
969
7
899
782
132
478
826
307
70
485
745
938
628
370
892
903
877
744
394
966
423
215
563
180
927
353
931
380
967
407
382
587
640
696
968
866
279
909
745
50
103
269
194
537
488
116
833
958
754
266
919
799
818
888
103
2
7
385
280
548
131
501
208
441
824
64
704
765
372
828
377
962
107
334
409
455
356
164
74
25
919
842
474
56
113
539
636
223
941
315
401
420
589
270
118
919
550
720
901
512
799
444
325
323
231
363
809
845
501
334
643
266
296
949
540
681
949
737
275
550
68
379
879
120
670
981
515
140
652
670
894
399
813
815
235
865
255
869
356
837
472
231
682
520
432
959
649
479
279
88
139
646
488
144
425
414
908
19
770
77
951
664
295
389
256
583
199
164
367
259
410
726
820
362
858
508
84
935
432
996
26
959
173
474
237
10
285
199
438
944
177
57
691
75
492
984
620
319
417
706
283
205
184
549
357
528
60
593
105
141
859
245
157
453
306
2
100
703
529
58
207
469
41
862
814
489
411
861
809
545
610
798
922
364
180
880
162
227
907
302
493
697
704
927
147
364
653
824
189
124
450
151
114
405
18
122
745
134
950
726
753
461
702
545
917
281
369
492
924
251
141
808
757
897
418
444
455
377
574
276
899
255
542
530
248
671
744
960
166
241
139
979
246
733
796
330
386
963
694
467
608
937
804
380
120
153
417
447
339
601
831
215
565
442
399
686
409
833
568
799
927
295
452
336
984
61
925
691
2
593
480
755
637
15
645
215
439
142
934
532
504
495
608
965
895
318
332
896
41
111
141
662
854
329
644
975
867
150
48
694
410
834
78
173
36
277
837
555
101
941
780
993
34
615
749
847
848
572
849
98
856
775
965
689
900
72
843
879
598
676
822
518
257
882
735
698
827
312
256
374
994
354
384
402
708
550
99
542
35
769
99
255
369
901
29
595
672
424
738
98
995
624
652
166
55
213
216
487
871
662
139
913
716
948
480
809
849
855
238
445
632
362
674
511
529
447
109
713
791
245
776
933
63
448
276
363
841
590
112
857
747
383
250
959
506
816
766
213
328
757
592
362
510
651
763
482
683
734
955
986
858
465
545
222
363
643
232
568
301
17
610
52
576
979
939
673
870
852
205
363
611
453
304
821
273
117
644
770
703
126
299
817
655
855
151
662
903
580
496
880
149
332
553
998
113
946
507
861
332
688
63
596
763
629
420
224
244
487
404
204
811
401
406
620
693
563
646
751
746
46
236
919
483
443
673
832
150
309
819
42
831
69
941
130
599
292
460
181
840
403
906
180
257
516
774
144
291
424
721
368
867
89
950
86
234
532
12
292
1
676
43
810
332
911
958
735
518
30
621
23
165
501
687
690
419
304
63
1
687
997
481
51
586
813
291
718
182
916
406
991
828
250
13
337
877
921
118
221
174
892
779
710
373
406
593
108
159
301
564
451
5
957
303
392
783
730
308
521
102
888
339
865
94
789
367
70
954
970
405
671
761
444
797
234
30
263
735
280
666
886
77
629
913
789
744
524
236
662
279
823
708
833
519
272
513
157
534
417
764
406
34
73
1000
929
129
852
273
150
704
966
491
194
600
906
267
76
858
671
389
332
305
322
737
729
358
549
322
744
420
853
570
987
760
883
434
913
340
16
334
263
351
626
511
688
353
482
751
453
158
346
595
873
181
374
933
73
901
66
152
789
657
313
520
540
324
66
858
176
225
709
41
55
637
224
270
826
725
569
385
818
126
487
119
360
562
257
969
450
344
420
5
859
29
130
393
608
608
943
62
294
592
804
945
280
721
336
761
703
791
704
722
966
277
416
45
503
154
863
588
345
344
926
774
215
417
926
775
149
642
491
82
284
666
607
746
254
960
676
327
252
850
957
421
219
851
139
885
41
62
995
938
508
322
415
293
777
677
789
748
340
281
451
649
88
271
520
95
344
703
128
364
84
139
566
771
670
814
269
994
589
741
14
288
714
416
888
84
731
695
174
165
902
9
36
968
990
50
776
510
580
607
132
36
986
596
399
994
290
368
209
216
422
939
246
333
202
182
185
386
421
259
10
501
356
914
654
216
951
219
366
765
749
277
340
425
68
385
382
613
634
808
558
309
512
975
537
874
266
75
38
532
987
511
304
38
93
752
233
201
171
401
115
503
816
524
689
376
859
101
91
585
121
669
628
700
556
82
895
527
816
144
552
687
546
993
682
309
835
4
361
814
810
272
976
355
126
854
565
138
131
937
564
396
967
897
593
98
941
753
959
85
837
95
184
786
28
757
826
419
233
602
469
615
603
96
888
274
896
786
215
555
118
257
148
663
619
566
812
265
686
279
926
178
453
701
272
689
681
526
276
199
97
361
904
964
107
215
499
276
59
505
450
300
630
181
685
891
980
665
310
657
74
137
408
368
652
991
127
142
521
69
253
621
388
322
246
870
236
397
647
179
77
389
362
460
105
636
454
388
90
318
460
247
122
838
425
860
788
959
983
248
677
25
704
562
44
897
456
678
385
819
563
481
307
684
962
997
612
702
557
645
719
612
458
429
348
411
670
295
756
304
155
255
67
708
991
905
139
714
162
254
682
134
688
82
234
722
258
468
398
852
450
570
526
892
548
883
551
116
706
48
170
987
697
926
743
600
751
421
943
6
867
856
910
399
462
821
184
181
674
962
332
317
971
954
679
373
467
517
560
130
679
678
315
84
200
967
125
173
913
260
288
893
963
811
763
722
587
928
171
878
465
567
518
199
882
653
359
861
213
704
210
709
831
638
620
156
943
765
344
373
559
465
468
737
401
291
497
947
550
710
770
70
104
884
344
150
220
270
527
33
38
45
847
315
247
831
778
188
702
940
549
415
973
609
482
96
251
429
259
659
571
541
857
411
857
240
637
884
364
881
344
185
981
415
319
925
886
758
974
427
782
400
175
29
689
861
506
138
242
886
965
833
606
552
845
767
909
90
629
2
785
168
567
409
879
149
301
170
40
503
254
159
663
23
220
310
950
678
647
253
10
567
819
427
800
211
378
981
341
148
7
199
903
810
757
386
822
590
151
161
949
784
824
388
269
436
985
236
34
669
253
79
563
30
337
456
268
424
272
113
707
995
57
12
564
395
273
852
343
970
742
868
364
527
61
879
344
79
865
626
700
305
352
122
684
727
871
723
287
373
238
155
631
489
248
716
719
204
912
514
797
808
407
257
587
303
444
516
914
454
447
310
781
119
767
892
541
514
214
376
427
318
487
294
321
849
675
762
707
954
214
894
517
886
51
316
20
77
912
644
378
262
336
587
855
494
120
620
705
548
586
417
476
421
109
278
431
307
436
81
278
276
485
544
99
32
54
157
696
789
537
955
982
566
682
769
161
591
754
112
1000
804
981
439
153
783
367
25
955
370
117
245
374
189
818
334
988
808
32
599
675
74
372
615
243
254
923
790
480
879
783
762
817
9
633
326
918
801
429
545
254
813
320
611
305
298
313
742
903
257
280
906
788
592
103
913
56
668
384
950
514
121
504
322
740
805
507
534
703
530
66
926
803
698
777
221
878
97
401
706
417
817
422
501
641
360
907
67
804
654
647
514
885
639
307
462
474
789
110
603
313
286
635
252
658
158
637
32
845
371
434
292
674
349
458
435
899
25
540
695
695
771
454
574
528
738
46
657
471
184
230
206
829
95
544
881
748
631
767
217
493
475
45
994
659
845
976
382
469
618
302
776
332
918
789
882
280
345
754
92
965
158
759
452
733
118
192
835
192
95
665
423
376
644
175
994
622
54
261
892
967
231
356
789
426
571
539
517
406
768
45
725
398
914
215
490
784
734
265
605
287
783
290
866
662
588
189
9
467
913
301
940
523
504
573
772
957
708
398
65
723
90
708
877
781
305
425
297
692
629
150
746
713
553
109
772
163
818
656
28
212
780
621
971
241
217
241
78
952
884
526
301
994
620
86
961
459
232
146
127
519
851
699
110
166
525
255
360
961
874
641
280
938
723
640
897
68
528
283
534
866
173
524
299
895
504
71
551
879
43
46
542
502
877
803
478
676
446
26
202
622
185
637
147
98
759
356
997
534
505
334
50
435
342
453
459
934
714
874
780
553
837
133
215
475
573
182
862
987
351
271
804
707
33
654
166
657
99
541
987
123
846
260
102
68
511
340
651
223
183
991
154
699
605
104
223
41
487
382
437
170
189
362
893
884
475
206
173
467
819
755
701
172
827
567
784
491
232
145
423
219
663
659
88
996
30
296
320
919
155
215
46
783
990
636
434
725
133
473
276
181
533
393
939
492
600
505
760
623
999
396
114
495
626
774
170
861
190
624
995
783
435
137
952
618
934
581
766
244
155
734
359
103
333
29
866
397
199
770
600
757
954
486
258
583
26
405
643
565
657
547
774
252
290
794
184
7
688
986
942
101
760
339
625
158
486
958
429
732
288
508
894
810
678
228
584
112
456
537
170
32
347
180
250
79
624
896
227
913
379
95
525
679
15
151
29
603
950
631
575
136
723
210
740
910
956
638
136
209
327
563
209
269
762
705
752
695
126
490
519
536
191
97
669
16
751
603
350
983
862
588
778
807
749
163
911
18
18
432
93
713
215
559
590
354
337
200
932
794
374
69
552
989
530
792
838
247
932
982
329
880
768
830
474
532
615
479
89
744
813
856
552
268
218
569
380
163
859
667
699
613
268
12
75
607
440
623
234
947
453
218
724
381
80
123
999
950
666
343
458
582
904
740
830
699
721
63
850
745
348
341
50
905
389
949
393
150
141
234
826
728
448
787
863
822
901
617
933
849
20
74
155
938
645
182
338
392
585
843
51
322
544
980
428
939
818
667
715
8
135
383
179
350
961
259
651
474
94
787
700
509
228
987
319
204
316
724
326
26
418
335
172
418
484
716
313
300
192
163
45
553
118
414
286
499
471
232
212
303
863
328
259
927
168
915
626
904
656
429
690
156
406
153
47
873
689
590
399
189
60
599
47
770
914
618
639
686
217
922
600
430
618
350
301
930
519
625
511
966
648
542
506
171
403
490
17
735
23
264
809
836
167
384
721
201
851
933
10
353
286
766
887
274
621
21
651
691
263
416
794
142
36
355
155
899
648
869
286
401
803
508
77
771
510
710
152
345
692
298
531
844
695
34
415
218
493
56
442
938
832
435
589
909
274
740
86
453
277
462
97
87
301
822
274
474
427
810
434
827
403
956
449
517
752
333
727
749
600
172
13
370
439
551
174
399
484
360
455
351
207
673
50
303
290
526
39
683
469
308
574
847
354
166
424
368
604
60
230
788
174
592
911
304
893
260
232
616
814
773
907
460
527
439
734
66
847
620
913
609
434
335
447
835
569
959
383
381
762
50
994
954
682
80
898
959
550
160
987
871
402
47
206
955
165
180
954
26
366
544
539
564
829
510
46
643
442
268
378
404
158
854
477
510
982
526
323
551
788
704
735
181
424
700
774
394
998
307
452
552
691
533
75
362
19
24
875
705
161
531
284
187
127
656
718
104
226
715
782
129
787
631
353
238
77
726
602
966
876
200
402
758
445
643
999
92
20
283
535
502
842
86
35
335
409
651
659
110
879
171
395
627
202
598
438
866
508
98
88
490
913
236
916
926
504
771
111
751
739
675
74
339
324
916
750
667
454
68
182
512
390
559
133
545
270
394
949
509
254
276
581
390
535
322
213
148
736
739
986
566
865
786
612
755
347
753
15
627
305
478
662
921
697
226
785
165
17
70
164
686
867
192
97
824
444
281
191
697
564
275
423
235
237
1000
406
86
591
201
388
339
472
997
192
880
357
436
807
457
626
110
999
732
132
29
848
279
655
999
809
595
228
975
138
990
580
705
852
564
850
807
715
550
218
654
10
854
31
517
444
863
777
345
513
669
885
741
119
728
557
800
847
242
477
505
586
666
145
712
771
644
923
571
555
867
56
160
713
52
315
90
548
735
345
682
484
94
861
162
364
646
853
156
509
130
264
874
474
254
436
189
895
557
637
271
166
934
809
981
772
19
557
563
559
572
590
218
679
655
877
622
336
136
822
255
185
348
13
495
463
614
192
444
609
768
736
275
823
852
486
406
52
121
280
541
578
568
104
183
575
822
365
314
923
961
224
459
843
214
210
154
948
632
532
858
152
515
818
573
823
849
183
178
35
119
231
381
841
964
111
198
314
771
158
634
895
504
126
567
346
559
362
661
317
897
808
290
471
764
903
731
873
170
108
535
46
532
139
250
515
667
199
624
173
483
133
974
542
614
864
451
182
293
7
817
531
419
683
722
421
16
804
506
637
482
440
553
781
276
442
611
429
791
768
482
684
23
815
814
693
370
80
385
256
215
295
940
62
407
96
677
865
717
888
801
335
564
709
405
99
252
618
165
172
374
390
565
817
310
159
731
111
6
808
547
790
413
761
427
490
65
443
657
154
876
51
33
822
66
717
940
189
873
933
988
535
396
52
893
431
686
65
666
459
108
942
745
292
685
579
36
770
37
644
510
188
121
810
328
733
201
713
518
929
203
817
254
551
535
116
201
129
351
794
163
378
589
894
683
273
449
899
484
81
267
442
839
103
47
879
986
588
640
553
860
352
370
682
957
720
430
659
255
146
755
565
282
258
114
244
312
965
361
228
433
40
152
897
120
846
416
704
937
22
640
946
681
320
178
52
723
113
185
780
759
724
136
948
109
877
222
159
925
441
269
462
800
441
181
986
36
407
295
948
152
279
436
758
938
162
686
875
197
921
251
730
591
758
672
73
578
648
806
205
395
26
64
619
912
365
434
284
681
903
343
333
390
667
691
800
399
13
409
922
756
726
960
883
844
908
303
56
876
495
615
975
871
736
406
865
370
422
735
497
191
990
584
447
664
527
192
86
613
272
471
998
396
438
254
122
924
651
896
987
531
2
347
827
323
37
10
65
890
790
483
114
27
960
170
476
99
472
190
383
224
350
780
318
739
867
379
325
272
517
51
525
809
750
356
761
530
577
863
143
659
724
371
937
250
448
249
294
267
812
409
807
906
96
491
284
225
161
229
430
207
390
792
766
759
100
951
600
459
558
784
367
486
500
181
950
731
676
247
90
98
98
721
7
484
147
783
255
252
306
674
216
290
217
311
114
31
766
363
683
706
113
411
393
424
806
441
594
854
724
695
445
187
561
409
937
934
138
953
415
513
15
359
438
216
814
180
289
841
772
743
843
259
230
315
676
957
634
129
849
608
939
308
711
109
656
415
585
742
207
866
879
625
718
643
645
113
194
276
879
437
623
839
135
277
113
168
957
703
736
553
996
528
758
245
463
4
103
208
508
727
163
593
204
697
219
89
626
4
71
776
523
739
764
37
151
245
46
189
590
174
691
574
957
214
757
852
699
453
46
2
725
791
402
517
2
960
586
768
419
190
444
463
627
374
995
1
157
383
842
763
772
738
841
835
431
269
789
156
466
538
81
598
533
463
219
251
56
108
61
976
597
566
97
775
616
209
381
858
461
781
269
375
604
884
571
786
480
424
385
903
322
414
817
271
32
965
925
762
379
908
575
239
222
20
451
43
298
240
306
663
702
867
428
530
169
411
8
800
16
759
216
345
772
714
20
558
205
906
925
514
832
590
238
502
337
27
799
822
601
529
889
214
796
857
819
168
519
246
446
865
926
837
550
463
947
493
662
901
417
286
667
110
528
625
243
509
856
263
513
481
832
504
559
476
550
21
649
373
8
546
764
144
61
444
604
965
43
702
608
444
386
936
777
619
930
84
667
753
86
411
272
882
326
974
93
210
471
526
908
999
323
165
835
159
253
734
27
909
661
385
189
551
654
879
362
933
402
854
902
415
706
410
548
922
25
832
591
716
807
635
713
449
143
314
387
57
505
707
340
901
955
404
515
844
11
648
623
6
145
779
689
857
336
145
283
319
277
36
279
582
220
357
556
178
352
883
101
403
799
198
456
224
556
886
261
470
199
169
162
584
883
459
148
50
856
755
992
394
272
193
963
20
345
214
867
932
318
974
998
581
195
872
802
173
135
468
733
444
970
895
271
583
606
642
253
649
928
83
48
966
319
944
273
388
540
682
632
408
951
842
619
544
526
656
98
88
435
570
424
142
751
299
922
956
923
747
413
327
45
862
339
944
678
655
942
887
52
399
837
150
729
370
68
482
73
712
476
378
46
768
333
491
637
15
10
294
268
920
934
86
10
568
908
411
86
522
566
66
102
341
42
73
302
355
795
501
451
22
356
135
858
868
898
621
765
939
815
385
42
850
4
168
380
942
105
450
677
861
408
382
549
164
803
768
368
207
557
513
11
741
102
110
208
593
277
247
312
262
849
650
162
438
217
128
369
226
284
170
184
780
867
963
874
180
872
67
771
969
104
544
35
250
54
691
493
384
184
965
302
262
625
661
279
715
820
596
283
151
414
789
413
714
248
942
116
109
937
900
218
386
875
318
984
395
206
130
663
397
212
936
598
626
773
792
452
313
787
825
70
470
775
360
864
382
362
719
742
954
133
228
950
911
67
636
463
72
390
894
198
951
388
708
83
131
628
993
608
762
70
485
830
265
401
335
424
516
55
115
674
323
938
293
831
810
620
593
119
706
252
971
820
852
44
206
210
292
461
16
324
817
512
284
953
330
946
225
192
118
135
901
266
692
221
184
973
876
797
663
352
980
130
51
882
651
296
143
715
335
121
833
661
709
726
391
260
441
156
147
181
530
111
349
666
809
502
338
397
728
990
625
338
252
524
208
831
474
169
7
26
364
239
921
107
267
613
314
917
910
7
885
174
897
15
245
263
488
395
714
627
246
730
217
494
196
651
451
628
161
129
64
216
111
770
601
714
593
158
180
113
26
156
547
289
614
460
464
28
614
505
544
1
322
359
283
552
665
404
222
167
250
78
678
151
824
869
856
650
370
863
809
291
635
434
14
665
169
52
628
627
560
460
872
840
822
427
254
951
290
805
160
337
392
714
835
887
318
512
484
540
329
714
593
884
315
189
483
237
83
453
374
86
62
732
869
964
112
818
801
651
962
544
992
551
744
201
288
735
863
160
498
344
362
669
242
346
124
837
88
999
273
398
37
906
743
424
313
150
832
530
819
189
114
208
896
16
801
167
683
591
665
788
494
321
632
726
672
910
692
318
646
275
232
675
835
432
460
498
490
468
802
560
940
382
506
521
32
140
321
435
735
609
273
533
647
431
646
674
56
177
25
214
162
82
121
344
514
78
871
187
7
886
498
417
28
272
406
64
596
386
949
990
513
99
964
632
767
52
564
880
99
515
810
839
660
18
806
996
134
339
140
87
763
729
400
821
166
961
164
413
580
391
154
562
700
820
590
139
226
844
85
953
324
416
15
980
306
515
605
415
563
590
261
490
272
956
955
474
644
292
382
207
850
853
738
69
584
733
343
758
96
124
515
215
795
937
612
794
246
558
183
4
244
439
476
555
315
11
366
565
331
438
528
551
235
713
321
104
68
855
121
341
619
149
762
126
248
857
899
996
365
827
342
732
545
762
861
476
643
227
174
728
625
513
557
467
100
463
951
393
666
75
274
18
451
316
764
205
978
352
789
955
33
988
190
998
957
845
116
385
217
607
167
545
802
629
188
803
259
302
557
770
620
766
269
330
531
124
251
703
447
492
99
226
348
604
316
857
243
800
811
734
841
73
104
931
39
242
510
889
151
281
761
532
661
951
672
354
861
850
110
397
260
69
248
761
227
160
625
33
692
585
625
143
918
180
88
361
575
105
213
865
842
38
836
210
127
955
820
923
943
170
617
203
332
965
185
886
254
750
461
981
111
353
819
475
287
825
839
710
596
814
417
826
354
963
2
67
403
656
368
669
435
347
210
435
452
102
108
819
296
820
448
753
668
468
147
72
569
81
382
757
767
989
29
372
854
683
136
898
90
38
968
267
735
356
240
65
273
340
556
143
49
894
772
864
628
549
111
307
507
31
440
246
716
6
229
248
820
87
460
167
642
965
752
796
492
7
550
368
193
234
330
71
300
519
965
690
853
914
122
458
540
232
194
590
940
49
103
803
984
19
58
728
640
369
88
691
305
266
465
114
10
815
719
244
228
895
352
110
392
378
695
904
515
233
165
652
4
151
316
77
424
140
272
92
983
354
137
967
897
881
821
937
762
799
801
492
234
34
563
308
621
463
960
989
19
763
611
530
147
92
404
543
413
217
215
285
453
27
486
463
834
747
763
572
690
369
267
470
866
616
790
327
745
463
590
474
570
168
590
731
218
454
855
325
676
194
645
869
924
651
195
948
453
756
520
567
650
706
673
661
580
217
739
471
535
154
703
236
442
169
35
813
255
541
968
868
532
156
235
111
214
811
777
165
239
586
284
88
470
521
248
840
400
801
125
806
226
409
318
639
178
605
211
881
771
407
893
757
979
403
938
279
541
888
297
223
334
679
561
568
832
623
317
976
471
591
304
817
858
456
107
702
652
544
284
355
317
185
672
757
519
681
607
527
127
977
531
194
984
237
893
875
922
50
865
996
530
831
999
57
783
809
840
304
383
268
640
972
715
979
174
350
981
275
437
100
259
511
717
896
467
589
452
135
110
74
594
520
330
731
8
153
440
149
929
205
900
83
153
189
594
397
354
14
753
232
658
835
126
757
93
220
587
115
139
397
141
531
262
42
491
662
640
944
400
713
252
143
229
767
571
16
245
755
990
196
261
967
812
839
376
26
758
171
3
59
871
882
23
736
457
358
81
816
556
802
234
957
21
363
428
281
549
623
390
826
174
731
371
966
898
240
33
463
645
748
175
144
704
199
590
26
133
48
631
49
924
619
234
443
466
944
709
628
312
662
827
162
793
587
799
760
268
901
902
811
304
468
964
558
693
482
847
400
790
879
122
384
57
13
23
145
11
912
770
96
26
255
420
456
131
381
609
392
922
339
893
881
918
437
944
218
157
931
440
748
867
820
441
1000
27
287
546
641
493
798
578
749
590
552
885
684
468
279
442
979
191
369
511
817
8
923
590
944
432
85
835
415
577
376
262
528
139
33
524
374
272
279
833
616
480
178
802
614
434
940
719
324
244
719
219
803
538
257
233
460
924
492
580
450
419
443
429
458
629
639
782
23
822
517
252
313
104
317
665
388
676
492
667
642
317
674
459
773
350
272
82
110
166
932
950
659
960
785
187
79
887
131
773
687
458
427
163
884
451
699
948
66
481
904
738
291
787
943
227
284
593
554
1000
121
823
585
9
112
230
164
489
88
663
929
413
295
384
221
876
737
95
543
263
605
427
980
627
12
117
292
775
921
752
961
971
865
510
149
237
819
673
597
328
869
436
716
346
486
242
422
762
406
901
85
433
429
138
19
683
275
82
556
442
466
256
858
420
490
591
696
521
722
217
16
763
713
248
897
124
958
270
504
991
540
33
807
411
766
622
675
163
149
48
520
198
457
119
141
925
760
803
695
630
45
273
947
66
109
17
316
300
554
279
507
601
917
800
154
591
881
565
490
313
846
620
461
92
174
241
373
334
324
457
877
765
557
743
812
869
197
862
121
40
912
676
574
745
74
246
779
996
398
319
652
957
915
665
785
89
891
457
899
396
380
706
197
232
846
204
10
854
994
633
30
280
833
475
99
806
951
29
81
745
704
137
571
470
293
651
303
633
787
327
294
609
21
453
935
927
4
93
342
821
539
720
277
782
367
61
395
548
546
935
262
635
527
755
730
438
841
674
157
86
686
11
880
699
153
565
711
266
668
163
122
438
769
174
665
768
570
677
528
546
978
761
125
50
968
726
173
92
471
311
568
529
229
420
325
195
194
642
884
940
411
519
108
390
610
755
876
501
42
243
156
449
926
741
467
958
894
905
984
609
648
267
189
932
534
173
444
159
432
822
451
284
789
736
726
370
614
169
768
187
551
854
4
717
249
299
176
116
245
148
133
674
854
954
866
713
976
414
644
719
938
364
818
193
628
426
105
850
932
159
839
536
480
85
94
816
277
364
144
990
603
639
533
473
888
73
247
360
289
834
642
886
918
501
72
277
279
881
462
167
965
808
916
437
493
118
472
189
316
320
987
706
361
316
13
84
39
432
77
651
582
69
241
422
989
622
215
383
440
411
358
94
117
516
431
199
22
944
944
746
852
881
80
280
820
67
552
766
939
611
76
896
978
6
159
669
660
457
174
35
551
992
6
730
334
755
261
513
433
7
185
473
596
101
556
884
969
500
567
481
203
935
134
319
865
790
436
469
369
426
804
667
840
438
342
120
613
524
335
582
225
686
277
411
274
709
195
746
649
590
878
680
992
543
741
467
857
911
222
24
183
355
523
267
799
141
854
674
127
67
559
155
776
923
336
145
936
876
859
77
134
3
970
6
282
627
882
274
190
725
975
246
352
333
507
30
789
659
121
350
147
690
395
82
784
509
54
725
447
693
318
11
929
508
320
227
369
701
416
497
712
353
411
671
243
429
140
859
313
671
969
204
336
989
667
648
108
399
532
323
671
979
631
452
156
596
654
982
7
809
195
701
400
721
500
981
991
763
352
490
561
884
69
774
380
878
394
176
558
772
91
619
621
71
562
984
927
792
959
311
343
106
33
416
703
596
507
444
696
739
260
885
131
766
99
114
757
591
27
830
937
769
977
575
698
1
282
281
303
678
478
491
23
887
486
985
800
417
220
86
491
888
609
81
139
523
906
862
952
511
696
155
434
20
697
411
266
498
909
142
154
82
580
162
914
10
468
642
44
786
570
157
42
662
612
467
937
570
763
165
786
344
786
963
207
509
157
466
428
254
906
755
670
719
878
948
560
618
279
174
743
456
534
873
672
8
867
650
674
318
697
210
388
426
750
795
531
343
120
219
675
139
51
513
271
373
112
565
320
169
939
96
771
557
254
21
932
844
865
813
364
53
204
841
740
758
763
977
721
892
824
844
300
295
996
823
199
831
992
795
690
132
386
106
543
911
500
545
634
471
842
956
342
30
843
995
470
68
217
161
400
990
69
420
287
178
859
223
250
991
402
128
82
886
472
931
566
632
483
524
169
242
137
49
877
654
107
59
85
529
87
102
847
770
387
240
965
555
144
395
931
613
647
669
688
150
205
669
808
469
686
49
633
109
693
45
840
106
999
957
621
453
774
18
865
825
992
796
961
285
927
68
680
276
39
308
366
944
750
694
915
40
894
878
728
790
831
267
383
440
377
96
654
122
840
504
359
943
853
382
983
814
552
209
988
786
17
618
654
761
590
70
669
209
62
962
746
333
959
205
494
234
844
251
701
743
998
439
709
968
174
552
424
842
912
643
978
975
801
456
322
529
294
370
421
668
2
371
153
793
931
24
72
902
889
447
486
377
450
129
808
377
564
459
388
131
183
93
55
305
497
749
245
454
832
119
742
227
473
765
130
850
16
389
746
440
955
700
453
650
850
628
67
372
908
855
315
120
907
325
543
332
272
68
718
662
777
521
481
332
915
238
923
258
546
172
105
863
558
355
929
875
787
627
306
635
706
644
736
335
959
996
675
984
17
203
759
852
652
40
973
739
898
302
892
814
927
50
318
556
250
396
543
141
89
344
863
826
979
544
35
35
551
814
432
156
516
252
777
939
494
100
185
906
644
687
645
37
472
218
123
680
118
153
603
663
467
591
855
536
487
138
11
158
535
325
768
581
429
393
5
532
177
630
825
134
409
134
253
808
882
771
147
122
621
50
213
684
629
51
644
15
283
793
44
971
741
243
284
396
143
901
389
626
118
615
365
412
687
368
410
639
513
525
320
987
948
305
845
272
294
712
952
364
300
141
25
479
962
354
515
814
527
695
277
589
171
603
306
637
82
304
504
499
808
200
94
676
411
205
212
401
721
953
799
549
713
666
867
616
719
504
919
73
837
992
527
598
344
605
810
99
902
99
986
16
80
510
350
15
837
111
657
209
538
1
379
184
238
617
493
399
546
489
375
512
46
68
969
836
279
948
942
484
949
201
303
964
452
212
722
209
91
3
826
289
531
786
461
733
291
674
80
108
156
751
624
195
727
68
701
903
645
269
275
734
794
495
133
555
674
454
590
74
575
568
693
799
512
511
412
99
262
30
133
863
785
54
714
404
398
183
952
236
432
275
187
112
279
671
189
212
39
196
854
947
736
676
881
728
501
997
575
421
96
519
615
657
331
447
224
823
695
202
701
749
319
801
140
791
157
758
350
163
140
995
416
280
763
521
803
467
908
582
767
364
717
35
438
984
69
493
304
590
85
112
109
77
148
752
861
371
953
134
559
952
975
689
481
355
357
707
407
977
870
627
304
240
228
124
994
525
466
198
778
135
588
643
526
228
912
556
667
707
57
205
584
508
143
986
833
113
695
499
604
614
960
147
833
327
140
313
472
604
571
700
28
535
677
867
120
311
498
39
376
268
197
822
736
497
556
644
4
486
351
786
659
525
994
950
752
60
420
920
697
64
759
814
300
185
622
441
705
360
447
711
123
490
198
919
552
344
752
732
893
517
722
755
710
780
802
707
95
172
210
530
406
533
753
420
183
559
8
2
518
11
894
130
113
482
265
14
295
650
991
715
589
17
418
870
961
972
522
937
452
617
973
217
47
948
32
242
845
486
502
899
810
286
688
1
959
311
259
428
20
219
441
509
663
687
773
445
618
380
601
743
298
736
433
339
344
766
581
892
343
334
668
5
637
935
314
355
265
6
303
895
904
185
561
30
245
796
476
396
524
105
908
513
431
65
386
98
521
675
136
990
589
137
38
802
370
51
903
692
450
195
9
803
812
309
712
157
279
131
835
168
570
671
38
531
447
558
865
22
673
906
768
805
643
254
933
253
798
468
633
172
533
280
947
628
145
799
837
903
639
355
540
401
42
325
477
131
627
873
322
590
636
175
557
575
631
427
747
527
414
147
226
965
325
280
381
767
673
169
159
164
951
276
262
979
289
498
201
209
497
4
497
358
716
128
442
600
204
624
54
433
705
377
133
963
645
988
83
293
80
851
876
415
501
547
949
683
769
835
698
927
737
480
770
992
894
168
847
649
682
204
256
186
824
396
522
76
806
8
227
381
646
709
209
902
345
942
512
410
666
794
205
390
235
421
244
871
785
501
860
296
875
725
652
182
156
494
997
412
646
433
913
264
272
476
980
846
673
505
708
102
707
574
984
822
385
165
985
476
84
961
876
950
762
966
938
556
507
918
101
204
866
509
843
223
974
313
256
66
348
416
834
99
980
721
322
319
857
586
989
345
442
385
291
983
469
284
369
731
666
699
782
456
343
696
260
267
349
881
780
669
105
342
473
100
443
138
289
324
197
741
57
11
738
170
350
543
613
369
988
460
629
768
529
729
464
837
182
144
176
239
953
579
115
352
465
523
377
546
944
472
813
979
787
899
65
951
563
234
331
277
397
950
283
212
325
275
960
917
547
695
331
30
234
120
784
571
671
751
220
395
397
90
632
967
706
970
147
529
42
573
945
494
368
672
326
599
845
633
406
232
987
85
936
2
136
963
942
287
502
296
995
474
931
194
648
257
68
420
350
207
29
345
722
847
886
702
140
801
797
264
514
171
990
759
515
660
808
695
270
352
446
700
779
344
596
877
648
214
998
646
681
559
205
6
393
40
464
512
598
811
510
632
848
256
421
63
810
267
763
478
379
5
142
509
529
507
729
775
502
864
757
796
796
813
705
340
59
692
272
203
135
213
646
657
863
680
629
997
350
510
721
486
419
596
885
928
119
196
381
954
286
72
598
13
945
361
706
537
432
677
547
479
535
957
967
803
484
177
997
262
547
359
612
27
210
576
653
639
961
906
750
106
681
379
254
238
297
958
863
537
784
634
20
137
184
178
182
418
101
407
909
754
109
347
867
791
297
544
935
285
771
817
59
541
779
863
796
982
598
155
935
737
642
178
557
301
210
739
719
297
951
644
704
372
660
775
23
56
325
700
142
481
364
220
649
483
196
470
436
703
221
528
292
931
77
122
582
261
866
741
366
221
840
101
183
521
743
650
489
405
851
52
101
963
863
770
800
868
725
907
251
922
202
763
209
93
358
169
127
879
351
443
13
703
370
429
248
720
578
612
180
722
548
68
53
69
902
778
501
794
92
248
978
810
582
883
35
675
151
212
970
30
722
860
249
719
538
297
516
132
365
960
230
936
469
122
969
888
412
971
813
939
131
823
801
22
836
16
750
225
748
293
17
641
547
358
698
127
720
275
952
66
754
6
233
854
788
871
220
766
103
99
489
502
78
649
780
672
51
83
904
516
326
113
66
688
456
104
971
253
938
822
803
873
277
449
940
97
400
854
851
744
719
506
607
395
854
741
951
298
904
992
954
464
134
683
860
399
299
662
549
844
228
979
581
61
675
338
817
958
636
556
741
5
914
827
998
894
429
300
896
194
637
637
140
20
895
380
315
493
141
998
868
565
77
209
776
63
930
654
281
434
794
496
58
444
483
847
316
993
823
56
411
517
646
760
365
442
353
515
157
475
781
702
702
144
28
699
622
729
827
370
680
962
364
644
417
650
368
808
977
753
157
541
405
241
64
287
185
860
753
835
482
893
607
795
243
388
189
166
632
880
31
912
902
813
157
776
123
423
372
470
548
601
894
355
626
113
186
331
884
86
67
256
591
824
336
369
538
727
191
840
801
600
99
398
489
651
333
487
648
622
972
778
515
508
501
352
55
134
497
481
896
95
292
368
688
411
343
637
61
99
112
330
277
300
638
225
715
805
285
638
277
843
540
481
682
613
548
507
743
215
49
113
881
980
197
807
315
971
428
967
846
439
426
502
1
690
780
487
852
429
857
554
799
926
620
76
38
99
736
286
689
1
246
711
161
946
119
97
73
554
845
422
858
488
884
999
814
815
61
562
393
574
417
128
766
356
185
908
584
707
333
561
37
868
566
35
513
1
788
6
349
876
650
890
945
441
152
177
962
184
643
509
747
377
244
302
138
731
360
73
376
884
397
185
886
486
206
943
952
639
587
28
615
733
449
686
327
232
835
75
220
333
968
379
425
777
633
190
181
730
851
635
222
247
389
498
930
921
861
633
183
226
141
758
695
259
626
538
232
286
882
638
867
716
839
472
496
360
820
646
687
392
983
582
892
250
33
637
803
822
824
754
365
896
583
168
409
985
680
743
846
719
496
238
942
402
417
51
983
232
735
705
737
726
719
689
720
540
46
647
759
659
473
147
696
109
520
720
498
861
611
245
132
622
387
902
747
791
359
444
912
332
120
282
242
28
133
423
597
601
262
750
682
165
790
112
460
768
770
858
723
790
964
486
406
601
361
852
518
546
150
911
795
211
563
398
887
681
344
860
673
896
432
678
46
250
617
104
815
906
106
530
785
659
466
824
918
896
82
4
324
694
616
284
839
403
80
461
666
760
282
376
676
581
982
671
656
851
93
9
444
336
740
620
918
467
615
854
107
915
198
467
718
915
261
143
255
761
378
802
612
158
379
707
496
680
439
560
31
176
890
200
139
971
505
722
81
761
645
894
410
27
422
130
745
282
675
557
379
119
878
453
976
809
276
927
887
205
911
74
195
931
698
2
276
414
921
932
27
649
147
490
96
579
126
702
980
25
831
42
395
270
458
238
387
568
666
80
83
954
37
470
791
917
223
92
444
370
281
403
333
35
953
197
313
673
469
89
493
95
218
922
450
263
804
33
351
876
235
259
487
197
436
306
425
149
101
940
89
422
471
972
553
540
28
655
51
596
412
293
295
879
469
798
146
735
100
140
794
900
748
617
654
157
12
485
118
308
636
467
193
960
231
828
568
203
143
234
658
665
439
588
966
702
417
613
519
100
552
794
379
696
260
548
579
721
401
562
954
814
446
871
247
301
481
808
848
655
196
220
561
203
166
200
88
55
986
361
94
935
34
60
265
670
597
3
158
372
536
828
425
904
124
430
944
819
530
361
335
901
220
81
496
17
883
291
143
727
587
749
750
621
754
161
359
988
432
748
729
237
930
996
232
392
139
92
153
532
272
751
232
145
878
865
841
800
530
200
239
948
721
185
699
963
791
418
578
84
989
967
57
509
251
723
886
187
112
431
4
437
459
667
830
138
365
196
60
329
613
860
448
783
642
750
733
593
743
76
127
178
760
420
704
381
689
847
571
587
976
345
668
548
903
546
265
178
425
745
227
226
530
419
1000
892
973
67
831
901
478
333
284
108
756
161
223
24
94
609
355
121
910
351
688
355
910
117
72
869
748
763
836
326
647
533
214
905
599
464
305
900
837
894
422
73
181
479
502
5
649
59
519
863
147
738
79
225
330
976
621
481
688
88
507
301
219
956
117
284
802
851
919
835
867
636
736
527
65
73
137
577
554
274
635
787
799
845
691
814
993
111
156
298
997
180
294
64
348
878
916
259
296
604
132
166
150
620
410
77
107
412
405
399
210
890
504
416
126
306
859
845
382
339
627
943
889
986
833
498
760
662
249
96
873
927
518
932
667
756
834
693
551
593
975
494
88
634
4
742
228
749
696
1
920
305
438
70
891
648
722
256
581
997
937
486
644
859
436
953
412
922
279
312
663
47
869
562
790
230
222
403
517
853
51
554
791
1
74
967
332
989
70
163
470
934
878
412
316
517
804
345
839
383
613
389
329
946
976
26
220
230
685
917
361
110
617
730
426
73
618
437
532
72
921
187
543
839
863
817
959
836
970
6
928
213
762
961
975
144
83
122
694
81
812
52
865
161
194
775
494
362
592
456
171
253
569
755
575
470
526
256
206
976
878
769
697
992
538
514
860
716
889
962
509
83
535
986
953
379
401
58
822
40
938
668
378
782
439
957
807
310
271
526
782
425
328
394
384
250
658
964
95
642
23
821
67
198
519
945
698
631
514
28
21
906
222
28
175
223
70
601
340
435
324
812
272
375
873
830
614
597
422
604
989
316
70
707
744
870
882
492
701
476
914
151
771
387
935
971
314
774
682
401
863
367
414
616
768
468
547
914
56
324
239
851
777
571
426
437
302
183
156
859
901
723
776
133
230
551
694
825
266
532
204
478
560
975
882
35
802
276
947
636
778
754
827
130
483
289
65
349
787
969
648
943
373
36
672
451
83
881
334
84
971
959
60
601
558
337
92
750
431
877
810
942
73
939
558
977
311
391
439
763
525
527
697
910
886
425
430
727
976
502
639
257
473
734
945
73
475
973
731
591
80
118
282
791
139
7
682
159
513
508
546
743
17
267
729
818
769
357
938
457
982
396
64
613
703
992
624
572
383
53
438
388
410
424
835
929
191
901
12
309
748
292
405
969
374
504
954
333
362
17
564
88
873
581
171
43
328
369
165
337
646
440
588
72
273
851
797
761
173
769
274
117
433
640
12
13
305
540
481
53
952
682
195
679
286
214
860
72
743
436
491
364
267
334
361
757
943
258
777
158
744
868
484
576
684
421
384
13
593
833
538
299
742
63
679
945
170
178
762
218
799
249
172
703
799
593
264
529
311
835
625
313
916
826
763
309
406
313
597
364
603
335
746
488
182
992
664
370
54
8
13
161
742
787
106
826
563
501
563
458
861
808
172
134
346
713
392
854
382
339
232
389
516
271
307
436
917
931
894
651
363
771
334
223
115
394
706
512
517
751
448
650
909
68
213
731
403
300
20
172
24
225
152
741
636
700
388
146
775
375
803
301
670
787
321
202
864
568
719
477
345
265
147
756
855
794
502
765
179
179
976
523
825
727
920
189
515
480
611
444
562
329
288
521
302
936
341
22
359
530
491
365
171
502
567
233
380
994
682
53
36
940
939
428
392
264
582
357
94
949
457
29
820
205
252
974
123
85
495
992
105
137
85
536
195
44
941
241
232
497
732
582
681
455
585
281
303
466
964
206
124
484
841
650
958
78
924
941
629
805
414
653
603
194
378
871
471
242
686
751
986
899
339
97
444
442
38
800
297
504
761
920
116
981
457
914
14
833
768
783
569
340
607
935
356
219
265
269
997
288
910
504
568
842
510
307
6
443
708
39
468
273
74
31
801
138
922
117
845
891
56
805
8
772
681
750
312
369
833
399
588
76
313
896
623
779
918
400
844
668
914
27
959
922
549
51
655
794
82
913
21
901
300
580
511
381
923
665
122
258
172
515
16
34
422
468
831
282
470
686
363
937
924
805
315
101
91
643
6
324
397
345
58
535
60
195
629
635
883
794
551
568
406
176
374
650
669
563
362
764
667
148
944
256
798
936
201
386
239
228
479
715
704
145
136
576
763
719
664
5
862
404
727
537
594
445
713
690
931
899
132
516
157
200
748
681
835
689
907
780
111
425
988
53
596
557
595
19
691
589
363
330
856
734
597
306
26
153
135
53
338
936
849
182
3
711
895
890
269
181
284
316
545
192
885
230
1000
534
207
245
692
681
24
395
64
720
44
857
179
570
692
590
980
905
944
214
819
606
404
215
723
770
748
969
957
878
593
269
889
503
804
313
889
147
630
552
955
957
75
708
100
724
831
342
32
827
549
361
955
879
162
636
537
306
993
570
417
162
432
771
213
440
263
859
697
477
359
851
829
966
380
275
471
674
969
680
659
337
564
15
702
481
456
172
780
695
58
904
637
877
629
685
975
64
213
372
269
917
803
896
171
348
267
888
157
471
551
498
8
883
339
208
99
976
529
151
605
715
340
635
242
749
558
669
509
841
921
232
314
268
121
50
960
796
731
463
764
581
90
483
774
790
733
799
514
724
753
307
300
517
209
396
538
936
681
127
800
743
942
784
382
624
525
289
377
785
186
256
867
700
566
326
16
801
91
947
846
759
881
555
250
242
178
223
403
506
741
253
755
929
838
506
862
415
984
847
165
219
916
246
267
251
928
287
130
390
954
561
873
342
947
603
389
272
106
870
264
368
418
56
444
352
471
546
851
809
951
973
808
340
578
914
686
425
272
888
315
751
437
138
505
81
66
446
361
246
478
793
915
896
745
508
650
780
995
80
56
369
466
673
331
752
885
110
533
939
646
212
624
512
824
547
218
719
738
848
710
548
840
501
793
411
501
662
415
229
767
441
820
254
550
50
598
515
285
930
328
323
377
706
664
451
266
24
548
413
886
684
424
546
708
481
367
755
647
196
770
402
521
505
75
724
138
898
761
103
563
513
759
830
759
678
751
904
832
547
604
755
750
897
418
483
652
237
210
873
658
538
236
212
388
944
641
375
167
999
699
567
803
934
875
777
593
392
219
34
819
568
402
152
707
118
100
747
615
926
419
34
137
715
152
703
867
895
938
478
30
264
22
676
942
446
734
462
864
790
903
993
149
664
613
913
903
812
817
705
898
297
801
715
948
145
881
225
641
178
458
876
318
212
900
918
268
912
832
472
440
768
208
740
37
313
635
243
63
141
950
427
965
323
605
59
217
677
323
967
560
470
37
182
173
572
945
187
305
976
99
489
899
989
87
836
525
441
292
798
164
12
983
277
878
224
297
335
612
64
641
99
304
805
529
80
985
742
604
226
845
822
819
3
157
676
711
808
330
443
693
176
121
958
676
232
201
79
579
994
814
187
323
798
930
423
649
612
510
303
573
777
464
689
53
158
325
630
250
791
576
326
333
486
877
402
600
431
60
868
813
74
681
426
50
303
40
246
647
793
479
90
847
555
255
346
615
370
531
393
379
352
823
530
882
841
443
200
210
192
891
203
215
427
14
42
382
474
616
35
566
590
539
938
128
630
709
811
276
506
682
650
416
503
239
297
710
519
435
875
393
752
117
141
939
449
148
695
298
781
357
810
735
51
248
760
526
402
418
447
961
557
774
119
319
996
936
952
392
449
241
470
100
451
958
49
256
361
465
205
356
121
909
937
961
22
208
330
797
888
425
911
118
889
110
32
661
235
526
685
631
818
275
688
665
719
244
389
725
495
98
563
879
993
93
589
902
742
890
238
46
589
106
643
888
804
939
403
223
12
753
517
146
546
919
801
979
772
49
513
372
494
323
148
557
954
225
245
697
371
506
129
377
641
927
149
435
899
301
716
635
97
223
930
429
872
42
988
1000
535
958
759
245
146
317
148
642
57
585
987
999
646
135
94
541
778
624
606
608
756
834
207
114
899
501
665
458
830
13
43
99
78
474
77
353
588
311
974
241
111
275
661
841
110
189
568
625
352
426
954
603
251
391
891
206
265
7
592
337
795
306
67
549
393
518
322
968
617
385
728
753
395
421
782
23
639
406
688
306
897
504
967
304
292
725
753
349
658
820
918
899
262
350
886
442
691
544
200
247
716
948
656
244
288
741
429
987
59
828
642
285
380
452
959
288
252
933
785
308
77
369
819
383
453
587
258
327
548
85
233
323
914
578
30
876
97
497
924
465
91
589
919
917
65
393
101
44
756
34
90
618
917
906
895
513
831
257
232
545
871
598
179
210
662
611
371
106
387
339
695
534
337
317
383
182
812
809
893
447
350
572
280
696
3
469
212
603
910
941
415
166
589
968
286
686
737
103
461
137
347
955
483
805
239
434
170
594
133
239
567
376
778
480
324
378
960
776
550
344
113
910
676
536
143
677
703
433
839
662
712
969
306
470
198
849
231
626
490
514
319
333
220
455
134
400
165
712
160
104
287
196
277
596
386
734
163
552
432
182
299
564
167
99
104
279
731
884
966
455
929
986
718
742
701
269
70
99
100
509
526
418
966
567
145
949
106
35
609
676
241
324
613
404
39
832
236
326
122
698
658
690
355
827
321
456
984
701
668
895
888
791
677
958
797
77
194
930
776
859
329
202
840
839
835
572
130
349
279
58
158
258
730
520
231
373
283
260
920
973
263
770
822
917
178
900
334
765
122
237
287
215
404
143
322
791
941
18
288
831
878
123
607
569
853
157
272
588
430
541
13
593
713
363
571
834
186
853
686
894
351
523
363
228
102
477
92
119
196
439
274
994
705
752
573
370
6
635
421
602
404
885
726
351
73
307
906
528
74
485
694
90
411
761
128
657
534
936
379
770
606
716
821
291
360
694
228
391
885
849
544
612
71
287
928
484
322
972
261
482
483
992
274
549
913
438
13
786
207
276
8
397
453
15
100
621
677
228
777
849
775
855
307
615
897
115
685
958
920
837
862
588
584
512
704
241
695
74
720
325
193
597
837
153
678
658
615
894
374
460
628
129
773
977
16
433
487
604
879
542
406
689
790
29
920
31
753
679
118
474
147
758
123
94
590
39
524
699
544
692
496
634
44
164
16
418
85
970
289
932
787
961
726
848
890
684
792
350
787
381
415
975
552
382
134
116
115
868
84
716
21
795
164
489
37
963
785
919
366
152
256
631
521
987
419
269
314
373
923
994
992
240
443
423
533
450
87
153
411
874
397
374
556
96
810
986
424
321
229
779
731
749
44
550
943
952
936
387
303
811
83
476
833
625
386
812
977
26
399
549
659
364
440
510
938
584
198
863
855
987
214
572
58
292
457
73
647
660
577
906
174
977
722
16
831
816
497
875
965
277
379
266
558
356
974
147
621
678
786
465
631
124
620
854
223
382
456
358
98
552
471
231
762
514
588
484
232
268
485
521
180
833
384
888
788
296
283
617
593
384
52
842
809
105
174
909
912
450
924
945
513
28
663
988
604
986
601
728
877
396
433
266
690
1000
558
417
147
958
728
815
714
694
283
979
125
366
718
154
577
224
234
959
557
798
845
598
142
642
926
522
677
84
397
264
236
156
249
609
803
332
961
660
41
164
326
631
51
563
75
109
842
859
83
182
954
179
694
261
512
410
981
407
87
981
429
641
406
640
914
488
971
770
583
457
10
836
487
732
207
729
608
144
19
283
647
446
417
624
656
610
377
880
96
880
636
90
868
821
206
394
688
578
186
780
189
505
110
117
973
780
833
219
899
930
411
529
840
629
154
682
764
418
324
752
416
669
505
145
364
733
280
271
867
964
961
857
299
363
965
507
895
481
236
155
897
811
636
862
68
905
350
640
151
742
632
566
164
92
613
741
627
266
989
619
814
844
41
857
548
690
292
597
48
579
721
211
252
984
309
952
557
732
482
408
892
489
503
746
107
851
563
754
176
669
510
936
397
832
158
806
515
542
901
12
940
883
322
321
531
16
870
34
458
523
499
799
821
12
317
667
391
1000
119
771
194
496
906
888
556
647
518
303
305
495
217
982
547
23
265
382
199
940
540
548
469
165
325
168
666
25
489
713
518
528
270
285
557
598
93
881
250
998
564
394
607
307
892
493
84
334
967
532
460
773
410
256
270
876
180
272
906
129
388
981
833
727
687
356
564
465
16
582
798
799
416
619
310
281
569
39
380
526
649
59
546
120
159
444
517
696
113
945
428
127
128
123
895
309
427
555
962
322
13
732
932
772
255
591
785
514
831
124
435
704
829
60
532
856
638
193
815
101
871
205
614
390
224
895
200
872
644
290
189
514
604
623
565
648
295
30
876
247
535
566
321
280
938
488
307
930
888
873
368
31
274
534
5
198
699
694
469
44
567
920
830
999
310
703
612
295
948
696
217
276
137
873
400
111
178
425
33
558
841
466
409
679
428
528
890
565
232
615
368
564
573
803
317
478
197
190
557
764
904
758
862
272
982
884
760
352
623
524
285
428
793
71
396
97
865
181
309
451
325
845
572
27
761
46
410
344
548
407
426
575
689
842
517
185
212
755
497
353
136
536
380
510
585
361
598
438
530
304
943
755
811
897
599
711
546
969
373
107
307
570
71
702
52
18
871
556
123
306
325
977
921
876
38
678
173
894
493
911
495
162
519
496
711
164
609
953
136
442
806
779
933
136
279
636
903
768
511
87
493
816
548
326
38
619
438
305
934
915
223
480
172
668
189
469
689
526
402
888
940
484
721
948
771
712
628
24
200
398
691
832
926
260
640
930
934
472
567
440
101
260
525
441
16
209
824
515
168
400
481
717
296
346
548
580
337
665
987
239
831
584
262
948
295
77
575
395
806
265
128
685
688
430
882
130
110
752
768
797
349
282
71
908
879
145
682
301
380
99
22
177
290
815
37
969
335
734
297
381
557
248
279
713
920
268
230
596
41
512
917
575
362
878
801
2
781
37
51
860
681
813
137
567
466
12
165
663
677
369
951
685
918
719
816
263
115
509
862
17
219
202
866
856
619
127
471
368
656
809
468
309
100
744
202
75
597
631
982
543
23
543
915
14
161
321
493
989
668
50
845
319
746
372
366
417
148
276
49
897
447
944
386
195
4
303
737
920
399
745
274
291
768
331
560
494
395
791
922
594
884
502
979
872
185
612
823
190
320
499
141
789
413
322
94
480
709
80
16
533
169
488
134
340
661
259
163
503
118
180
657
900
39
239
120
68
969
89
613
162
647
432
311
117
34
365
877
38
639
338
599
681
195
969
37
50
306
10
958
301
806
468
112
916
708
955
731
184
450
512
295
229
894
26
388
639
373
333
223
554
436
700
100
822
77
652
160
503
7
60
317
10
71
940
372
550
288
108
89
357
58
627
3
993
871
376
364
288
316
808
938
34
752
217
792
522
719
977
587
207
158
131
775
852
431
120
398
986
605
484
401
611
657
649
514
216
902
768
453
34
403
536
469
602
497
190
504
704
573
931
448
536
992
988
484
362
740
925
490
235
480
796
39
78
228
137
452
947
774
104
185
290
309
224
898
111
796
895
348
350
519
695
606
67
846
199
121
20
52
197
834
412
606
200
564
245
984
457
930
753
89
914
537
609
849
409
865
222
573
770
801
706
695
805
58
552
483
808
563
545
312
512
794
755
22
17
381
598
312
242
576
257
154
55
565
540
381
193
299
262
666
753
833
520
612
234
704
305
192
449
136
746
432
793
169
81
407
386
441
969
567
800
764
134
361
289
824
867
525
363
298
780
636
922
877
774
36
268
20
973
213
242
370
438
869
794
971
996
141
637
143
296
411
351
550
505
878
797
839
447
466
923
381
204
922
636
224
401
531
995
422
484
58
10
229
255
460
494
405
543
18
319
365
303
520
868
273
503
990
146
242
173
956
832
59
900
583
919
758
401
953
434
906
848
813
662
189
956
990
839
959
274
846
511
44
709
632
496
238
139
914
388
843
797
255
433
543
963
744
496
16
627
302
381
725
821
1
8
915
110
382
734
888
366
262
165
407
850
602
733
832
120
697
183
754
397
146
40
16
791
382
143
874
920
815
389
168
841
384
763
901
144
40
13
72
487
363
251
599
436
341
918
87
663
224
677
355
803
65
149
832
98
885
882
305
184
75
410
752
225
73
335
387
993
795
875
669
869
626
149
144
847
250
955
505
447
870
257
396
434
256
878
311
146
71
878
964
219
609
247
977
128
841
41
11
705
967
432
719
387
798
699
586
968
321
431
517
161
562
714
369
927
560
789
693
695
585
971
738
750
900
545
201
15
561
742
592
212
60
868
465
710
737
15
394
346
32
700
413
50
411
369
77
714
358
231
346
257
159
64
761
611
827
712
179
963
897
240
986
795
521
50
163
949
512
936
472
136
404
898
45
552
205
596
539
660
75
806
601
396
466
959
674
294
98
604
682
848
374
385
222
135
668
298
745
810
709
849
157
816
719
771
973
340
10
444
183
24
187
102
1000
133
912
134
17
979
740
908
42
606
298
63
85
258
697
343
650
105
576
946
752
190
54
284
549
881
135
829
936
919
251
781
899
874
392
56
536
129
835
14
31
443
800
442
147
223
124
391
436
868
65
387
828
215
731
771
782
42
968
176
825
780
230
89
586
897
21
417
42
240
82
98
503
245
613
828
968
361
982
278
89
306
74
84
325
403
468
881
893
72
904
670
700
810
890
528
114
561
799
770
177
229
704
449
991
825
851
145
249
104
495
307
59
228
232
597
525
665
482
439
496
565
723
682
413
590
963
842
642
734
69
54
173
156
819
976
45
23
530
770
941
699
892
112
183
710
694
473
794
190
534
482
892
692
626
945
171
630
676
537
970
485
999
909
928
201
924
52
478
852
4
614
13
681
993
344
84
853
804
367
448
864
352
797
224
327
448
25
81
663
974
195
122
313
284
145
54
140
243
258
417
768
775
369
347
752
515
545
542
630
227
531
736
679
433
698
762
776
493
60
732
972
674
379
315
233
865
686
451
762
500
862
31
132
235
455
320
229
347
941
843
370
137
402
525
908
585
785
571
750
9
850
462
590
454
438
831
974
553
884
275
685
861
611
533
449
755
298
841
401
791
735
970
346
222
419
956
809
950
981
686
193
482
92
580
140
990
137
922
185
452
147
605
45
349
999
80
229
76
805
279
2
352
733
499
673
40
273
613
941
818
612
343
505
148
990
707
243
204
410
744
269
90
855
592
441
881
565
376
42
936
455
369
108
138
20
980
703
847
52
467
694
667
641
657
90
420
1
285
92
527
370
329
477
146
415
602
642
865
31
453
41
491
389
793
706
510
819
744
289
308
6
986
925
179
922
43
71
854
404
877
365
938
97
407
155
799
497
160
691
773
730
188
650
4
614
942
531
6
516
407
824
952
337
765
979
402
195
367
643
337
27
486
978
760
810
641
790
104
518
151
445
530
475
725
691
389
628
794
103
828
779
84
654
819
901
309
250
976
126
854
854
45
963
939
266
302
395
776
172
568
581
339
3
855
982
341
219
686
377
703
861
876
414
436
999
128
93
123
130
708
98
566
644
95
176
388
670
193
55
464
502
241
508
57
684
874
177
644
587
505
888
123
502
478
541
622
597
658
106
11
470
571
620
713
143
942
870
913
371
850
256
405
616
538
322
193
122
566
168
816
174
359
982
489
987
518
991
366
395
694
534
667
549
636
581
707
457
767
102
724
789
788
410
988
138
947
217
340
177
259
964
26
582
196
193
945
693
929
498
633
468
503
516
313
39
147
589
153
438
172
263
173
128
895
510
434
855
518
642
396
176
325
795
279
270
814
869
601
774
199
168
856
482
449
97
189
297
237
977
810
155
907
72
864
263
571
458
454
938
158
661
219
560
602
107
610
565
611
221
933
12
456
286
916
285
204
187
682
352
389
9
305
155
278
763
418
640
685
245
115
350
40
604
552
855
964
310
30
855
995
231
353
958
953
491
498
882
711
370
199
743
300
102
2
191
954
187
785
846
326
820
619
60
472
86
444
106
790
969
250
899
516
910
669
323
789
616
564
203
125
373
542
529
514
872
120
628
322
709
583
713
708
78
935
545
427
132
531
646
502
486
781
359
923
826
2
246
831
565
190
316
411
366
186
729
153
870
437
546
393
342
524
977
971
831
927
227
943
865
604
936
343
851
416
678
993
194
242
799
822
737
908
741
623
266
854
898
634
173
123
195
914
76
678
195
275
762
199
58
627
815
734
703
186
864
882
196
741
888
24
87
170
576
933
869
118
439
365
928
595
474
448
146
857
661
40
302
813
381
584
937
334
365
233
650
297
851
766
630
903
480
655
845
531
85
199
680
30
493
730
98
125
235
981
662
393
193
458
114
168
417
102
925
418
450
91
463
842
414
878
282
109
379
872
955
896
660
826
854
413
434
8
567
410
246
494
620
24
218
486
179
317
547
544
575
305
666
876
652
595
370
648
255
811
150
518
233
448
946
259
455
722
610
824
896
40
853
401
967
880
486
770
593
499
414
658
624
850
856
624
663
236
296
397
588
888
943
598
800
673
405
387
486
467
311
106
363
989
122
636
775
96
718
259
592
968
356
16
423
221
468
126
638
721
895
981
548
801
180
663
162
194
454
247
153
832
353
630
669
924
112
769
554
67
893
196
589
834
36
992
84
418
301
360
302
596
802
423
235
550
125
7
176
361
622
317
69
666
895
898
710
488
104
316
366
62
266
488
18
868
803
767
885
919
568
82
980
486
815
705
762
394
483
821
458
729
732
398
443
177
493
626
321
251
922
719
898
358
540
55
100
884
814
565
247
142
754
478
21
307
955
565
539
522
720
33
601
233
108
539
79
497
830
834
54
507
93
275
688
949
309
446
71
144
252
11
477
740
8
808
964
931
630
753
946
156
142
965
990
27
538
183
271
202
36
908
776
85
153
881
686
102
525
144
819
950
358
478
766
72
934
976
97
569
960
632
183
876
307
152
750
43
490
616
867
724
128
794
798
886
823
169
806
162
654
146
171
258
280
539
755
17
97
595
881
220
19
682
321
879
55
592
211
176
976
648
570
371
119
22
714
317
820
994
475
813
948
216
226
25
671
24
374
931
41
680
488
607
245
341
574
408
313
570
397
750
820
966
959
822
788
51
137
485
915
251
537
469
983
411
832
213
715
397
212
502
692
930
803
997
859
738
301
113
611
839
431
493
112
543
736
125
560
648
323
515
372
526
745
511
461
397
300
101
681
254
562
698
107
398
291
407
172
8
471
833
136
807
425
577
709
914
901
765
158
759
918
196
499
130
670
311
613
657
74
751
80
165
839
887
836
388
844
946
939
788
433
75
904
197
700
750
263
591
366
198
277
920
558
879
598
106
87
480
21
14
530
754
188
467
239
434
411
376
640
639
824
574
582
490
713
626
397
990
101
395
309
868
243
24
960
724
570
754
514
464
765
178
25
65
87
824
85
729
475
125
152
212
118
21
325
32
583
127
458
296
546
165
79
394
32
57
240
250
567
333
393
871
571
50
658
729
883
190
293
583
719
595
27
958
244
634
374
381
314
983
701
165
975
128
121
79
733
685
280
935
338
497
331
287
884
216
34
216
683
634
124
260
413
488
772
524
335
948
917
794
65
390
459
471
772
507
518
593
656
424
39
372
867
726
662
419
360
549
931
352
279
37
487
84
212
896
767
346
960
576
920
823
174
895
333
693
764
287
711
815
216
713
761
132
774
296
171
421
963
883
356
59
885
718
17
322
666
357
915
812
765
976
204
36
955
990
528
363
117
631
937
932
389
255
989
138
585
99
53
152
100
477
713
3
913
453
217
619
351
119
413
884
102
292
102
744
249
19
872
453
95
259
565
826
771
976
353
524
890
948
803
173
732
574
788
395
226
921
778
174
967
519
507
906
428
887
423
859
52
272
409
209
916
473
815
527
579
942
119
328
358
627
861
995
349
155
511
292
608
318
643
215
691
556
534
557
665
423
115
930
820
447
123
934
586
137
697
395
695
795
357
858
136
615
485
331
521
605
850
985
253
620
810
357
670
794
19
493
923
51
633
77
323
405
454
988
568
417
79
318
744
747
658
435
478
690
762
284
308
592
251
899
189
770
456
86
914
16
891
793
970
39
351
61
351
796
559
53
400
723
402
935
911
310
798
315
499
247
860
278
221
427
799
83
80
741
606
183
802
346
303
350
735
414
535
939
781
608
237
150
733
340
41
126
674
445
12
694
429
144
512
344
796
187
541
928
409
876
329
411
659
401
496
429
28
613
319
203
873
97
951
70
143
246
99
279
795
18
889
160
110
493
2
437
537
331
514
949
42
544
828
475
835
467
38
209
254
967
563
219
278
274
899
280
468
698
368
867
482
288
267
100
918
146
618
290
177
68
422
880
864
595
451
73
213
748
559
769
760
288
733
913
887
622
566
358
488
797
34
292
987
478
653
77
79
71
700
439
566
583
570
551
170
340
750
429
548
470
778
283
529
743
739
279
715
403
19
440
75
217
443
206
780
146
635
457
246
762
722
600
967
442
993
254
37
431
140
372
590
641
890
215
719
138
267
89
202
279
271
293
543
787
29
96
607
741
606
956
847
219
787
102
192
934
383
924
908
436
506
640
217
117
972
864
244
521
66
878
763
943
240
510
100
394
721
848
409
178
699
565
839
726
938
674
959
769
427
230
938
847
724
683
446
52
371
193
112
784
171
108
855
62
779
232
982
513
728
325
886
394
685
788
203
522
217
107
748
197
844
580
194
628
761
817
532
941
232
938
986
104
586
702
741
899
95
744
534
749
169
838
659
553
951
647
596
693
837
350
769
916
270
237
301
114
417
793
879
240
152
312
165
918
724
678
164
411
673
389
495
346
242
978
956
693
162
599
37
131
760
69
401
943
253
947
98
228
610
24
142
812
565
618
693
57
252
881
582
564
653
846
460
715
453
985
782
778
271
429
171
542
949
408
801
593
875
626
831
39
671
571
617
259
63
378
538
614
114
626
581
309
699
789
393
211
315
506
244
315
130
674
736
59
889
224
66
771
995
431
772
714
474
742
596
31
873
400
630
853
382
207
887
526
785
947
382
761
156
339
730
929
792
787
74
451
986
773
226
346
49
801
449
900
350
954
124
355
970
472
929
323
351
307
772
494
154
302
986
355
818
274
197
708
228
849
27
831
483
13
316
271
472
356
51
495
199
60
466
730
449
812
361
505
729
867
510
999
471
711
923
185
217
628
875
545
96
751
25
197
776
655
598
903
854
36
696
123
290
675
256
488
184
735
762
527
304
215
82
613
866
809
972
481
325
11
95
802
605
333
722
947
415
310
888
408
977
24
304
699
378
127
548
642
56
728
368
106
234
798
200
929
628
882
462
197
617
210
778
280
923
804
997
714
834
301
616
339
665
769
821
217
997
331
801
818
234
963
128
729
659
275
765
358
118
813
680
171
494
590
996
618
912
460
634
512
219
148
570
720
382
933
611
471
677
902
114
437
144
583
883
749
508
410
924
963
160
27
119
42
297
454
819
843
498
115
729
237
673
688
848
556
516
772
30
758
245
851
372
576
996
297
683
265
766
638
774
454
264
980
508
214
235
179
289
556
709
54
137
930
336
178
268
781
321
314
448
376
479
115
844
225
486
447
41
311
616
438
754
748
773
239
344
691
204
415
394
129
849
941
448
813
508
334
224
428
492
804
579
698
214
206
442
237
295
37
85
223
134
939
293
864
135
134
82
376
56
502
238
817
979
666
367
413
794
702
404
695
448
81
10
704
555
568
692
532
174
340
945
521
141
600
561
24
279
688
308
404
735
684
230
678
920
990
77
566
500
73
274
938
274
957
538
53
537
514
315
197
763
466
13
856
617
304
673
978
855
174
357
463
883
805
512
147
448
346
595
849
859
497
358
950
878
976
736
953
772
316
94
277
44
727
930
94
741
223
524
909
387
213
428
915
42
423
196
506
219
28
365
512
846
459
58
351
73
990
947
780
535
852
723
372
143
956
778
881
514
720
736
731
802
104
211
448
736
426
23
843
357
337
84
871
369
6
963
189
898
816
515
532
560
403
331
877
936
491
628
741
595
936
866
422
824
958
878
938
217
283
776
227
239
290
179
904
434
422
256
215
866
918
640
123
212
819
225
494
314
900
670
750
443
311
191
46
286
865
397
371
233
315
150
331
416
42
693
323
564
692
926
659
34
272
692
24
98
485
32
656
277
50
791
999
505
459
714
524
16
569
410
383
155
962
933
417
157
302
169
789
583
359
528
527
720
971
131
755
63
28
768
761
886
284
255
955
404
894
684
655
814
663
882
626
424
604
691
928
475
23
434
944
829
944
1
4
418
514
834
594
416
13
989
725
877
895
508
264
125
934
632
231
77
368
926
814
634
965
321
519
59
615
29
879
369
192
346
334
496
457
136
156
409
391
895
896
257
340
288
131
694
512
282
560
348
347
55
897
946
716
244
123
360
141
309
26
460
94
803
611
623
480
841
238
510
344
754
587
735
483
668
468
509
21
1000
947
820
352
995
900
714
476
117
277
169
22
542
432
662
538
354
406
228
660
392
667
223
212
962
994
815
202
862
402
776
266
323
141
699
279
670
252
592
220
373
534
982
148
81
720
306
88
620
118
28
523
330
318
229
816
249
514
523
403
119
197
768
209
29
427
541
769
96
560
661
410
464
350
556
279
424
489
267
798
559
333
866
290
29
60
130
13
205
907
932
141
603
432
266
323
652
599
331
454
40
106
917
662
845
343
645
631
237
926
263
778
959
110
619
550
783
332
101
465
854
298
838
215
883
300
212
880
413
449
785
838
799
20
689
977
118
392
24
786
659
877
320
866
647
335
615
809
88
160
922
251
233
555
387
198
944
613
961
902
158
719
5
612
158
95
770
269
324
385
876
289
74
663
176
743
577
644
505
3
952
52
477
444
736
425
807
537
847
93
6
987
622
24
508
530
60
29
223
900
739
428
641
39
820
62
964
608
18
827
550
404
160
183
779
689
737
207
80
175
714
85
288
927
445
213
982
116
597
446
986
177
310
426
875
904
21
503
855
852
826
371
755
15
554
981
29
908
85
395
856
106
897
807
371
545
539
136
353
237
734
471
848
156
565
166
639
794
97
238
950
232
612
150
36
990
428
218
628
919
51
672
670
443
944
241
78
293
174
857
191
688
626
867
981
611
25
99
95
522
98
246
554
898
100
765
876
943
139
946
387
356
920
492
341
551
668
556
95
544
265
42
798
911
217
920
98
311
767
266
711
952
340
968
270
822
211
403
55
564
797
867
776
351
331
600
875
458
854
339
76
603
591
361
566
601
649
3
516
514
908
728
322
643
295
690
514
882
218
761
675
33
215
759
270
52
910
542
257
446
260
907
325
852
261
164
10
479
146
369
184
297
298
521
103
172
797
105
162
21
239
881
503
754
587
513
614
607
530
937
765
969
40
773
900
57
828
674
132
974
740
390
981
363
181
551
337
761
453
642
257
486
414
320
400
266
422
990
499
891
700
547
558
209
546
462
300
303
677
918
882
378
977
934
301
349
870
531
316
73
796
332
227
861
955
622
717
855
311
759
869
682
437
333
119
522
953
333
109
137
954
673
772
621
315
718
636
555
675
23
138
967
956
129
273
265
350
747
818
453
478
214
482
179
970
480
480
76
453
30
532
842
701
193
574
216
410
714
682
245
63
5
652
635
894
275
327
284
232
664
590
366
81
737
11
581
180
222
15
578
793
366
900
537
395
164
808
303
35
37
443
971
732
982
634
631
126
688
866
48
886
601
351
531
918
182
894
945
889
524
159
17
660
784
27
241
660
232
969
939
750
189
165
642
890
181
58
603
353
500
442
895
846
191
54
836
344
471
915
79
432
540
479
387
130
306
668
941
576
599
614
660
760
472
363
284
424
289
323
649
397
412
690
146
498
999
131
385
112
254
844
424
301
954
112
96
863
150
934
371
863
829
211
654
286
75
946
194
174
162
511
63
609
333
203
191
657
974
595
897
421
966
18
805
566
767
452
595
651
128
59
987
688
165
788
462
121
269
890
951
105
643
489
651
164
902
844
76
625
434
841
20
587
606
28
767
919
440
350
186
700
58
979
889
457
266
313
73
433
742
8
100
910
94
206
710
641
602
896
525
871
323
836
513
799
154
90
837
843
315
950
711
675
390
730
447
258
462
973
58
982
439
533
197
798
30
804
96
621
994
654
608
668
599
577
571
420
697
803
49
123
44
533
494
982
278
492
509
934
632
94
306
869
51
383
646
790
763
795
694
717
710
670
338
339
50
448
755
114
162
223
972
518
683
534
596
865
414
20
899
392
331
483
122
423
586
421
513
244
571
346
164
117
595
939
290
357
328
688
415
130
731
703
134
562
108
480
51
832
625
266
517
926
902
208
266
462
221
432
598
900
936
221
632
360
646
110
867
795
343
215
664
742
341
867
163
983
32
828
382
365
739
341
817
435
485
254
861
460
55
360
335
126
10
12
747
978
174
945
775
691
676
918
159
222
355
711
149
528
7
424
872
58
973
293
770
861
254
925
456
951
747
859
345
633
404
844
396
511
121
601
739
469
795
993
768
320
190
438
162
589
621
492
917
19
579
188
693
222
135
880
101
142
103
576
113
91
444
929
170
350
996
518
775
899
934
813
748
403
153
535
315
527
414
626
766
649
923
484
634
475
659
141
796
956
593
621
802
685
598
297
281
689
113
883
488
673
653
126
948
383
25
656
646
785
374
342
197
186
821
672
329
816
672
799
41
921
780
295
971
522
322
165
94
233
730
635
315
743
296
176
56
787
310
930
202
352
75
559
81
408
627
344
43
986
897
615
197
809
312
158
419
758
212
992
891
728
230
310
867
539
856
178
82
82
105
995
470
808
302
280
261
292
517
403
519
177
81
829
825
531
160
986
673
608
364
62
746
904
712
129
6
761
72
339
911
124
770
781
541
168
322
446
263
84
571
213
706
37
674
614
598
84
418
456
471
91
932
485
618
291
435
432
251
403
276
698
388
868
737
334
115
351
316
734
241
626
595
816
270
147
239
918
506
72
452
527
87
306
25
536
449
737
390
274
946
884
948
362
885
682
359
520
815
500
333
863
319
618
772
44
576
42
118
567
971
265
743
349
713
680
280
274
914
22
918
826
26
929
573
972
314
888
964
339
436
27
479
360
144
656
748
370
520
311
649
156
179
548
78
692
248
287
173
86
335
209
720
481
606
7
693
72
155
68
677
981
800
612
766
304
240
449
32
323
746
424
890
63
731
284
258
692
976
172
409
18
915
685
74
386
925
165
651
240
961
644
34
896
898
167
698
906
117
130
67
251
616
687
660
754
334
229
383
463
991
489
812
958
868
425
266
430
843
286
160
146
701
76
553
158
669
536
404
210
606
136
681
492
212
688
80
833
178
812
474
247
280
337
634
861
682
663
367
272
949
116
35
871
686
321
124
660
257
107
218
74
349
50
400
982
985
6
746
985
227
984
938
148
462
573
116
81
721
66
917
426
899
274
507
535
604
955
122
372
1000
457
677
466
954
334
413
396
459
204
889
84
562
31
575
747
650
209
453
681
833
475
534
667
277
563
963
907
577
852
174
817
9
711
913
841
391
56
451
613
184
381
215
658
111
116
345
779
276
389
924
818
792
840
837
672
304
540
625
482
986
962
258
621
87
280
207
881
584
868
975
891
131
560
135
75
595
330
538
449
809
325
314
482
50
530
470
711
883
750
304
204
740
736
589
593
540
658
572
313
955
535
700
399
360
481
19
594
447
315
352
313
856
36
337
586
368
718
349
265
851
134
625
754
550
211
846
964
904
258
723
252
656
365
740
14
51
666
123
212
949
914
208
90
234
316
429
961
266
45
887
365
784
462
902
101
708
101
946
962
476
177
490
133
37
488
897
530
727
712
413
50
94
882
615
405
709
404
311
182
950
508
529
289
402
69
838
339
634
434
701
494
165
325
150
731
512
89
98
428
629
38
956
959
964
339
59
724
377
70
839
191
263
75
359
590
93
467
145
299
259
897
763
966
133
685
397
280
320
253
404
939
468
237
262
926
590
803
985
727
860
277
521
455
188
936
407
975
898
204
908
355
518
574
305
186
939
471
747
841
649
449
807
758
663
360
427
352
815
423
193
492
582
313
114
222
440
292
492
362
751
528
157
116
354
259
561
185
61
159
228
745
950
951
1
414
797
410
812
36
683
352
404
251
932
307
390
362
330
93
683
946
257
949
772
849
454
686
402
981
751
316
200
236
190
743
978
681
547
674
729
821
164
913
325
53
473
299
255
795
490
779
486
964
742
717
151
316
144
618
866
402
706
322
463
497
457
304
463
706
21
427
123
575
792
440
32
131
598
426
407
325
296
778
734
439
363
538
823
949
910
941
599
468
58
442
93
420
618
418
370
202
529
918
426
955
784
155
970
720
846
451
765
299
391
413
257
95
510
282
852
545
722
773
678
512
559
418
112
796
34
547
671
643
908
789
747
584
492
300
983
355
100
83
513
115
757
383
579
774
402
548
112
682
160
739
54
563
242
733
928
975
506
67
797
801
988
298
10
562
519
109
629
470
6
11
537
505
42
425
311
866
895
472
134
334
469
67
800
337
909
53
709
603
22
185
423
274
645
445
567
448
316
994
604
665
702
995
459
496
244
358
156
786
293
930
887
312
426
394
278
563
105
536
641
924
49
607
21
912
210
64
649
252
923
256
679
612
473
477
708
767
865
293
772
29
55
523
693
922
246
322
891
383
885
629
518
626
343
808
473
678
762
767
885
469
432
642
707
268
800
415
1000
313
872
631
4
551
118
885
63
22
253
65
699
947
315
742
820
794
171
523
506
750
264
894
331
95
362
420
664
597
500
559
786
165
863
239
296
609
486
31
319
274
185
235
637
5
392
861
120
439
704
10
621
694
769
796
982
276
130
893
172
356
737
59
370
567
865
971
422
223
116
184
761
341
123
480
451
10
981
806
1000
600
241
582
689
231
835
138
43
999
302
404
957
736
263
270
836
833
395
131
375
71
877
690
1000
267
444
632
876
235
961
360
322
161
624
195
865
483
105
87
78
490
386
358
557
209
770
916
237
924
518
590
344
273
13
713
900
987
795
901
708
639
14
774
11
692
337
901
812
82
621
537
32
537
519
418
415
608
308
308
271
943
185
919
441
309
571
984
679
627
760
125
913
619
710
58
196
692
693
55
920
18
474
148
627
230
91
156
766
458
253
675
525
273
262
635
498
507
93
889
705
528
806
298
340
499
128
197
702
93
302
300
143
799
269
89
272
160
825
255
915
625
350
917
393
155
399
176
381
118
893
353
737
279
134
762
357
747
478
651
946
356
7
37
150
501
279
476
689
711
821
351
703
840
896
738
76
488
556
534
881
613
299
296
586
533
338
566
569
207
885
661
708
163
688
643
556
274
68
794
695
514
738
613
55
381
384
846
809
770
230
459
219
642
19
189
389
489
945
491
302
70
311
794
133
61
927
486
942
197
76
256
765
217
935
756
70
801
881
427
536
452
881
398
41
747
376
744
65
459
266
427
222
424
867
194
330
764
420
37
984
204
569
929
234
276
249
202
700
345
400
59
837
829
399
15
564
427
217
537
156
687
282
181
426
537
892
573
190
144
9
791
44
199
417
389
147
255
939
709
235
475
679
280
699
312
169
641
595
475
635
558
711
313
66
231
369
461
261
623
965
784
115
931
440
7
993
872
624
788
749
663
117
204
691
695
207
466
788
636
992
486
224
947
425
964
814
374
984
11
833
850
760
849
589
335
524
115
626
538
582
586
725
835
597
291
120
343
3
96
100
967
212
876
779
15
856
976
933
235
833
554
493
476
360
872
553
340
851
585
667
481
596
455
397
335
614
193
568
95
112
556
799
769
197
32
89
184
812
201
280
399
412
242
723
109
694
786
672
563
380
345
144
812
579
621
516
305
323
293
908
319
624
80
196
712
352
289
524
878
674
373
649
646
812
99
209
506
295
680
245
780
148
226
540
353
277
787
130
629
686
518
460
342
537
245
697
165
53
137
73
198
193
88
739
359
796
636
85
473
888
227
578
123
792
282
157
85
195
143
774
893
92
587
926
275
318
896
202
204
412
863
614
446
436
764
605
982
693
727
715
986
106
541
167
353
302
181
70
378
887
626
771
600
322
830
510
683
146
340
533
790
298
313
353
989
779
57
490
822
419
837
156
731
59
100
316
189
979
565
221
768
113
726
967
79
52
76
353
496
618
582
266
378
827
160
765
59
207
716
243
790
406
610
179
106
504
350
605
633
198
158
802
1
165
127
836
535
458
4
685
862
337
816
608
234
288
57
45
393
829
627
148
61
548
310
867
677
190
63
131
831
615
77
250
876
633
250
520
901
663
611
879
336
881
611
834
995
215
412
977
396
530
893
141
909
844
153
662
888
9
292
402
99
17
679
78
156
194
173
106
376
314
507
317
644
645
902
378
691
461
325
789
415
270
757
938
135
638
32
624
387
52
841
94
753
179
90
344
823
630
518
615
638
157
271
984
925
914
126
424
601
304
684
373
955
9
434
573
692
758
628
187
254
193
40
624
29
131
154
130
525
306
641
155
156
554
709
5
270
275
68
467
518
226
62
923
480
684
58
920
67
216
111
207
30
980
282
322
654
822
653
262
404
829
326
127
955
83
677
560
201
11
854
241
738
891
867
350
240
626
944
616
117
182
838
19
309
708
421
603
524
848
989
642
627
410
317
497
567
919
421
611
691
607
384
46
129
50
619
730
837
398
883
267
663
454
895
970
783
526
345
447
178
114
77
36
30
393
47
785
940
857
210
145
482
897
490
147
676
80
385
881
476
202
484
710
957
702
712
801
348
292
254
681
572
355
953
568
759
277
849
331
158
962
960
461
799
969
546
630
62
816
608
46
802
994
154
884
48
632
641
45
405
545
614
351
351
33
723
455
624
393
822
978
485
755
603
490
789
369
304
518
371
116
890
863
554
418
331
155
975
153
950
722
654
201
871
972
240
504
892
665
216
201
875
778
159
712
363
43
810
735
37
847
314
248
99
950
197
962
555
430
60
27
871
65
926
488
600
901
640
119
537
744
727
1000
109
195
897
506
857
410
657
134
513
726
891
169
803
707
106
930
875
877
123
664
16
833
810
235
204
284
736
999
805
810
317
288
145
176
514
795
316
195
525
627
701
210
392
422
403
258
994
294
360
367
977
612
854
648
725
219
878
449
255
558
651
7
315
851
527
40
321
706
846
366
797
799
926
577
900
388
140
311
533
167
449
269
11
83
866
689
259
526
696
771
136
993
609
610
801
380
907
642
63
9
963
605
24
171
201
538
195
415
610
537
309
38
633
228
24
969
973
586
674
887
347
261
362
284
525
727
108
42
573
59
54
832
413
491
686
548
127
244
198
654
249
292
35
326
142
685
543
19
907
785
347
36
934
237
119
228
911
688
713
196
677
153
80
514
436
468
114
344
540
261
946
386
308
115
11
346
564
494
808
570
76
719
137
2
404
32
445
836
368
894
626
887
721
543
693
753
59
692
601
405
507
984
759
578
936
249
859
296
904
941
793
993
861
616
700
356
629
780
539
379
60
683
476
478
357
499
977
295
765
821
48
430
244
615
517
540
766
254
257
62
462
322
292
62
460
596
645
710
588
413
472
194
926
539
562
40
228
32
452
929
349
8
544
696
302
324
3
567
166
543
558
337
763
227
266
522
433
638
556
47
781
58
593
245
17
236
994
131
63
924
182
303
648
99
404
864
911
689
288
679
223
145
200
982
530
47
527
40
921
679
495
400
863
359
489
351
22
4
142
999
304
753
632
330
1
7
981
410
6
771
918
249
391
340
141
645
779
268
939
976
572
699
213
125
887
819
323
613
467
46
198
441
367
150
877
978
815
330
698
545
461
399
343
569
395
497
222
179
33
815
575
249
623
583
908
818
836
940
565
354
778
219
461
698
951
78
538
880
587
854
609
343
982
383
563
476
672
106
45
643
742
57
505
704
576
332
787
156
138
307
214
907
20
98
19
513
473
141
851
292
422
122
381
122
838
439
704
561
973
47
883
543
741
464
115
856
6
639
607
681
924
334
387
301
862
809
240
358
882
613
783
443
636
88
315
979
686
57
175
302
30
673
642
13
306
143
993
709
103
570
733
1
58
890
723
572
710
945
252
96
363
871
818
585
737
765
489
416
179
212
360
540
255
662
849
115
529
847
141
479
473
804
396
703
611
604
806
759
731
439
106
662
446
419
539
302
418
554
775
230
893
855
79
436
378
304
977
57
247
524
887
961
699
197
416
18
218
117
866
981
493
938
421
352
247
746
744
437
152
605
851
198
726
701
200
53
189
699
285
926
561
550
69
535
321
906
204
87
276
849
900
563
791
271
347
469
983
82
119
899
199
481
535
277
654
3
644
275
719
925
827
571
352
442
366
887
664
179
300
834
955
114
733
518
881
484
721
542
967
640
748
772
1000
628
943
538
203
21
125
775
522
57
552
796
685
184
483
843
933
554
569
57
570
197
965
39
687
565
463
252
908
383
745
223
257
208
931
72
212
770
550
529
65
671
378
353
883
954
739
506
406
433
11
616
309
949
396
63
228
907
556
494
223
301
188
785
177
796
947
883
285
991
388
526
517
486
145
969
643
729
14
997
281
934
516
291
489
532
187
885
469
835
324
889
93
776
625
418
937
26
25
79
770
94
270
797
468
99
48
932
911
981
501
457
770
567
812
766
503
202
163
784
5
22
378
116
602
348
506
602
757
546
343
586
450
538
716
120
433
387
675
922
101
482
287
303
361
761
727
1
391
28
209
332
129
922
978
390
138
322
824
240
815
513
927
260
119
333
387
937
900
756
691
764
528
297
353
974
294
464
440
882
745
312
130
981
647
776
874
675
926
505
319
775
737
650
728
345
830
454
981
358
496
692
848
439
834
555
321
950
89
132
682
980
845
969
789
102
48
154
923
425
375
204
449
198
400
532
869
141
196
389
191
968
280
634
978
617
496
163
864
637
53
989
543
362
668
105
632
986
586
894
239
217
790
796
345
413
852
979
734
320
227
746
243
999
100
336
227
879
880
405
745
757
754
894
498
433
816
64
745
886
444
881
166
412
637
596
200
360
491
933
266
36
729
454
887
268
133
794
605
571
249
892
547
793
747
479
745
594
949
894
66
428
300
232
484
779
55
226
105
353
717
74
482
533
116
225
339
908
989
823
933
16
154
181
268
525
894
290
876
110
433
515
555
953
60
751
557
990
95
886
187
938
144
621
845
218
990
892
311
410
582
96
782
254
9
492
94
999
565
370
586
50
193
675
523
724
219
546
720
864
686
616
239
782
74
557
908
437
738
354
78
576
295
361
669
618
432
109
629
494
547
906
1
29
923
246
382
977
126
306
211
890
878
847
707
380
735
913
212
763
124
399
10
696
820
608
698
507
494
355
509
730
347
665
300
752
968
179
862
593
952
239
394
531
400
345
843
807
564
819
562
397
361
258
194
858
480
614
76
49
50
215
637
134
307
76
952
825
797
517
882
800
141
876
346
489
527
358
851
16
110
416
832
960
105
159
711
941
216
909
97
763
397
118
533
672
371
800
113
178
167
968
396
251
8
239
104
289
581
380
82
73
371
709
914
525
722
799
260
668
813
254
497
195
187
665
503
27
948
951
476
707
556
539
609
473
514
443
839
29
139
957
374
533
76
842
687
772
63
522
278
238
25
602
467
96
991
838
768
764
135
892
11
293
507
989
867
385
864
10
541
452
227
91
600
841
2
645
847
112
767
318
499
736
443
535
741
144
580
160
942
945
712
37
849
695
859
594
564
145
45
751
325
536
290
253
189
684
784
780
516
328
18
895
426
688
133
524
935
857
822
212
180
607
88
408
902
523
76
781
963
89
237
426
394
552
452
882
69
365
656
368
372
225
409
382
675
418
317
416
148
652
554
53
580
882
59
68
867
209
601
4
849
99
520
708
7
441
637
942
276
445
487
982
364
754
395
930
694
972
56
264
289
758
801
793
424
801
481
214
963
573
642
203
423
905
384
532
773
796
541
440
293
979
224
823
135
588
160
389
643
736
133
994
942
341
900
142
353
178
97
745
245
424
514
970
988
257
28
182
590
756
4
952
248
488
989
447
77
840
331
185
301
435
974
791
805
186
151
519
990
901
18
851
471
368
230
294
143
66
619
243
386
396
360
749
114
914
557
55
165
212
115
530
158
762
608
440
7
684
225
356
387
931
127
440
655
693
190
536
773
111
898
957
156
665
185
34
903
198
674
505
755
15
326
192
292
506
619
251
677
886
630
459
236
811
36
452
693
255
628
38
819
33
866
348
891
637
834
756
400
773
962
681
652
188
534
756
633
292
646
472
231
152
720
512
19
764
930
788
289
382
709
371
365
196
308
429
948
85
249
858
417
532
564
695
443
334
882
234
89
231
770
423
400
861
365
18
213
209
589
776
134
347
762
785
105
255
907
854
888
414
238
67
349
893
937
286
768
678
753
353
963
520
696
169
647
695
190
332
970
682
775
666
529
277
89
657
415
630
817
882
538
786
146
379
798
788
541
912
541
464
618
56
665
680
421
562
936
169
593
677
583
730
765
317
875
338
888
631
454
546
719
722
243
980
177
640
647
506
838
310
669
222
739
566
239
690
608
809
568
436
278
650
230
763
464
112
817
684
765
111
193
385
837
603
896
238
38
277
44
681
927
842
808
666
411
71
246
454
690
471
941
288
125
541
712
267
980
803
322
425
574
53
151
791
641
81
312
704
661
895
380
46
485
429
941
490
744
672
380
512
640
944
599
325
585
382
470
887
363
799
910
733
749
478
539
659
231
544
490
11
608
774
474
901
846
524
822
989
739
216
724
974
342
704
763
820
121
428
227
304
766
423
33
484
928
437
968
790
999
972
686
10
41
1000
648
289
411
360
989
309
949
320
272
951
995
782
855
82
647
747
818
813
740
62
460
253
162
676
918
295
141
138
576
10
498
877
556
252
199
742
694
320
440
465
814
232
965
802
153
9
96
464
172
798
225
429
318
738
793
401
300
778
90
229
936
782
212
525
963
610
944
349
334
555
93
686
784
993
17
830
890
941
826
966
860
214
79
170
493
27
533
584
537
993
42
806
459
917
969
231
680
326
160
194
815
68
61
132
814
699
935
289
964
800
457
196
378
822
20
849
332
313
565
689
387
529
874
612
768
793
263
924
715
785
68
280
942
387
841
998
282
547
213
447
510
174
429
291
258
108
809
596
842
217
161
537
945
644
843
889
6
923
526
160
757
501
505
747
972
818
661
599
450
444
926
169
593
210
277
318
212
349
200
584
397
626
90
650
69
484
930
31
450
118
954
660
487
778
323
330
925
201
364
818
928
545
785
419
213
809
725
523
339
651
473
108
153
63
75
369
322
23
458
510
224
980
611
51
266
247
473
238
92
208
241
138
484
975
723
574
587
212
306
349
3
18
195
677
625
275
330
813
609
231
922
466
108
413
242
288
825
950
334
142
466
557
64
524
874
344
12
210
439
97
152
848
970
664
778
482
896
238
132
174
428
848
555
461
75
667
570
576
384
398
531
6
760
591
338
967
747
193
984
385
908
8
213
61
488
379
888
670
397
681
469
561
80
773
397
159
936
38
266
4
198
875
386
422
146
252
241
814
385
698
325
689
566
761
333
24
764
865
119
482
62
893
301
763
476
115
317
875
229
571
979
408
458
396
700
85
664
312
847
763
322
873
471
764
72
73
205
111
810
270
855
20
470
583
315
246
3
719
841
461
812
123
172
514
903
625
331
543
397
522
365
466
694
241
263
119
447
715
182
182
389
432
95
921
763
599
970
338
563
659
82
587
623
666
984
540
791
50
323
42
778
872
590
1000
782
92
142
828
415
75
939
808
996
977
530
262
592
16
466
772
229
666
874
940
111
528
332
527
820
604
654
319
437
797
735
113
187
312
168
244
489
29
707
570
378
28
951
358
570
93
186
552
512
936
527
916
948
194
398
12
644
97
928
152
909
824
733
141
96
35
556
117
447
619
381
191
326
286
997
689
631
368
453
370
771
538
430
339
879
646
329
34
962
971
763
769
293
600
671
79
882
926
91
221
931
125
689
494
433
239
296
839
472
496
564
734
135
53
769
423
771
597
554
199
859
989
66
79
629
798
780
624
156
119
605
661
350
661
961
345
442
598
840
840
230
921
447
672
557
820
129
687
599
895
669
207
133
721
655
399
440
478
264
363
753
16
827
225
684
106
347
312
317
589
928
945
712
340
563
853
362
805
82
853
561
772
267
380
460
53
144
486
439
105
209
328
339
4
13
288
199
205
532
677
116
526
792
718
43
510
786
22
413
700
909
105
699
787
105
405
198
233
958
731
291
125
996
867
844
151
905
589
977
465
605
924
903
696
766
456
246
200
576
548
172
875
727
966
918
409
750
474
664
368
395
768
375
858
835
521
920
412
462
946
387
968
895
541
223
545
304
788
43
746
34
798
752
242
839
106
940
260
248
5
290
49
639
305
36
354
621
893
586
943
768
951
721
760
941
35
263
685
38
738
362
720
717
565
183
730
498
275
660
525
297
440
734
643
690
200
476
139
857
710
574
143
152
801
860
22
669
42
579
59
190
134
620
397
244
348
443
699
98
981
466
532
538
31
545
545
610
967
957
308
988
792
142
278
85
167
458
465
432
417
395
872
637
3
968
493
863
28
695
543
361
513
477
286
316
239
320
728
188
777
953
936
88
107
423
781
456
729
257
415
503
317
216
382
565
388
905
300
280
286
884
254
287
591
888
110
985
115
639
475
75
434
798
45
115
667
655
597
486
949
85
734
494
308
158
417
383
145
772
808
709
121
298
500
426
529
826
428
271
23
910
691
754
6
117
349
596
632
317
922
623
572
295
815
815
142
605
734
381
517
889
276
463
804
824
403
407
114
915
917
807
164
128
256
319
688
543
307
970
810
469
740
557
943
661
490
165
853
610
634
378
830
909
323
200
210
521
830
412
335
62
280
54
387
185
391
259
478
259
400
896
23
644
805
230
882
173
478
59
139
199
480
359
314
632
441
125
972
263
291
23
802
304
239
351
431
857
694
970
506
175
113
620
399
510
989
484
996
625
629
862
721
891
305
504
466
172
211
269
608
263
284
545
40
799
130
707
115
818
19
975
168
274
183
39
623
127
699
601
234
426
535
650
525
288
502
232
876
520
286
782
695
938
160
662
788
229
779
69
171
351
919
70
66
956
441
488
730
831
434
486
784
202
35
188
503
755
714
784
138
818
775
87
237
455
383
303
880
938
981
99
476
485
579
617
105
357
724
551
595
77
395
628
499
705
160
378
105
261
735
590
991
297
505
143
130
624
674
966
794
815
63
908
147
821
293
481
641
875
207
709
662
964
577
21
269
147
461
214
604
806
992
528
946
932
544
918
581
397
370
325
422
264
80
732
13
263
298
801
679
390
43
751
388
939
194
455
810
775
855
78
558
900
556
337
133
339
976
633
533
343
593
790
536
967
6
883
456
170
208
151
340
107
298
426
726
448
305
752
705
666
920
604
630
87
123
385
587
447
751
925
788
158
650
444
90
921
967
988
95
617
995
878
843
498
190
983
144
84
583
695
386
844
527
862
508
55
95
197
60
503
246
340
958
371
30
449
850
561
653
275
428
874
204
135
918
1
613
114
963
573
148
438
622
689
201
890
165
199
300
754
87
802
506
839
213
541
310
983
396
266
859
859
606
673
899
358
280
884
501
307
573
61
48
129
909
521
119
826
466
559
607
391
124
324
830
362
139
855
396
674
811
153
337
632
419
802
7
959
19
451
94
170
826
575
925
698
956
625
945
416
248
525
561
695
7
721
675
638
359
764
236
225
759
29
746
788
62
599
940
495
525
872
995
44
801
699
92
432
883
975
354
107
283
19
449
809
830
243
145
323
762
823
728
335
174
589
651
624
943
974
46
537
645
68
97
306
447
154
599
599
138
856
373
247
422
835
272
111
71
371
303
23
839
918
120
571
119
716
497
613
692
141
995
338
351
955
735
6
555
821
78
409
298
98
377
392
781
993
278
670
355
95
701
428
438
908
56
57
101
978
746
771
910
876
987
956
392
787
416
898
544
990
202
622
189
145
250
14
407
833
610
506
833
876
288
365
496
536
279
751
567
767
333
475
262
992
122
584
691
134
727
411
482
702
836
532
792
97
472
659
519
825
436
321
837
58
668
984
912
502
740
392
762
714
926
196
996
191
224
885
943
190
465
706
436
709
548
337
77
953
922
882
528
660
448
805
757
522
277
192
302
746
439
935
156
404
977
926
787
999
365
6
44
481
287
446
738
833
884
973
450
939
320
842
977
97
126
700
646
398
826
741
592
105
851
864
240
330
495
669
639
96
706
891
603
758
193
412
889
931
51
826
468
509
66
998
224
296
455
589
326
563
169
933
623
378
24
77
341
957
568
16
272
738
946
715
858
439
937
743
288
348
750
913
569
563
376
409
501
139
777
254
721
342
870
485
989
834
153
922
537
748
92
446
174
326
881
197
554
317
366
28
848
442
879
416
725
715
89
380
452
993
864
456
403
785
68
356
1
322
451
826
402
767
886
208
248
650
49
529
218
530
55
123
218
995
713
225
587
49
90
371
393
596
161
232
225
691
749
349
592
27
981
632
157
371
304
286
647
241
322
876
187
356
453
530
798
564
859
547
522
872
679
443
410
281
323
824
438
564
270
807
808
907
526
328
474
757
404
978
36
45
971
354
421
135
291
417
515
596
135
623
874
391
132
781
113
71
530
580
45
25
534
402
385
325
447
233
520
593
940
624
862
27
5
666
690
770
335
909
788
76
396
309
674
154
787
519
404
304
508
944
714
35
357
2
564
515
542
499
853
988
338
230
448
410
689
680
153
569
701
126
75
959
632
867
569
519
741
763
595
988
480
787
709
931
92
766
710
472
675
503
804
754
818
721
790
622
980
322
972
684
55
35
561
610
603
44
498
274
114
864
215
289
62
201
308
55
152
519
273
355
852
400
212
517
186
854
111
27
771
770
730
690
694
144
573
208
754
897
267
784
705
163
802
354
643
771
274
526
877
762
850
693
388
729
33
598
55
361
687
498
658
286
118
214
141
59
964
941
608
726
674
46
106
461
638
973
159
371
662
590
465
519
601
329
395
248
325
41
713
681
547
282
665
725
820
111
969
607
48
448
503
531
937
440
553
802
280
427
43
546
302
899
78
34
157
300
609
343
335
6
410
255
88
723
514
192
45
814
699
563
9
173
131
581
470
173
229
356
429
8
344
868
325
45
394
939
405
425
598
922
302
862
525
752
815
404
869
834
575
536
426
685
383
66
578
102
224
894
792
893
630
360
419
175
331
875
744
604
553
53
715
512
439
846
860
911
19
914
222
371
129
894
303
566
823
485
633
221
111
73
326
954
152
32
423
1
188
161
851
525
688
741
744
955
892
91
332
106
50
345
588
968
962
397
395
637
425
212
988
735
340
383
165
876
971
541
908
385
885
684
484
302
660
682
616
668
565
753
509
7
827
234
924
837
417
505
963
661
636
34
148
466
431
784
694
313
761
482
172
461
459
296
597
849
909
918
701
928
636
921
870
775
626
375
74
732
179
324
906
961
732
363
810
956
267
506
851
13
832
820
837
132
800
609
42
456
287
752
172
132
926
36
847
742
820
155
675
697
641
328
754
603
703
718
521
222
862
874
331
918
625
81
415
971
114
590
447
837
179
235
841
731
418
403
203
894
906
549
503
532
599
656
393
206
375
565
626
202
561
132
549
161
196
835
547
365
934
696
913
455
695
930
400
469
878
647
560
708
891
16
563
455
762
940
216
842
417
760
701
409
133
806
904
910
603
51
49
385
609
827
636
766
798
742
826
422
675
301
882
945
658
738
740
711
245
751
892
390
959
121
756
452
291
883
62
417
608
228
524
241
277
205
157
442
667
86
28
914
938
751
188
576
786
982
673
333
816
938
751
261
294
369
149
668
608
355
495
815
844
631
102
755
595
612
105
25
451
948
357
442
265
327
906
700
75
619
258
286
473
230
349
494
736
732
585
940
502
952
540
17
953
131
355
749
119
566
961
254
824
378
816
618
211
967
162
761
830
495
461
988
189
180
284
231
261
239
153
964
451
807
604
120
149
142
756
258
352
514
629
141
244
913
372
578
731
172
740
215
262
726
552
142
128
633
233
971
573
198
721
988
229
893
472
192
880
393
502
997
677
451
857
199
730
349
387
102
435
742
538
260
289
467
870
736
533
72
83
296
293
401
775
956
884
297
22
1000
396
545
656
996
435
259
223
846
581
756
248
962
760
42
859
291
923
407
839
90
382
854
545
544
980
295
909
579
716
243
803
63
401
56
900
194
856
733
911
960
85
102
387
234
520
112
971
128
81
120
623
763
307
818
210
907
461
994
312
651
239
167
416
187
3
669
716
80
956
142
777
655
712
816
92
910
118
290
41
950
937
72
648
966
435
841
715
952
149
871
731
87
212
311
224
233
459
399
208
724
834
30
158
953
151
699
327
356
342
259
333
248
998
495
21
406
656
203
521
990
808
539
416
164
581
435
596
699
342
385
889
669
718
639
839
926
532
461
584
217
956
385
213
516
869
474
127
306
901
229
757
679
853
758
352
668
928
296
465
489
95
170
66
841
973
655
954
316
734
544
325
434
231
510
201
559
808
258
333
36
823
809
689
612
771
291
237
736
321
543
98
344
345
448
524
270
908
98
459
39
211
506
987
421
708
770
742
513
614
171
480
299
917
920
967
807
580
378
658
985
10
356
847
193
219
863
985
357
458
815
588
523
477
543
678
545
450
200
130
372
8
550
63
108
462
277
617
417
286
347
934
831
292
876
533
121
613
288
873
172
636
661
818
390
25
709
239
566
268
199
65
190
748
884
487
709
632
763
715
722
85
263
315
838
93
130
170
714
580
279
475
205
73
964
138
424
105
351
346
200
650
81
708
29
727
288
389
315
595
780
217
537
423
91
556
261
81
51
825
46
136
660
959
430
414
40
32
726
777
502
350
83
904
94
202
785
364
587
485
315
928
658
548
136
680
461
614
324
924
774
151
970
614
81
456
713
614
359
195
931
344
429
393
292
784
625
645
149
619
685
960
846
624
225
538
279
122
985
582
337
410
274
611
864
158
667
208
588
518
480
575
655
654
553
552
77
665
488
642
249
499
343
317
940
156
268
173
439
227
42
684
156
580
517
824
726
845
302
988
651
823
790
18
39
643
468
454
583
778
46
971
305
992
163
667
47
693
409
979
326
296
143
308
791
975
502
179
623
459
258
883
363
348
71
342
315
347
123
887
271
532
475
637
524
475
499
915
118
633
956
229
464
215
127
289
371
143
841
789
359
715
210
491
504
76
739
946
267
629
26
855
912
150
644
44
785
991
650
275
895
959
347
380
190
506
118
597
876
844
270
687
307
940
916
528
813
521
353
846
801
317
415
27
222
857
4
125
73
733
564
698
492
667
961
306
823
981
99
553
697
991
141
397
530
106
250
675
170
485
37
204
738
997
457
756
441
211
874
73
78
1
826
283
506
672
251
731
185
963
536
738
418
410
590
404
679
54
187
529
409
166
917
79
536
640
872
912
577
83
650
239
858
978
160
424
359
513
75
135
62
422
980
769
464
930
326
604
253
443
69
617
359
862
344
771
62
346
555
17
192
399
413
545
47
752
483
979
875
203
366
702
989
36
682
546
846
544
731
808
862
355
1
548
213
191
164
948
320
552
674
491
663
116
361
364
283
342
904
406
558
951
630
842
877
138
12
871
116
937
670
137
390
17
229
409
100
226
262
843
136
763
488
84
110
569
894
959
791
845
37
681
506
749
294
572
757
482
50
105
40
76
661
496
154
235
696
937
918
308
380
918
883
484
853
475
726
919
391
186
739
428
784
842
435
693
971
512
998
49
160
452
807
661
172
244
213
497
585
991
307
73
915
325
741
176
706
899
118
365
314
409
126
146
282
518
114
229
734
948
793
747
662
116
496
993
550
502
115
104
579
677
256
50
306
63
630
401
916
348
636
787
560
236
729
502
847
558
635
881
56
372
575
905
291
412
829
909
719
721
703
341
93
84
551
986
605
605
304
626
889
14
570
15
868
847
567
946
119
280
759
573
787
260
417
906
7
518
818
810
820
311
871
914
893
642
851
690
2
137
843
679
813
8
762
294
16
566
330
820
321
269
301
507
833
225
253
825
24
159
365
733
766
730
796
513
232
719
323
820
957
616
793
521
772
413
628
302
875
312
893
760
636
979
213
244
387
981
25
239
177
16
390
12
391
231
167
642
777
286
23
641
808
143
901
797
201
227
590
938
336
724
656
900
325
181
712
707
736
425
798
16
109
477
549
722
967
379
135
169
511
228
729
354
576
935
403
768
109
832
225
40
789
993
151
399
982
418
456
677
860
945
932
509
102
35
889
745
289
37
695
55
247
439
610
174
855
684
866
744
222
106
880
378
750
917
664
552
157
391
144
250
595
889
112
824
381
253
888
678
926
962
456
966
666
164
456
860
58
75
211
676
993
495
540
830
466
328
676
895
81
401
404
777
275
68
350
1000
150
6
983
698
441
279
970
195
280
29
83
94
443
364
897
535
114
222
881
356
570
962
381
532
92
731
547
863
337
967
679
572
805
615
964
717
333
186
30
197
436
764
491
765
764
916
747
453
761
880
402
514
647
945
146
438
850
790
176
415
290
476
491
82
312
730
774
443
107
906
647
612
103
459
456
322
356
798
47
64
968
466
366
73
605
495
478
275
251
496
904
853
761
23
604
956
541
69
862
869
931
630
76
530
536
838
310
859
516
122
540
352
17
751
536
850
714
588
746
314
86
180
308
815
482
379
614
822
36
77
116
844
818
11
527
563
301
735
329
499
453
699
932
609
124
546
26
774
328
900
224
384
114
942
550
62
260
120
654
957
487
256
218
758
315
504
409
884
491
855
795
722
384
802
175
893
12
661
642
859
339
400
692
642
482
366
68
446
357
731
610
263
235
917
607
142
490
840
731
30
327
8
521
293
466
134
566
861
401
600
614
575
484
147
499
844
520
434
465
848
909
320
255
95
605
36
547
39
980
729
181
992
73
452
260
384
697
5
55
69
69
565
390
499
968
664
204
677
859
591
180
708
29
176
243
476
462
269
539
963
719
487
272
669
269
544
776
665
6
56
52
575
821
643
843
669
621
792
735
608
236
817
97
378
876
452
492
633
320
633
62
163
640
472
248
587
179
357
740
707
588
754
150
616
990
5
326
915
450
551
263
674
877
836
764
170
749
772
839
655
174
977
627
297
192
789
679
666
566
615
887
9
35
373
583
599
287
109
920
397
106
501
392
877
29
635
978
878
953
505
347
221
692
374
513
648
830
825
160
495
402
903
835
801
474
526
84
271
413
927
698
238
477
449
895
800
774
573
14
346
859
637
562
944
182
480
772
247
765
141
951
803
318
420
102
132
762
795
954
509
495
693
17
326
392
505
358
827
829
551
866
290
129
807
2
69
456
639
373
789
478
531
823
349
393
789
519
209
448
284
256
516
957
485
444
254
78
6
865
149
75
651
567
296
879
732
803
716
951
664
206
490
399
538
416
345
700
30
562
200
443
723
288
31
549
339
406
837
180
227
511
300
984
588
470
217
330
927
79
695
243
872
448
373
557
344
189
660
208
312
342
547
7
869
178
171
416
272
357
331
719
635
368
297
176
148
634
354
411
773
56
902
676
605
711
446
690
191
68
99
897
701
909
455
824
128
404
283
403
588
494
638
598
184
312
270
478
965
617
442
520
611
823
321
303
964
527
258
354
365
428
67
113
952
766
286
968
350
357
494
964
93
148
756
541
272
805
668
188
329
180
880
782
671
180
414
607
381
175
315
290
272
893
173
418
141
240
668
801
261
572
79
763
902
799
15
906
569
629
242
922
711
870
990
989
7
474
876
468
628
861
574
925
106
359
372
990
641
526
513
951
333
660
894
756
606
772
644
259
553
187
692
428
986
776
302
622
256
143
339
528
482
987
193
834
164
120
485
49
407
130
111
148
829
521
872
153
161
979
952
782
348
423
304
657
704
962
727
993
869
522
684
889
906
705
955
756
16
48
715
40
509
46
836
261
684
586
222
921
638
164
14
421
629
403
247
892
125
902
584
819
517
335
472
773
358
899
83
260
239
856
104
806
546
167
249
728
14
765
746
353
235
285
818
284
657
21
406
853
797
489
932
774
840
584
871
615
109
810
511
871
737
155
17
536
365
888
896
342
268
871
125
736
350
118
993
857
778
704
173
933
849
391
105
548
48
778
742
436
306
20
987
422
48
642
880
135
576
256
266
856
597
475
337
440
959
519
468
953
75
19
135
909
918
953
675
701
528
638
385
555
361
94
398
341
119
91
645
473
894
799
704
618
806
445
70
720
166
278
85
311
519
721
486
872
311
652
783
467
425
71
838
659
138
953
265
27
557
846
1000
65
763
444
389
59
34
645
734
35
78
987
409
650
260
437
646
546
813
484
665
239
33
774
951
758
397
575
113
799
249
804
940
324
677
251
844
18
391
858
303
581
783
973
4
864
191
291
581
846
226
532
155
202
751
182
555
322
940
124
124
170
163
669
858
952
657
979
65
710
483
55
399
319
44
514
423
336
112
281
971
637
618
796
363
543
690
716
478
571
475
258
366
914
593
854
131
114
314
274
833
969
992
948
401
516
594
337
136
257
76
844
731
155
179
838
987
590
912
699
144
810
361
482
851
185
964
594
494
150
359
861
292
886
611
475
698
181
724
383
284
434
154
416
785
269
775
152
792
606
182
23
292
352
24
236
745
236
362
351
578
61
678
931
358
20
41
912
580
666
12
466
556
82
186
187
766
902
555
324
516
182
221
607
588
934
855
234
878
440
379
614
928
957
803
101
621
767
38
964
469
995
982
194
333
720
663
186
60
859
831
1
85
752
614
252
160
174
760
91
68
36
203
566
25
899
367
393
509
978
467
988
469
31
179
7
554
60
897
863
771
440
232
162
900
269
717
127
670
649
899
96
179
596
672
423
639
391
380
908
614
582
261
333
519
183
82
80
809
646
711
480
264
120
482
487
284
510
771
952
159
347
971
945
505
927
926
784
371
36
304
771
282
705
561
774
829
12
648
937
526
153
586
888
912
226
137
122
818
50
890
507
728
316
850
763
109
712
890
830
705
858
619
656
114
660
364
288
672
782
620
853
600
556
630
920
790
202
493
340
357
335
902
826
116
620
527
198
826
115
922
588
782
612
879
359
84
919
633
899
449
563
47
921
125
535
902
307
845
205
135
630
268
216
794
293
985
585
381
859
893
868
511
252
588
307
633
598
427
649
510
139
485
258
812
996
87
819
860
431
740
765
831
918
539
650
797
862
20
779
52
529
52
803
283
338
946
109
934
67
726
143
210
142
838
856
848
658
697
293
374
788
655
829
633
967
629
995
778
711
168
943
234
395
134
946
573
785
71
508
522
366
735
906
944
707
351
817
170
532
697
253
875
107
430
825
174
57
326
112
877
346
195
110
894
191
803
328
662
235
909
254
696
786
606
78
477
981
241
722
568
570
196
799
59
744
789
31
305
926
531
459
352
676
828
178
928
657
425
164
777
771
930
932
832
370
993
298
127
702
475
662
509
124
738
90
523
72
891
339
427
943
590
186
32
19
424
600
964
634
3
170
203
270
890
510
746
245
379
504
425
449
175
807
864
318
955
330
702
31
591
877
279
133
385
947
364
736
828
464
998
931
166
606
773
211
3
638
133
656
639
884
126
531
363
932
809
486
847
391
788
315
691
639
565
730
724
217
137
247
871
865
672
771
606
423
674
15
731
627
72
29
946
378
425
731
966
161
971
905
349
526
322
19
176
602
797
992
821
625
320
878
719
807
120
450
739
596
421
257
540
457
902
995
394
24
787
796
241
825
780
426
387
998
779
680
939
95
838
125
366
148
284
500
960
280
360
563
397
837
351
911
572
222
64
87
592
77
569
727
849
863
510
503
632
293
51
152
675
767
391
358
348
632
581
182
670
82
157
509
341
860
21
799
435
511
847
86
30
601
499
925
448
3
236
299
378
941
282
247
844
135
348
528
596
409
852
297
294
160
907
895
995
621
1
994
858
866
752
189
994
469
495
576
60
783
923
969
178
318
514
931
487
602
528
771
298
368
351
941
637
12
619
577
311
687
651
165
165
395
411
825
215
168
794
402
862
519
949
535
635
921
1000
873
801
987
751
847
797
529
401
508
122
977
815
907
968
135
313
215
336
24
231
237
580
541
484
260
112
59
307
893
762
627
690
241
925
128
704
41
31
173
565
694
824
221
291
493
697
95
582
347
654
245
796
649
993
531
249
208
536
80
463
892
503
63
839
631
222
548
403
439
954
532
684
355
707
640
127
13
749
419
396
506
8
715
985
125
413
232
844
530
849
764
283
462
50
278
573
978
117
763
203
468
342
524
511
611
599
219
643
246
271
119
606
808
283
603
298
958
50
848
999
162
467
20
316
950
144
358
466
953
764
197
246
31
111
371
706
67
598
456
915
894
146
628
772
843
213
803
468
549
301
924
819
426
196
446
110
363
819
27
625
465
173
983
24
971
579
351
425
70
767
506
721
178
965
756
466
125
612
353
259
944
996
854
865
105
315
432
941
26
928
104
587
585
907
516
898
428
634
161
895
381
201
611
911
452
213
354
473
14
644
610
231
602
163
561
231
321
422
630
696
188
161
726
659
448
733
801
746
718
564
646
98
615
639
976
628
9
578
60
476
72
284
824
488
550
727
532
856
228
379
463
186
903
664
646
340
373
302
900
900
192
143
335
420
299
754
537
873
219
268
392
993
534
805
540
889
796
601
924
752
421
793
780
35
900
328
270
227
38
117
974
857
190
620
171
757
203
117
716
214
162
860
40
383
169
575
150
744
67
348
356
263
795
7
355
145
760
695
415
377
897
128
923
381
293
305
912
903
887
608
793
697
220
836
143
382
646
622
294
330
554
548
52
27
626
356
856
24
375
520
440
536
81
711
736
959
650
55
921
434
443
750
825
853
648
3
232
839
43
612
201
479
777
939
423
201
165
525
954
310
5
59
387
899
247
98
738
916
7
230
245
633
640
200
426
630
385
261
920
504
728
980
739
166
288
666
16
268
525
503
646
674
360
694
791
935
541
255
14
441
942
814
851
928
487
208
181
545
192
917
514
829
559
809
30
707
907
325
557
296
710
852
872
497
119
281
103
326
408
397
178
994
658
147
319
914
60
904
648
754
251
246
5
255
327
519
597
749
202
897
641
321
614
19
768
636
577
301
683
260
510
888
79
568
834
369
991
714
749
901
580
693
740
288
360
323
49
927
100
698
905
287
562
512
799
786
157
2
692
593
325
292
164
808
192
245
899
689
347
796
389
364
193
878
508
243
719
377
486
813
464
584
225
77
211
44
947
153
499
368
744
113
36
688
739
932
600
89
210
651
163
633
552
773
372
851
752
796
113
472
296
540
810
828
32
784
983
599
228
24
868
636
372
931
244
186
831
414
777
438
294
474
210
97
992
393
680
695
885
597
349
74
854
612
336
230
293
827
669
106
7
238
420
813
22
362
974
485
783
516
624
456
420
688
597
42
948
302
337
284
536
238
484
744
856
675
301
711
356
918
574
864
788
777
594
751
568
104
36
731
925
851
235
270
22
231
792
315
414
611
84
307
727
591
218
551
529
193
938
413
961
432
734
134
7
213
396
824
906
241
19
240
62
250
375
643
298
856
955
230
926
190
989
875
199
466
985
762
442
94
503
908
225
665
802
779
20
611
432
362
732
581
472
309
445
729
276
988
176
378
254
437
23
711
985
458
11
86
937
756
2
627
307
689
418
788
22
27
526
7
916
659
824
72
704
716
804
474
585
9
448
306
332
375
493
138
535
934
889
613
149
122
243
507
533
50
226
541
778
143
295
939
653
523
748
426
714
292
503
179
937
733
464
243
725
117
88
962
867
279
691
677
234
430
265
665
72
697
605
448
392
124
22
581
181
226
424
105
999
849
163
321
867
437
458
420
425
239
966
3
9
365
242
244
853
697
211
471
139
853
407
13
808
132
916
172
636
104
125
218
671
451
201
424
541
462
794
307
988
746
807
609
954
304
387
395
759
539
745
526
626
38
506
10
867
479
537
152
893
829
822
815
946
317
980
967
484
882
162
466
439
419
8
672
910
307
527
797
506
169
44
214
750
302
167
999
482
320
228
919
444
593
870
21
343
620
745
310
911
36
454
107
25
746
731
709
759
598
404
939
301
484
972
683
756
720
375
144
664
410
353
785
273
493
266
554
277
394
575
1000
458
29
437
940
562
337
462
17
296
619
878
584
899
302
243
874
502
254
429
946
341
41
290
538
761
17
203
878
948
602
88
985
381
909
124
171
309
720
798
480
500
7
279
464
684
36
658
593
678
249
648
3
679
935
56
197
181
477
350
556
621
83
385
609
385
709
447
191
975
385
425
202
694
135
419
286
761
145
670
468
773
940
853
727
342
261
850
383
858
4
243
793
218
17
806
772
670
329
306
77
194
129
372
213
646
954
972
910
70
369
49
882
997
470
491
813
941
552
16
524
344
551
572
606
565
665
817
713
160
855
344
225
714
442
255
565
398
200
475
213
40
818
470
288
767
85
955
207
527
903
825
925
890
495
884
448
595
282
605
666
31
285
791
262
505
77
17
949
593
593
293
920
607
546
829
666
53
484
60
904
257
267
48
762
919
614
976
657
741
847
474
993
175
130
533
603
579
14
386
755
981
955
614
856
353
971
660
621
570
28
778
849
924
165
339
733
416
61
277
136
413
873
7
419
293
316
746
501
693
957
197
206
777
433
894
681
869
419
689
518
799
682
196
777
718
770
328
955
524
130
88
232
9
960
791
187
685
321
935
818
732
135
91
576
281
286
425
730
712
946
359
467
961
839
872
52
357
194
19
123
713
592
768
863
717
945
152
877
552
644
16
903
835
123
445
94
780
602
946
726
854
269
568
308
184
969
733
330
538
476
685
557
862
723
521
250
961
552
672
353
782
873
761
930
432
668
755
570
240
668
710
883
129
823
439
498
977
945
346
525
771
218
723
173
726
302
337
997
493
70
649
551
808
70
770
294
125
935
13
239
361
168
294
549
850
333
677
641
999
436
386
4
351
824
451
723
903
332
1
571
730
221
831
48
344
493
709
575
302
772
771
6
893
545
593
809
179
78
899
747
353
621
53
433
110
182
907
559
466
812
241
859
741
937
992
750
137
174
522
989
569
82
560
256
706
395
431
647
408
45
627
49
175
814
476
187
742
171
59
142
548
409
770
515
825
514
634
212
324
3
782
187
322
646
721
391
338
346
409
796
453
905
763
698
85
43
95
622
383
411
706
113
192
282
677
177
916
255
797
138
493
507
832
604
683
864
841
847
840
417
605
690
543
362
907
35
869
226
299
156
156
472
715
702
846
88
341
896
27
330
347
5
612
622
692
622
145
758
441
980
231
544
229
777
345
233
215
613
585
715
669
217
230
139
669
439
684
300
378
870
937
288
841
673
981
812
6
177
759
891
610
738
244
265
525
519
321
974
165
732
412
344
413
749
359
465
414
860
295
268
761
933
374
873
898
756
143
653
451
450
840
389
6
753
77
993
731
190
536
585
141
778
485
318
304
482
98
151
510
514
436
958
337
839
270
745
521
198
286
801
809
858
463
665
772
754
31
9
990
44
520
835
655
308
870
113
995
834
668
17
916
983
102
408
720
612
508
843
580
739
371
639
471
705
833
465
360
542
326
69
108
433
60
769
130
428
622
56
877
669
395
172
672
974
19
134
421
394
708
663
529
250
109
362
918
982
769
430
52
972
841
301
19
900
981
228
61
113
551
207
293
574
401
927
475
972
244
266
428
884
408
185
459
241
180
922
891
178
810
880
836
524
6
24
49
779
876
231
844
122
598
790
825
286
897
574
172
452
847
239
834
315
382
914
939
101
107
705
917
857
634
352
612
152
860
492
134
92
594
120
903
192
640
458
266
130
260
866
206
673
447
617
646
739
425
984
693
538
974
996
188
526
656
782
925
672
806
589
488
224
2
62
119
596
245
882
841
76
136
956
898
656
969
109
229
572
930
897
216
819
765
627
979
161
640
225
435
373
996
569
805
984
879
829
337
133
779
627
616
740
765
557
898
641
823
153
914
39
445
629
770
85
663
774
568
797
805
576
817
540
764
386
216
44
601
606
107
762
599
305
328
924
496
950
837
56
646
830
329
602
308
461
535
171
397
859
500
120
472
409
196
708
830
399
853
615
839
587
541
973
61
984
600
439
579
301
154
841
574
590
178
448
716
656
804
948
489
497
8
711
29
999
934
532
246
907
959
141
601
246
282
311
341
690
725
966
870
936
598
791
603
196
511
830
762
315
540
670
467
525
627
535
962
825
523
627
260
860
878
830
705
823
13
964
161
315
887
263
325
485
198
161
385
794
264
186
276
731
118
306
2
665
655
114
900
348
977
115
5
508
195
609
300
309
773
797
629
277
109
284
571
347
197
693
469
604
435
285
411
794
90
389
163
583
897
579
444
189
810
917
875
207
883
477
301
717
735
291
681
321
166
305
94
517
501
172
562
956
227
910
733
972
150
560
760
321
836
21
490
1
947
842
224
807
922
384
402
911
37
122
746
119
555
711
909
707
556
61
649
498
650
463
756
33
236
910
343
377
328
253
717
18
179
560
17
515
886
423
315
265
96
920
453
298
836
639
694
827
62
82
134
111
155
174
521
581
527
338
512
875
349
739
986
958
660
358
634
595
268
636
269
113
12
977
825
691
469
208
20
115
270
37
925
251
445
934
834
371
569
864
773
259
922
411
50
867
144
758
794
732
825
957
523
681
601
599
950
814
560
413
978
257
11
938
125
235
512
831
255
741
718
732
466
955
224
470
102
679
936
130
875
473
303
659
2
81
304
683
441
242
550
325
31
24
951
335
109
836
465
6
963
409
212
845
894
615
106
78
210
607
68
522
903
241
118
577
937
327
672
220
184
906
967
652
915
871
404
914
564
36
591
502
487
740
626
496
466
715
600
265
255
179
407
560
525
943
632
1000
520
205
280
971
159
212
226
541
868
703
888
357
29
385
642
746
97
227
778
335
248
121
819
997
699
311
761
858
822
874
876
67
325
512
754
920
171
213
365
95
758
895
865
880
45
925
366
89
11
633
669
137
339
611
455
903
426
434
94
598
645
783
42
803
166
798
180
945
697
748
435
334
315
466
655
520
951
337
968
446
726
532
697
138
151
739
186
581
723
975
546
703
604
517
442
700
315
47
144
841
888
394
92
338
953
254
984
437
49
683
281
839
219
286
543
594
498
568
616
347
419
330
917
834
400
49
718
849
328
405
905
345
256
876
926
862
619
793
234
740
240
93
428
793
830
31
606
215
716
83
641
550
707
838
895
999
998
721
616
265
582
719
697
989
374
268
813
462
35
957
861
263
97
221
389
816
705
958
936
539
272
163
737
507
700
613
263
26
361
790
14
476
691
332
147
974
705
640
312
19
730
734
3
137
661
735
434
218
987
808
336
36
50
974
687
142
765
739
84
383
817
531
182
176
896
688
432
263
120
358
498
139
306
296
464
494
17
777
741
216
263
155
113
957
245
107
568
565
482
733
485
120
218
439
370
798
926
601
647
63
967
386
9
1000
242
246
2
87
211
930
211
988
383
755
887
220
1
221
643
921
92
768
813
265
949
959
462
394
802
271
290
461
447
633
617
698
910
693
209
339
745
407
843
784
979
138
124
221
703
859
779
12
443
717
677
603
891
97
933
733
167
719
60
739
515
708
839
877
1000
537
492
785
290
228
500
817
946
204
157
636
789
894
366
676
598
475
903
543
574
794
643
535
442
442
975
32
996
855
1
184
986
514
288
946
646
18
329
700
925
549
827
332
70
52
67
595
638
397
269
822
218
608
508
319
175
341
700
700
633
271
952
308
681
828
932
641
813
128
233
494
312
674
104
695
369
190
401
486
987
618
897
557
451
366
414
776
850
149
92
197
594
358
546
334
681
855
172
48
418
39
149
862
646
311
962
846
452
143
942
295
318
412
745
657
907
231
710
545
219
652
158
634
590
894
995
905
851
363
817
495
694
820
544
92
783
104
115
28
492
451
3
615
656
212
631
916
76
309
80
831
689
404
603
179
901
277
370
993
822
297
410
390
607
783
903
856
470
937
27
432
746
894
577
41
794
456
91
985
560
727
692
563
646
977
551
429
418
940
621
421
502
890
767
973
221
502
260
271
999
142
669
933
426
68
63
980
651
254
978
883
794
227
856
174
979
193
691
969
990
35
631
169
275
554
156
120
82
517
760
213
528
24
418
113
585
651
492
897
877
364
960
481
613
199
657
115
862
632
352
183
319
858
497
538
775
445
250
200
944
318
889
608
293
205
911
444
384
71
843
558
351
64
669
759
955
529
589
874
561
25
375
84
142
221
231
592
454
578
317
29
85
953
103
93
84
586
507
595
76
646
315
584
484
340
740
168
122
608
97
451
292
839
507
426
239
567
378
739
577
554
926
620
497
79
228
21
339
442
306
237
550
163
664
749
415
472
306
991
11
637
689
73
838
707
468
815
17
404
760
857
763
689
382
10
725
278
82
928
14
397
652
318
483
978
778
75
887
807
403
511
989
202
871
509
159
646
563
779
878
642
108
207
573
466
983
278
692
841
171
19
936
811
832
984
138
532
897
341
46
695
225
66
209
142
928
662
341
743
413
568
940
713
714
837
221
26
277
704
156
462
823
512
58
664
515
413
819
607
133
483
187
477
171
885
264
538
390
995
184
731
493
141
827
931
764
371
969
895
431
44
12
11
301
214
388
868
478
207
699
812
835
170
782
46
285
244
720
605
322
382
886
484
901
810
963
620
291
538
42
323
665
459
791
243
567
520
483
678
794
713
290
170
901
221
22
725
951
435
940
183
449
978
129
204
572
949
938
700
369
339
449
178
227
27
661
539
149
93
592
485
885
62
386
962
611
929
629
131
648
10
209
91
338
268
170
332
11
51
647
819
451
689
585
982
481
144
975
588
573
906
574
668
584
449
646
221
831
689
859
80
213
552
206
992
784
925
228
149
304
839
878
25
778
958
285
241
987
86
472
514
969
979
211
494
540
542
702
142
452
804
291
649
171
771
204
963
917
937
176
459
510
296
866
895
367
257
758
697
406
66
983
994
755
814
509
53
592
942
386
887
931
478
645
185
698
357
281
471
854
335
325
807
212
245
782
108
66
108
893
50
321
428
154
90
112
670
163
291
880
38
166
632
857
844
212
574
760
768
585
719
389
176
792
719
615
810
85
60
592
534
46
5
927
92
220
732
164
832
447
142
367
124
339
873
91
943
853
788
686
297
161
313
68
908
896
455
350
124
215
557
957
558
688
328
62
760
5
768
258
468
636
284
417
151
979
511
662
906
162
168
893
657
503
896
487
666
746
575
440
449
69
312
861
700
497
475
590
973
273
363
667
896
379
341
115
742
757
6
63
819
670
592
820
370
491
625
379
632
565
261
998
228
877
755
647
372
384
949
119
347
451
476
700
480
190
189
897
590
841
699
984
919
659
905
569
803
759
998
867
737
432
659
89
461
934
31
925
684
699
421
4
701
121
399
537
267
928
748
119
637
496
708
188
422
267
232
583
757
117
80
990
185
796
664
320
566
833
42
633
407
835
726
136
651
499
221
895
135
281
601
35
168
723
57
603
873
653
546
681
590
397
568
867
863
446
552
603
539
468
606
835
943
158
692
169
353
900
930
726
747
508
850
708
94
986
619
622
750
233
51
783
493
915
721
548
283
186
553
430
86
168
473
515
776
814
157
168
262
826
943
821
209
879
765
664
838
631
788
999
621
745
188
664
450
256
282
215
320
903
564
911
76
94
374
167
508
295
10
450
609
3
662
141
766
674
160
611
3
600
43
998
161
998
248
363
496
375
814
749
80
464
173
898
869
382
624
153
777
582
381
778
918
53
84
681
625
400
786
245
580
450
830
961
589
643
72
209
237
71
147
561
291
54
830
146
349
158
633
763
370
44
255
508
282
485
156
854
964
560
676
809
105
263
145
260
326
661
933
791
229
33
584
558
719
365
68
261
300
948
419
110
79
357
15
983
224
890
382
140
491
789
825
428
761
540
778
8
403
261
151
391
901
252
612
994
434
170
874
98
808
362
798
999
298
260
528
145
118
995
944
819
306
542
854
49
588
21
417
693
196
411
51
464
28
175
216
415
344
305
201
589
508
344
463
531
22
588
546
904
65
396
332
656
850
209
888
979
754
661
166
517
974
864
659
764
115
154
423
336
162
309
164
935
870
473
329
588
389
533
617
331
614
750
981
699
323
647
525
249
948
557
578
630
96
308
830
718
411
30
853
766
767
918
508
343
297
663
208
902
209
5
255
897
355
254
737
545
942
352
896
712
322
176
967
515
336
966
668
64
298
833
549
896
803
994
214
513
88
986
385
983
164
365
89
275
940
410
833
902
676
89
76
208
327
66
385
689
847
403
288
804
882
209
333
504
927
206
49
333
697
376
512
722
294
515
86
591
817
82
266
685
8
8
118
965
861
279
415
172
260
624
658
859
991
36
547
46
523
521
148
252
145
573
685
446
457
953
345
291
409
169
124
943
232
702
506
264
862
485
776
171
58
605
349
285
934
425
910
119
667
897
455
228
922
460
468
892
954
36
820
30
70
979
507
640
810
790
913
181
793
12
704
739
892
853
495
344
681
131
538
226
167
644
31
472
111
354
188
756
924
613
757
442
325
680
278
400
766
215
635
878
195
544
57
965
635
501
7
279
865
38
516
473
40
45
283
76
635
740
786
737
365
458
958
862
40
997
132
748
304
919
5
598
564
980
784
491
705
987
711
781
601
924
31
315
919
178
200
538
949
436
935
465
455
8
772
617
558
66
259
550
153
568
489
104
168
703
86
337
494
454
629
568
355
362
281
869
557
207
556
967
162
693
40
178
846
894
436
950
10
679
881
687
777
294
103
822
731
854
867
770
785
141
552
725
983
312
100
540
542
191
677
688
303
187
933
427
844
255
731
339
249
561
814
893
365
895
329
792
79
120
598
390
486
35
575
10
30
911
668
394
122
463
438
123
53
899
635
356
399
736
448
172
49
581
628
145
723
366
96
551
270
369
134
663
836
952
642
460
904
290
927
762
650
576
542
921
228
131
740
714
276
683
355
235
498
397
438
586
969
92
911
752
609
798
254
953
588
821
788
3
471
961
959
603
494
789
97
491
786
801
345
604
543
820
550
46
28
407
622
357
608
852
584
63
909
464
172
925
805
904
777
149
915
54
811
512
124
559
104
392
176
500
223
966
824
743
602
926
639
669
1
389
235
158
868
191
666
142
472
49
403
441
195
116
171
576
214
795
242
579
331
767
553
287
618
853
75
184
944
483
186
471
515
556
820
544
305
693
557
26
350
467
452
144
162
432
937
523
167
115
587
875
521
857
679
218
90
399
773
605
52
739
972
705
394
258
470
903
478
556
223
347
94
461
138
728
146
90
708
318
963
617
305
803
440
711
249
654
528
805
878
124
181
323
315
34
673
22
533
705
416
253
524
112
436
968
10
852
26
957
668
677
962
339
70
453
927
604
32
64
401
703
276
39
726
548
196
743
239
615
116
133
460
68
638
686
66
616
691
489
777
912
239
53
933
275
769
395
979
67
742
263
838
36
621
253
562
478
216
870
207
810
395
610
812
921
697
84
694
804
811
863
155
687
608
305
621
858
867
353
788
72
454
308
204
475
62
743
305
768
158
896
932
628
764
419
924
465
376
24
869
801
981
320
242
495
623
105
126
983
901
622
101
547
812
666
577
339
582
46
698
718
910
197
705
467
192
850
947
848
127
289
399
282
293
531
121
363
439
61
544
359
922
817
629
676
970
922
243
144
419
561
217
716
338
486
532
977
752
136
63
190
347
627
247
516
159
54
71
349
108
811
585
381
748
310
142
86
245
724
736
482
405
857
991
457
136
216
685
375
165
352
347
69
572
582
290
473
412
864
701
817
52
104
270
758
184
774
23
646
761
295
875
742
28
387
972
718
683
66
932
316
533
757
778
189
24
332
61
371
486
479
270
616
139
235
674
150
784
131
327
359
287
868
838
337
817
861
228
319
621
182
431
502
252
739
575
518
678
338
243
833
660
293
573
295
199
277
581
84
528
457
599
49
632
156
273
672
451
803
30
648
640
574
184
712
764
545
254
430
233
702
684
817
360
359
359
742
332
744
363
251
755
357
243
460
828
236
310
2
284
285
81
549
177
946
739
174
260
940
691
16
799
19
46
451
279
827
709
358
715
911
762
129
920
898
221
86
897
414
353
778
656
391
423
178
586
972
815
310
564
937
648
88
465
482
307
873
841
690
504
942
534
733
237
41
508
700
431
105
221
587
31
256
13
350
597
66
97
285
655
536
549
388
747
375
823
491
955
272
546
321
383
325
868
374
784
152
623
200
845
48
959
719
298
905
349
745
539
64
765
551
619
550
371
456
55
283
756
265
726
330
949
101
183
193
230
985
350
591
102
335
937
726
198
518
26
851
853
376
114
473
59
308
277
547
28
611
659
124
218
194
768
37
835
35
200
869
71
694
496
355
423
54
219
539
2
361
285
354
929
405
848
434
498
87
403
106
938
733
102
405
416
424
770
930
627
663
807
760
936
870
780
928
393
888
315
977
57
809
912
998
837
453
482
920
245
587
292
659
887
455
538
98
579
11
279
577
526
30
695
691
854
268
995
280
768
549
421
224
72
643
8
267
52
106
183
544
498
967
681
131
865
333
377
98
194
758
638
491
720
548
935
213
932
159
638
131
372
167
904
154
502
694
846
724
537
612
412
652
200
348
51
799
679
779
959
844
657
18
926
401
661
693
970
163
82
825
825
120
333
576
200
83
37
793
205
564
846
361
536
757
525
905
675
14
674
472
735
439
34
966
907
723
64
555
261
204
451
862
288
977
391
618
596
290
647
996
500
45
58
263
887
602
995
384
70
533
315
803
592
951
682
963
875
706
484
708
242
60
946
946
333
140
469
425
652
835
766
786
34
165
582
80
457
574
609
292
375
208
984
211
171
892
371
513
940
25
790
529
787
451
295
218
743
299
116
272
636
711
805
12
361
954
894
217
693
991
803
698
467
222
493
475
860
282
173
403
611
971
989
198
344
808
457
782
721
558
321
705
629
753
848
873
65
292
687
152
105
547
332
300
453
826
746
286
665
99
571
309
76
539
344
605
419
97
423
807
557
796
762
858
732
607
588
424
727
91
235
6
250
980
190
365
954
721
334
671
372
537
506
628
583
598
207
815
17
468
994
323
574
158
854
816
101
741
750
875
597
552
988
724
767
93
143
677
610
272
421
70
516
594
273
727
546
814
960
333
264
928
282
659
488
613
110
93
323
81
629
693
998
721
235
47
632
744
15
18
855
25
38
364
410
883
80
405
601
899
957
135
283
604
41
20
810
982
398
92
81
4
830
427
909
538
62
513
819
38
236
800
426
272
617
549
275
854
876
943
66
893
933
356
656
843
295
150
352
842
159
615
907
514
392
440
565
572
213
341
317
136
819
47
672
906
366
47
670
521
184
444
238
230
331
996
168
859
436
289
602
773
141
399
646
622
361
555
906
655
262
35
932
751
181
591
576
642
225
501
288
644
178
433
693
766
918
932
82
666
102
16
126
591
673
150
409
612
362
711
697
433
218
785
95
815
397
49
326
74
300
398
794
545
326
673
623
525
576
513
807
947
750
515
545
98
820
373
549
369
793
642
910
656
805
874
63
782
897
194
823
427
380
964
750
939
744
367
478
213
872
225
523
370
506
205
916
623
71
359
828
671
850
509
732
833
110
826
389
433
583
265
514
161
453
348
674
901
915
387
803
923
235
585
85
637
80
205
40
371
104
792
980
389
812
626
178
976
745
433
239
707
953
147
262
222
764
219
914
374
209
252
371
864
644
90
237
247
638
468
962
576
901
841
668
521
858
638
733
888
520
753
319
317
561
848
446
93
752
170
902
796
708
603
245
443
419
475
886
695
377
851
637
751
22
913
754
252
60
336
495
8
203
970
959
488
861
888
679
144
517
338
776
861
415
20
186
472
16
878
851
437
204
687
837
391
496
367
116
898
936
33
823
870
95
734
27
819
609
207
495
487
919
184
768
55
951
110
357
721
366
552
324
460
21
606
943
498
385
241
533
108
903
557
147
655
685
314
384
896
574
610
284
271
49
503
400
529
248
59
433
681
306
447
275
668
236
15
93
334
93
314
347
157
248
483
218
876
144
400
412
870
277
391
738
855
141
606
876
990
492
38
791
210
74
218
121
493
206
420
881
633
478
842
445
265
445
785
985
73
859
651
632
454
893
113
159
199
998
483
539
530
206
753
656
486
184
626
383
31
542
991
354
520
290
524
88
792
457
206
877
418
127
712
212
707
798
391
257
361
255
388
223
470
292
523
597
342
529
342
17
605
79
899
386
678
228
171
387
681
577
38
432
162
445
460
351
123
883
716
633
576
954
228
720
354
501
963
441
782
562
160
384
148
3
496
837
417
292
167
468
701
709
875
391
740
376
254
381
984
315
438
112
192
589
991
200
270
885
917
153
683
589
391
652
608
932
649
902
267
450
494
837
570
684
602
659
996
690
585
239
928
267
363
145
776
891
17
481
279
570
120
528
955
694
519
764
829
543
704
1000
586
725
296
904
942
255
623
86
917
685
599
522
516
132
547
325
126
467
871
192
72
816
59
51
860
884
165
406
782
549
508
616
107
134
819
551
922
36
646
250
969
976
98
376
896
613
382
377
651
939
348
334
154
469
657
921
301
552
466
716
171
213
100
371
862
585
435
416
545
19
619
614
555
830
829
400
343
914
365
897
612
67
307
358
428
280
84
658
776
627
422
88
227
570
920
587
115
621
74
583
221
804
269
625
371
233
394
162
827
408
361
833
471
412
920
816
7
333
40
501
251
763
792
416
17
761
14
300
382
169
716
763
373
289
660
405
19
214
31
893
100
222
329
138
740
173
830
53
66
203
98
896
298
668
79
591
920
603
928
291
643
103
923
756
686
140
558
216
946
21
765
621
104
213
999
104
821
354
632
853
195
563
760
991
89
791
968
877
274
297
263
285
972
557
276
677
982
902
289
698
83
277
6
538
415
566
873
930
304
844
971
281
150
702
94
421
913
510
906
269
223
781
884
115
718
352
182
687
909
541
909
836
716
635
498
618
247
649
919
115
728
512
695
977
904
398
870
46
708
567
817
563
243
289
705
242
418
447
548
864
524
341
332
942
572
553
632
768
45
882
31
117
630
47
522
483
297
998
761
867
992
518
502
672
304
129
388
588
924
620
149
881
3
474
96
135
375
822
32
415
1000
777
91
198
333
560
561
51
726
610
882
11
840
852
845
96
910
473
218
278
502
414
984
701
435
205
848
968
541
310
227
303
621
539
512
609
143
449
686
295
379
261
768
460
721
224
399
317
859
113
116
845
975
249
149
789
492
289
539
699
381
234
566
203
750
352
949
675
107
708
5
590
512
407
395
542
502
287
772
347
610
815
291
406
587
668
788
495
530
54
721
91
356
479
968
611
565
495
894
792
88
430
474
548
364
842
513
600
719
353
796
264
42
825
889
524
787
735
378
706
819
123
283
187
723
202
231
248
230
890
126
18
755
723
399
490
259
286
697
331
213
217
324
883
235
503
769
952
744
666
323
169
839
132
339
975
368
639
645
593
729
429
320
354
373
359
928
790
725
334
298
313
85
827
90
47
730
104
37
243
378
836
219
559
280
907
390
439
694
804
279
811
809
618
464
388
702
464
18
618
94
204
790
408
392
416
898
634
818
709
527
546
545
196
248
770
885
429
617
588
891
14
60
364
421
394
870
851
643
307
8
689
531
663
135
321
160
638
606
419
820
980
496
253
891
424
103
191
436
770
869
739
429
857
758
533
705
686
893
9
149
138
458
133
553
704
652
12
529
631
930
699
491
404
137
709
219
370
894
339
457
870
465
223
177
894
946
89
487
377
228
789
82
200
660
975
934
685
901
496
645
81
249
389
580
796
663
700
998
425
141
831
648
439
698
271
346
567
968
933
132
351
964
403
228
306
943
478
346
660
340
124
309
407
519
109
7
747
238
171
555
827
236
879
301
626
450
249
895
943
659
264
493
56
258
186
323
916
295
693
111
154
380
863
146
684
491
518
290
590
433
496
65
840
566
364
255
188
80
112
73
40
390
329
986
581
474
908
87
690
2
331
553
808
330
721
112
885
886
110
603
920
144
210
922
662
701
814
203
899
595
683
826
286
163
774
141
245
439
693
925
888
253
333
474
392
812
568
600
439
76
934
442
961
133
362
81
576
448
574
949
464
375
773
37
786
360
424
57
866
423
499
343
558
400
639
838
394
335
897
430
154
346
606
598
476
13
775
153
203
728
858
901
421
917
480
100
203
325
793
751
219
457
92
241
195
618
359
552
267
417
79
622
750
567
879
416
266
132
885
478
755
874
79
794
44
718
946
651
91
872
697
498
107
93
541
472
263
710
768
212
477
186
904
60
56
435
59
452
891
253
398
599
277
666
49
860
656
98
288
933
244
155
598
407
530
399
254
370
757
507
951
695
861
224
158
656
466
326
591
434
254
755
595
846
528
341
493
547
372
978
961
58
424
698
556
254
787
359
783
985
249
47
869
340
527
488
862
480
755
835
414
501
254
898
893
726
192
830
233
587
645
264
936
448
34
757
784
763
307
785
458
984
191
659
674
933
345
770
186
59
178
521
769
383
840
774
98
508
853
27
431
685
688
842
741
944
592
741
76
354
95
788
890
338
675
850
340
65
201
531
98
208
130
574
735
262
95
18
933
51
204
84
41
16
56
209
783
565
176
412
865
304
969
238
699
410
975
438
975
866
520
623
88
429
900
903
879
940
872
583
953
397
817
966
249
611
76
669
215
524
130
13
640
40
951
695
701
370
906
296
15
723
281
989
517
325
333
611
583
617
840
135
542
490
888
339
851
109
517
920
917
140
914
517
250
466
317
398
452
940
112
737
130
985
634
44
13
992
890
785
314
624
190
562
836
239
175
471
597
126
912
713
244
304
592
526
607
536
688
558
747
867
338
346
238
937
226
101
457
926
61
141
511
891
208
639
713
322
800
738
663
323
119
399
662
506
708
204
185
731
471
8
587
586
362
328
374
919
606
136
626
661
912
923
560
822
553
166
76
31
979
487
114
618
543
903
951
978
832
311
647
355
175
37
390
274
529
810
920
931
999
11
905
695
702
522
212
551
961
904
154
969
818
143
590
904
530
4
464
537
576
360
99
936
101
859
975
419
268
405
691
64
260
70
520
566
445
744
10
629
937
464
667
378
328
299
110
203
318
213
945
659
407
690
111
11
94
76
735
899
544
529
222
397
839
522
713
387
846
212
992
271
881
989
972
656
249
738
527
892
752
596
589
179
21
197
987
827
447
532
212
64
113
723
76
501
880
335
615
970
755
88
853
560
886
508
208
36
994
256
22
815
835
814
407
975
519
118
60
805
432
642
198
499
913
428
151
574
874
536
710
693
19
407
482
24
299
944
564
735
163
15
151
847
208
561
720
746
203
295
100
607
274
102
482
597
176
155
712
54
171
522
272
556
938
942
534
158
745
403
901
157
441
765
252
885
443
431
568
736
335
715
253
811
925
44
451
859
54
825
799
64
544
833
646
377
861
662
222
934
995
785
581
492
945
753
495
866
75
740
916
704
680
861
552
667
347
803
584
511
861
886
600
607
435
742
425
400
662
43
872
551
176
606
903
521
248
523
484
965
406
839
433
322
622
89
911
642
698
887
328
48
380
573
449
909
956
327
71
299
704
967
797
706
690
670
711
775
792
886
136
720
569
825
247
997
208
726
213
776
994
178
70
763
980
206
218
508
417
280
721
224
188
203
726
886
972
527
38
490
740
949
936
962
718
399
497
878
767
972
314
681
14
790
635
387
465
906
964
452
502
228
446
548
515
490
362
432
601
154
232
687
432
386
517
880
984
174
680
508
174
955
252
353
445
451
355
677
130
984
948
286
667
701
149
886
117
278
671
74
720
957
858
937
603
681
63
582
784
24
652
666
324
162
128
710
42
462
776
411
272
89
549
526
618
229
835
637
987
414
302
815
479
959
356
36
147
18
971
837
285
743
676
949
410
877
211
827
581
946
753
883
133
156
639
701
521
420
352
463
681
576
718
834
911
397
503
757
837
555
120
115
50
682
456
664
786
230
433
64
438
336
314
612
784
267
652
561
294
786
113
60
485
88
685
181
504
399
858
321
426
750
183
543
816
806
236
641
503
483
706
611
786
168
127
863
857
600
734
170
377
376
410
272
371
54
766
727
473
974
384
618
311
918
958
587
390
851
182
695
467
741
716
151
545
220
701
405
991
490
120
552
546
596
500
147
348
999
348
228
398
585
440
45
171
795
697
696
143
855
589
349
650
633
890
599
369
306
529
424
128
147
810
838
954
268
277
570
544
186
47
598
907
33
757
32
129
567
507
642
959
500
861
56
160
111
281
833
580
861
274
20
402
370
482
806
277
133
322
569
68
137
861
151
136
306
858
614
921
91
186
801
318
26
867
781
295
229
92
251
302
545
857
279
328
226
387
699
822
651
641
930
404
741
45
612
28
710
143
972
360
232
820
852
595
582
102
112
806
15
6
922
964
582
321
7
209
671
735
332
227
693
194
793
479
331
719
667
576
368
371
681
48
455
381
514
524
915
414
868
633
651
709
332
214
799
342
253
769
523
885
630
368
435
784
664
364
316
836
612
501
253
298
381
144
390
464
384
381
256
689
638
256
932
422
344
549
581
741
25
653
139
336
418
235
895
891
158
961
22
526
603
266
481
700
991
420
188
97
292
56
162
755
851
14
249
868
135
486
753
527
237
865
499
96
242
427
471
936
722
821
457
904
474
330
350
728
731
194
751
818
186
702
782
122
783
662
80
573
707
522
197
398
581
392
430
160
953
38
619
593
466
311
520
260
970
629
219
491
692
699
120
494
266
308
430
655
17
541
370
909
397
880
821
709
744
633
478
894
75
798
649
650
867
169
128
585
394
655
295
560
555
778
266
229
389
128
456
925
309
359
330
187
796
849
729
629
662
727
680
137
193
817
397
653
487
377
142
233
247
216
594
232
271
414
443
420
472
510
542
671
504
622
137
611
963
911
811
323
531
662
583
400
906
698
209
954
749
723
290
910
689
933
1000
985
100
250
230
50
829
432
956
295
986
47
467
477
288
522
311
999
113
947
335
367
812
869
597
320
868
634
247
355
487
468
456
776
812
943
688
518
99
724
3
675
855
355
277
702
72
42
884
120
49
746
107
260
683
824
198
376
807
453
830
158
429
312
637
228
352
668
566
904
508
218
294
711
241
75
515
511
512
643
879
32
6
127
822
327
811
919
251
96
274
82
257
930
370
299
185
203
105
175
543
369
12
136
481
389
603
233
908
436
606
467
588
855
919
895
736
540
109
981
490
864
2
971
816
74
527
515
385
813
468
693
48
186
971
66
183
69
906
867
791
655
591
767
168
562
242
951
832
365
554
487
148
368
232
530
736
755
426
954
370
852
910
365
830
927
559
280
657
143
659
991
968
348
61
843
643
438
586
394
593
242
950
120
750
528
80
650
854
568
998
663
602
349
72
206
850
545
92
795
583
84
968
329
307
886
350
840
678
13
601
690
144
644
878
1000
196
275
728
231
9
203
582
695
656
441
728
651
911
315
446
284
210
727
855
38
658
190
479
551
156
200
375
888
566
31
543
798
813
753
670
43
87
304
724
389
480
870
946
933
423
325
617
559
779
184
38
442
808
448
695
758
885
2
27
18
267
863
388
508
630
883
699
41
427
808
889
937
403
179
502
794
112
36
118
107
616
528
139
277
625
7
955
588
950
684
194
24
970
262
270
714
546
441
944
538
914
288
990
695
31
856
292
269
543
418
522
717
722
995
873
441
830
344
585
828
697
928
183
967
676
354
438
148
761
472
1
93
142
758
77
621
604
138
729
609
10
464
520
379
655
302
253
479
138
254
153
793
162
859
752
599
43
728
577
833
114
653
659
17
234
283
62
459
259
383
447
364
483
925
211
648
797
858
146
427
77
270
885
329
987
717
608
236
677
523
79
484
85
435
179
435
208
147
574
538
950
826
395
97
249
355
320
19
547
24
201
728
960
580
877
369
410
784
74
77
406
897
211
66
180
417
603
290
198
276
421
30
907
895
664
918
193
409
355
311
796
642
598
541
40
67
714
516
362
986
506
559
885
452
403
191
138
237
607
108
763
409
445
908
995
824
653
199
100
258
240
819
497
522
71
813
211
137
168
233
251
113
54
523
685
8
786
776
148
195
10
8
76
914
935
447
77
187
959
175
808
549
221
578
302
541
206
644
206
452
409
462
15
849
567
944
227
19
951
233
120
170
165
121
208
353
344
613
147
50
317
596
69
213
91
100
398
905
402
386
470
329
496
630
935
403
520
337
285
461
864
677
227
56
139
330
938
703
724
968
432
32
701
716
218
170
707
890
968
285
171
882
996
788
927
157
659
774
626
113
356
247
232
131
467
224
502
519
747
291
170
696
80
297
386
936
758
761
475
626
88
837
866
574
18
365
109
512
566
454
257
203
640
521
547
998
972
333
673
841
568
608
666
820
998
162
445
217
889
263
109
230
449
4
990
919
786
347
731
243
822
261
702
95
511
381
576
192
478
144
901
435
813
5
673
551
267
429
264
122
355
29
921
79
751
440
431
156
608
939
524
193
589
818
558
57
65
814
550
734
955
603
882
336
473
71
893
199
834
711
749
622
513
224
57
568
211
514
455
753
698
825
191
830
509
266
118
5
436
515
847
466
847
840
154
763
466
796
494
605
668
39
158
240
576
35
838
101
488
226
732
862
245
119
779
299
88
511
250
848
866
29
559
813
837
289
2
421
847
786
697
990
891
348
507
595
252
400
673
861
63
526
64
296
25
839
924
918
138
200
329
482
717
87
640
205
623
309
53
437
171
20
494
216
990
883
537
92
723
716
660
103
609
287
596
987
780
952
278
36
610
554
986
867
89
929
471
238
50
666
962
823
925
4
630
660
990
438
971
38
664
64
282
558
458
354
655
628
548
12
710
84
122
888
842
330
365
261
240
109
5
152
125
388
566
213
225
612
389
149
972
447
46
757
955
380
934
501
238
457
770
321
709
250
462
639
397
597
977
268
879
317
813
986
845
31
86
279
34
646
257
918
947
813
196
921
100
953
308
424
670
234
181
658
262
34
677
653
715
102
930
659
493
31
953
468
41
45
814
637
918
797
901
689
153
780
401
274
975
85
487
745
457
622
371
994
25
599
587
36
936
600
330
402
57
911
934
165
441
589
869
182
378
731
343
989
272
649
939
506
460
386
840
788
636
121
421
450
837
239
543
244
903
129
183
615
608
885
915
508
623
409
327
258
526
959
918
791
85
232
567
6
259
251
105
663
723
880
311
829
55
873
52
98
870
479
423
319
579
152
414
950
957
19
883
996
90
451
200
902
265
859
42
591
938
158
801
29
496
771
942
794
128
540
928
242
316
794
465
531
479
692
719
779
232
148
685
803
431
42
578
13
100
284
233
115
646
702
174
54
577
376
7
406
323
505
177
369
640
412
579
137
309
645
816
404
245
847
56
514
635
724
207
351
727
946
380
762
95
959
108
147
734
660
476
529
680
466
180
639
223
90
68
570
923
623
441
654
83
294
606
340
239
736
801
10
907
736
417
565
979
112
633
188
808
914
626
302
5
735
762
343
174
750
498
593
707
571
76
34
225
283
120
123
589
62
973
580
606
477
513
981
124
209
586
897
553
818
257
969
93
254
481
64
646
94
606
595
184
327
656
955
224
698
153
195
56
128
251
667
576
152
539
943
754
927
188
714
525
170
315
762
917
192
72
702
306
52
799
301
611
166
394
565
466
944
832
165
234
906
80
809
806
474
995
468
139
137
646
231
248
441
833
972
229
697
604
24
140
483
265
216
153
593
996
626
578
401
975
875
662
711
386
411
358
363
869
705
963
382
763
828
153
525
229
727
41
29
269
684
32
806
564
82
516
146
697
750
307
515
690
903
997
908
584
62
56
918
113
923
114
989
599
378
391
494
329
481
900
394
271
989
161
734
331
195
808
196
113
505
649
688
251
572
702
265
77
210
53
650
389
456
897
22
759
563
187
218
47
433
970
488
960
964
106
367
786
790
887
484
483
344
963
302
762
730
677
545
280
884
361
302
977
76
679
917
983
877
739
856
310
62
641
370
265
730
830
829
822
329
138
845
599
461
71
416
257
377
118
900
584
353
924
55
724
15
953
572
182
815
601
847
528
270
702
581
626
110
915
64
868
17
501
639
402
905
988
598
521
559
410
855
457
148
558
444
26
556
368
793
909
692
324
1000
349
883
163
426
418
929
935
696
248
686
911
399
972
68
930
267
395
148
606
191
781
11
174
493
828
528
319
193
818
377
439
10
723
786
350
592
779
954
110
684
117
816
326
621
185
10
529
440
728
24
268
556
175
89
589
793
711
178
108
650
337
903
933
744
368
128
870
909
908
965
32
783
899
611
99
337
814
539
226
252
998
621
167
761
733
127
849
409
610
455
641
955
833
501
786
960
745
198
771
361
273
200
254
486
159
82
504
869
433
229
973
494
214
674
600
779
500
860
254
70
554
7
483
657
305
778
417
991
799
440
452
417
772
225
225
614
890
275
639
589
80
683
874
29
151
792
679
789
64
46
258
184
8
225
658
202
302
735
446
269
301
34
955
882
801
144
770
196
990
804
50
394
224
588
487
22
583
330
216
439
818
744
620
515
24
647
507
249
987
995
585
30
638
67
544
529
139
266
468
871
356
109
886
35
400
512
103
1
529
3
288
769
170
643
44
487
453
326
723
63
168
93
516
471
31
691
567
569
755
325
103
509
265
348
962
505
829
146
383
798
482
482
203
739
994
754
499
941
792
470
841
953
1000
289
201
174
204
376
996
592
87
679
220
272
581
557
320
474
415
391
506
964
338
696
226
183
572
218
894
537
857
248
460
263
54
103
552
106
177
362
987
68
219
340
293
156
326
464
552
446
429
804
401
559
671
62
211
675
151
272
464
194
365
250
441
100
712
672
723
197
980
838
335
140
550
490
799
87
312
244
117
966
760
424
855
802
762
708
730
116
65
848
863
263
888
913
310
471
702
495
768
289
355
359
95
445
13
791
19
340
663
905
80
412
787
766
306
205
911
548
332
653
407
43
937
234
924
482
362
282
748
896
96
430
582
751
84
544
457
110
108
27
703
493
424
598
916
432
714
763
728
354
707
824
605
663
635
133
777
304
843
390
506
25
884
289
925
401
227
746
803
660
75
295
292
808
526
798
663
121
544
53
320
348
661
843
45
988
90
514
459
87
561
460
332
188
804
983
785
614
90
387
89
237
891
787
912
42
395
628
309
494
355
873
626
118
376
990
514
825
849
137
654
303
766
729
539
979
430
585
534
515
139
674
146
209
551
526
999
546
455
300
500
120
637
118
461
563
671
423
421
863
782
40
288
411
99
427
530
181
235
417
628
625
472
250
134
303
753
201
934
725
850
534
960
757
920
735
876
680
489
780
596
941
636
338
259
191
286
348
573
972
177
72
779
800
66
977
671
745
728
235
993
362
599
266
587
718
6
633
223
339
615
372
891
27
20
316
380
906
209
587
518
141
365
402
855
412
582
495
74
100
723
444
598
887
889
456
899
583
99
120
922
674
252
76
403
791
833
551
1
129
165
194
320
950
53
907
689
874
651
515
11
271
760
163
358
397
926
973
54
135
50
770
149
143
801
461
144
550
798
42
870
59
416
144
182
482
186
846
224
219
54
111
264
937
475
183
433
363
843
795
758
813
395
944
71
527
594
439
657
805
924
161
397
10
191
114
973
365
845
168
542
152
822
499
345
708
89
643
418
389
810
765
533
939
133
101
475
465
634
25
377
227
161
184
814
367
201
795
509
810
759
691
499
32
613
991
923
301
599
897
955
53
518
498
474
1000
516
926
224
68
465
232
585
823
93
81
316
905
881
586
424
619
565
890
421
532
328
833
610
216
672
730
680
44
796
309
338
125
781
884
565
796
553
707
489
851
751
759
865
359
572
745
420
404
863
806
148
486
942
262
286
142
34
924
798
671
758
779
359
877
449
811
405
396
345
103
793
637
930
390
865
546
345
598
427
663
16
385
49
698
265
145
828
367
346
665
79
970
433
428
319
20
210
80
671
53
699
374
304
538
634
339
193
686
183
603
836
269
783
687
566
161
889
673
972
908
706
829
165
22
900
318
15
240
255
5
416
760
972
5
430
803
311
618
692
885
201
113
320
610
800
138
948
875
743
328
374
20
175
452
182
375
616
165
924
545
580
992
426
994
864
587
382
545
508
163
583
695
125
223
639
585
463
140
927
978
379
119
816
774
74
528
605
488
106
869
340
765
786
932
147
80
990
701
334
840
499
159
732
524
783
714
692
203
168
478
654
654
177
72
20
522
292
420
916
665
295
73
940
132
505
568
240
851
315
704
562
553
306
819
748
941
349
993
692
776
416
102
249
294
488
272
187
744
359
741
475
606
860
769
40
773
298
447
176
349
377
44
813
560
216
828
146
105
351
2
176
881
93
121
974
51
334
607
87
109
423
167
954
288
320
51
578
390
619
426
974
144
218
801
664
80
341
164
668
520
495
617
187
677
868
225
493
143
123
433
827
451
554
806
459
945
125
646
130
704
363
398
338
632
412
169
838
72
536
237
329
110
939
130
205
131
518
561
117
87
338
807
552
400
432
378
344
860
581
181
241
379
66
190
9
44
17
551
65
793
161
750
835
754
211
125
455
554
50
463
34
849
907
315
976
249
178
302
814
123
52
345
968
46
582
463
706
103
643
62
483
321
988
966
888
680
749
892
356
311
687
597
132
692
591
239
487
592
174
862
447
355
286
49
242
172
4
498
467
916
254
986
782
677
84
931
423
792
837
410
472
49
439
410
581
999
648
848
953
365
965
74
564
529
959
14
909
768
167
6
135
407
537
432
405
992
439
614
311
217
345
169
386
844
13
894
438
893
654
60
163
262
42
645
419
608
513
856
485
896
76
943
914
184
833
655
975
947
707
887
292
654
234
724
165
459
551
746
688
273
808
204
796
428
136
167
871
322
773
625
535
242
418
588
659
965
3
642
504
250
713
717
929
772
399
687
129
163
601
389
482
718
398
461
430
374
981
806
124
515
798
966
912
65
120
824
229
205
393
700
693
731
708
351
213
203
302
56
647
547
837
411
578
449
247
673
981
308
637
41
876
810
938
685
610
934
594
872
373
216
681
222
110
404
916
397
312
44
428
335
881
720
219
902
474
736
27
984
824
192
227
994
675
124
740
828
697
875
926
875
100
789
236
878
500
484
911
962
846
460
35
976
929
577
718
467
346
335
25
945
850
428
348
633
438
35
945
656
823
688
203
177
269
164
183
39
869
303
207
312
277
79
581
655
773
985
332
954
802
219
414
794
999
229
812
230
676
421
921
235
22
979
170
167
561
355
205
139
213
195
604
217
553
564
440
651
153
158
77
288
913
187
113
198
334
204
614
302
983
759
388
693
178
617
919
795
679
148
161
37
580
685
465
461
350
632
368
304
118
282
518
299
163
912
608
495
970
606
361
398
884
663
877
399
364
794
59
592
273
836
239
720
196
586
941
768
987
997
310
683
463
457
719
93
591
450
407
556
727
473
786
817
521
115
348
412
393
596
943
98
278
306
590
124
491
271
192
1000
174
14
188
601
734
917
253
146
985
56
778
656
222
816
968
688
619
411
999
153
334
559
74
794
668
909
770
569
706
527
74
7
414
654
621
799
58
521
676
477
530
375
319
311
456
554
32
605
51
556
295
418
601
769
166
97
473
735
305
914
345
737
618
483
842
445
644
69
805
75
524
65
749
531
755
245
584
346
782
27
909
483
130
658
87
434
891
627
615
358
634
639
479
375
582
966
393
973
477
324
617
860
282
921
650
873
222
523
783
445
741
20
708
791
258
658
41
878
335
285
727
267
606
546
306
108
892
507
672
846
672
136
913
920
626
377
792
219
718
888
429
761
8
134
822
172
34
183
223
130
459
557
91
914
343
349
822
385
820
649
175
579
904
547
372
6
954
712
766
634
863
340
377
381
557
529
549
189
331
32
994
420
715
983
464
235
88
978
960
195
47
485
672
263
781
7
99
502
702
192
963
884
872
653
687
708
459
967
62
727
321
68
856
55
372
722
557
183
531
536
598
582
974
729
112
883
28
917
804
988
607
316
723
277
216
427
157
918
423
287
221
378
478
923
852
231
615
72
488
630
789
87
126
2
998
87
766
78
398
514
863
870
493
494
456
412
561
793
194
696
96
658
857
966
648
982
968
831
622
609
246
994
84
830
336
204
468
464
651
958
224
539
807
902
203
724
477
606
994
870
891
260
691
766
599
224
93
882
664
329
789
722
491
529
880
701
849
150
823
896
811
254
540
104
201
199
643
83
241
463
756
834
759
612
740
765
802
614
162
826
197
744
162
359
556
82
97
680
691
5
141
10
948
259
730
261
290
872
301
958
428
416
282
856
422
616
820
115
406
449
375
233
453
83
514
462
656
77
693
143
897
915
365
462
105
959
609
3
18
327
61
6
36
275
569
38
214
708
998
260
407
802
662
442
722
592
836
484
942
600
336
572
855
451
743
907
904
295
299
678
148
29
995
53
248
944
778
255
58
139
822
122
946
336
785
447
701
563
544
746
293
732
198
475
768
493
41
290
88
549
393
210
19
387
969
617
87
319
867
502
273
168
927
823
491
296
361
414
908
346
378
602
238
875
348
676
756
645
207
984
435
780
541
513
858
377
623
456
649
959
757
914
198
387
332
601
266
243
468
978
734
930
624
114
554
850
780
426
154
11
921
109
919
953
830
100
920
513
300
820
837
994
242
803
868
550
717
141
595
478
418
892
223
425
792
486
43
543
853
604
872
3
137
754
23
732
346
747
461
825
433
964
810
215
726
677
291
835
551
517
90
544
262
922
338
112
437
319
462
63
325
512
764
273
777
477
598
528
93
86
418
360
301
826
641
356
94
482
575
827
392
641
159
356
146
412
323
507
876
867
733
735
210
288
217
60
61
959
421
93
55
688
606
760
388
781
342
941
330
507
639
873
550
723
838
599
640
705
467
672
232
582
802
627
599
21
378
999
952
237
295
231
693
253
884
367
539
130
650
187
962
76
189
990
531
14
623
512
45
308
389
26
335
974
674
206
60
270
50
82
50
835
601
482
232
814
106
245
471
811
545
981
496
232
605
505
752
166
449
250
715
977
541
186
932
474
421
142
945
998
50
376
873
559
151
330
211
254
404
914
930
497
618
993
678
970
934
783
321
896
334
277
520
95
118
65
753
19
754
372
802
409
705
584
595
482
874
220
89
526
382
854
20
651
896
742
532
355
794
973
262
555
724
75
334
134
870
642
602
804
353
699
253
34
4
562
939
185
374
915
123
496
237
100
559
66
851
165
334
736
616
689
161
734
502
919
814
842
667
657
349
281
698
730
143
372
342
136
310
935
399
382
958
693
571
35
389
272
764
472
1
242
936
496
165
489
387
20
524
200
466
155
852
571
859
186
148
609
691
709
256
765
788
170
134
719
193
738
244
885
814
805
768
561
736
641
988
377
98
540
245
282
125
945
903
282
139
665
9
322
568
181
575
51
615
496
731
733
187
332
692
632
543
36
704
240
984
413
491
651
680
606
657
383
347
116
455
526
231
63
219
525
994
145
388
524
809
817
393
37
12
437
395
224
207
24
964
645
777
391
538
804
685
960
803
830
971
927
656
467
80
421
127
367
494
858
842
500
414
597
339
926
27
486
933
300
157
940
547
532
857
175
440
135
229
212
592
658
612
56
287
823
386
64
890
672
582
894
391
613
83
178
903
288
947
320
357
143
788
84
572
397
73
85
30
791
233
851
998
761
443
690
475
506
925
714
685
621
397
202
954
534
464
211
89
916
141
963
927
132
471
42
993
240
818
523
51
958
373
348
121
452
191
476
209
20
454
447
699
986
17
394
461
618
102
906
338
26
574
886
425
460
833
449
959
632
33
857
873
710
221
889
738
156
109
481
2
318
34
186
358
566
291
272
334
43
483
121
480
946
717
531
377
40
277
73
888
218
126
997
689
204
443
932
366
69
55
944
205
244
110
992
158
706
381
677
309
117
736
961
741
118
271
762
822
982
797
103
293
499
599
76
906
453
823
392
8
255
148
261
695
811
394
172
191
485
259
245
544
333
308
784
305
607
935
771
639
559
866
544
537
270
559
654
135
65
380
233
120
338
387
842
74
306
29
240
305
443
438
446
675
618
991
900
401
452
534
523
603
345
31
265
289
76
290
286
790
491
66
768
750
44
966
261
269
739
234
298
283
744
220
705
205
585
589
105
534
796
540
467
680
631
453
355
894
689
306
695
303
147
86
29
953
733
910
967
159
219
155
505
44
565
200
172
654
680
802
573
3
234
185
883
20
337
231
650
491
27
173
978
740
240
965
392
996
611
671
73
10
633
142
514
850
601
963
695
13
813
401
94
642
907
946
447
466
94
651
563
286
697
963
100
818
549
865
664
868
524
639
109
106
491
724
870
438
179
566
189
648
236
584
187
375
611
712
953
807
248
392
636
2
414
200
654
496
700
528
390
825
801
402
13
141
317
454
66
925
209
839
994
588
56
980
459
215
67
367
80
373
878
579
859
267
567
966
27
6
813
605
82
294
232
761
233
630
883
483
922
835
338
862
70
416
158
234
645
671
597
758
555
928
882
111
482
516
321
741
71
764
592
279
855
966
146
213
899
437
232
669
549
632
18
37
738
563
180
976
535
3
771
119
575
576
667
758
673
159
582
289
138
395
852
399
838
173
819
873
808
947
594
970
855
886
856
990
392
123
538
4
293
727
170
757
910
541
601
590
631
715
837
586
785
579
761
815
249
560
284
682
812
659
97
185
211
384
838
665
340
977
106
526
399
28
453
590
264
153
749
22
75
68
573
849
214
570
791
631
841
673
1000
126
749
384
751
598
240
255
349
902
666
953
406
41
120
364
123
327
71
599
513
639
212
515
234
173
307
941
666
987
912
220
313
12
478
971
620
474
666
92
909
191
362
812
841
494
127
58
974
333
948
502
789
47
220
630
639
993
936
395
103
426
329
633
780
873
601
725
483
1000
256
96
626
222
292
357
132
249
730
213
887
257
247
170
18
768
420
316
333
522
952
776
331
548
275
717
291
732
407
771
738
372
683
576
276
51
966
797
818
626
144
759
494
121
83
112
566
303
992
970
149
817
701
694
446
113
124
821
539
673
477
663
941
743
918
384
125
746
246
828
258
148
502
581
825
154
338
870
506
131
832
972
905
437
759
885
821
20
300
82
770
843
934
408
572
564
878
898
48
895
845
149
396
877
112
551
476
583
30
823
484
44
209
140
966
940
532
602
341
246
91
856
329
225
832
508
454
60
822
126
400
140
378
110
847
134
475
515
513
145
888
143
814
987
262
127
594
706
835
874
414
212
218
745
502
296
303
969
688
336
650
990
47
369
267
280
208
893
785
244
398
858
711
893
276
344
670
61
971
264
488
838
925
350
47
392
476
464
86
905
61
986
635
421
526
611
579
523
997
683
647
72
37
687
523
451
342
763
138
461
110
943
789
942
825
432
797
525
493
894
30
684
119
838
567
645
241
489
145
276
773
934
801
473
264
148
262
40
524
862
838
6
24
870
635
406
838
855
400
143
292
333
312
10
21
924
45
742
651
471
138
982
379
813
981
593
473
988
688
962
436
119
541
85
680
240
42
746
726
288
599
425
23
982
37
667
213
343
628
252
429
670
391
153
512
545
420
715
114
633
145
614
165
362
542
583
259
40
184
19
281
55
299
98
926
961
61
888
143
949
583
933
930
933
790
473
529
948
308
578
487
640
912
741
608
10
544
375
285
981
95
208
656
513
572
767
497
121
512
945
308
615
618
577
173
777
299
901
894
798
934
420
177
541
538
966
663
441
579
459
528
309
345
937
379
856
929
173
387
917
505
384
957
104
264
808
553
271
100
606
595
183
556
979
108
885
660
261
496
877
58
778
906
630
600
386
953
127
258
225
942
619
669
64
638
459
152
605
487
699
704
531
214
907
924
870
102
375
901
715
269
470
370
721
226
493
98
216
166
818
883
91
704
567
408
10
422
823
302
62
697
382
63
9
964
345
858
400
397
37
949
102
63
624
18
246
49
561
664
736
650
580
360
673
286
858
213
630
602
986
147
950
992
769
259
639
229
427
248
629
736
547
387
136
724
285
923
910
813
593
906
269
556
323
949
428
747
342
797
282
330
665
326
583
464
227
179
81
671
740
67
170
438
361
183
292
173
326
938
334
595
989
679
449
966
395
66
940
201
309
850
263
679
294
403
141
697
701
260
726
16
403
823
569
391
543
960
697
268
485
919
884
2
144
306
265
110
438
593
762
294
167
31
338
190
895
225
833
637
367
557
727
536
325
115
962
563
955
251
321
147
301
930
306
977
974
578
25
45
441
45
745
269
923
838
254
124
138
176
192
564
155
411
717
104
661
622
106
509
46
216
589
403
485
737
867
290
423
643
110
46
714
928
176
306
970
35
612
874
833
507
468
501
51
595
614
306
681
163
329
799
452
706
472
468
183
850
450
273
825
509
383
604
938
386
71
626
546
902
42
640
613
29
253
507
196
553
269
736
951
749
225
654
320
294
941
806
269
15
362
660
241
949
989
469
731
749
369
712
956
643
404
109
884
779
148
461
611
178
782
727
901
531
339
799
804
580
883
423
1000
877
899
255
106
445
727
456
172
444
598
660
901
856
479
925
81
210
348
922
685
427
666
232
309
51
806
239
363
453
994
853
112
651
404
468
275
896
771
635
744
355
212
452
266
567
561
251
990
896
994
888
954
241
537
867
104
235
644
160
844
66
869
404
163
374
308
482
460
155
264
352
54
541
47
160
590
95
474
600
447
551
282
2
110
780
373
840
41
410
853
886
803
95
576
757
524
212
993
569
842
309
494
808
862
69
377
516
496
22
986
683
491
81
966
623
791
509
739
661
829
952
844
120
801
110
209
732
311
928
352
812
101
738
117
995
396
191
357
204
509
988
619
614
369
567
536
546
871
128
993
496
991
302
94
671
698
498
519
473
539
283
423
322
494
814
659
164
850
233
569
381
578
346
908
500
42
713
915
262
10
509
776
530
975
363
876
957
142
691
211
362
649
570
354
833
618
151
623
989
823
491
910
293
42
47
664
627
748
711
105
519
489
38
680
412
65
29
857
297
236
97
78
42
928
689
481
377
439
737
610
421
582
35
831
880
838
27
725
424
1000
268
66
661
123
710
716
655
325
881
360
939
477
241
604
860
108
939
806
356
96
379
360
627
66
741
776
655
481
312
834
414
150
126
68
152
659
275
693
601
430
685
169
177
46
239
713
584
444
120
25
691
349
212
243
209
13
91
459
89
934
140
298
612
391
238
578
677
994
248
895
161
167
300
280
482
721
343
286
99
616
686
572
258
967
363
841
690
992
308
225
666
960
731
31
958
703
992
433
883
405
210
756
846
386
871
73
834
471
55
39
818
56
283
385
771
333
851
186
955
916
450
845
412
357
332
284
920
208
852
944
767
872
936
421
678
475
834
636
704
627
86
439
355
592
531
101
32
296
38
882
425
771
244
433
162
342
826
11
305
697
18
789
470
779
797
37
140
277
380
916
384
511
634
116
191
685
164
522
103
51
441
519
494
182
107
749
760
193
153
268
938
552
165
438
466
834
945
797
525
196
313
96
21
389
571
936
770
227
2
342
927
378
357
623
693
797
413
916
862
678
21
259
918
282
922
604
824
167
14
500
716
361
237
589
622
541
823
356
988
644
386
942
364
97
802
496
382
227
583
730
595
468
96
659
595
794
165
495
804
898
693
970
994
204
260
736
997
540
93
757
145
373
101
993
906
339
384
383
810
102
125
376
175
275
6
998
890
326
662
967
351
648
922
540
669
43
999
588
736
686
745
472
307
977
972
470
429
464
784
727
208
61
591
472
653
147
92
532
364
629
568
824
657
174
637
456
777
35
726
152
740
772
808
78
113
638
922
308
134
686
612
176
331
182
482
427
501
907
192
173
787
220
910
826
852
429
943
198
920
985
991
924
613
733
163
117
205
921
438
622
1
745
580
825
399
918
434
949
575
323
954
390
667
201
771
515
170
781
169
3
631
694
612
263
550
412
861
215
145
872
934
71
641
187
11
669
92
619
413
262
196
366
244
499
574
943
374
948
689
165
414
921
416
320
598
91
963
241
316
107
12
385
444
44
648
791
870
511
361
317
7
394
219
224
365
650
261
29
896
952
346
394
553
23
450
401
604
489
394
214
197
547
795
924
801
909
229
769
775
178
955
39
251
666
619
770
466
679
455
107
122
841
156
100
389
631
979
750
789
442
170
336
641
262
243
228
917
93
329
23
919
438
72
289
778
830
792
654
722
374
741
443
720
316
819
304
522
968
327
102
869
869
38
304
392
931
289
489
443
952
212
296
51
210
363
320
510
902
740
391
827
333
133
303
110
187
736
231
653
30
232
450
896
490
311
638
11
820
856
61
133
671
238
849
644
530
493
644
609
488
720
639
30
288
337
584
183
380
238
792
356
500
251
148
568
522
620
739
388
381
783
769
30
780
677
887
293
473
136
298
802
295
114
176
995
72
311
303
421
702
54
344
219
232
735
797
866
799
621
129
317
858
479
358
384
184
11
451
238
47
888
798
792
586
734
752
842
200
238
225
658
705
304
567
433
238
412
983
223
92
268
792
280
448
413
144
73
893
76
973
171
120
599
534
804
51
106
864
600
552
870
960
709
28
237
43
864
647
232
848
503
240
970
495
508
516
346
240
146
556
41
946
639
802
900
842
740
330
331
466
56
629
844
244
388
332
307
225
143
874
263
984
904
234
325
510
388
831
630
349
268
544
195
497
108
819
788
404
953
886
430
892
709
78
791
293
730
585
52
592
771
214
798
54
866
918
717
296
622
898
778
204
689
791
43
581
919
775
64
800
659
556
264
805
635
257
16
106
729
59
574
974
182
99
877
943
315
570
596
301
763
343
99
376
940
301
243
30
632
734
762
656
80
640
624
777
74
996
554
638
270
211
625
703
942
31
711
671
843
55
390
227
471
219
980
624
997
257
22
909
759
346
920
407
882
7
525
92
967
631
872
437
290
932
917
622
558
917
24
137
793
619
467
112
170
829
174
505
796
858
321
44
448
765
835
291
676
341
970
2
270
517
930
623
657
704
981
946
415
438
189
877
584
553
444
114
136
950
726
722
769
138
279
262
445
437
619
608
793
582
744
463
199
773
750
286
992
253
804
957
882
14
769
818
845
775
796
941
1
737
512
525
350
26
475
847
984
466
211
760
75
963
921
715
841
197
363
185
636
697
67
63
579
796
111
353
273
805
276
624
190
884
924
19
316
804
660
708
786
438
882
292
278
596
460
792
457
469
107
230
927
551
740
517
813
328
291
80
326
586
263
83
586
640
329
598
365
55
325
331
56
255
337
150
821
520
263
692
258
936
26
589
103
136
394
656
862
483
655
642
78
251
138
337
320
326
770
67
589
188
87
944
504
318
465
759
722
952
217
436
855
368
35
101
234
678
843
51
493
664
144
133
896
757
109
227
316
151
889
655
290
886
900
969
319
488
608
602
271
103
842
836
398
929
797
486
680
25
821
391
558
948
410
317
600
971
111
523
542
103
615
905
552
57
762
392
907
477
496
572
564
590
566
691
489
957
428
856
818
331
395
846
814
472
808
137
271
28
916
248
477
322
269
593
47
461
544
12
476
911
930
356
135
629
968
887
494
893
991
606
952
676
987
223
398
805
353
157
804
674
489
331
149
452
255
660
856
528
858
280
981
909
268
191
81
333
880
469
660
443
235
119
432
542
704
900
516
677
8
458
178
274
173
570
388
692
746
562
552
673
192
515
257
59
74
230
440
512
519
318
106
576
658
338
1000
975
573
667
67
603
641
190
380
519
578
409
498
739
984
931
267
630
508
611
533
464
385
836
346
307
642
433
733
169
996
138
692
413
179
611
189
279
110
550
112
202
415
166
656
468
715
469
334
345
739
321
736
304
425
268
460
119
765
921
2
318
745
681
82
70
254
646
604
507
385
82
972
884
961
930
261
275
220
800
119
7
313
210
282
790
83
198
599
231
793
456
73
837
873
121
58
303
195
143
836
209
731
113
817
368
347
744
911
196
269
92
322
730
278
676
83
549
267
152
687
22
431
404
53
385
180
531
910
212
369
803
336
326
523
536
694
600
57
100
608
670
980
951
739
933
543
368
56
134
29
315
471
198
635
847
896
217
271
575
307
931
501
595
446
595
416
785
128
419
448
704
787
189
936
673
618
339
781
61
280
67
329
425
78
673
460
939
523
734
343
156
937
951
45
324
607
42
788
32
797
864
952
314
993
650
437
419
744
236
297
356
164
750
421
438
685
332
863
885
986
989
787
145
870
894
296
807
55
761
311
492
847
787
134
823
167
790
848
104
47
945
927
666
853
164
618
463
781
111
180
795
11
164
399
322
610
7
906
886
261
546
323
409
712
929
872
414
515
821
506
224
360
763
439
363
269
722
874
110
245
84
33
327
385
489
587
573
439
838
872
613
937
470
976
959
985
656
947
145
698
187
132
872
300
8
290
579
29
367
207
53
511
683
922
452
756
635
215
555
771
691
680
87
452
598
402
92
279
682
126
188
412
562
100
287
49
160
68
117
80
610
983
801
394
745
76
131
562
427
28
48
350
152
386
773
802
368
671
967
786
543
413
460
884
950
998
209
488
180
644
207
523
207
467
702
713
697
185
650
146
920
667
693
21
41
700
894
371
9
113
612
698
173
538
233
770
725
448
33
543
895
832
807
313
205
724
111
125
629
351
757
153
650
645
467
760
684
991
722
843
502
317
157
441
15
368
828
149
198
651
206
150
216
262
405
652
850
902
47
993
522
635
998
607
283
689
301
909
255
671
707
680
993
615
675
17
945
173
539
796
861
742
627
809
426
381
135
312
787
287
347
136
578
746
290
446
496
622
850
641
242
566
380
265
526
435
332
896
931
84
574
136
292
379
527
209
698
236
852
648
98
538
530
861
913
999
788
613
840
195
925
977
405
550
48
214
536
411
815
224
383
172
618
810
464
335
323
954
916
850
266
655
131
794
579
364
738
260
367
549
439
395
997
839
131
773
529
472
467
216
869
120
927
262
119
629
588
672
496
96
196
440
376
733
207
48
694
905
683
390
213
916
209
607
87
481
897
447
953
255
342
970
325
58
520
258
196
183
566
195
579
188
90
605
215
515
13
88
107
18
904
733
731
418
865
183
130
346
839
263
719
931
884
412
421
428
406
552
707
663
354
449
545
929
221
21
771
90
348
744
731
965
517
178
544
717
519
676
226
247
193
952
209
661
568
591
527
610
803
935
495
995
490
844
376
296
603
108
1
111
715
421
914
931
388
165
392
263
512
316
583
813
227
906
984
917
935
588
183
653
823
899
895
564
281
910
581
243
467
783
919
423
398
149
912
721
984
114
729
906
945
475
854
568
281
303
255
889
723
160
737
515
33
374
529
735
121
994
908
131
664
151
605
754
159
570
346
617
18
152
214
768
6
470
130
310
878
345
848
249
44
747
568
295
729
85
629
159
215
788
311
365
526
348
606
392
63
604
726
177
375
716
292
554
677
894
715
939
580
965
788
224
882
455
379
196
22
642
731
239
301
8
205
942
462
468
789
593
745
885
738
961
164
377
694
468
410
638
325
725
791
611
600
318
863
814
63
54
285
222
357
612
920
957
298
701
504
124
656
208
69
250
105
247
581
396
738
17
353
738
645
593
897
888
508
930
362
557
436
539
822
334
677
214
503
614
799
297
496
71
215
475
538
930
276
263
678
709
715
540
70
255
326
612
864
160
364
845
525
264
208
939
972
865
465
367
635
790
41
681
499
618
114
627
962
79
596
605
999
35
948
291
470
750
595
308
916
771
935
796
732
3
930
559
59
127
992
275
223
226
320
12
268
504
588
411
724
451
439
749
408
137
825
747
73
982
714
746
903
957
313
631
312
323
417
799
556
886
377
761
209
765
842
387
289
139
453
903
486
190
690
136
277
980
92
287
592
551
179
829
685
201
835
97
526
338
117
654
849
86
737
898
704
86
202
674
773
37
967
845
829
293
523
857
894
770
755
762
656
933
202
588
786
972
475
692
319
631
504
141
398
374
552
597
116
718
526
942
381
995
480
410
814
937
776
577
206
967
996
705
246
443
913
547
791
837
798
113
160
289
539
113
25
498
476
564
582
14
457
795
788
220
466
118
479
82
993
857
327
748
578
636
175
456
919
488
837
432
358
47
578
994
283
487
787
569
112
533
455
106
748
450
152
365
702
122
822
270
441
1
18
79
205
760
246
869
700
987
166
383
965
436
1000
819
218
149
351
201
722
727
212
56
797
461
750
999
819
116
862
542
992
31
874
323
584
324
971
675
295
434
977
954
6
87
152
689
466
682
318
56
742
111
308
312
889
47
853
267
737
120
575
758
83
664
959
326
110
769
6
350
932
807
266
49
371
417
66
842
148
658
137
217
369
821
952
104
61
290
251
920
340
136
199
210
454
910
123
174
426
655
7
188
187
428
779
77
307
347
653
577
438
815
185
680
578
368
386
528
445
770
822
585
669
554
689
914
948
308
259
165
436
127
911
223
257
593
503
738
126
951
478
978
868
151
713
948
167
942
800
107
686
653
876
911
395
214
206
69
16
506
303
758
450
829
727
576
453
151
544
395
724
354
251
852
824
404
848
999
761
818
790
353
127
983
266
195
52
842
252
947
701
169
377
626
879
331
936
268
470
705
480
946
941
179
765
911
826
413
644
318
156
867
63
410
398
149
600
236
288
302
293
899
616
284
536
541
482
773
447
404
729
162
122
695
375
670
517
989
271
72
865
679
158
448
171
844
867
55
442
995
686
159
718
273
714
138
182
981
787
698
667
521
323
997
413
456
699
95
876
305
764
792
779
603
254
497
995
345
976
326
978
551
978
8
891
912
889
797
934
787
534
168
755
259
788
902
444
812
826
747
200
383
282
608
816
880
913
626
989
372
401
977
66
384
559
920
636
318
858
516
727
410
323
483
135
270
442
51
878
514
939
674
862
67
799
439
497
154
124
297
527
88
820
61
116
220
103
40
278
374
377
69
947
314
892
528
697
154
670
670
176
28
169
144
742
715
622
42
962
462
525
776
718
405
903
859
414
643
95
323
392
869
223
405
292
229
338
480
386
953
274
277
722
648
854
487
16
150
920
971
445
731
705
969
859
167
213
459
392
75
43
425
475
131
468
92
775
229
273
54
595
180
168
746
608
410
486
486
463
898
160
83
144
718
100
96
836
616
17
651
280
587
141
546
191
469
174
399
241
928
364
702
227
735
5
455
385
680
200
817
251
763
124
101
630
980
998
131
803
193
872
355
700
307
831
769
794
239
916
67
205
607
962
55
986
745
724
712
154
370
659
39
404
897
602
482
567
484
106
706
85
712
694
360
79
609
920
303
688
60
555
309
376
723
279
690
208
357
687
658
113
684
651
429
226
778
886
918
577
401
847
250
671
689
520
859
988
137
622
56
961
422
758
465
253
768
987
889
352
192
715
733
75
917
456
710
772
164
289
280
984
388
1
277
332
767
973
188
184
864
142
473
978
448
612
302
624
860
817
825
983
283
827
249
242
994
359
693
368
797
32
456
564
388
544
802
536
878
352
564
365
515
280
406
567
714
899
942
234
401
38
629
837
344
215
44
383
857
787
109
852
216
325
705
842
223
870
74
485
227
656
401
892
641
182
283
52
304
696
569
238
676
488
23
824
794
628
34
280
2
564
208
863
45
900
723
792
500
117
308
220
782
388
489
866
290
428
873
643
142
937
762
774
716
492
752
163
449
925
228
864
932
571
976
657
640
533
195
66
946
336
630
134
205
506
955
266
729
924
890
536
662
854
740
611
789
220
775
772
610
817
76
488
713
733
724
722
218
733
813
379
543
717
989
574
55
48
842
96
324
34
747
552
237
928
861
302
129
122
530
468
417
31
351
553
14
635
240
825
337
773
22
549
647
450
491
599
559
466
203
439
377
393
774
912
731
711
593
321
899
580
686
153
242
443
882
93
625
893
46
929
933
434
278
770
441
388
567
897
598
137
144
808
87
23
293
45
620
282
910
791
665
174
182
146
455
524
215
788
71
184
239
801
414
874
136
26
540
443
987
943
157
745
731
575
994
210
496
191
713
354
681
228
703
194
57
4
706
810
873
696
203
862
966
752
430
62
915
106
132
316
626
826
81
294
508
390
283
453
703
802
360
98
869
530
15
810
376
70
325
45
716
846
166
730
237
917
105
628
119
5
141
834
544
295
100
936
389
383
165
880
652
767
372
685
44
785
371
44
835
560
787
368
545
493
786
552
861
125
153
172
132
839
547
852
45
381
925
247
817
332
212
872
842
343
170
60
712
367
210
204
427
200
49
822
274
845
115
734
408
245
351
535
922
702
242
4
134
919
217
649
534
605
197
741
674
386
598
61
51
941
649
183
685
155
44
670
998
540
239
717
235
941
11
73
421
120
524
224
395
299
392
991
105
415
948
530
226
351
892
677
251
551
994
595
277
234
555
128
893
147
306
483
723
589
960
50
2
274
642
652
546
692
77
185
295
198
522
117
876
337
782
859
137
964
189
554
154
985
765
957
893
130
83
699
888
557
185
796
185
566
334
540
68
202
559
669
387
994
76
926
4
319
431
892
931
381
422
154
821
424
527
269
634
551
902
352
555
674
864
386
867
659
121
848
474
571
874
731
1000
313
983
245
774
2
66
915
830
337
592
556
794
865
174
493
170
594
37
600
219
724
448
909
667
776
915
207
105
613
422
265
576
935
269
574
667
141
723
178
358
161
461
893
939
939
530
436
350
237
139
46
213
1
317
146
381
972
747
141
744
961
323
408
217
370
60
160
910
709
484
234
801
277
484
963
201
514
205
460
546
727
313
860
679
676
445
642
523
959
447
59
287
156
841
587
326
870
451
792
72
240
213
913
134
306
923
652
74
749
173
557
185
555
267
323
973
424
161
490
138
403
947
775
30
332
456
169
937
44
14
180
869
755
193
688
520
204
589
407
120
825
592
143
478
229
271
641
352
948
383
117
986
921
719
31
701
832
178
617
103
379
229
678
432
15
716
708
65
106
499
281
747
637
751
613
323
586
911
974
801
217
987
851
665
729
995
60
499
297
35
151
755
564
946
289
785
426
763
489
807
677
753
68
81
664
258
891
314
460
846
214
903
896
857
918
124
106
393
571
809
927
519
788
845
849
624
850
221
6
51
874
736
388
208
441
827
648
879
891
125
339
758
320
22
631
137
186
352
364
263
286
304
207
139
943
237
60
200
132
389
303
831
76
328
311
854
827
61
421
496
60
557
247
715
105
676
185
704
500
540
274
40
151
195
287
113
566
829
841
122
795
142
418
343
958
385
848
658
631
196
967
475
614
199
673
256
66
565
940
541
573
332
649
653
247
998
178
578
782
214
215
221
986
892
685
618
924
534
22
656
509
597
705
707
541
596
857
597
162
514
728
213
277
370
124
382
437
242
25
200
813
663
626
568
40
640
890
99
967
982
227
787
356
480
687
450
718
840
674
776
608
124
158
910
514
779
101
496
65
499
961
917
98
116
651
716
79
797
373
82
600
314
489
208
917
692
206
142
360
535
888
784
167
204
155
424
547
539
408
160
655
620
106
941
218
41
221
170
162
940
678
612
293
783
164
355
290
753
46
878
401
483
597
949
560
582
936
128
754
346
339
528
242
95
452
65
5
351
816
171
331
904
881
74
617
693
363
739
624
251
61
610
445
832
692
34
214
748
359
737
926
135
720
825
641
155
134
806
284
272
377
715
138
582
875
331
442
181
861
262
830
406
415
224
299
815
220
463
842
988
235
577
515
751
315
967
484
483
834
129
856
115
396
716
746
56
694
207
333
270
674
366
517
238
982
909
526
167
636
744
412
427
446
765
926
387
704
60
280
230
266
942
225
835
827
426
709
878
314
327
246
577
407
95
948
691
827
327
717
53
896
203
115
82
687
346
881
932
850
926
623
441
88
799
222
969
389
77
86
644
537
256
365
144
806
443
614
667
326
173
435
118
967
995
992
65
712
619
18
583
134
213
947
373
752
568
732
202
830
370
378
453
840
404
367
179
759
68
264
256
715
890
18
98
395
964
824
154
125
717
706
629
728
292
297
905
385
252
285
85
152
44
492
935
726
747
829
196
150
735
306
986
864
624
8
948
629
18
653
625
497
91
244
317
400
83
380
337
167
135
793
429
375
68
12
505
928
56
318
895
419
605
676
541
867
981
226
625
674
728
609
489
777
332
13
179
704
33
412
215
157
324
699
459
368
322
309
76
833
397
100
257
604
63
278
699
821
974
765
589
235
723
938
119
758
363
776
94
766
326
356
854
197
116
484
492
105
562
300
685
468
517
511
823
345
558
770
407
454
739
44
474
97
457
643
358
703
484
657
390
40
115
60
693
575
919
59
12
416
373
221
634
843
163
722
777
467
593
907
527
403
677
383
151
65
923
58
784
623
454
941
951
642
218
840
623
619
957
925
638
619
402
867
713
841
201
10
861
836
820
832
392
775
186
59
701
491
984
999
434
722
10
349
122
854
313
784
38
8
300
691
461
344
870
177
245
960
922
126
633
125
612
379
619
81
188
18
113
397
37
444
716
582
179
473
148
550
424
814
727
25
13
207
785
479
154
962
731
662
841
962
911
900
841
664
730
947
295
602
786
637
472
24
372
175
879
112
610
980
78
683
298
523
67
990
987
575
522
168
736
750
955
360
145
966
538
581
739
978
684
199
959
766
539
440
255
274
123
833
264
902
307
406
337
612
218
109
569
829
965
219
602
185
681
81
662
842
46
649
462
949
146
755
274
353
753
795
143
317
317
553
999
638
842
420
737
568
480
655
387
243
76
96
791
698
140
257
789
994
625
984
126
832
406
455
681
730
965
933
879
694
470
301
497
795
405
364
347
192
369
725
855
281
777
631
187
977
278
472
396
295
414
738
34
597
890
475
57
124
279
131
903
900
307
787
89
856
730
785
494
438
523
463
541
783
64
672
388
353
838
820
834
622
627
178
234
106
695
696
200
489
572
82
605
812
830
903
44
822
570
625
705
806
776
447
525
845
845
538
854
625
946
629
565
683
639
545
5
796
520
817
224
5
280
544
834
469
846
962
224
387
944
918
167
13
1000
34
297
315
390
875
212
524
565
95
618
578
673
341
623
300
476
642
671
436
554
462
250
940
490
747
120
926
877
401
466
702
563
559
93
571
225
34
44
47
525
74
322
427
976
673
953
622
385
411
645
682
108
830
572
487
399
965
300
776
90
63
173
458
90
922
636
824
472
935
575
75
62
547
278
430
835
472
772
45
474
246
503
454
5
800
258
282
891
817
889
557
950
953
52
632
145
182
727
506
683
103
840
696
885
277
442
685
277
47
840
909
687
841
837
801
826
864
329
301
527
586
262
370
964
308
401
393
749
486
556
858
550
227
633
229
276
775
721
896
258
49
335
131
299
379
78
138
866
648
201
302
716
310
897
488
964
516
328
33
828
143
116
757
55
357
317
746
147
759
456
97
993
878
466
405
911
978
377
250
505
439
750
593
673
387
240
328
373
674
428
633
845
588
821
264
711
632
434
950
409
109
794
166
831
93
977
259
373
70
598
236
105
316
408
781
1
116
836
745
37
593
273
501
257
284
41
107
55
177
734
279
63
657
302
435
70
935
687
996
204
732
256
569
213
777
887
226
845
419
696
772
465
412
269
257
53
675
562
87
705
344
492
164
9
271
589
768
854
651
817
509
590
768
89
453
636
445
572
24
504
239
365
450
776
484
744
702
709
38
882
803
763
936
718
166
903
312
287
984
76
647
84
845
796
275
726
811
848
863
53
903
226
110
860
576
227
767
862
60
613
256
849
533
424
837
75
359
570
759
827
155
443
585
76
869
919
939
600
253
444
339
742
44
192
683
143
957
340
500
610
131
700
876
776
420
376
488
844
503
799
638
476
248
582
128
648
305
827
736
441
11
23
117
907
109
94
429
556
151
737
113
742
529
367
715
447
736
827
241
992
556
379
889
182
881
703
816
700
808
346
110
991
141
730
467
587
846
98
658
817
73
747
57
572
71
313
952
54
690
587
149
791
96
856
55
262
439
290
919
647
978
213
52
600
209
901
592
509
275
867
995
592
385
446
982
558
782
461
7
729
642
819
895
610
481
899
649
726
487
838
557
299
654
440
198
575
355
469
763
731
297
673
942
951
689
737
694
312
790
934
400
96
10
657
568
998
821
403
356
663
219
275
491
796
927
358
712
10
719
995
543
49
602
587
745
853
714
735
967
456
413
150
404
304
273
202
267
378
362
612
630
944
419
620
711
537
722
825
605
356
511
512
512
929
699
193
790
227
25
952
721
31
606
858
528
811
307
980
53
476
620
203
911
517
605
275
889
271
333
519
41
187
840
27
327
179
612
197
821
346
320
543
45
690
950
106
854
763
519
419
339
766
34
877
56
968
719
924
229
955
389
532
966
451
620
154
769
300
805
811
337
905
991
413
652
180
652
121
801
482
995
453
703
531
519
741
467
735
174
687
535
670
604
757
870
828
31
969
275
435
844
296
794
128
268
366
636
364
843
561
829
944
896
351
511
24
513
301
492
671
500
636
553
568
348
123
69
512
925
51
179
493
425
182
63
53
328
609
730
912
513
168
73
468
47
28
7
985
576
63
361
19
445
1000
125
367
934
95
577
274
317
611
82
354
754
417
677
654
665
534
926
38
264
806
714
858
945
751
867
175
307
588
13
857
433
767
430
304
551
929
64
391
889
176
430
125
469
918
63
687
1000
796
377
479
384
218
201
719
96
187
737
704
969
133
625
654
70
527
597
75
435
144
778
510
185
329
140
315
55
409
874
962
592
989
124
212
771
319
233
284
176
852
941
257
298
119
185
182
50
768
99
119
354
729
362
769
394
659
993
620
740
617
707
434
891
674
447
468
104
255
922
757
775
947
458
55
892
42
381
443
952
742
753
887
72
457
207
394
473
90
229
796
772
912
265
49
329
176
938
427
833
944
401
284
55
291
229
448
691
523
114
913
647
491
995
590
873
791
675
226
92
266
108
980
649
295
629
50
250
57
592
247
587
417
534
446
570
269
71
711
299
473
453
208
719
501
805
711
380
357
209
112
820
565
738
685
770
189
124
190
68
386
916
915
195
989
482
29
565
340
321
133
247
60
123
952
117
43
706
858
502
784
854
75
99
678
135
64
992
214
857
749
80
435
319
638
208
365
392
790
831
589
994
290
777
867
549
353
561
208
595
286
936
834
859
237
975
973
459
739
869
198
849
222
312
763
445
19
623
266
819
737
554
600
927
608
244
163
661
341
532
598
62
353
157
36
636
412
86
813
103
911
660
561
910
39
321
852
828
973
928
284
279
981
463
528
467
268
31
571
370
724
70
125
792
937
413
627
949
577
284
526
486
462
352
988
733
984
56
792
333
961
394
201
587
787
734
253
595
543
371
1000
698
999
433
860
139
415
439
96
794
396
520
570
594
445
641
91
45
992
585
95
349
10
838
724
442
582
23
408
189
552
939
501
608
498
884
926
618
224
78
880
23
928
644
939
308
980
907
167
699
375
643
359
746
56
197
816
19
193
508
804
599
654
251
978
332
413
202
839
701
764
142
619
783
695
894
320
655
572
287
64
248
955
706
530
276
539
459
792
20
294
646
558
484
112
876
340
74
1
106
682
648
35
518
99
651
988
262
344
468
747
789
429
121
487
394
519
371
881
611
768
444
193
398
426
680
642
121
908
878
782
200
181
610
435
439
207
895
915
569
70
301
899
817
759
580
447
273
290
666
121
363
614
268
981
366
595
452
510
429
758
196
388
852
466
350
948
133
303
459
927
663
12
485
685
396
441
6
465
957
940
458
274
956
529
829
243
423
657
600
882
859
8
531
708
785
140
968
601
985
419
467
214
674
337
458
684
580
329
238
776
833
440
766
942
113
582
511
50
17
529
78
317
666
65
335
774
394
134
362
257
510
815
594
30
511
652
261
49
229
725
506
644
479
65
932
463
516
185
894
139
628
167
89
494
260
710
26
359
884
522
731
140
722
544
23
861
440
33
476
328
623
786
485
282
188
336
704
943
49
839
98
225
906
294
180
463
67
174
435
939
633
674
474
45
926
979
126
191
293
974
820
374
409
383
613
410
248
607
84
760
89
912
78
852
661
570
131
883
604
972
945
777
688
847
327
670
527
504
262
987
578
1
519
415
606
763
368
402
469
2
780
540
869
779
127
602
599
819
825
626
554
519
153
248
401
129
286
729
202
413
300
169
809
303
910
686
497
424
547
136
380
163
642
209
181
407
504
412
473
76
625
973
969
893
497
710
797
155
978
513
124
963
766
340
480
962
795
522
821
947
66
514
434
764
534
818
784
988
515
424
105
379
843
838
602
644
318
911
146
720
248
192
976
862
153
719
575
1000
212
713
62
304
615
631
19
213
437
877
559
487
251
97
43
990
221
338
962
165
710
917
873
445
417
428
174
223
237
347
141
691
591
102
979
583
658
318
28
448
461
172
181
832
601
706
255
287
428
942
856
908
802
582
83
520
560
953
789
181
906
215
191
951
186
63
16
346
863
22
420
5
896
510
506
170
381
260
314
423
186
375
30
854
705
797
569
80
848
36
923
477
653
686
225
473
667
381
727
18
857
484
263
613
865
871
832
600
804
496
848
256
736
16
553
976
596
427
994
138
302
461
430
871
282
90
554
98
371
472
376
654
689
1000
394
421
741
616
591
368
71
226
196
986
936
32
605
206
735
154
833
303
714
112
603
112
205
34
555
606
572
214
853
54
658
174
863
800
473
537
67
731
337
621
892
961
812
169
619
717
504
178
85
880
512
593
31
900
373
239
693
630
120
649
57
139
928
519
135
594
631
221
761
14
552
846
54
812
452
654
170
733
133
155
115
965
227
467
888
652
312
713
232
396
777
650
570
719
815
270
400
415
792
453
641
652
584
486
123
504
215
380
512
79
968
632
370
773
200
122
238
87
139
983
556
510
227
569
586
97
301
98
441
548
215
877
393
203
476
573
203
465
465
784
948
499
167
638
325
195
786
933
633
342
44
480
931
666
828
209
534
125
444
497
532
240
890
911
978
147
905
322
333
930
761
935
867
194
78
583
360
258
980
806
481
867
277
792
554
78
142
423
701
173
494
145
195
235
500
945
121
451
490
830
649
845
513
337
531
31
382
588
468
815
576
414
842
401
371
356
936
554
642
658
591
657
996
484
703
148
138
915
609
949
389
879
914
649
300
887
230
525
156
477
426
596
432
664
451
567
967
571
283
495
348
68
798
190
297
900
134
416
103
675
178
168
735
566
800
409
513
161
68
45
346
754
858
518
391
139
227
412
485
735
297
250
415
957
373
800
148
408
531
836
236
323
618
384
671
888
946
396
617
435
864
597
342
614
201
764
389
332
325
989
797
906
837
557
973
466
485
282
279
169
667
446
327
391
422
485
769
274
736
565
478
324
873
672
526
747
303
690
479
475
737
645
523
958
169
769
268
120
387
627
453
799
731
272
243
116
411
879
214
27
272
312
558
758
736
651
959
889
723
84
749
19
667
627
820
308
990
620
543
572
925
36
985
231
329
67
476
692
265
60
381
266
361
348
563
584
348
629
502
828
158
980
342
671
930
887
136
748
22
693
143
57
743
141
471
313
223
327
729
720
958
554
783
747
413
494
266
778
539
248
562
38
574
820
359
36
950
793
929
262
30
783
829
986
909
232
860
875
843
830
3
428
620
465
986
445
148
98
653
762
74
512
274
838
119
938
547
526
406
403
361
851
948
444
509
742
864
871
608
600
865
12
75
447
503
702
745
918
648
272
250
981
290
808
248
425
718
606
289
826
728
161
291
925
689
521
838
45
977
819
198
453
392
940
420
805
776
247
886
548
279
947
775
76
40
572
979
198
715
81
17
788
773
254
144
602
206
294
614
731
148
254
74
483
217
848
783
964
521
226
888
541
298
736
698
214
284
614
539
559
386
450
401
771
732
617
421
723
553
295
260
321
68
927
488
339
581
983
156
698
131
153
662
149
690
905
936
170
808
861
340
654
519
321
660
891
114
775
600
282
439
547
488
83
182
86
628
142
276
418
825
385
74
90
920
660
69
922
28
131
352
847
242
499
182
1000
100
778
266
977
752
283
443
676
820
189
79
405
192
594
71
916
592
674
248
567
88
326
804
818
427
631
605
629
734
650
427
840
150
265
735
380
579
931
585
345
470
530
242
608
402
436
360
81
893
944
948
512
838
553
482
711
563
631
326
86
159
524
402
372
722
616
390
492
640
158
298
944
177
89
410
676
837
597
516
648
501
114
786
243
775
648
836
214
151
23
657
307
567
690
222
558
475
719
125
535
606
569
694
86
178
171
587
626
173
660
271
727
872
584
364
371
766
761
182
806
825
622
208
518
444
195
710
940
758
227
255
245
107
116
534
273
718
279
383
681
758
725
610
27
924
893
257
336
302
197
603
712
781
533
45
835
239
407
493
969
440
596
45
911
756
516
724
23
490
577
199
895
323
193
225
503
276
938
380
998
856
484
860
479
338
968
187
904
652
316
36
120
652
30
203
490
984
506
37
944
432
824
778
196
854
188
887
155
136
986
101
553
569
681
820
977
401
288
893
865
53
644
731
696
757
809
241
529
614
48
94
287
328
710
415
391
149
938
882
87
621
354
388
959
458
154
241
656
639
882
716
612
751
254
902
964
339
605
494
785
951
123
746
473
603
791
81
786
190
810
959
397
703
231
31
966
984
590
470
146
853
411
211
277
614
196
355
681
952
771
701
538
793
777
950
254
676
199
399
613
636
991
581
950
950
333
893
787
782
35
623
911
136
585
285
128
639
618
851
509
472
247
364
697
36
633
45
499
619
125
520
238
509
674
782
60
513
520
341
667
962
196
23
402
800
732
62
458
376
613
268
519
228
100
507
687
224
169
630
425
539
818
290
539
454
772
123
751
244
628
793
579
272
289
430
712
843
144
652
326
542
500
443
29
699
9
486
23
830
335
861
474
289
708
392
830
914
882
57
473
862
803
233
642
820
906
600
573
776
837
611
908
19
520
753
572
459
624
221
81
169
840
478
275
106
45
273
773
54
22
895
281
814
937
966
202
486
88
305
876
130
968
905
830
364
162
451
211
591
24
520
788
111
828
754
710
473
196
538
348
499
492
488
462
475
988
67
595
540
143
97
255
292
944
577
396
551
299
741
223
250
578
731
723
357
748
84
700
797
369
961
21
908
232
296
309
357
463
369
652
476
925
849
115
960
677
648
640
722
950
38
782
311
885
703
359
807
124
444
35
592
172
270
193
440
154
442
54
947
247
274
626
743
487
982
208
742
576
524
63
339
963
322
892
439
879
681
256
351
553
126
303
782
553
634
53
253
199
821
330
234
821
580
456
8
810
918
96
951
949
68
444
909
284
93
574
473
348
254
426
94
328
700
476
451
158
514
260
778
353
906
480
632
715
522
934
323
452
30
361
957
72
492
627
532
3
267
168
447
954
492
442
898
935
356
849
575
808
918
987
567
455
438
664
137
785
652
878
734
930
450
95
873
634
738
888
228
65
12
878
333
618
390
767
314
376
996
246
915
655
836
773
743
341
202
617
197
126
328
856
583
283
399
93
394
220
692
381
122
751
186
176
686
393
171
154
56
162
912
487
539
278
633
351
791
399
471
471
91
88
603
771
381
346
923
251
709
703
604
587
707
631
574
552
398
331
65
564
716
82
228
426
452
639
35
980
113
351
829
691
528
632
585
659
123
139
224
5
982
479
141
649
9
198
385
307
588
90
464
802
1
336
3
292
182
930
666
769
254
926
507
918
690
83
207
3
59
259
817
45
168
778
975
202
320
504
991
243
208
101
67
394
984
708
486
488
545
679
439
491
364
202
453
100
424
753
907
526
979
347
533
197
705
618
295
510
608
520
674
52
335
686
631
153
252
972
595
378
1000
898
695
147
622
239
487
960
183
330
900
235
302
877
654
583
951
266
733
881
793
26
941
504
138
939
872
589
464
436
424
494
703
302
742
686
862
734
134
733
773
3
468
541
428
788
422
420
839
992
697
173
823
413
40
484
345
922
401
830
177
827
576
751
814
29
629
607
706
864
978
971
425
785
314
273
313
752
274
613
10
185
990
327
104
894
662
589
551
818
384
180
850
738
867
399
460
601
51
76
836
860
249
342
726
847
283
426
535
410
350
328
689
452
12
608
282
935
137
68
880
282
218
280
136
852
731
414
426
576
628
263
875
863
13
923
985
29
950
470
676
267
32
359
511
725
408
983
8
329
25
390
75
757
920
166
339
19
664
543
354
933
704
403
537
428
475
252
608
230
200
840
178
918
881
709
949
558
952
769
364
947
179
111
549
292
620
776
610
416
553
170
759
731
739
794
937
360
524
744
912
597
669
772
976
832
629
928
33
974
441
1000
793
600
226
369
370
550
437
53
892
902
272
581
362
595
169
285
708
357
588
900
426
757
663
278
694
530
643
235
483
307
329
770
682
714
401
43
144
83
573
480
351
589
416
639
928
985
842
564
215
31
412
576
234
305
904
404
848
484
246
891
557
845
307
737
318
369
901
713
158
98
973
914
361
781
131
698
294
651
548
561
944
367
829
650
309
796
534
804
779
505
747
884
925
307
766
691
513
947
772
189
25
31
998
803
162
667
535
885
308
837
137
259
429
424
405
614
287
760
211
866
371
688
25
174
705
523
781
415
76
976
584
557
439
97
108
146
713
831
908
664
505
464
462
243
427
192
794
897
872
51
288
270
674
541
230
636
180
434
634
70
124
391
136
810
194
379
968
690
907
797
636
672
978
188
899
501
296
756
155
909
256
649
219
687
398
197
180
518
543
288
842
777
651
679
326
493
991
787
3
574
798
159
974
892
568
536
662
334
990
491
978
907
175
993
362
956
189
592
232
413
124
657
688
47
162
321
663
632
509
488
259
87
244
445
171
868
441
347
774
468
652
129
824
820
320
545
825
485
433
938
501
892
244
767
589
813
63
391
92
356
272
635
603
717
55
455
307
269
160
552
372
61
952
716
774
387
380
961
873
502
518
171
451
302
348
405
384
585
472
734
884
626
253
356
404
535
862
52
899
469
109
327
553
257
479
326
67
587
657
795
220
931
137
573
337
836
867
623
658
287
587
647
94
804
639
410
972
748
590
127
181
197
877
79
715
240
703
743
562
140
387
619
711
90
941
240
300
753
41
440
410
296
911
428
844
320
673
225
7
256
172
252
448
263
782
99
636
622
38
476
688
534
620
898
579
941
510
241
664
840
495
11
907
557
828
531
535
202
982
369
436
333
105
570
544
73
538
80
54
706
652
844
248
866
251
944
136
726
497
690
733
453
448
984
970
730
986
711
490
674
488
756
697
219
489
724
870
862
817
978
332
759
56
564
345
609
928
18
224
638
335
332
240
158
416
145
714
720
830
634
645
29
136
305
673
573
70
846
481
506
921
364
207
196
461
599
53
6
765
734
331
853
868
3
524
366
651
663
767
706
51
705
928
662
98
594
175
271
163
361
548
723
542
497
688
25
303
276
902
550
588
845
670
48
206
321
163
456
64
509
418
597
216
864
320
981
272
102
16
845
163
896
94
445
923
52
508
674
334
883
936
560
926
516
637
819
355
359
369
881
949
131
447
567
67
613
560
171
873
213
844
577
114
168
731
858
121
987
731
981
320
486
102
312
61
922
494
809
5
915
708
897
629
561
630
245
415
428
273
111
853
809
335
559
236
930
52
541
831
546
851
886
619
369
130
439
869
371
789
727
405
232
625
291
805
207
625
446
123
770
352
132
861
141
492
23
796
358
466
814
688
386
22
551
651
301
272
915
940
66
428
427
603
1000
715
634
619
706
216
694
480
200
257
289
242
233
267
525
472
735
590
731
452
971
523
845
429
355
875
895
818
473
157
620
287
771
762
315
223
763
988
837
262
145
158
281
521
327
848
127
774
5
967
741
54
723
114
519
35
579
419
722
299
900
343
619
308
7
524
575
287
495
793
830
31
894
375
835
146
609
113
307
368
423
873
417
866
584
118
817
582
5
848
325
315
978
70
855
89
611
344
132
827
159
417
150
619
23
931
377
982
83
55
614
810
543
286
618
976
419
144
955
51
881
804
15
455
440
121
349
84
94
118
760
727
15
134
895
335
943
748
294
125
933
12
481
531
4
178
388
757
496
229
990
463
9
523
776
679
768
543
322
962
341
699
464
890
113
957
102
233
237
341
96
161
541
68
661
322
223
786
480
695
125
724
398
361
94
514
443
351
143
515
70
976
553
864
545
692
805
88
691
315
5
435
399
379
674
297
494
900
12
423
402
604
201
465
13
221
711
350
226
229
422
965
868
435
373
63
486
793
209
917
555
214
337
442
8
74
433
655
480
221
126
337
179
225
998
177
293
656
555
515
956
133
618
228
86
900
805
614
238
613
240
990
856
119
824
90
936
993
958
221
77
829
949
936
85
167
649
762
410
67
784
594
148
509
293
390
868
529
113
616
173
358
266
969
85
489
653
751
878
369
340
851
503
384
515
194
361
736
853
526
475
687
106
921
208
847
466
613
860
496
598
282
251
751
24
408
611
89
517
311
982
537
738
100
690
122
814
990
466
312
26
186
700
844
991
817
570
646
212
280
777
114
720
335
756
529
644
286
811
878
239
72
282
752
850
565
724
996
444
369
768
184
629
193
349
807
842
132
25
785
900
306
469
30
541
591
825
543
540
150
667
904
356
272
401
537
540
324
891
682
747
128
467
224
264
725
149
809
510
949
608
116
351
231
428
895
853
670
420
1
385
179
540
72
63
160
794
596
466
330
286
639
632
120
324
742
601
243
207
39
383
386
383
267
671
832
748
442
418
996
189
308
679
825
102
558
345
1
396
977
628
931
485
404
537
524
730
456
173
180
300
59
25
771
463
994
130
57
359
125
871
680
924
47
192
347
243
806
209
729
904
601
648
634
767
527
517
764
61
640
49
769
490
435
97
544
211
95
549
719
364
708
395
495
482
469
466
585
972
916
671
727
797
915
53
960
457
823
908
608
99
885
236
466
310
536
945
45
718
424
232
2
972
433
529
307
848
434
460
806
967
399
430
255
543
510
684
875
620
678
588
490
444
516
546
463
286
876
233
851
248
985
105
948
33
509
392
470
878
256
369
558
774
40
288
443
107
26
540
649
764
775
267
282
636
747
407
645
356
426
396
356
841
97
517
946
711
311
988
167
249
743
49
231
227
572
35
720
505
323
856
426
857
909
122
61
277
238
708
783
577
483
75
147
674
51
271
225
340
689
183
755
431
576
367
631
995
22
853
68
207
619
336
269
375
13
413
80
816
101
328
841
973
500
100
100
384
591
601
397
937
1
571
704
929
183
171
744
203
48
158
649
235
483
331
436
891
369
563
224
790
633
314
433
603
475
949
854
827
117
603
828
805
700
595
991
312
83
876
455
556
505
957
622
124
310
962
300
487
70
733
206
792
38
759
187
113
833
256
318
340
435
13
304
406
724
702
765
789
226
120
461
681
215
398
755
761
888
585
760
894
71
83
795
668
350
354
999
601
638
81
458
360
965
578
837
171
473
830
349
439
118
502
915
913
714
104
893
205
506
850
26
310
41
945
138
2
574
859
946
632
156
410
856
234
576
524
986
391
693
180
883
482
820
371
681
170
658
221
845
622
310
337
775
943
932
725
168
254
888
688
130
169
128
507
404
719
394
658
412
649
782
502
127
819
575
534
258
8
265
858
886
492
779
661
548
553
191
429
701
748
727
663
103
514
941
519
93
157
922
432
347
596
410
315
377
667
60
151
766
684
313
104
963
603
710
889
168
860
197
270
894
911
207
111
753
298
361
539
409
622
851
581
601
348
564
267
942
438
829
999
484
633
693
398
883
269
816
43
119
189
155
745
276
962
681
808
333
425
159
174
97
353
13
35
860
550
385
462
243
37
346
668
869
195
930
59
114
284
18
484
677
788
889
47
269
877
24
333
281
813
373
198
687
50
908
812
181
333
294
499
175
539
342
892
493
213
619
867
822
412
398
515
290
562
163
304
793
489
132
996
330
476
426
538
613
309
520
709
188
954
952
69
407
317
37
911
452
685
239
790
885
283
342
720
713
253
481
38
949
370
355
966
997
162
922
906
375
67
493
288
69
914
144
321
656
693
472
183
420
7
670
81
628
890
932
395
167
717
864
883
896
393
643
652
151
596
765
74
444
251
710
377
802
548
927
419
556
560
77
405
642
256
668
416
553
962
43
912
598
512
557
775
326
718
805
41
208
667
41
566
907
10
972
217
664
457
728
971
287
505
464
678
978
132
480
153
148
189
40
257
778
232
624
702
553
761
281
7
860
970
729
2
125
362
742
89
725
507
231
851
796
211
39
429
422
52
876
129
137
33
90
575
622
295
671
541
522
877
752
769
678
82
89
967
650
27
948
31
887
979
535
12
33
579
284
13
868
677
270
263
189
94
53
115
2
65
221
141
390
227
306
31
583
310
225
615
409
164
48
926
676
688
439
872
120
266
930
375
582
738
205
650
238
74
449
339
154
703
223
117
752
871
849
130
299
190
942
452
310
490
800
595
491
116
8
289
583
384
144
934
417
725
252
203
134
956
42
824
872
675
255
308
378
183
564
934
147
404
329
226
160
563
690
202
473
554
656
192
303
212
452
428
26
203
416
736
899
731
214
577
273
64
324
148
770
232
80
532
379
313
27
656
888
807
351
314
311
419
324
745
316
245
811
649
871
576
592
246
534
939
635
392
693
460
280
695
908
868
340
491
732
65
804
497
418
992
938
77
668
574
330
423
743
438
144
6
979
403
323
224
251
817
918
488
67
660
59
89
316
856
721
190
275
487
551
179
630
395
613
238
338
904
917
537
800
897
24
288
104
255
325
510
524
929
337
715
713
966
445
65
443
873
170
972
95
666
706
64
893
622
57
568
276
101
176
147
105
856
217
189
103
474
739
146
594
412
121
317
792
850
673
721
514
871
268
229
332
242
739
531
270
967
90
268
386
816
123
497
439
575
781
890
582
573
645
346
705
922
946
145
825
169
282
248
523
333
965
153
699
177
228
839
97
201
25
338
533
583
337
798
622
542
276
160
722
849
283
412
201
656
346
286
190
419
177
771
919
783
149
819
807
260
436
791
811
583
846
508
723
790
196
857
76
645
128
315
266
270
439
378
831
919
50
376
874
645
682
822
180
780
446
475
28
843
573
220
329
780
851
250
991
799
353
997
950
640
876
527
408
816
309
399
356
633
733
645
69
711
198
793
110
436
335
123
641
666
72
805
267
57
523
815
756
227
572
46
657
828
175
24
560
92
854
784
951
773
212
961
142
597
44
92
611
326
65
924
574
472
601
683
336
755
795
410
997
197
984
873
777
252
636
78
735
236
182
180
895
522
655
242
333
698
415
399
598
889
246
893
758
963
177
400
66
662
289
597
807
153
663
569
731
617
574
160
704
876
65
886
780
990
400
896
942
722
60
968
993
247
546
80
240
427
624
677
627
710
547
352
682
718
858
245
424
518
99
289
72
460
258
255
284
236
609
735
988
851
900
147
287
106
647
497
217
923
898
92
330
693
17
900
129
936
310
622
867
253
831
59
628
685
135
234
422
513
184
805
36
34
858
25
818
59
682
312
455
217
273
523
623
160
826
325
300
751
630
123
901
207
93
737
607
831
517
806
504
918
415
85
679
919
782
461
201
220
527
751
775
188
909
210
262
571
625
838
91
28
313
638
358
290
155
620
980
469
791
168
832
318
802
107
907
801
816
333
119
987
359
416
984
747
496
667
326
146
169
551
575
871
642
602
471
346
883
829
462
109
826
9
778
496
244
225
7
429
315
570
647
367
796
831
740
586
239
802
392
202
951
49
582
457
379
8
396
862
439
232
420
88
952
674
220
814
993
355
403
22
939
85
807
451
476
494
525
876
330
483
643
178
606
845
666
929
384
57
824
658
889
330
82
999
980
45
578
764
432
277
959
738
362
601
510
585
910
406
451
560
215
359
423
451
204
388
654
81
482
993
793
981
996
35
50
173
444
550
392
67
522
491
370
139
661
387
31
159
385
389
930
126
573
692
708
546
645
88
361
361
532
284
354
320
232
757
402
297
508
316
323
99
961
707
916
955
8
789
112
1000
577
476
300
445
34
886
873
212
747
384
297
475
94
320
917
690
103
145
223
717
173
888
521
876
938
173
587
670
739
166
61
888
89
580
956
470
986
984
331
253
48
83
444
52
753
517
748
447
979
654
654
715
714
459
497
202
312
192
57
74
123
310
535
4
733
689
184
771
547
142
611
709
496
596
818
792
206
651
772
306
559
258
574
977
51
13
898
936
640
318
597
853
502
756
326
169
943
592
983
926
700
203
143
363
408
798
718
167
343
294
402
312
114
279
380
291
76
932
618
905
572
61
462
485
938
822
536
134
940
194
614
283
432
428
775
307
836
916
996
944
227
767
364
928
208
586
395
930
266
911
240
184
920
900
63
793
596
754
595
100
647
262
285
774
973
101
868
1000
67
481
606
328
536
281
571
886
616
173
352
877
127
304
162
680
991
428
382
840
78
268
907
885
838
681
770
779
201
641
847
238
312
876
971
69
70
484
922
359
910
36
336
108
407
534
955
106
727
412
143
325
323
996
828
386
369
996
189
620
873
210
45
134
938
369
274
169
440
368
83
249
880
189
787
125
432
398
634
698
301
795
438
285
554
342
473
950
867
192
706
276
331
628
223
388
197
957
562
902
329
881
59
87
301
578
825
821
260
149
235
737
93
358
975
490
713
459
956
548
703
6
484
173
531
338
350
473
333
70
132
977
526
350
153
839
430
617
369
857
837
446
429
101
166
768
375
286
399
901
611
165
424
131
373
387
919
633
782
459
686
98
440
468
498
279
338
851
78
847
934
344
284
438
443
260
673
794
101
573
738
990
475
671
254
616
189
795
228
806
416
587
421
139
313
616
911
772
122
199
675
380
207
798
850
709
543
456
856
740
914
179
242
59
685
480
106
563
345
114
914
216
958
221
525
252
414
644
318
812
961
187
806
606
466
315
791
108
154
738
437
494
617
231
420
871
719
402
477
725
47
725
4
264
89
607
880
795
639
302
473
520
587
162
71
506
707
14
863
538
297
996
712
184
986
993
705
240
974
53
553
217
277
863
247
569
164
650
520
103
518
549
261
372
524
542
984
895
561
57
435
298
117
630
133
862
744
647
623
56
978
937
755
392
187
536
378
538
533
693
419
727
745
505
459
49
803
139
264
53
632
772
394
530
463
250
829
222
332
807
191
352
342
435
681
548
35
502
672
662
678
447
280
466
884
754
630
133
25
439
373
539
539
421
201
114
988
542
92
371
594
723
709
782
532
766
843
556
303
294
295
380
282
138
325
556
819
535
213
96
890
967
126
382
424
111
564
428
375
696
643
687
828
143
577
562
549
742
280
841
850
550
411
737
972
843
403
696
654
341
15
669
82
375
899
370
525
245
397
641
843
889
435
560
11
93
34
360
147
303
317
376
89
430
635
414
577
315
923
280
403
842
91
53
990
121
640
547
818
794
920
485
545
895
69
128
104
90
913
707
575
700
310
352
500
706
817
300
838
206
593
172
844
140
498
766
948
891
641
390
832
843
329
49
588
408
429
317
327
29
376
893
403
281
356
577
311
189
87
595
261
621
343
414
712
118
131
114
441
517
744
959
679
418
922
683
865
108
27
87
352
601
472
43
439
915
289
949
8
119
622
6
935
990
343
521
677
309
88
530
348
537
483
70
719
733
125
222
616
138
580
276
204
68
995
607
783
745
572
970
968
154
984
208
359
955
776
897
276
795
824
394
812
819
835
878
219
55
499
982
692
678
291
317
896
495
837
577
275
849
819
860
510
987
209
684
586
44
946
942
893
462
14
890
545
29
677
519
679
619
674
783
70
184
83
912
189
216
421
305
410
71
585
704
208
309
649
492
688
485
432
621
691
518
914
135
623
622
780
978
877
675
784
536
739
552
536
994
516
565
482
441
148
535
896
376
713
989
996
463
18
654
908
773
893
385
60
766
588
164
765
152
772
770
797
749
438
632
581
878
944
760
940
1000
483
327
552
564
63
440
36
100
797
762
944
583
651
655
526
921
698
689
381
684
129
497
175
139
902
201
212
86
403
442
866
110
3
744
434
714
449
9
123
970
595
107
26
603
20
475
443
987
621
888
247
214
935
275
170
640
406
601
809
364
675
473
183
482
234
630
737
202
730
370
536
751
703
895
737
247
766
424
305
921
571
894
42
94
321
779
608
323
436
409
631
749
60
745
970
391
876
614
734
745
787
875
390
584
49
678
980
327
106
765
107
897
499
96
890
375
240
564
115
682
84
960
610
622
723
257
291
940
577
7
159
391
122
937
114
792
237
689
366
281
953
363
627
780
855
726
451
135
974
346
890
612
364
609
847
813
342
5
795
976
151
471
801
891
816
905
734
827
547
576
603
210
567
288
662
725
834
916
971
897
315
110
134
605
749
407
304
59
76
40
248
210
717
74
220
630
433
222
11
63
104
221
106
714
391
213
527
165
641
606
211
464
781
229
734
705
944
26
119
833
267
79
462
368
421
447
668
206
334
847
260
614
788
344
332
898
309
565
446
981
91
426
467
581
566
884
53
375
128
210
550
159
870
104
163
280
445
730
489
241
601
296
781
343
126
596
172
5
464
844
130
518
862
72
753
917
712
242
807
457
889
604
772
858
197
271
554
425
487
418
1
43
474
733
542
377
649
825
897
383
165
784
352
532
20
773
38
646
629
420
450
548
4
593
498
825
460
737
694
705
60
869
756
452
819
282
47
59
159
495
368
819
891
997
277
789
954
786
164
744
43
680
560
899
226
898
589
887
385
779
567
537
461
203
277
592
440
997
537
294
151
251
850
485
802
763
958
951
898
483
529
910
723
757
215
77
681
884
622
513
900
307
661
261
991
756
225
356
13
583
248
374
762
124
858
377
321
874
947
874
989
146
263
505
207
1000
96
623
446
196
781
173
697
948
255
361
935
818
540
78
510
287
803
409
909
181
721
180
84
437
912
878
786
215
530
217
279
851
276
358
340
657
173
934
363
92
662
996
317
81
891
192
587
511
933
624
223
375
746
679
772
759
132
700
594
33
56
266
485
744
913
921
379
599
215
755
299
936
729
55
739
833
453
4
298
367
565
135
779
658
584
820
727
433
113
171
847
233
62
375
482
149
326
623
725
672
570
355
823
494
280
323
37
7
504
849
522
590
438
325
902
288
599
74
902
427
746
134
741
121
635
491
26
242
108
404
367
815
452
752
365
45
398
768
805
992
486
125
97
907
815
248
933
981
317
681
154
232
427
740
264
794
375
716
488
158
370
151
212
912
621
648
639
673
754
474
653
562
336
375
524
228
234
122
836
842
304
434
725
498
893
720
694
202
632
523
923
818
326
778
595
625
152
137
891
79
811
811
864
76
44
555
913
150
89
189
127
989
332
245
117
308
771
582
9
701
659
965
592
906
98
247
664
219
733
668
127
234
60
491
867
702
726
30
562
588
470
817
322
17
872
868
622
648
256
752
914
798
666
972
35
699
427
441
369
761
576
236
681
914
774
412
70
374
617
233
747
637
353
40
899
223
503
684
96
549
223
700
975
5
773
902
313
835
72
203
966
86
923
384
87
998
827
271
620
847
523
299
282
519
638
961
137
216
769
644
678
760
459
288
881
777
196
541
488
436
468
829
646
179
704
731
422
405
752
654
599
106
449
620
302
96
212
308
898
408
467
65
47
471
604
999
227
65
5
96
377
210
687
599
8
527
384
546
443
38
341
771
455
523
414
803
392
291
161
919
789
912
70
425
760
212
383
578
566
452
143
318
820
279
548
693
390
50
86
275
259
539
828
819
320
732
947
722
57
530
332
544
640
963
232
924
751
767
647
252
324
97
205
855
845
950
552
564
557
436
787
663
816
577
246
441
973
151
805
625
407
173
967
713
988
86
585
113
107
979
109
228
98
33
428
358
28
836
177
9
957
799
713
915
30
938
819
251
903
474
206
902
256
707
716
893
383
436
378
605
273
916
243
439
176
528
377
882
970
684
555
913
310
590
768
953
69
801
294
352
475
911
706
185
480
997
120
857
132
622
264
722
294
193
967
234
938
218
590
60
192
318
415
711
73
920
715
64
884
641
747
665
224
4
453
31
918
817
214
944
873
52
889
415
495
752
578
75
588
83
573
71
462
276
950
36
328
185
129
757
216
251
687
768
797
989
997
561
141
430
359
273
54
30
181
774
584
427
62
185
890
184
967
148
89
743
35
788
873
30
263
397
805
513
986
143
104
768
503
509
427
615
925
376
833
557
667
523
559
609
193
41
123
394
109
48
80
802
132
88
893
429
534
127
953
291
192
915
556
476
875
736
386
156
967
87
185
157
348
311
116
635
931
247
740
503
715
343
487
159
919
816
906
244
997
513
822
183
648
987
603
516
522
873
78
618
112
330
185
156
19
877
72
39
239
772
518
327
936
568
394
373
820
225
514
417
516
426
129
298
576
516
437
762
439
689
906
188
139
977
388
438
360
751
39
307
258
415
423
183
635
313
175
492
819
783
394
697
423
48
328
923
230
595
847
745
372
846
230
189
892
610
731
122
901
102
539
65
691
355
874
529
393
912
989
702
127
786
663
547
400
46
835
420
203
254
972
79
421
928
314
551
281
847
169
240
867
760
591
648
10
635
882
961
938
382
811
975
230
803
840
918
584
38
263
105
348
979
894
253
357
614
970
630
151
464
751
856
886
737
39
806
578
708
36
685
56
870
567
630
906
58
348
795
87
453
236
618
368
971
908
915
701
11
223
462
643
562
511
675
551
534
600
278
235
105
86
276
367
707
916
441
594
922
956
688
771
384
253
877
917
374
15
152
708
53
546
96
143
780
413
229
50
296
219
112
374
358
576
350
902
728
493
577
30
163
529
283
610
298
283
310
291
749
382
139
666
929
919
971
179
80
455
865
381
992
317
781
823
280
200
240
757
101
916
70
399
627
974
557
523
372
35
945
862
663
52
335
318
402
21
503
866
571
592
162
66
42
711
779
11
320
509
175
699
877
539
977
944
347
772
640
651
898
912
98
131
691
632
832
861
223
671
970
851
364
741
763
904
964
853
501
438
264
851
742
340
156
990
984
688
481
852
759
676
379
798
20
283
84
405
807
513
334
752
926
123
459
462
406
534
675
462
550
51
991
367
422
359
586
563
964
501
121
411
246
86
175
632
668
722
405
889
362
925
350
617
176
201
383
779
107
236
63
586
97
758
562
214
899
202
144
408
933
742
842
591
445
86
413
402
947
158
605
10
409
453
255
494
87
162
652
568
12
869
456
404
143
351
443
820
371
164
311
929
586
844
785
601
773
95
50
858
662
183
432
791
832
252
728
132
367
233
663
161
392
617
493
596
515
327
540
675
401
437
577
48
563
648
70
51
708
348
713
611
806
416
166
278
777
932
726
573
321
452
572
182
232
668
446
108
346
284
255
699
438
1000
888
208
10
701
678
136
521
434
64
572
793
551
63
400
691
237
35
43
307
346
281
631
310
367
813
945
4
586
850
110
147
883
696
569
769
924
34
266
674
102
377
449
319
995
143
201
385
439
963
984
170
909
269
255
585
759
158
964
70
48
854
280
719
970
143
277
207
352
186
146
561
684
682
4
107
90
431
465
350
234
944
448
104
162
855
869
952
527
593
402
731
263
702
129
881
33
337
489
693
796
421
790
590
93
392
106
209
560
520
310
188
834
495
26
113
319
86
239
440
570
563
699
454
489
244
507
343
77
474
879
573
529
1
351
575
649
42
566
94
668
263
786
673
823
64
896
110
600
696
202
90
66
65
411
661
601
56
599
891
109
652
615
557
985
353
382
38
350
102
494
441
514
560
21
598
370
643
608
896
823
420
506
418
750
201
358
997
597
292
358
981
139
861
258
809
475
348
456
681
10
363
381
934
362
435
474
107
231
980
835
922
946
546
796
911
438
743
907
736
971
365
761
312
446
999
686
378
698
91
312
91
21
129
946
300
438
273
693
920
668
313
544
658
73
272
823
743
594
235
353
810
660
258
602
779
302
852
371
47
649
918
933
769
618
407
604
731
785
250
890
120
122
713
329
336
452
127
390
927
375
418
561
689
581
833
970
948
69
432
671
276
19
838
130
39
187
356
709
224
919
138
756
102
56
663
884
893
392
791
826
80
685
310
751
28
826
849
537
665
256
69
52
677
750
499
822
389
749
883
533
226
279
941
267
607
669
908
203
620
460
465
347
89
845
913
368
859
254
411
806
663
471
71
864
129
607
184
354
187
184
823
893
50
152
10
508
881
43
749
499
708
399
293
28
991
248
301
994
899
651
707
938
790
200
195
941
528
618
404
27
695
531
135
80
266
651
322
191
983
494
47
999
385
146
270
227
170
322
644
809
269
680
728
947
37
381
119
359
341
912
876
565
737
423
810
287
874
528
73
575
977
473
783
886
434
446
412
815
307
636
177
273
433
436
574
786
517
474
386
1
22
712
373
944
631
12
546
988
97
527
680
376
450
804
251
256
236
356
456
432
117
803
195
451
514
461
592
355
813
650
122
186
568
544
638
492
50
910
343
308
85
724
966
723
240
827
474
290
99
29
773
552
904
333
597
30
275
675
168
774
656
324
223
279
900
859
628
177
907
183
224
81
680
9
687
264
320
603
827
830
443
471
485
378
602
806
865
684
22
761
920
625
644
722
949
227
12
642
656
577
273
350
242
856
595
57
792
293
640
871
445
414
35
747
839
778
900
751
48
603
187
866
749
146
355
47
498
302
704
842
684
726
599
147
519
421
623
7
261
31
266
915
650
130
379
27
36
848
990
708
651
351
120
577
929
313
9
194
75
915
8
952
941
328
551
566
332
685
445
402
9
159
438
473
570
626
804
144
962
548
201
504
387
599
372
189
977
401
718
512
728
72
489
742
963
158
631
678
21
208
93
523
617
1
253
933
347
880
992
18
947
562
334
597
539
763
348
324
306
323
190
779
737
750
89
823
414
514
819
648
943
300
406
282
891
805
432
210
843
398
745
2
44
626
602
623
126
788
838
666
477
587
744
506
941
251
31
939
435
213
525
374
85
244
114
428
379
352
138
869
204
839
701
452
41
987
92
746
472
258
836
642
91
866
833
595
904
699
438
87
588
74
105
587
28
181
831
563
737
728
582
874
610
807
601
652
400
38
758
249
66
586
805
471
340
992
758
652
355
334
588
55
88
152
28
4
617
277
541
195
82
246
612
640
706
74
253
528
703
558
392
343
31
664
178
4
485
285
736
535
792
361
928
886
582
385
153
884
217
759
119
482
544
947
804
632
183
199
289
919
259
441
49
739
973
271
344
218
646
70
50
322
673
528
504
787
716
164
315
393
994
302
836
934
86
659
178
461
59
832
133
408
68
470
373
691
712
491
708
781
279
76
212
673
321
467
157
744
530
662
239
311
499
955
966
175
816
76
619
119
611
511
312
196
481
414
586
803
800
949
153
904
821
472
213
329
533
279
855
187
751
677
770
358
54
736
774
401
737
285
78
398
838
593
577
593
398
325
289
29
268
780
96
712
16
55
571
683
986
750
628
515
469
804
600
484
91
358
161
295
494
574
661
920
233
804
858
454
817
44
549
697
844
991
417
371
400
872
225
218
380
928
733
141
808
396
869
672
173
277
969
984
752
95
313
929
69
633
426
29
25
908
465
925
705
742
835
163
767
819
125
185
952
64
139
556
568
402
113
925
13
971
2
403
92
367
827
132
163
403
990
873
161
18
176
619
817
834
567
429
31
142
932
160
165
588
471
851
916
808
384
469
299
130
891
389
108
25
628
802
777
365
987
872
712
324
762
228
594
93
15
214
213
483
806
285
480
417
28
180
9
876
925
582
162
798
34
820
893
401
4
953
946
514
470
992
492
218
243
344
475
282
995
695
421
594
113
808
721
282
294
164
187
56
612
87
758
903
686
179
111
208
98
677
232
193
111
509
466
332
205
66
644
829
171
334
326
760
447
164
700
233
600
946
434
881
817
306
868
38
576
725
922
702
703
308
10
631
821
200
558
335
209
475
76
576
362
359
704
290
240
676
347
963
613
572
10
974
959
705
137
408
665
733
670
260
14
62
112
636
345
96
520
69
909
915
62
434
446
207
239
254
958
804
178
643
829
990
144
142
439
776
565
650
12
627
160
783
120
188
306
907
644
726
133
475
193
207
934
961
976
894
715
126
249
556
182
795
659
864
165
380
319
905
295
871
385
668
178
813
509
791
307
939
313
414
930
489
701
1
646
827
993
180
98
882
311
236
172
720
999
922
893
317
554
986
406
184
325
119
576
121
71
903
379
942
656
409
353
42
835
459
680
478
507
44
413
812
220
488
466
785
177
354
182
437
892
329
527
707
546
91
914
868
147
103
940
723
133
232
183
90
361
769
996
667
725
79
309
140
282
924
859
936
62
305
665
419
338
767
348
696
425
524
202
340
708
632
369
432
890
640
201
356
368
744
551
202
910
207
99
383
38
340
576
262
226
46
579
750
436
235
31
656
445
26
951
141
935
618
133
535
181
797
704
284
87
263
984
639
627
792
123
875
372
740
988
831
314
301
791
537
835
482
680
234
51
548
187
334
671
130
187
699
788
638
74
531
965
154
923
24
30
899
819
412
854
449
772
256
676
964
897
762
93
567
726
273
609
814
49
725
90
787
597
76
940
290
323
101
251
257
558
555
494
793
579
944
489
524
759
219
900
308
931
980
514
946
341
971
513
676
513
978
712
356
239
921
933
161
885
910
935
102
104
247
769
100
509
454
36
556
796
505
641
819
550
896
815
292
811
961
467
173
137
505
266
221
482
454
433
383
939
54
636
796
396
202
280
964
729
247
965
900
28
664
275
416
152
956
835
890
977
226
26
662
977
702
25
54
970
70
543
41
179
416
797
755
265
155
960
846
699
970
18
744
405
908
876
214
764
465
481
100
912
608
42
572
906
515
166
829
784
534
364
47
994
111
810
246
161
289
657
342
582
66
798
427
112
933
646
921
792
178
259
977
614
501
880
521
847
242
331
337
939
966
663
631
957
618
269
298
892
779
405
419
516
158
258
333
783
126
15
772
538
454
32
788
769
975
243
268
291
789
843
427
61
814
19
625
820
923
92
281
797
957
28
142
642
335
458
759
114
519
853
993
487
73
777
3
143
723
680
304
873
989
148
324
265
537
798
362
160
577
631
854
327
822
962
244
119
465
197
653
138
231
222
787
510
884
903
802
13
546
971
505
88
341
308
858
994
569
593
784
694
672
22
250
455
918
20
744
284
110
880
418
852
721
41
927
186
755
52
687
91
977
530
545
355
708
543
125
82
700
544
228
57
402
32
537
213
801
585
40
108
561
648
618
132
368
606
188
207
43
505
657
477
657
340
873
789
62
234
73
710
822
396
731
129
684
50
45
331
319
871
637
848
601
320
573
900
372
749
208
124
359
784
214
958
495
633
704
716
414
911
201
729
873
563
116
303
831
25
237
680
228
632
806
912
875
836
855
280
112
143
699
359
39
759
719
979
411
732
863
828
229
368
813
759
218
564
90
359
131
944
893
328
19
749
719
926
831
550
859
832
9
349
421
235
42
489
197
474
569
147
108
701
525
259
888
806
944
361
31
360
412
780
213
551
163
617
683
714
811
364
462
917
165
355
435
463
142
390
958
504
509
447
803
861
398
246
675
201
776
611
441
826
94
543
485
680
698
714
916
720
943
906
703
106
234
497
406
263
717
92
231
674
582
734
517
72
861
139
851
7
205
515
745
752
638
719
914
861
163
875
260
190
125
230
547
933
151
12
601
670
16
916
144
3
50
676
573
479
131
200
830
816
408
42
336
790
510
273
122
885
478
84
380
4
509
603
361
930
851
250
73
507
961
827
736
893
40
701
461
708
89
603
928
660
257
327
357
437
91
660
909
780
514
317
341
484
425
569
480
510
18
88
21
102
507
873
657
255
858
394
204
636
675
823
129
697
373
432
598
957
837
783
444
326
903
292
211
436
302
715
135
203
566
225
369
200
507
822
146
738
623
790
741
681
519
571
193
857
783
347
171
57
7
179
348
653
228
117
890
337
982
222
631
208
949
971
89
126
71
789
636
783
798
956
138
663
334
967
961
442
365
629
963
513
635
704
405
56
844
953
212
626
348
530
256
5
621
844
50
703
367
866
25
675
826
976
548
504
270
886
130
193
335
792
59
960
516
595
995
188
571
331
360
193
670
210
167
200
220
861
137
80
18
57
896
147
405
276
493
224
733
361
43
377
301
186
921
633
537
745
960
70
908
259
591
47
73
212
125
132
816
274
562
854
988
523
695
109
355
146
15
457
709
343
754
94
38
922
846
942
240
459
764
558
550
18
356
885
389
562
465
236
597
878
706
34
946
602
336
433
954
585
781
946
89
512
216
371
148
634
122
475
161
340
631
468
363
675
981
344
601
799
587
756
867
509
339
543
785
764
855
765
254
238
235
567
460
464
205
347
42
957
427
864
290
414
847
894
655
180
748
935
397
594
146
913
802
491
839
654
869
259
60
111
590
775
490
732
907
582
394
504
807
578
633
546
29
245
626
697
398
684
673
913
465
184
575
465
982
47
657
926
94
930
983
448
195
186
426
708
677
546
487
342
910
886
436
817
354
600
334
779
987
467
476
395
447
445
177
699
486
101
981
791
508
84
606
991
874
827
965
623
482
800
55
606
225
455
188
751
656
413
338
461
874
633
465
518
567
233
487
953
104
858
770
227
377
791
363
230
50
206
513
450
104
258
177
499
966
887
361
26
528
117
29
564
170
361
728
624
471
346
497
74
232
661
764
326
745
384
864
386
859
910
384
542
63
456
404
214
951
250
453
988
1000
698
736
826
438
663
310
300
433
134
708
508
531
143
340
862
738
731
421
292
670
961
618
195
320
846
626
110
629
328
686
746
917
67
95
607
756
864
260
199
769
328
745
103
186
843
718
140
703
615
978
343
184
218
993
878
520
7
587
87
205
775
296
14
910
30
872
605
526
412
227
822
450
631
84
924
455
858
987
966
941
828
905
950
562
121
685
21
680
247
546
454
75
653
719
333
817
87
407
587
918
369
288
363
978
613
363
312
537
394
342
582
644
408
787
725
2
990
368
367
377
56
844
644
266
107
606
871
3
730
138
664
480
254
919
127
658
30
946
960
798
659
346
822
321
209
442
534
765
747
513
828
234
603
65
898
906
299
777
497
663
885
582
712
29
491
837
548
172
534
961
744
732
709
42
589
340
601
933
900
96
613
61
406
725
368
324
809
431
740
176
891
668
978
738
836
998
584
58
901
710
270
498
95
218
626
435
656
908
860
981
463
813
918
477
595
84
679
377
748
292
841
872
813
274
328
87
157
595
465
182
274
759
122
645
842
271
16
610
767
317
387
523
253
653
334
313
289
390
244
259
191
118
125
543
393
377
575
337
511
942
362
325
336
192
93
710
739
188
649
789
596
105
847
441
556
179
978
103
768
450
829
600
529
849
351
420
109
437
738
117
619
665
278
819
399
50
709
293
84
161
121
452
576
4
865
715
957
204
482
956
967
66
481
439
903
906
984
307
631
144
721
856
311
576
581
650
448
819
514
879
188
468
601
38
566
952
973
63
15
577
814
356
205
761
332
670
116
426
839
167
219
358
103
851
669
727
442
643
168
797
6
812
956
107
199
442
625
293
21
871
455
53
118
394
923
1000
315
891
202
766
61
681
445
569
278
280
397
39
669
518
901
111
726
246
955
280
559
420
119
409
437
937
229
147
481
359
900
462
56
883
557
968
786
600
145
644
207
752
157
468
280
450
202
363
244
266
942
69
252
415
348
293
757
117
35
803
34
153
871
709
838
269
796
434
112
1000
397
865
440
221
385
177
441
983
464
353
70
737
325
898
100
851
145
278
921
517
440
150
791
408
760
357
908
583
230
403
5
498
821
874
451
676
953
715
223
902
521
227
683
117
795
43
636
414
256
241
187
471
646
154
389
813
735
867
725
318
119
185
219
553
818
734
420
728
363
721
455
95
636
842
342
591
931
227
239
886
20
697
554
500
64
460
650
770
528
473
622
648
469
804
866
130
19
912
938
301
363
337
202
732
604
913
111
123
699
246
877
442
546
940
271
930
805
549
280
318
744
641
723
855
92
549
268
1
755
603
979
750
100
95
367
236
642
139
751
118
584
553
722
717
968
28
339
342
544
180
919
380
836
129
600
838
744
30
442
210
38
794
859
52
858
733
356
526
412
240
661
699
305
408
272
997
889
137
148
6
372
442
688
506
132
181
72
356
747
156
393
768
681
784
566
953
630
300
968
626
141
327
915
965
414
112
62
1
878
469
428
667
317
896
41
537
316
69
226
152
696
811
569
885
460
339
768
276
506
589
83
333
620
326
962
914
684
415
382
11
760
730
516
29
491
577
551
565
407
598
736
229
224
71
500
943
177
338
721
237
952
90
914
965
639
179
670
220
284
715
166
158
530
364
752
823
958
51
224
289
111
619
726
428
540
549
962
330
700
188
945
508
647
559
53
140
147
158
169
26
264
133
87
484
166
104
160
50
325
727
479
392
9
504
560
907
810
889
642
268
884
201
807
917
913
255
806
686
276
489
218
557
974
118
139
287
732
454
641
48
626
816
385
717
945
807
400
508
95
420
59
477
655
727
725
183
380
16
120
820
744
869
38
972
623
492
215
795
460
985
872
54
416
262
93
684
673
698
625
87
99
515
657
165
168
8
923
814
201
599
728
818
727
7
49
540
78
254
565
789
368
186
390
530
935
217
765
961
917
319
27
805
64
393
544
3
978
265
929
826
451
468
718
699
884
675
8
982
410
693
634
409
930
673
534
233
843
137
336
333
793
113
35
385
270
533
1
558
417
155
534
83
473
692
572
79
681
763
598
57
796
714
698
3
261
661
925
499
164
5
673
859
998
669
851
758
828
831
616
924
147
848
415
632
822
580
76
324
65
818
798
254
634
900
605
412
910
539
707
229
104
426
124
924
714
12
858
565
758
778
135
56
790
85
54
390
388
511
962
61
612
507
3
839
921
292
704
283
761
167
682
471
966
837
559
151
892
430
437
620
856
365
247
507
265
849
807
616
752
604
946
538
4
454
244
25
446
165
292
500
228
126
427
891
472
616
692
129
372
987
765
671
122
998
589
799
409
652
544
70
556
102
865
22
53
59
887
282
838
859
954
115
481
646
795
878
73
387
144
156
701
254
293
533
783
278
724
809
939
626
502
862
80
579
486
215
145
262
725
359
476
921
94
946
925
867
38
772
439
775
580
790
7
104
452
777
20
306
743
653
794
948
77
680
593
720
779
146
37
914
444
562
847
206
394
930
810
722
559
166
181
847
97
344
529
573
96
661
690
112
7
38
715
50
767
526
234
79
885
35
835
608
23
225
733
337
986
699
788
462
542
428
802
912
166
538
408
552
945
924
733
624
58
352
338
25
426
815
599
295
158
484
944
114
831
201
546
456
232
667
22
17
304
58
7
347
943
926
648
274
185
497
224
571
631
176
571
36
162
650
865
849
883
960
592
943
199
328
534
790
396
897
1000
934
933
834
861
195
755
595
573
885
520
283
625
583
814
715
763
176
955
452
301
140
302
105
208
41
919
718
363
875
494
162
946
256
753
18
676
646
572
217
672
72
390
609
760
771
864
280
293
651
134
32
733
288
351
502
189
459
539
991
424
250
347
271
37
75
925
619
540
126
258
605
486
51
51
983
928
878
396
478
215
406
893
303
950
835
5
357
455
999
22
352
143
445
160
595
205
237
429
700
435
844
214
920
433
407
579
735
627
320
893
412
529
421
638
762
258
44
369
597
922
955
319
188
602
954
20
923
246
501
185
99
841
769
309
779
620
238
717
610
202
511
767
444
429
302
611
87
870
745
447
781
839
926
742
236
580
141
206
574
148
36
240
200
18
900
311
795
57
271
33
601
106
236
80
536
131
542
641
499
853
574
553
989
538
532
145
829
620
452
665
377
203
923
677
804
119
991
122
970
911
450
963
348
946
105
195
909
92
372
349
580
568
815
999
515
792
324
878
241
90
80
707
517
180
282
157
785
483
530
288
320
993
139
950
324
325
595
861
257
4
673
308
252
803
168
783
24
752
632
947
320
72
550
110
977
622
152
373
385
485
282
111
712
115
359
271
766
717
616
867
881
717
2
227
132
279
615
17
999
567
110
610
116
503
345
855
128
91
740
869
233
270
44
483
904
701
962
752
886
264
925
459
118
587
671
833
700
203
961
903
538
607
472
633
791
631
78
894
102
895
441
856
422
648
194
783
786
913
284
764
540
216
468
251
34
347
297
117
908
405
707
429
312
753
128
605
977
599
497
433
658
164
40
436
409
361
701
613
720
258
619
837
920
889
81
398
349
33
684
825
647
149
535
79
498
67
359
781
215
966
498
367
423
368
256
534
691
377
515
421
887
182
41
757
546
498
728
809
803
650
773
924
841
289
170
83
408
651
368
783
562
4
76
950
499
1000
243
744
216
848
244
686
529
196
889
893
854
825
715
894
645
875
57
650
740
44
87
694
967
280
145
32
557
287
618
349
819
589
929
609
813
49
864
4
466
541
999
522
435
101
880
236
281
436
869
800
255
401
8
811
634
407
120
307
254
943
177
23
527
917
274
757
515
459
598
481
990
744
18
725
806
896
696
346
616
791
765
983
385
765
291
312
637
607
368
949
890
676
219
771
441
695
24
622
856
271
746
588
536
47
281
334
622
388
505
820
220
303
24
575
794
30
981
78
525
396
806
389
827
271
35
141
407
739
328
289
744
995
575
285
563
801
376
246
871
730
157
314
467
799
143
308
652
73
399
488
426
660
923
82
676
547
397
236
320
218
936
780
310
494
50
270
185
709
807
783
227
110
782
559
161
886
393
274
583
643
441
656
446
766
178
437
316
958
894
671
396
300
179
716
414
358
718
371
175
645
847
462
246
17
96
350
72
932
850
803
416
358
216
561
432
291
783
683
223
70
517
929
124
874
668
462
392
482
223
58
848
750
528
205
401
615
332
964
204
454
578
483
180
700
33
348
83
176
340
723
479
925
212
101
450
274
955
620
532
913
551
652
654
992
238
439
115
288
982
612
420
83
726
471
797
398
540
688
202
954
205
448
837
936
559
281
460
621
318
652
489
649
776
864
823
428
843
663
270
795
174
578
445
802
685
715
713
788
935
12
162
957
786
90
888
146
851
581
361
763
462
153
871
375
210
429
578
886
791
23
164
178
728
398
111
755
208
824
672
699
930
972
815
165
36
758
291
721
168
856
36
624
690
920
681
59
122
985
465
368
796
135
597
431
431
926
133
338
862
256
308
704
952
81
976
895
466
529
930
953
409
437
721
776
355
753
359
384
655
698
628
287
828
87
231
546
323
110
585
279
106
809
882
210
285
759
74
138
419
703
470
909
287
203
948
413
383
112
924
734
497
569
124
767
383
252
977
146
694
695
127
413
903
749
475
524
220
1000
413
44
978
375
283
106
702
598
362
713
966
657
757
632
306
861
286
166
190
87
615
293
610
658
628
464
258
957
543
454
304
21
695
932
683
897
28
876
470
840
242
22
406
176
664
69
332
281
208
476
264
967
816
929
842
984
495
112
30
211
189
890
531
487
993
25
675
410
545
314
119
765
76
911
641
682
402
602
456
393
758
907
850
701
525
5
987
562
422
74
819
649
121
508
146
170
571
203
392
153
950
584
728
138
345
124
963
193
792
760
127
816
13
34
46
301
228
540
26
503
54
896
213
944
449
483
342
728
451
778
652
28
674
533
737
10
704
1000
199
714
965
297
58
881
361
353
155
391
976
531
915
325
679
289
778
321
716
839
636
59
50
948
635
430
27
296
904
331
843
234
828
551
198
964
39
965
66
200
361
850
970
555
547
340
610
323
974
783
187
334
831
546
303
663
722
547
947
512
427
187
554
870
41
939
392
146
507
678
699
1000
162
887
597
250
832
50
131
457
436
410
293
466
45
179
591
437
648
526
729
622
491
246
470
497
248
775
645
394
303
434
214
973
114
89
25
598
202
627
977
285
483
685
154
513
706
45
550
812
15
951
449
186
674
847
42
680
289
213
37
284
863
498
806
309
25
393
923
165
656
959
925
922
456
899
872
219
721
137
541
523
411
572
23
637
80
695
795
633
519
787
48
788
631
705
562
537
915
209
241
50
966
118
750
734
93
617
747
731
326
119
414
574
646
5
634
418
452
157
497
505
843
389
577
445
937
776
787
636
16
615
223
977
327
628
958
502
49
40
761
41
768
469
496
137
344
172
643
452
558
608
274
163
923
825
809
312
120
286
634
235
475
126
121
362
791
283
903
377
957
146
809
686
571
995
32
642
155
480
152
211
306
413
896
933
938
825
981
920
235
670
559
613
256
49
504
725
252
89
201
782
507
708
502
792
704
463
8
195
281
778
1000
977
570
305
755
177
67
771
849
728
269
854
671
665
819
62
411
684
876
105
260
179
701
352
840
855
868
606
472
499
284
983
741
347
374
714
399
587
700
608
486
233
981
248
495
201
468
587
788
90
943
28
722
826
987
155
776
635
112
711
890
792
136
39
934
262
783
679
727
998
146
892
170
405
535
291
900
76
54
57
181
132
295
717
292
445
296
741
940
601
630
342
192
18
890
103
872
381
351
789
611
702
593
399
74
17
502
173
967
559
808
40
629
191
682
317
408
13
121
195
595
789
985
121
535
863
116
815
569
21
839
193
719
195
930
364
79
407
833
60
407
140
944
809
29
392
735
461
494
200
630
670
224
889
401
194
976
484
283
551
304
357
887
696
730
291
645
792
824
98
941
472
862
178
851
770
464
692
544
223
345
668
970
273
501
158
728
387
909
634
813
517
614
670
313
388
344
837
505
495
590
96
362
612
584
961
382
971
406
347
285
171
693
26
925
621
519
464
207
382
561
947
937
955
310
543
347
774
103
742
213
783
827
715
348
9
435
728
405
582
824
293
91
326
130
124
216
138
68
874
925
837
493
723
546
724
597
204
2
111
324
552
848
240
333
491
12
199
468
313
886
758
34
71
49
563
160
317
935
254
528
75
846
688
726
668
251
408
21
172
771
549
923
410
599
855
487
603
393
633
929
555
701
56
425
205
259
795
267
626
3
177
314
413
352
181
861
318
318
491
447
402
903
101
571
174
377
278
113
61
248
657
4
990
328
463
248
354
933
665
465
11
701
839
99
372
816
228
467
236
302
573
832
262
593
863
246
263
968
357
297
951
935
248
762
988
365
817
608
867
47
604
221
924
913
852
777
610
493
627
621
246
102
611
370
351
810
821
264
989
412
915
9
720
547
5
598
212
534
289
967
70
749
763
821
841
918
426
635
670
219
523
393
203
910
754
167
861
650
541
650
344
463
41
240
329
253
981
262
931
372
70
748
226
403
312
165
91
725
981
542
28
147
847
871
685
339
378
539
361
490
147
89
884
953
932
515
493
524
28
737
388
693
698
834
141
73
443
869
196
148
642
961
583
481
454
739
736
354
596
382
697
901
723
676
445
214
614
563
676
694
428
951
377
888
124
474
348
585
432
673
155
369
832
734
782
359
125
476
666
995
375
249
308
232
373
341
84
945
15
731
919
431
871
811
340
87
152
224
669
631
942
436
577
282
799
54
656
856
190
258
347
386
981
743
662
130
458
72
409
181
479
521
123
599
126
527
871
147
148
551
678
676
655
932
793
607
703
653
576
127
36
290
457
350
983
585
608
89
592
15
2
917
742
741
747
272
290
372
150
682
344
383
221
959
977
83
169
786
169
514
684
450
193
42
857
473
35
699
32
478
477
413
184
320
386
347
312
96
137
719
307
341
562
313
668
650
661
165
839
193
954
84
595
983
641
534
739
583
205
719
677
599
701
389
119
380
361
769
297
437
69
765
394
359
203
607
914
508
180
734
360
362
386
894
617
458
406
578
295
283
564
777
92
130
42
89
700
248
999
439
286
669
177
14
829
889
888
901
451
330
674
199
374
872
418
142
903
691
834
216
695
167
235
857
748
104
514
804
387
302
632
325
36
484
289
296
214
978
134
20
668
235
875
905
509
943
418
891
970
140
444
663
959
821
721
556
778
359
229
812
485
768
72
576
836
151
915
429
160
322
503
398
321
882
278
194
925
89
111
808
17
566
239
1000
456
890
415
88
637
958
504
378
892
983
262
480
375
372
565
646
360
629
225
586
886
486
154
167
924
529
410
453
935
314
617
983
220
803
144
621
584
889
111
248
552
197
560
959
853
890
564
970
16
980
231
881
694
64
474
371
855
97
115
315
222
626
775
633
909
140
166
896
202
270
260
416
234
591
335
497
987
827
954
942
153
1
699
601
333
653
211
306
100
787
506
559
835
347
245
99
765
651
237
908
181
446
904
620
797
792
49
879
232
951
105
5
937
311
20
851
132
839
321
611
757
585
725
142
869
197
813
827
131
354
622
427
140
300
654
342
88
468
265
691
397
605
402
696
771
601
540
509
656
787
566
354
236
390
873
234
285
263
39
345
464
21
260
79
944
852
309
474
654
771
29
383
822
61
211
378
130
367
791
953
60
159
52
428
43
749
12
256
765
584
538
505
28
17
342
90
911
957
504
382
827
637
561
125
715
846
68
763
151
454
841
691
474
78
420
282
511
480
491
344
394
267
391
149
493
117
794
797
230
688
4
434
896
762
723
30
967
330
616
316
645
41
151
791
142
152
627
392
572
660
638
16
189
859
754
678
804
695
709
980
384
957
238
600
160
245
544
305
337
558
84
735
326
188
541
623
253
449
532
22
824
745
839
537
550
462
818
503
500
268
542
961
298
133
432
402
113
306
420
283
780
551
191
232
749
996
738
762
115
203
391
781
179
676
464
868
816
412
55
18
512
344
60
541
11
689
536
189
927
800
316
428
805
77
813
120
894
567
58
410
788
862
536
129
714
461
437
526
669
135
831
330
101
705
461
759
375
355
95
638
682
197
329
328
206
639
295
817
433
905
601
122
61
432
77
706
247
478
444
318
374
477
742
791
832
689
215
927
899
758
866
90
33
310
225
830
1
968
844
248
184
420
232
64
328
5
727
173
741
950
351
439
299
425
580
948
417
631
36
550
551
722
916
327
312
996
646
159
611
315
107
535
779
610
470
407
517
193
444
378
215
871
710
476
417
598
749
621
195
995
492
557
926
227
541
339
177
469
236
258
198
194
681
222
367
861
516
905
227
5
524
570
662
871
126
14
257
529
884
473
43
185
685
929
535
705
392
901
391
679
816
630
950
63
316
23
446
648
294
872
149
296
523
72
862
125
211
688
112
532
453
955
428
266
761
525
884
354
353
310
717
284
569
178
529
354
767
532
178
352
94
615
763
607
709
228
64
255
879
771
65
620
782
363
55
200
169
844
648
577
350
47
465
117
870
49
447
679
305
856
845
528
254
81
292
274
570
689
645
908
592
68
605
988
474
746
275
399
206
679
19
892
346
306
923
304
242
491
806
687
311
828
70
576
591
411
3
470
607
949
199
228
267
287
364
731
526
836
906
717
995
909
581
880
99
714
719
732
293
357
349
699
115
58
685
676
864
966
610
61
914
693
659
992
826
998
668
833
206
455
288
192
895
357
915
715
594
412
490
235
66
2
299
845
465
187
290
404
730
131
189
637
992
927
525
922
713
526
378
156
263
164
687
955
350
272
818
416
899
270
673
375
159
997
855
401
842
704
696
331
11
178
197
928
445
261
201
99
854
145
843
98
16
689
509
237
824
732
375
600
684
343
676
125
274
813
189
46
227
442
610
740
959
541
505
330
386
497
653
989
854
212
297
537
711
275
975
848
567
15
478
217
424
339
615
839
949
110
477
848
993
737
676
95
337
757
544
663
661
287
799
908
746
18
266
314
223
229
326
142
263
595
664
984
349
341
314
647
342
291
117
813
255
642
708
918
656
258
491
486
848
632
69
545
774
507
192
164
73
289
382
426
10
153
805
724
855
709
794
184
386
24
307
21
272
291
973
199
240
555
262
913
717
376
180
285
935
941
624
105
598
545
264
409
644
799
352
491
709
326
391
811
134
134
307
849
239
519
690
910
642
374
533
475
68
83
304
113
174
685
423
416
316
657
739
261
274
441
285
170
951
260
657
339
306
447
326
908
649
168
691
827
894
942
607
135
469
863
103
651
57
739
683
519
949
483
763
100
605
948
476
942
643
400
434
252
542
45
24
940
59
362
130
261
45
328
101
769
449
983
657
255
468
854
414
742
118
560
330
250
253
901
520
178
439
162
481
375
98
161
785
133
354
626
999
589
167
771
315
431
736
78
571
619
217
101
536
25
60
978
4
109
889
830
211
684
932
758
774
882
801
134
790
431
339
932
952
257
502
921
998
649
840
734
341
376
576
819
86
811
546
126
303
275
460
814
261
964
946
594
466
261
640
593
487
577
484
659
153
874
989
980
647
580
14
281
121
600
816
751
331
887
322
91
83
818
486
601
437
618
235
316
370
814
695
219
187
136
992
938
963
711
141
494
5
2
734
987
72
840
424
868
31
644
108
635
207
626
882
545
350
650
986
266
605
320
246
520
622
674
940
424
830
911
768
37
774
586
346
5
188
356
116
57
464
656
536
214
107
683
369
7
932
905
143
707
947
291
633
481
910
344
197
697
706
404
657
365
136
257
582
357
893
999
162
986
882
63
66
376
400
994
676
76
959
889
785
216
184
870
96
380
639
149
605
771
363
890
357
9
70
482
430
466
859
501
29
431
417
743
803
872
923
651
152
449
819
970
445
264
487
372
685
990
774
431
842
181
374
704
203
726
561
347
730
170
694
415
515
89
575
830
319
151
877
666
83
66
398
478
76
328
233
746
65
894
500
436
524
971
613
184
835
252
639
656
306
163
150
767
682
648
759
896
321
477
949
609
382
255
435
379
508
968
893
262
484
45
986
170
485
28
101
261
109
603
904
373
976
794
826
9
945
129
559
174
982
409
841
786
150
275
344
816
382
456
232
159
864
89
109
955
816
900
362
360
811
324
949
182
648
602
263
175
669
47
867
479
282
200
466
449
849
887
142
775
62
148
795
753
546
621
287
10
71
175
264
137
928
190
544
651
416
64
84
515
433
163
514
842
483
270
827
542
955
392
248
212
809
626
836
526
411
427
828
956
897
177
641
956
274
299
38
540
1
219
981
98
746
128
519
944
977
246
465
631
13
279
380
675
739
35
183
999
986
530
679
826
933
903
766
464
992
983
196
898
767
317
491
979
69
908
98
957
351
569
545
759
126
728
235
577
562
416
660
127
799
171
178
844
254
122
273
952
245
523
359
968
260
393
77
477
598
365
556
345
54
549
796
976
977
859
118
938
7
40
746
577
7
286
218
649
83
916
98
292
940
296
958
747
283
536
945
856
188
753
288
182
311
772
365
718
427
683
192
882
891
462
436
634
532
1000
738
5
286
246
3
430
792
710
583
731
987
345
199
523
294
692
184
819
698
632
682
547
342
174
969
328
534
411
480
311
504
228
5
460
271
734
327
283
976
929
981
45
770
100
258
204
863
109
359
234
806
412
71
539
596
323
171
937
587
348
330
177
244
605
277
893
256
529
439
666
87
347
80
876
914
771
902
13
211
835
436
117
934
63
404
68
459
155
763
809
701
923
226
699
637
868
472
194
441
306
318
124
699
37
771
322
181
850
289
868
543
133
513
812
385
738
911
137
691
424
273
267
854
358
663
13
978
94
904
879
954
934
552
915
719
605
320
622
732
87
244
933
634
416
238
107
853
622
196
650
93
664
304
634
413
725
998
793
583
841
28
223
494
705
884
862
491
965
533
796
366
820
180
850
622
884
433
645
254
639
908
640
867
7
901
240
335
755
222
59
313
447
276
347
729
996
565
316
77
817
186
951
751
951
119
270
224
19
652
385
598
769
525
902
455
699
865
555
543
946
354
683
448
857
578
488
506
636
793
611
386
171
171
189
609
653
436
271
529
670
139
846
176
252
452
589
932
463
918
945
348
611
115
10
308
983
23
260
241
829
913
837
735
920
560
745
696
190
760
326
230
250
713
481
304
319
491
133
124
512
249
697
927
508
64
71
626
574
578
976
114
259
542
775
82
995
522
251
481
707
963
501
782
363
540
211
665
900
544
482
416
252
601
606
566
188
937
787
351
990
119
234
566
264
405
620
309
632
760
451
168
618
61
887
976
432
655
25
90
623
297
94
346
974
704
198
47
35
390
136
422
655
755
820
381
164
453
605
110
449
623
161
64
215
151
962
585
968
251
137
397
649
479
341
35
348
601
673
36
4
33
966
24
491
905
924
409
315
222
294
354
380
401
225
679
803
22
952
104
275
913
473
713
682
624
697
250
355
180
142
759
167
21
516
355
889
462
269
19
662
663
751
116
583
961
911
832
752
99
41
284
242
461
427
244
222
996
711
392
961
84
874
144
500
744
629
33
975
345
120
343
90
458
304
341
668
926
764
649
827
879
707
507
473
815
156
732
83
917
497
13
83
352
227
919
561
563
557
593
291
933
309
160
40
813
223
155
283
739
382
604
148
797
482
690
509
331
895
49
120
646
112
721
527
199
824
745
743
460
982
640
798
116
234
617
991
619
838
5
19
530
769
63
898
439
589
254
912
54
452
911
585
425
987
577
128
374
63
598
826
535
689
592
591
682
589
626
180
425
47
5
787
29
739
263
966
57
619
488
6
392
287
56
704
398
580
642
159
408
350
579
251
727
244
529
148
604
228
211
5
756
675
60
732
400
336
912
854
37
169
295
365
456
756
822
439
676
65
332
709
632
235
547
949
756
366
969
152
764
104
664
463
406
422
515
435
66
644
24
599
48
547
923
117
600
982
196
719
253
882
24
368
803
41
384
657
899
707
537
450
330
870
675
323
937
540
224
783
717
543
31
355
172
908
194
331
410
270
495
342
470
947
719
245
615
442
252
850
741
146
394
454
10
129
153
393
28
847
421
925
825
285
780
164
169
821
266
762
797
962
367
664
134
779
374
989
381
656
840
104
530
279
119
640
55
349
30
537
417
752
949
361
960
817
195
882
698
406
157
617
435
374
101
137
242
529
235
317
449
712
267
204
555
516
97
163
21
118
736
675
95
649
826
505
306
622
728
225
767
289
392
405
921
783
61
704
455
169
693
1000
508
194
780
1000
122
651
867
949
775
680
743
695
87
459
411
933
668
119
246
752
517
675
977
261
445
24
295
759
922
159
266
210
192
4
542
577
717
718
736
625
323
938
799
370
712
9
848
459
390
233
860
696
303
311
39
427
144
276
431
990
204
123
561
127
751
244
80
270
258
860
458
506
923
9
518
124
151
108
401
497
205
250
184
590
320
389
713
512
517
795
433
695
118
586
795
183
374
144
635
151
753
101
948
114
906
902
319
645
479
408
461
426
14
994
141
102
600
19
445
619
837
405
421
614
779
290
800
226
177
249
875
26
626
136
292
391
915
870
227
440
852
750
467
947
212
86
155
610
534
782
545
146
234
349
736
372
57
746
844
416
821
294
834
221
898
476
27
308
144
679
934
635
54
33
331
366
66
554
407
722
48
17
137
800
174
847
362
663
867
859
743
475
977
336
425
790
884
381
195
609
49
10
559
688
507
599
986
132
348
866
816
676
560
587
524
390
670
485
162
594
7
586
247
908
788
668
474
503
623
978
74
172
866
686
726
115
208
34
315
964
442
519
588
211
45
960
159
234
166
256
969
523
867
828
876
805
747
65
522
669
950
291
675
773
96
576
13
495
382
10
131
59
223
665
393
389
230
906
825
958
152
274
755
895
959
537
907
139
921
227
949
322
281
175
723
528
650
687
98
563
895
690
32
296
316
525
810
341
602
985
294
97
891
795
122
599
816
17
274
104
678
48
245
305
582
873
569
795
676
786
367
995
784
357
576
261
208
363
470
373
810
300
956
211
414
616
153
840
700
505
881
571
444
7
145
29
757
257
707
63
379
387
108
753
578
551
249
118
7
595
939
307
862
312
484
636
567
518
414
244
529
644
115
295
242
121
890
398
259
647
798
946
185
285
591
837
81
684
187
70
705
869
367
119
187
917
300
76
517
156
205
811
614
607
966
78
853
821
387
913
420
216
227
190
202
309
335
904
852
573
557
34
949
808
630
871
543
601
573
116
485
629
573
158
4
28
149
415
609
431
477
103
554
950
144
890
952
886
212
689
17
822
757
524
406
531
470
271
826
199
357
79
561
767
167
853
796
508
469
186
281
316
905
205
116
148
46
818
641
649
124
711
551
327
137
443
351
987
470
790
644
29
961
631
588
523
295
661
909
169
614
937
131
388
579
123
236
571
300
964
782
684
961
315
11
114
394
244
496
342
218
124
104
866
339
309
773
561
583
240
78
814
706
199
34
150
125
393
1000
937
984
515
768
189
852
809
210
968
986
676
583
960
439
360
639
438
707
360
823
754
692
575
758
26
382
593
35
184
190
953
962
272
120
44
311
980
12
693
994
990
232
569
852
442
753
537
752
357
366
130
505
923
881
856
508
556
127
88
926
212
765
494
721
347
644
167
717
811
346
467
877
481
480
770
758
590
132
737
920
677
36
953
931
907
632
646
616
221
556
183
898
394
295
519
41
852
255
981
522
100
983
235
303
237
937
461
460
132
957
781
616
861
398
665
646
309
435
92
502
940
960
63
628
524
840
463
74
494
217
411
107
798
679
411
746
240
830
352
126
517
514
441
17
404
91
901
976
492
210
597
920
436
145
616
257
808
262
577
255
331
497
887
386
627
449
374
853
100
938
464
112
829
663
174
351
20
189
794
580
923
712
676
901
216
769
574
665
805
944
974
853
991
598
828
915
644
517
437
396
946
287
650
468
79
640
707
161
188
532
49
508
272
781
819
849
91
197
300
881
152
596
48
195
613
827
897
536
836
389
664
694
10
38
485
100
751
384
865
669
927
634
499
729
951
727
22
294
835
104
548
321
797
477
161
39
342
899
685
64
601
952
775
734
229
61
482
459
343
343
468
234
579
635
545
560
683
847
90
218
706
952
173
752
869
248
454
333
426
335
140
337
224
950
182
406
87
105
280
667
410
720
403
598
700
698
449
557
671
303
872
720
106
327
938
75
432
342
556
541
138
456
306
894
276
327
248
843
203
981
25
771
714
906
320
134
502
217
351
670
562
282
737
77
238
796
619
31
646
788
489
346
141
594
696
859
155
673
734
65
269
169
894
163
385
263
323
777
419
102
919
315
167
277
725
17
467
782
442
508
663
744
675
310
601
82
294
215
438
773
568
19
771
284
812
17
506
482
8
574
653
710
605
39
954
798
343
575
640
485
248
591
107
440
25
97
256
136
967
77
889
505
193
406
291
6
523
949
475
149
84
707
204
92
247
123
656
686
576
333
592
166
469
383
444
733
213
448
394
960
142
628
478
865
331
526
734
254
845
402
18
746
565
174
378
511
162
870
189
365
326
392
312
175
830
108
314
178
850
810
275
959
784
264
395
948
171
891
449
154
7
279
985
619
50
449
654
424
155
51
373
981
819
192
712
668
238
46
263
904
725
768
798
553
257
975
576
737
151
713
434
729
70
920
973
262
111
776
842
229
325
215
923
512
397
859
911
624
480
55
857
119
886
550
316
910
255
522
62
306
439
439
473
683
844
338
432
148
70
331
752
876
344
315
24
688
248
316
906
168
188
882
773
353
80
98
911
836
617
82
833
346
542
42
241
871
473
702
585
840
491
995
33
670
960
592
29
450
379
755
853
178
429
938
600
848
471
242
628
409
923
590
139
269
357
16
374
184
824
436
865
501
443
349
248
711
714
956
122
824
656
473
12
494
479
568
580
3
633
14
64
879
867
846
272
303
218
413
856
624
952
805
497
959
4
876
650
529
331
258
370
743
686
827
439
763
531
649
836
997
740
339
931
235
527
330
386
524
521
951
193
508
544
731
812
316
514
723
720
625
340
767
499
593
548
56
576
386
261
362
392
723
13
854
617
450
615
536
93
891
429
271
899
175
221
506
550
344
712
74
958
370
451
873
410
256
786
772
351
10
464
108
483
466
728
736
525
422
562
910
439
559
908
991
276
206
761
677
739
557
101
255
236
895
324
572
396
441
423
937
154
24
811
249
387
529
59
397
378
667
416
396
761
615
653
613
553
555
282
737
664
139
490
344
67
929
832
104
958
662
806
790
503
990
165
462
858
365
883
279
966
280
50
526
631
956
180
227
668
968
604
43
855
794
170
947
800
577
602
267
74
454
611
352
712
806
361
112
383
559
349
270
498
990
485
750
333
933
400
109
738
160
211
849
91
650
807
606
93
357
908
517
50
960
732
343
382
224
159
51
306
358
497
736
480
62
842
813
870
493
218
909
394
737
791
599
468
611
509
808
508
365
955
84
744
224
532
479
478
330
352
674
300
131
106
284
427
765
510
306
592
268
399
646
901
412
391
843
27
502
200
924
546
603
847
628
52
773
878
121
831
837
729
506
639
81
329
573
142
157
288
941
120
461
321
698
330
877
747
647
285
347
69
464
385
671
715
839
151
271
916
970
217
763
902
319
12
954
167
497
48
453
8
263
358
165
118
236
93
364
745
57
545
650
44
74
850
153
706
928
140
666
931
861
134
113
944
594
127
643
536
26
125
346
351
585
804
611
645
195
79
493
37
950
749
87
205
821
205
311
508
123
2
143
905
766
807
183
759
543
836
157
530
332
227
919
566
9
9
374
439
919
379
131
454
594
639
349
141
352
660
183
956
51
442
69
341
773
66
639
275
673
313
216
543
609
626
243
891
580
682
630
198
791
317
199
35
306
835
955
1
181
963
422
699
434
187
305
373
82
231
965
965
573
131
393
747
952
337
570
256
818
261
786
727
291
856
383
764
978
713
110
930
330
971
77
695
214
420
179
393
35
897
774
783
549
36
551
1000
263
708
713
382
901
494
461
175
858
998
628
199
560
78
731
819
955
117
911
370
630
817
230
666
648
466
560
80
777
138
808
209
231
307
33
108
287
699
377
793
407
731
919
339
192
127
457
629
270
760
160
143
667
111
168
596
370
177
361
288
991
588
260
441
38
762
628
230
707
7
373
429
764
970
900
204
671
74
16
174
658
434
590
899
170
761
488
784
46
618
457
753
754
218
381
731
429
472
524
375
25
356
479
983
419
162
622
254
507
150
947
345
824
67
413
340
895
63
454
42
22
905
325
444
790
848
816
555
242
292
116
295
793
19
71
768
894
644
865
712
985
628
256
473
906
251
430
339
655
759
660
375
272
159
216
669
519
546
692
539
588
314
253
755
237
984
88
929
860
617
353
400
505
503
699
970
163
542
751
842
685
843
933
256
107
204
773
735
224
717
878
651
562
957
118
43
91
663
1000
331
884
25
122
314
774
880
733
948
833
188
950
910
53
985
374
232
78
953
935
330
282
36
712
159
609
975
476
641
331
596
838
428
768
488
476
671
224
918
945
446
895
883
497
995
511
568
37
648
149
695
681
572
252
515
562
823
607
584
256
600
652
3
29
611
973
57
373
133
718
853
875
385
30
896
930
369
494
513
1000
637
32
804
379
941
160
15
776
364
705
970
675
526
443
578
734
831
821
640
675
854
276
849
300
557
843
351
538
990
664
108
891
792
428
167
335
577
983
543
694
223
124
596
589
193
760
320
481
763
446
897
912
696
319
902
867
999
246
73
129
66
370
214
556
711
868
273
304
780
509
342
804
6
296
825
865
558
492
799
173
937
417
192
6
634
145
161
980
631
865
971
653
874
687
373
411
983
660
839
709
835
832
565
892
592
562
177
21
291
215
245
700
328
966
565
930
832
782
811
958
374
186
387
854
467
134
381
531
288
396
422
100
442
817
616
992
775
14
552
184
331
270
459
717
961
446
569
98
771
750
431
810
730
160
992
119
360
506
787
848
560
457
460
211
281
25
975
988
23
788
914
586
86
82
620
370
63
83
306
397
657
651
915
633
862
970
739
207
397
635
88
740
588
223
354
853
5
409
532
498
572
647
87
310
481
32
835
152
129
187
714
616
350
625
862
789
902
321
332
361
954
478
959
49
147
831
178
704
693
626
498
118
951
781
92
381
328
126
308
391
915
402
514
600
455
134
232
244
789
337
802
291
623
854
325
793
930
51
584
409
71
664
294
428
596
367
880
235
35
869
931
821
882
948
235
831
433
461
278
416
456
527
996
557
406
974
403
232
930
447
452
720
269
639
528
146
618
904
234
50
47
578
119
883
703
787
302
913
972
749
623
315
820
385
21
914
56
35
104
500
906
683
577
321
699
700
226
297
69
620
73
93
850
782
975
345
155
23
154
733
590
660
323
294
186
529
318
125
516
21
678
245
296
172
963
724
459
137
72
227
377
330
91
579
587
141
224
361
615
46
457
942
750
432
503
820
867
943
427
130
463
258
193
832
881
249
276
840
837
431
39
810
165
42
982
688
715
864
97
259
787
819
249
811
827
215
640
782
170
16
19
261
738
15
22
738
138
447
682
725
154
737
954
321
862
474
295
260
578
942
9
470
188
494
178
487
92
110
913
889
853
203
224
130
802
88
967
650
622
930
709
373
877
196
975
49
673
541
534
332
758
978
569
926
607
764
997
403
330
599
314
203
896
46
558
778
318
149
514
670
382
767
998
525
988
293
345
844
717
807
311
165
991
659
911
968
372
314
101
383
716
411
260
701
875
366
310
143
857
721
959
714
570
31
598
226
988
470
297
898
507
763
248
699
852
385
232
549
24
606
694
230
764
893
630
89
726
734
189
119
951
808
473
488
44
910
710
491
956
595
701
924
602
338
666
894
922
44
712
75
225
950
866
642
229
697
334
957
387
963
98
240
362
947
348
595
216
115
328
266
478
795
857
629
976
222
332
840
928
295
142
833
418
1
819
471
579
58
538
373
448
625
945
518
830
494
6
151
12
367
248
724
465
852
204
704
379
365
474
12
872
599
652
74
242
258
105
326
129
84
424
332
647
954
490
307
163
843
334
3
7
484
656
412
571
56
787
412
386
895
574
447
997
447
952
150
594
145
448
515
943
563
599
638
155
728
54
719
170
154
80
581
866
614
357
545
184
240
50
928
638
765
893
681
257
833
85
382
89
104
773
759
969
909
664
681
924
968
686
98
182
9
178
879
325
398
849
313
43
107
689
335
872
186
520
602
252
337
206
15
7
645
146
497
362
933
795
101
723
913
227
557
39
933
900
619
284
221
573
833
474
125
621
725
84
187
946
475
445
849
410
526
703
302
618
189
255
851
183
969
219
658
225
220
334
9
816
491
223
469
345
306
383
625
332
743
436
482
915
701
299
373
75
810
407
48
414
741
925
393
42
145
241
528
862
728
59
676
942
815
31
40
819
488
163
760
614
230
319
238
660
254
480
885
340
196
302
89
389
248
74
241
474
788
699
798
44
241
840
709
353
386
109
600
843
599
587
897
75
62
261
551
559
173
996
873
918
663
479
894
15
859
113
870
795
318
982
754
843
582
111
315
71
680
547
886
740
667
945
258
558
600
480
987
243
490
215
583
660
218
592
332
847
191
567
348
1
110
963
732
28
277
525
121
903
906
764
912
198
794
249
196
175
121
451
61
391
606
224
994
577
199
668
278
883
410
203
688
770
395
219
58
396
251
440
919
170
106
975
917
225
821
568
791
921
974
680
297
883
314
933
409
817
548
365
775
5
384
891
188
220
574
306
746
354
617
827
26
898
360
755
41
404
598
31
284
830
244
134
691
945
507
914
215
587
802
282
941
783
76
615
184
754
924
779
345
234
859
636
756
631
21
774
730
839
721
641
921
253
962
201
252
940
366
919
839
579
338
352
442
874
272
374
400
711
504
294
524
436
240
983
203
805
757
225
366
812
944
812
430
844
654
986
744
896
855
82
381
1000
302
428
818
247
402
149
711
127
776
703
754
818
641
210
948
48
586
924
384
515
717
767
780
695
70
952
708
756
892
700
632
416
769
382
67
698
281
996
494
685
947
675
220
343
749
327
113
377
795
456
433
864
692
210
713
1000
782
622
255
969
378
8
558
334
229
311
406
27
254
690
603
601
88
15
919
634
598
291
541
643
610
963
367
791
163
312
682
751
484
820
818
881
714
777
102
490
583
536
404
295
801
902
561
7
186
849
302
476
954
134
388
604
72
188
73
142
424
202
260
497
516
381
349
158
857
364
952
866
363
7
95
901
360
502
360
127
76
333
86
469
431
422
771
678
652
855
900
318
815
395
485
717
960
310
624
607
932
838
640
765
945
348
666
296
30
800
511
771
31
463
679
661
106
136
882
218
946
110
703
701
234
552
603
725
153
692
120
103
3
830
955
736
922
9
618
189
999
494
311
342
846
586
643
477
570
156
624
381
121
54
792
344
319
450
242
748
562
630
863
655
252
858
481
188
661
890
249
159
23
80
254
965
937
773
816
12
688
895
872
524
224
930
357
987
707
594
458
261
141
9
750
423
247
41
665
991
227
188
906
455
200
8
367
833
875
905
413
439
898
366
798
52
829
7
315
178
181
88
747
888
843
648
635
366
272
602
749
784
781
851
438
515
232
297
70
981
797
746
87
238
200
440
39
647
921
348
580
258
872
973
606
433
125
966
549
246
524
604
878
712
901
411
577
775
751
947
572
754
609
170
734
594
737
111
738
312
977
952
205
508
225
436
267
701
879
882
711
968
203
849
644
826
868
998
414
151
248
908
300
103
705
986
570
437
733
384
219
549
410
165
288
670
764
630
527
166
353
946
781
88
365
242
623
138
590
76
548
170
26
657
260
675
635
704
185
8
308
859
374
373
63
410
677
389
710
147
497
598
97
376
45
399
955
414
12
844
105
970
569
591
535
800
347
273
859
966
540
529
403
911
619
11
364
49
84
547
474
966
746
965
380
516
931
950
669
776
876
506
876
969
898
427
402
670
108
21
243
780
271
35
567
185
270
943
580
683
771
685
167
870
310
210
166
32
202
220
806
52
189
549
128
712
924
549
476
600
555
855
452
453
400
545
995
499
865
269
135
917
284
783
780
876
534
46
760
629
148
90
232
76
335
817
749
171
815
251
421
963
817
487
347
138
517
36
662
911
728
917
948
642
15
464
205
344
979
808
729
329
916
76
608
139
840
91
621
576
868
366
815
262
280
319
740
699
194
94
288
378
980
743
804
676
753
522
65
764
916
876
956
83
187
88
356
420
968
807
822
291
696
132
537
387
771
347
843
335
894
34
854
569
244
135
148
64
471
263
221
164
47
790
528
32
44
56
667
736
609
259
777
790
418
589
37
342
946
983
168
744
198
233
446
384
944
849
191
177
200
359
939
752
173
415
251
39
242
218
538
405
554
425
251
927
606
797
604
31
400
236
648
99
691
940
607
507
249
258
672
568
150
216
463
560
59
452
984
448
628
188
254
44
543
20
55
976
812
223
507
663
857
892
407
235
460
287
182
206
154
934
6
153
782
919
535
565
856
72
723
151
21
474
555
906
451
893
222
477
799
993
968
337
807
251
727
423
524
588
771
695
740
417
428
481
271
244
139
48
632
439
309
885
320
423
675
93
126
882
740
848
289
472
221
215
391
557
918
127
299
711
90
878
569
57
518
16
555
231
47
472
78
644
932
847
630
482
318
558
628
30
878
18
159
285
793
262
579
721
896
871
393
900
816
662
229
95
276
762
870
446
586
805
673
998
895
165
243
412
67
977
452
686
528
140
260
449
314
279
149
866
697
248
966
805
653
768
455
41
849
816
538
679
597
922
858
119
569
499
481
375
5
149
359
703
982
308
387
571
111
66
578
706
548
645
71
374
276
764
178
704
952
125
425
67
344
269
415
41
501
176
683
78
97
849
659
35
507
636
593
325
295
27
325
915
280
944
450
668
69
929
298
989
952
384
923
761
422
211
406
610
172
292
507
438
911
531
792
440
171
818
611
584
635
893
287
705
864
114
329
162
997
211
877
356
51
589
340
610
498
680
766
90
910
585
675
359
907
961
208
138
586
175
474
450
108
858
151
678
483
80
441
74
874
260
393
661
513
733
562
762
80
127
424
315
531
145
602
578
51
594
820
524
484
611
59
477
342
908
105
586
64
416
48
498
374
589
818
301
674
171
690
58
865
843
667
87
489
706
727
144
840
51
556
839
205
428
649
853
260
706
622
440
714
549
335
145
195
592
503
102
538
445
737
276
314
248
546
655
379
512
117
974
944
755
986
443
774
600
515
655
325
89
722
511
917
615
21
18
985
487
242
266
270
283
980
954
534
868
769
212
414
181
126
307
67
443
96
480
737
129
364
420
900
414
597
487
734
150
857
852
632
707
790
972
879
816
900
994
56
533
458
792
961
372
307
191
758
385
735
839
182
899
910
856
190
309
819
567
725
515
850
479
891
533
646
109
397
418
783
624
243
690
76
97
396
195
679
20
786
1000
213
473
62
781
372
175
84
366
270
286
580
5
865
860
645
225
876
200
451
60
848
809
29
912
466
385
556
329
225
29
296
404
783
680
701
651
753
478
698
754
920
416
46
263
683
846
302
378
922
968
881
172
589
144
747
26
216
979
920
638
151
735
545
424
133
596
989
117
976
80
338
31
65
817
714
457
800
994
143
275
575
331
603
61
759
409
159
47
69
215
947
745
529
410
597
14
716
442
283
229
508
999
515
794
444
239
3
687
614
177
842
953
575
330
198
525
896
318
99
883
345
292
2
493
675
871
646
182
899
388
536
459
539
635
761
539
921
847
772
73
456
612
289
589
120
155
642
902
157
170
898
686
297
893
229
895
218
475
672
599
377
867
40
292
43
831
933
717
402
933
693
338
187
273
446
63
919
536
63
716
725
367
23
214
427
996
659
905
818
617
830
925
473
507
852
200
58
275
200
388
69
10
25
373
830
413
829
261
74
188
70
796
584
922
164
364
998
442
23
996
798
235
863
407
418
36
145
449
930
415
37
154
357
608
365
439
424
904
983
845
856
620
453
94
33
162
410
176
880
573
953
283
162
87
261
938
731
609
611
403
216
63
955
787
43
445
548
996
484
100
621
869
264
453
211
808
724
349
26
317
834
44
375
760
430
466
670
408
844
528
987
25
96
588
996
569
679
235
848
834
543
187
945
191
234
596
257
731
773
831
741
179
437
975
117
857
286
910
262
950
414
605
96
490
871
96
182
864
664
699
443
920
935
360
544
104
938
723
792
723
900
541
926
205
322
901
482
450
83
231
780
494
748
266
779
966
524
164
121
343
285
517
348
446
7
730
490
25
877
962
317
10
563
278
312
776
555
626
677
427
392
723
160
201
403
67
519
777
279
559
808
677
59
247
785
162
764
643
842
753
555
15
261
47
676
7
788
650
94
452
425
774
758
123
29
828
663
633
16
71
423
718
1000
727
862
64
199
250
574
87
211
362
75
606
236
129
302
536
796
711
942
113
964
44
221
873
130
855
161
169
885
27
459
363
956
681
644
788
943
896
541
781
1
702
701
560
1000
402
347
859
812
552
782
669
167
648
165
931
331
211
789
323
842
587
484
914
90
343
798
173
32
538
577
579
241
344
492
901
81
365
816
870
29
21
936
742
291
108
6
263
760
104
620
869
433
715
428
160
616
645
548
788
314
555
200
340
905
499
277
969
156
240
436
838
943
285
944
681
683
735
562
617
720
64
850
724
23
924
348
652
439
169
796
31
445
862
404
366
181
224
377
696
736
114
764
263
868
845
454
580
24
211
369
48
283
455
209
14
278
286
63
289
764
170
373
110
340
953
83
923
815
408
729
964
275
123
225
91
770
730
752
146
480
296
309
155
180
594
994
73
346
1
539
393
643
565
680
469
420
336
443
897
37
878
663
843
453
358
961
486
745
672
628
636
271
230
340
321
253
917
670
432
519
604
960
63
847
802
135
265
521
817
863
168
781
325
217
421
825
422
741
352
83
806
681
526
93
514
236
448
228
742
411
454
442
571
585
441
760
249
284
665
111
206
321
916
347
947
760
467
151
791
322
975
751
442
325
517
506
11
993
413
129
996
326
253
557
85
895
462
130
454
36
251
579
645
637
415
295
660
807
329
774
485
392
301
664
947
774
555
602
445
9
40
918
1000
569
487
365
263
252
208
270
403
208
239
485
923
616
829
994
417
858
303
329
408
112
638
145
959
761
454
492
144
489
476
626
50
465
34
330
156
486
548
305
784
313
583
537
877
484
528
504
709
94
892
628
711
165
102
542
464
64
105
559
865
702
163
529
439
656
718
54
410
442
760
449
136
849
648
34
310
718
895
990
822
683
316
616
645
655
19
824
936
385
917
970
423
147
748
906
629
312
26
848
98
369
573
474
99
111
871
201
966
14
126
733
862
461
256
871
734
930
819
203
183
406
933
133
399
153
770
780
874
464
252
164
39
802
275
971
27
581
893
592
186
17
432
4
946
653
870
523
363
86
953
162
59
594
719
993
588
976
998
818
917
997
99
871
670
196
703
249
777
799
597
310
575
885
15
905
680
617
43
143
206
357
757
461
182
53
921
639
799
402
818
466
54
964
706
559
712
342
785
870
765
680
263
49
439
439
664
216
405
64
167
789
689
210
12
213
358
315
617
829
780
168
909
928
520
666
928
68
108
949
996
681
343
553
811
501
649
97
289
442
5
414
818
429
817
347
452
180
236
978
841
77
527
897
84
174
803
546
111
34
242
899
717
378
958
150
797
472
461
760
510
828
573
559
293
618
473
454
131
455
433
589
888
810
436
568
756
914
278
746
916
365
377
49
354
269
902
446
990
268
156
376
452
469
987
62
306
375
294
946
340
919
463
518
762
516
948
858
68
235
57
263
104
920
364
974
801
113
921
803
915
136
185
169
785
355
316
184
260
1
141
123
821
5
361
198
323
2
905
163
719
548
13
242
696
90
200
797
589
603
113
129
914
673
523
44
232
276
571
626
738
902
156
693
759
848
749
265
55
59
474
877
767
677
623
732
981
119
470
661
604
758
155
652
412
427
969
393
493
509
875
675
544
595
223
389
829
843
372
99
323
441
269
249
348
459
377
740
81
348
846
112
467
673
927
833
34
80
193
102
223
831
838
714
786
341
319
817
59
501
215
9
106
864
566
247
640
67
271
424
761
366
45
158
940
407
600
736
352
559
271
894
188
551
12
62
185
414
191
920
138
53
437
838
349
532
489
612
133
819
253
844
806
988
222
19
40
71
970
120
637
445
707
752
609
20
839
755
419
67
668
990
310
831
676
387
135
958
137
949
666
495
380
800
316
35
269
939
858
81
51
946
888
23
297
26
891
829
94
112
374
383
345
505
513
801
413
551
549
769
948
605
770
627
713
389
952
122
631
827
914
665
523
224
163
906
37
493
191
67
847
366
938
37
593
829
54
388
248
155
415
826
63
266
727
518
155
684
499
932
395
551
241
877
705
209
950
625
901
746
75
250
682
70
344
858
791
396
599
418
810
174
311
173
506
92
884
467
946
463
782
839
381
364
401
583
589
885
547
132
703
96
576
937
279
935
195
611
527
602
462
390
495
856
122
253
328
223
592
105
806
994
571
708
529
269
547
336
866
257
751
823
338
129
754
245
562
703
227
92
797
450
396
294
588
826
19
907
815
293
568
562
561
684
587
754
201
806
92
475
239
679
25
2
314
371
662
593
820
64
710
861
307
279
590
611
492
489
597
568
746
811
121
921
264
95
476
199
118
865
230
818
115
447
598
548
534
203
722
673
519
63
251
927
112
723
690
865
225
883
977
980
10
78
15
733
270
483
126
215
538
753
961
963
355
556
518
631
198
65
157
111
654
318
741
683
709
80
930
568
987
836
360
712
596
515
782
206
728
650
978
203
466
183
265
536
505
727
637
746
787
216
207
747
915
403
11
779
603
709
409
862
101
831
312
133
220
976
190
875
55
47
949
740
10
118
293
640
437
232
190
957
645
469
174
573
230
967
90
465
194
543
21
475
87
949
285
528
429
178
202
125
640
307
176
918
758
127
541
489
897
380
187
817
284
456
48
520
403
846
49
433
141
904
456
283
788
195
467
638
581
833
723
672
429
352
138
837
914
551
23
786
435
726
504
721
246
625
207
37
980
646
376
726
17
931
665
462
106
917
153
762
309
107
206
154
673
525
987
879
275
623
967
984
627
838
506
213
228
584
33
50
825
723
801
907
225
918
281
615
317
392
740
5
810
167
16
898
295
707
296
188
473
147
737
839
10
970
262
465
831
56
29
919
362
755
968
852
269
817
841
752
525
794
657
465
375
184
76
595
610
772
622
270
997
775
683
248
984
39
455
386
55
57
967
928
208
966
602
337
204
423
141
693
401
387
474
261
406
427
137
948
901
833
341
572
289
989
702
164
978
536
492
27
662
510
865
876
35
46
477
795
815
306
347
303
825
236
218
510
90
212
387
79
189
791
978
293
683
495
398
481
495
109
700
937
559
104
530
250
664
908
836
755
929
909
133
85
509
418
267
415
406
73
373
902
716
973
172
210
562
680
239
497
379
282
548
97
849
334
887
302
832
630
956
249
892
804
942
633
345
921
416
811
17
544
598
248
877
122
897
682
91
56
345
949
538
20
741
386
930
398
452
415
447
671
45
358
200
589
16
636
883
691
818
918
653
140
631
124
731
548
164
536
917
318
548
800
75
928
843
663
395
954
964
522
410
112
318
992
805
885
41
852
854
304
691
671
950
725
488
512
998
30
533
772
82
70
141
160
681
467
393
589
867
381
124
295
866
216
329
255
123
579
805
467
85
831
68
311
843
185
251
347
103
449
434
455
700
620
546
259
999
546
477
851
906
828
706
506
969
122
560
760
372
575
504
777
826
106
34
911
365
10
472
672
223
137
960
448
504
637
306
181
372
388
382
142
317
494
300
295
281
340
233
92
945
753
222
223
633
389
859
125
695
902
73
352
71
752
114
609
771
716
856
648
74
803
762
972
131
609
892
389
211
960
328
59
536
343
911
984
121
403
806
196
949
411
857
966
897
83
620
179
885
990
754
969
368
936
91
363
287
40
977
677
363
580
245
95
653
247
446
813
452
230
64
537
396
921
272
939
735
297
505
97
405
788
852
129
646
979
409
263
922
23
477
655
918
967
418
35
246
872
540
210
321
638
611
384
757
468
816
87
570
863
980
558
429
301
6
95
623
19
921
988
866
392
952
987
264
660
144
751
824
95
791
261
225
237
906
635
901
633
66
339
20
13
794
270
736
367
48
820
691
25
657
826
898
397
394
701
891
585
88
249
34
652
543
786
109
733
896
948
268
367
652
499
210
865
739
983
930
404
279
658
965
901
67
136
973
724
352
391
620
983
123
408
502
676
114
877
119
523
199
499
422
621
499
729
714
52
598
71
551
961
735
725
10
191
257
151
806
516
178
624
978
512
680
131
165
907
397
679
595
432
938
427
654
677
318
835
92
607
485
240
420
204
350
502
189
138
637
753
922
384
322
467
686
712
693
255
811
845
198
55
388
509
682
602
970
273
246
743
943
846
619
790
524
587
630
646
93
85
837
238
458
59
932
31
187
677
133
22
885
873
270
15
808
637
769
505
69
780
283
706
356
37
964
521
867
375
456
583
371
146
653
615
825
585
118
733
589
478
713
162
642
936
579
269
35
584
167
174
615
202
241
497
590
961
492
331
349
204
884
666
466
376
369
643
602
197
907
217
210
704
236
800
512
878
112
524
746
745
418
168
538
846
161
260
538
72
960
708
69
52
567
873
70
720
391
950
830
433
734
403
84
708
945
605
310
16
569
320
512
781
979
692
971
993
910
180
871
742
184
766
259
924
725
370
291
20
953
796
668
73
262
116
229
277
761
758
715
540
35
872
691
168
959
311
400
550
277
555
81
338
810
665
84
668
527
442
496
407
577
52
197
963
368
459
298
382
756
65
358
387
448
651
34
657
993
868
234
313
804
961
598
547
560
35
770
376
983
16
107
290
111
819
323
428
55
724
687
853
808
367
571
682
179
986
380
169
773
71
250
811
34
566
881
932
76
315
695
168
652
752
622
415
555
176
591
588
577
750
464
121
671
720
992
332
125
315
471
855
286
979
93
95
699
160
487
513
784
271
995
436
695
613
203
152
233
177
315
490
578
266
555
198
1
358
819
918
484
941
282
373
839
347
31
793
638
369
468
122
672
524
625
975
816
740
295
801
619
187
884
887
930
13
923
184
164
895
491
283
970
618
561
618
94
197
875
249
338
921
847
73
112
767
465
365
634
85
835
652
839
107
815
895
213
495
152
740
415
54
145
830
694
269
426
960
263
7
689
906
56
385
993
418
97
604
427
508
149
378
760
27
370
940
469
706
356
565
444
220
9
729
906
978
462
26
620
221
137
749
199
705
497
15
867
542
135
843
184
60
21
520
34
538
936
31
81
816
834
850
701
164
331
228
715
389
39
559
361
948
886
589
392
268
93
474
124
95
627
137
797
95
621
138
125
448
370
850
100
822
694
583
153
442
153
520
121
5
96
794
399
27
426
939
227
410
367
791
524
750
371
407
857
641
648
922
970
817
479
718
696
942
548
812
224
380
860
525
726
562
364
308
163
162
421
932
418
989
463
858
142
599
529
451
871
991
645
321
543
587
607
693
72
407
802
726
971
994
432
447
280
108
470
549
602
240
347
523
522
205
775
558
348
645
745
665
703
653
554
550
695
192
529
442
539
780
81
733
235
362
114
455
908
34
923
899
357
381
152
897
628
525
859
314
223
648
187
483
880
642
410
363
587
356
620
960
449
452
221
746
865
144
625
556
4
292
12
238
267
546
589
91
172
735
837
38
769
711
675
229
227
459
684
492
898
912
766
930
12
817
678
573
131
166
126
586
46
25
942
691
891
823
51
437
773
85
893
732
62
636
733
549
283
141
945
79
895
312
392
301
489
188
841
970
353
669
858
983
145
622
132
317
307
655
362
122
898
188
455
134
952
169
723
625
162
57
105
802
679
83
306
219
810
172
901
948
391
930
146
845
343
779
616
855
988
933
798
667
326
959
299
195
711
993
517
982
436
25
822
273
397
117
54
998
706
719
691
548
879
971
230
329
594
797
945
330
917
410
501
368
852
602
739
83
733
465
453
492
66
167
612
13
10
786
881
490
776
597
102
484
1
169
116
497
169
720
255
13
696
431
847
964
622
326
187
585
874
849
411
379
769
238
371
550
131
973
596
874
543
974
191
829
343
172
713
122
846
627
562
745
91
749
148
353
417
456
933
672
191
35
174
689
913
935
751
892
846
747
959
552
286
854
813
414
491
900
22
91
392
119
341
949
990
36
996
411
168
863
760
376
824
809
691
765
244
929
545
71
245
653
56
354
966
741
870
955
560
133
666
258
483
847
203
326
501
909
853
104
905
710
981
153
262
429
342
55
701
675
336
701
672
777
227
522
218
64
373
358
868
476
241
385
902
674
522
718
753
725
140
540
368
153
983
481
9
420
325
969
558
5
513
188
23
918
757
831
246
178
640
911
936
608
531
854
812
441
377
458
656
768
886
820
444
955
440
997
349
586
70
75
912
174
572
144
172
568
69
544
398
775
138
207
128
988
867
53
182
372
702
533
853
129
239
108
520
847
381
734
110
951
311
255
350
742
323
859
752
900
168
100
885
985
795
522
349
816
971
569
94
253
663
88
47
511
233
206
117
695
65
654
232
454
145
452
802
913
352
870
568
702
387
998
174
967
361
912
907
235
602
238
327
548
377
289
901
980
439
820
47
717
846
574
331
190
5
89
270
993
414
49
963
655
188
484
406
76
429
434
712
675
526
137
238
306
542
984
841
553
32
868
75
409
263
360
702
530
969
479
886
489
324
799
962
853
313
239
453
424
886
98
920
836
986
722
351
946
451
448
120
745
516
262
282
391
455
442
282
438
501
956
489
300
649
255
846
896
653
149
441
685
318
560
205
38
912
142
331
661
375
406
788
722
588
852
477
313
943
548
554
884
918
688
361
51
163
926
791
39
649
262
138
800
831
578
920
981
682
186
639
345
72
63
892
219
825
675
710
85
434
636
106
735
702
947
921
694
614
431
115
28
647
474
100
923
757
478
243
694
292
270
413
120
602
81
428
538
815
619
675
807
503
400
471
912
841
290
455
272
807
583
592
145
29
394
74
954
743
919
12
837
859
745
596
670
211
364
180
835
673
141
117
738
85
887
291
282
277
706
607
157
8
71
461
5
619
624
426
762
43
769
151
98
219
235
650
975
733
104
347
963
525
311
332
889
124
682
359
41
181
883
169
757
630
398
701
638
748
147
529
283
524
771
60
862
725
685
340
935
88
426
993
813
324
481
87
285
793
172
247
46
22
341
407
136
957
597
285
734
852
159
754
399
783
443
219
972
367
326
214
178
815
817
858
431
557
834
524
808
886
23
782
936
931
856
634
545
869
476
984
834
261
338
195
377
850
671
936
1000
81
61
154
458
849
354
428
954
261
22
148
688
758
432
208
390
925
58
910
387
778
195
248
972
283
141
498
454
430
751
230
640
265
634
258
250
29
415
686
909
188
333
10
940
503
780
748
940
644
301
561
752
962
572
164
750
489
710
336
673
690
430
250
885
794
462
892
755
236
874
473
273
139
982
713
609
36
474
224
847
781
146
400
919
399
613
346
936
515
873
351
695
859
152
808
549
632
309
836
992
994
660
408
856
843
517
4
458
129
942
532
881
838
996
316
401
973
642
78
220
641
505
314
396
937
839
758
766
165
652
626
993
92
564
984
904
30
223
616
562
372
994
351
147
390
39
878
360
380
894
967
115
197
202
934
55
878
493
263
682
4
647
365
925
63
856
504
318
711
230
343
791
816
342
615
651
583
395
932
701
520
342
461
567
375
741
379
659
448
459
526
602
439
583
578
191
881
474
875
37
425
629
785
911
872
450
589
558
423
675
660
318
708
645
850
224
561
731
717
370
577
948
270
416
443
720
535
867
74
972
580
768
254
897
889
547
296
463
567
963
837
562
302
995
7
392
16
726
467
299
522
21
469
275
104
238
598
900
501
622
619
449
587
500
156
342
592
332
964
770
71
21
497
51
989
220
617
794
212
457
750
333
167
369
220
745
198
231
109
119
760
171
402
850
207
590
94
590
10
421
571
290
4
223
253
698
975
532
988
431
759
666
51
941
325
552
985
426
66
680
526
111
936
724
342
778
737
422
301
805
845
918
888
983
378
220
297
746
132
27
858
724
369
970
851
787
128
634
282
250
344
401
953
611
168
365
740
716
178
363
322
913
136
987
135
218
700
531
928
78
483
64
571
469
609
909
189
111
364
33
429
343
601
848
430
699
262
825
390
663
305
921
578
429
299
567
988
296
585
225
650
90
865
716
38
460
275
702
899
593
526
34
393
833
736
696
760
675
243
533
20
971
401
36
540
681
819
228
819
497
255
67
309
946
592
272
684
905
736
423
472
782
655
194
480
355
685
873
260
664
348
277
466
323
345
275
703
7
407
962
915
98
851
774
748
109
448
901
314
133
72
144
794
711
408
52
913
607
898
174
894
308
902
79
385
789
605
864
779
580
855
545
838
952
414
141
309
411
987
330
357
646
933
719
198
844
794
503
557
282
544
542
782
746
317
501
82
330
144
100
156
784
482
632
50
620
123
514
146
198
937
909
159
287
882
806
969
627
53
814
382
697
239
482
423
735
184
200
182
301
847
987
908
458
220
477
795
360
304
610
442
112
425
403
883
392
104
730
493
647
750
259
8
56
466
541
379
141
424
684
596
734
914
297
526
756
616
391
729
582
495
584
450
714
923
815
571
725
3
863
945
225
549
789
734
474
307
296
326
434
617
210
564
402
447
813
809
98
941
545
326
338
665
683
479
155
8
905
724
407
93
682
200
557
990
847
334
984
51
108
972
139
694
803
941
343
827
51
283
657
447
997
238
908
746
50
377
859
825
389
373
508
612
781
723
648
322
636
801
515
861
116
353
720
657
290
303
215
300
94
921
263
811
177
320
84
847
818
50
612
774
481
421
833
602
147
228
979
873
286
387
861
12
916
81
695
327
926
171
568
406
693
590
332
54
294
164
350
174
69
360
505
228
856
492
132
150
426
279
871
785
568
777
321
117
837
93
115
544
140
477
528
612
257
363
971
860
343
705
178
538
10
603
615
413
1000
255
54
341
505
642
619
188
890
768
879
806
477
855
816
54
985
210
604
101
430
19
396
103
579
644
816
921
21
473
256
909
94
191
284
674
744
7
737
152
638
438
584
910
11
177
974
54
679
973
344
834
493
271
416
637
195
740
880
415
685
907
870
215
80
704
824
369
853
254
38
797
108
270
728
221
278
946
989
842
746
547
417
801
754
499
521
512
384
739
565
795
951
86
420
34
816
233
488
19
125
54
444
606
314
813
868
739
648
890
422
961
5
856
689
133
599
182
503
650
342
710
410
503
571
450
36
207
602
22
159
885
43
275
173
503
186
140
66
633
630
430
121
564
216
422
112
467
395
979
809
631
696
362
853
591
769
367
189
71
149
342
810
126
689
305
29
357
899
491
290
497
617
346
15
539
616
140
848
608
276
471
144
532
23
868
936
360
354
507
170
773
313
659
720
48
392
389
954
699
801
69
616
369
846
253
736
327
52
251
347
385
610
317
996
320
592
609
202
393
696
167
259
253
52
484
229
680
201
526
572
220
200
993
350
132
489
521
905
66
451
770
457
699
113
893
436
944
599
543
98
889
133
749
66
219
89
675
907
417
969
232
583
678
759
818
931
485
41
653
431
186
546
987
941
464
177
566
437
884
293
921
676
367
71
44
461
469
852
310
446
876
774
829
603
871
174
858
524
917
124
757
141
766
487
57
926
401
821
859
667
676
120
930
502
479
427
731
685
851
618
429
808
399
651
817
414
152
823
121
420
937
404
323
970
307
633
433
698
677
697
268
658
811
796
937
967
476
143
952
357
520
36
208
159
583
335
467
276
609
836
134
738
58
173
563
510
317
243
845
959
466
483
666
408
456
126
187
131
354
967
324
366
203
699
844
984
686
11
273
941
539
148
783
315
967
634
29
343
605
9
767
520
987
622
392
880
145
121
614
557
366
813
365
82
122
361
63
842
474
84
266
354
16
907
588
490
288
330
817
702
295
165
684
370
257
790
705
259
505
269
509
987
187
938
718
864
240
899
475
969
909
160
5
770
795
386
422
275
1000
796
125
598
546
488
966
426
111
636
558
284
395
617
607
140
831
943
389
991
357
311
973
241
661
692
592
497
776
873
450
455
806
506
597
517
494
21
715
930
718
594
617
386
752
142
327
518
376
402
826
126
827
602
95
163
795
121
529
787
853
183
545
374
149
445
652
630
354
626
227
672
531
760
587
937
510
8
528
742
192
265
657
493
694
524
361
681
144
144
104
155
42
33
110
659
613
683
991
437
806
477
414
53
173
909
230
810
107
290
383
564
831
570
436
56
356
727
70
133
888
728
839
551
339
257
400
221
870
79
305
874
529
503
543
976
194
78
391
25
925
891
547
442
100
717
733
216
374
526
514
858
940
648
964
612
822
497
323
366
494
630
491
966
845
123
241
191
481
39
455
93
232
436
299
752
104
468
271
721
265
850
974
446
718
575
571
339
611
724
611
822
28
943
314
701
838
472
365
657
421
278
950
642
644
799
675
289
238
92
54
133
837
113
894
174
478
347
908
335
292
507
632
774
734
80
705
312
442
966
855
818
286
922
460
423
495
695
531
150
394
481
342
733
292
984
517
23
10
629
60
553
898
652
248
400
569
415
113
778
834
908
186
291
4
623
854
691
476
165
207
758
824
782
524
31
152
182
296
388
26
614
10
272
781
162
917
742
180
722
810
559
172
233
298
89
968
57
596
925
377
348
546
342
394
589
420
119
918
984
86
472
271
551
348
423
265
43
919
87
667
259
42
679
608
266
614
62
185
950
279
517
336
815
976
781
94
907
806
969
70
859
424
575
327
591
711
217
261
251
757
10
587
127
506
275
256
679
564
313
114
231
231
505
272
895
628
220
590
997
985
357
643
290
759
950
924
66
206
204
846
551
935
702
612
82
370
130
718
20
725
547
565
876
854
851
302
964
981
335
269
893
743
773
19
308
3
882
504
367
395
455
861
880
848
795
269
599
4
360
526
745
487
444
882
589
924
819
614
614
520
64
657
103
635
766
327
286
661
763
871
534
364
209
38
799
160
885
479
660
537
437
835
303
786
229
618
636
338
933
227
433
563
554
566
765
949
983
299
581
594
437
454
166
252
814
661
120
808
127
321
341
916
925
669
434
502
59
333
165
292
795
217
285
835
941
507
717
49
580
871
329
986
835
199
990
404
753
136
826
327
800
192
216
803
367
637
539
277
542
455
867
730
66
579
876
457
552
639
530
77
485
328
592
836
38
321
185
714
204
509
116
87
844
811
327
513
36
180
479
658
59
383
331
400
146
693
724
455
729
105
372
538
744
58
325
935
104
424
454
386
948
204
350
347
776
18
134
474
803
797
780
596
539
217
87
494
12
810
353
19
312
728
844
637
488
17
606
399
69
62
178
689
115
843
328
702
443
411
959
780
591
704
880
858
804
68
838
764
437
469
972
233
267
528
738
429
826
727
159
676
238
370
522
378
104
76
161
795
794
405
501
187
182
857
375
669
894
472
637
407
153
788
738
418
467
390
148
518
906
240
563
482
317
667
338
272
926
324
676
365
107
157
498
996
188
305
659
50
150
989
183
994
228
801
527
775
64
290
246
721
623
573
932
710
223
146
439
667
737
407
526
405
250
878
322
351
525
688
375
736
399
499
141
546
933
821
128
43
736
19
264
46
587
593
247
745
328
831
306
711
353
240
180
54
352
206
813
319
270
805
369
428
536
978
965
710
856
163
195
67
914
68
273
439
364
939
714
216
26
418
831
314
397
11
569
555
275
155
751
766
412
111
944
12
919
603
326
940
347
209
621
380
879
84
382
298
583
706
871
229
372
955
325
743
283
312
294
830
321
25
840
811
160
225
59
63
781
713
903
42
901
23
166
251
730
292
19
862
760
433
372
123
133
906
686
981
310
216
274
642
79
312
364
499
903
682
810
991
767
16
514
94
453
176
935
572
99
980
713
172
11
392
979
124
213
475
937
546
925
401
701
10
332
736
181
687
145
105
142
911
288
424
406
922
118
434
144
926
787
430
339
369
79
990
697
365
162
246
96
316
514
496
180
418
631
52
478
560
61
497
6
840
594
187
60
11
147
39
544
833
290
948
287
635
736
319
666
854
558
5
421
722
725
912
287
855
925
62
693
561
137
507
28
289
310
331
264
745
775
353
243
264
975
263
726
543
40
11
455
412
133
106
37
533
54
500
625
494
326
446
403
117
154
720
928
105
427
205
820
909
108
736
308
698
997
50
302
353
295
497
383
107
468
653
664
34
232
980
695
739
776
768
308
454
14
702
548
329
929
610
630
842
851
391
934
734
880
605
859
556
638
550
365
28
60
878
782
589
626
173
231
141
827
468
687
447
564
80
526
954
284
575
466
70
863
12
799
331
430
458
259
842
428
476
945
33
70
978
323
131
797
323
515
547
994
253
612
451
402
998
979
357
355
852
736
511
424
508
20
947
106
833
603
850
581
535
668
416
513
453
317
424
268
553
423
367
267
768
261
303
81
125
302
165
216
90
865
23
56
389
346
132
644
521
862
781
348
53
860
184
755
91
461
431
441
286
994
209
461
154
972
556
880
868
198
386
642
172
202
960
837
650
140
554
625
727
470
218
11
349
110
721
653
600
131
185
580
733
439
416
350
454
757
400
451
308
434
556
775
320
577
211
6
754
687
748
847
939
60
573
980
5
203
501
354
228
485
730
560
566
215
998
942
624
571
717
324
432
773
167
80
193
365
275
161
66
92
922
511
889
805
334
681
921
548
430
979
355
291
510
475
776
831
381
242
374
488
165
901
67
274
827
842
803
180
436
529
799
70
755
285
223
353
120
239
102
433
185
479
211
131
265
764
932
616
311
992
922
52
63
869
71
150
446
434
127
258
276
865
645
244
764
470
939
360
51
171
286
97
199
942
912
60
611
142
938
237
602
104
876
797
897
425
452
320
378
703
825
14
340
572
72
792
137
308
371
901
818
86
446
84
389
145
363
17
982
324
649
27
72
765
875
809
76
408
276
832
957
862
573
622
356
974
795
278
12
464
855
359
844
448
686
48
213
503
798
411
566
762
476
534
958
45
778
366
97
804
774
948
825
594
442
534
318
14
866
652
463
807
775
398
773
183
995
340
831
994
359
744
717
986
844
173
62
553
194
907
20
867
1000
808
428
309
348
230
439
27
168
704
142
478
759
333
78
76
108
520
451
808
972
140
960
317
459
438
771
839
553
953
982
795
347
822
793
316
329
567
47
939
889
270
833
911
282
923
900
10
108
761
228
702
350
577
456
207
829
754
839
900
966
743
528
113
796
960
393
472
218
803
110
38
787
291
376
157
777
406
753
608
543
935
211
815
438
929
788
51
974
910
9
749
825
290
989
921
117
669
992
688
280
475
262
180
584
831
579
218
175
248
973
454
870
393
863
967
639
719
204
222
526
158
576
197
99
208
459
573
33
456
971
83
643
492
270
358
7
773
979
170
469
729
231
404
566
114
467
845
258
853
186
851
336
614
527
496
245
312
845
337
170
95
52
901
746
411
467
343
820
453
23
783
303
178
628
846
329
474
726
947
207
678
295
225
104
403
528
945
955
819
368
144
711
240
706
304
519
242
588
680
768
129
371
270
802
31
526
365
965
428
396
415
996
414
576
954
466
515
835
460
295
918
536
570
90
318
712
558
332
232
918
70
67
140
257
176
880
58
603
233
239
187
505
255
22
812
428
210
631
720
525
220
956
656
615
748
674
802
990
196
133
536
57
246
993
636
70
538
240
656
39
468
318
517
614
779
592
405
552
746
267
652
44
946
879
179
952
944
617
997
646
33
1
362
386
899
656
301
413
135
546
730
81
605
946
881
739
816
503
250
35
309
691
338
271
257
319
841
316
266
862
640
793
911
316
482
479
316
862
164
133
102
793
792
810
907
614
969
689
498
177
861
810
468
787
170
397
700
589
716
952
754
749
501
190
667
983
7
147
231
930
84
820
991
22
794
423
853
971
834
163
731
73
617
836
536
725
665
775
253
374
823
953
366
481
812
112
13
98
966
135
194
569
204
766
111
221
736
904
891
273
488
732
55
900
977
866
267
956
907
504
332
16
902
715
139
677
34
225
887
977
977
864
997
564
398
215
250
791
613
70
208
433
315
646
821
416
72
456
222
868
397
948
486
510
234
616
560
800
203
234
668
783
609
523
410
423
923
688
580
555
328
435
707
5
407
821
555
678
797
754
334
471
47
989
838
501
824
938
217
275
498
700
739
588
420
688
948
417
498
510
526
573
728
639
36
461
523
75
319
298
506
228
137
726
830
121
714
768
948
663
703
835
340
63
496
639
672
285
605
435
960
593
674
920
189
521
184
296
688
676
657
167
461
319
640
213
679
744
273
736
33
133
21
556
815
889
879
511
612
181
310
910
554
948
517
663
183
217
240
518
689
223
981
913
371
306
169
278
2
371
140
757
73
145
14
138
469
822
126
475
589
705
323
652
511
53
676
562
284
250
746
10
667
112
969
832
781
358
628
61
170
745
252
24
176
219
143
754
160
917
871
599
658
895
100
388
12
492
95
66
219
684
990
258
525
102
405
465
65
598
15
681
826
217
351
466
200
33
573
666
399
481
348
15
21
75
986
763
146
242
433
749
344
867
401
62
832
173
756
793
747
243
538
808
477
906
703
237
721
266
859
347
475
541
410
61
699
210
701
36
896
402
810
189
93
95
900
704
760
374
57
837
179
565
484
187
456
777
244
860
110
26
305
498
742
535
693
140
645
861
195
457
83
506
592
414
198
168
565
407
950
609
487
558
844
51
6
717
644
816
452
911
364
889
877
48
389
229
188
480
223
875
339
106
935
450
362
975
165
258
338
377
780
800
371
219
239
41
452
483
481
863
414
980
23
989
788
514
174
765
142
691
704
540
763
193
642
339
862
950
137
167
791
640
526
918
631
377
484
861
715
242
40
387
759
667
823
876
789
917
609
830
755
948
716
211
702
973
102
32
83
137
333
712
210
995
797
856
661
260
52
845
102
984
524
326
123
320
290
238
384
396
478
597
963
398
62
411
758
685
595
348
670
68
234
986
345
650
547
690
817
606
441
517
241
921
55
102
797
760
488
887
779
637
271
553
383
661
184
189
559
523
693
616
671
913
619
372
243
510
678
231
110
665
488
117
648
336
609
85
440
276
108
77
549
22
356
176
417
126
485
270
787
9
805
585
270
1000
43
436
269
867
210
686
885
239
172
338
80
288
20
764
225
797
622
442
558
566
812
715
206
949
937
955
295
280
964
616
914
275
56
996
52
962
181
304
361
246
371
592
952
146
553
634
353
553
497
615
518
791
727
197
494
571
797
343
924
852
225
518
427
473
106
924
59
801
236
886
651
616
3
186
517
297
343
630
489
553
913
299
990
532
191
299
658
870
416
907
599
425
628
278
607
159
337
655
508
761
654
835
983
231
963
902
509
952
313
991
146
768
333
562
93
683
620
581
970
218
318
984
929
299
481
223
923
220
632
150
243
862
825
470
794
848
754
631
637
511
208
862
583
972
170
424
254
338
461
170
762
453
57
74
46
267
292
819
782
339
181
282
854
490
785
123
686
223
630
820
36
389
236
695
853
794
807
918
943
833
12
163
109
358
394
259
124
822
314
642
170
792
147
500
532
899
700
692
22
918
693
341
735
350
908
613
386
265
288
134
994
188
146
908
824
706
946
734
484
66
71
90
6
684
797
482
63
991
169
251
833
247
880
850
150
865
680
336
443
173
560
335
695
25
191
973
685
321
789
809
368
673
533
560
159
578
759
572
24
582
937
685
894
747
440
995
281
488
311
997
664
348
981
621
284
453
744
894
264
382
968
666
348
28
128
912
866
422
272
502
654
504
18
717
607
716
695
994
669
438
158
374
576
281
348
153
405
770
561
151
92
231
133
838
540
234
918
201
390
690
397
135
551
818
827
565
531
101
821
350
340
324
138
598
308
48
344
52
552
218
415
927
576
628
849
270
520
84
521
622
51
798
267
772
460
288
375
640
830
466
962
702
221
867
250
419
150
941
10
90
407
222
912
658
7
963
111
166
176
386
947
943
278
742
770
891
372
862
598
721
434
94
70
85
602
837
748
738
414
647
798
648
169
188
608
236
937
513
23
23
393
468
756
502
210
789
306
702
698
112
686
926
619
702
239
397
22
965
560
780
805
758
551
64
173
828
944
43
825
50
29
662
191
86
294
523
486
232
191
629
516
531
487
556
919
985
987
228
936
460
202
444
560
117
479
64
633
585
109
102
735
692
150
198
459
190
254
589
479
660
757
921
932
259
322
618
268
388
72
345
736
859
731
37
43
335
797
464
73
577
914
394
821
267
41
235
772
669
212
149
728
548
480
223
589
254
726
379
423
485
658
389
548
982
626
679
496
296
922
772
389
702
339
569
516
716
74
330
962
145
170
863
108
57
970
504
657
895
648
761
390
166
678
836
706
850
696
607
161
879
362
305
538
160
309
670
952
250
141
423
398
681
589
728
23
854
481
197
295
932
506
210
215
317
154
251
194
681
37
883
463
7
777
377
753
800
542
51
731
926
684
90
716
133
392
607
666
826
312
858
474
387
34
708
923
570
743
440
363
987
614
894
807
861
702
917
583
720
205
230
637
636
424
34
397
666
829
835
21
353
213
698
796
328
776
894
289
204
481
588
1000
373
925
492
729
680
397
325
602
226
689
957
718
918
312
611
508
256
940
118
652
510
289
970
410
283
93
4
345
758
812
166
404
852
17
122
913
518
362
316
284
407
360
486
383
192
374
180
386
596
859
322
991
913
734
958
52
339
180
104
540
206
525
405
56
622
819
101
992
598
323
896
667
295
446
409
898
719
697
750
579
917
665
280
794
441
996
530
866
805
648
306
471
602
355
378
837
34
689
896
177
726
774
665
781
628
626
14
474
680
522
932
645
352
493
292
560
728
317
391
759
916
233
262
41
863
234
373
933
586
711
411
502
901
189
237
601
148
950
377
41
88
70
176
453
127
731
53
520
988
459
3
637
494
266
781
866
274
350
459
501
948
836
136
776
615
271
748
576
741
666
830
959
653
884
425
649
562
576
165
258
369
86
377
797
964
78
534
482
251
920
94
374
963
44
119
993
504
847
823
594
919
608
952
326
617
784
292
769
420
975
732
774
984
107
756
109
592
610
591
811
99
760
237
685
287
676
306
216
607
927
824
998
278
987
536
367
652
604
234
839
7
941
76
783
250
598
195
138
892
371
295
301
698
644
767
945
832
189
556
31
863
167
832
338
953
490
739
577
992
911
503
713
737
73
917
26
226
228
334
698
755
398
633
759
678
141
680
684
520
700
78
371
808
644
740
388
575
142
515
289
759
219
579
887
182
950
145
477
65
790
316
111
785
124
821
488
598
89
368
224
450
773
213
317
287
635
467
231
627
573
557
309
483
482
342
95
770
759
839
744
910
364
923
220
186
906
864
181
723
465
26
620
947
245
273
483
296
215
39
575
575
155
608
515
618
98
336
223
994
312
972
135
222
488
729
699
457
562
334
481
37
877
875
461
246
36
384
23
227
298
160
118
798
316
889
293
156
119
878
252
670
369
680
969
678
962
637
61
945
944
306
560
631
138
516
195
28
967
399
476
324
286
116
629
376
882
726
605
422
25
523
860
893
783
327
980
119
116
421
132
979
855
749
219
781
881
934
296
209
337
116
278
722
829
60
269
989
877
737
48
563
633
309
263
122
845
170
934
183
113
216
528
931
838
843
22
513
21
14
627
81
943
985
444
318
796
646
494
433
825
248
23
300
918
939
794
274
664
34
529
299
477
173
735
800
109
238
551
778
895
792
139
721
211
869
868
585
923
83
276
139
40
968
347
476
906
330
193
411
811
777
371
383
883
593
414
805
900
837
829
305
915
472
289
99
699
728
272
802
502
570
693
430
62
245
743
243
442
153
303
11
951
496
562
154
399
33
994
983
130
655
271
486
661
614
123
337
10
416
454
877
773
246
73
288
99
809
80
131
896
442
859
518
670
456
507
686
208
339
562
335
352
558
22
644
373
118
775
1
431
396
627
127
824
881
758
923
413
814
409
213
540
526
600
541
986
556
123
90
907
179
388
524
8
670
638
915
155
356
427
831
700
3
312
368
412
410
485
688
397
961
31
362
69
264
409
273
378
288
790
363
273
543
120
277
279
797
71
472
698
617
834
236
813
357
744
765
766
565
472
525
767
763
240
75
588
92
237
343
725
136
770
393
557
860
861
329
33
606
633
792
906
359
750
914
335
600
577
775
528
439
664
235
835
991
745
498
698
133
178
955
883
551
380
16
716
532
408
73
972
723
858
175
403
145
817
790
819
677
96
89
885
635
178
389
460
564
620
776
822
222
53
551
100
468
284
506
267
208
307
207
572
39
440
724
275
484
57
536
904
898
717
246
486
393
192
691
889
887
233
35
113
580
723
767
214
855
680
341
507
365
723
47
163
737
509
481
992
424
128
818
769
931
401
196
63
956
561
626
951
527
5
875
578
879
269
244
936
791
111
433
404
796
30
728
813
278
605
362
560
554
37
900
237
611
775
552
399
481
449
935
771
367
225
436
666
593
579
89
492
861
223
483
143
707
612
802
381
387
469
795
672
136
147
510
682
866
290
634
78
596
319
25
446
532
873
409
702
21
318
727
321
968
209
101
710
185
891
350
418
956
15
308
1
333
427
384
523
64
560
471
596
953
605
496
948
674
379
911
340
187
604
914
584
631
666
565
381
790
418
868
769
932
616
243
695
767
571
555
158
958
144
175
565
728
179
498
67
1000
816
768
524
996
796
30
684
813
249
867
731
458
610
975
937
375
994
753
213
262
152
928
199
318
426
882
958
637
398
873
208
157
477
205
848
271
617
299
408
37
337
815
824
109
443
322
859
698
207
54
485
393
975
826
405
193
321
946
468
566
163
663
167
982
240
206
76
320
732
781
179
167
71
216
422
74
557
776
913
652
992
500
331
636
555
237
114
20
177
782
405
904
781
408
33
408
404
630
39
214
472
479
917
96
793
680
203
841
11
236
434
481
736
656
731
757
836
10
632
953
791
331
336
382
106
557
786
52
441
103
508
124
464
403
112
979
403
186
969
116
14
817
681
223
72
588
388
91
691
407
224
149
509
362
150
385
381
551
932
427
945
677
64
209
860
564
660
133
422
486
94
287
629
831
339
720
115
55
786
812
710
40
882
510
35
840
152
181
248
398
556
823
172
838
15
201
20
394
129
745
563
290
743
654
507
18
727
305
358
946
191
361
451
24
782
653
313
911
95
56
504
866
228
515
879
416
324
67
674
878
895
986
874
78
304
809
651
89
808
518
614
173
930
558
852
20
631
545
48
243
805
489
191
673
595
455
989
652
327
670
336
956
295
465
237
324
492
346
881
243
581
945
362
347
403
925
918
923
677
849
602
748
802
685
968
914
948
990
887
176
780
674
291
195
169
356
664
306
955
283
237
639
237
5
28
236
466
463
206
350
741
941
510
465
261
24
366
648
11
556
532
98
29
507
84
817
799
63
85
594
531
395
194
435
580
410
919
867
940
196
883
679
815
872
838
54
405
32
901
956
22
756
387
342
516
90
112
366
901
821
756
694
122
832
254
879
983
787
700
98
545
103
640
255
770
343
187
352
592
652
699
761
644
478
238
829
104
896
800
81
119
102
529
152
773
884
973
729
102
306
449
622
629
158
275
706
315
244
994
274
584
239
457
44
47
34
630
724
875
790
485
86
143
366
677
421
710
566
299
636
150
154
654
250
629
429
544
492
671
716
626
306
433
626
688
205
764
372
395
613
195
62
683
858
230
351
399
546
4
525
593
246
619
344
862
10
996
271
659
245
539
966
587
681
508
482
770
206
399
655
402
98
696
694
257
754
442
78
909
991
563
372
216
893
312
762
78
947
919
162
388
279
811
756
585
183
201
128
528
626
982
777
850
176
819
590
72
117
1
914
328
152
370
212
926
687
843
746
183
564
951
489
377
768
882
465
947
865
915
377
376
774
761
786
180
905
915
535
692
998
552
84
352
628
321
842
90
481
537
729
52
676
38
843
759
454
215
694
893
382
958
189
556
370
734
874
65
45
562
699
198
81
696
420
719
624
49
96
549
829
707
478
197
157
96
326
575
922
333
49
558
565
318
274
28
22
229
928
79
295
454
644
750
526
789
50
608
805
295
158
348
244
421
923
890
948
982
768
288
569
990
504
929
29
639
620
350
913
483
291
634
957
207
474
363
254
740
442
639
150
836
554
92
872
376
38
594
867
858
727
499
559
745
266
101
160
212
347
773
313
374
123
486
339
472
316
402
260
353
544
671
708
633
499
902
705
865
849
653
779
452
165
58
630
900
12
695
164
996
661
675
486
823
869
7
632
179
782
750
257
744
911
443
2
847
752
59
473
434
818
166
488
875
366
380
443
319
794
226
847
823
820
880
994
33
188
409
679
733
676
138
957
832
842
864
255
438
463
643
553
13
365
946
767
446
937
432
68
105
963
650
45
804
958
470
86
823
713
565
909
691
152
616
554
272
351
810
750
566
443
803
387
297
42
445
530
615
790
897
519
306
417
60
767
566
11
677
753
925
312
46
656
606
44
998
614
164
31
93
108
812
619
541
663
289
787
913
782
864
626
298
32
760
224
869
296
508
994
604
898
78
329
935
665
966
148
147
573
755
408
933
737
439
537
311
180
239
442
424
951
636
15
208
579
44
86
484
571
314
221
704
145
203
273
29
357
973
127
325
868
100
564
344
751
212
613
664
168
232
643
275
659
946
244
407
549
952
155
740
168
855
581
549
965
878
388
244
917
923
622
18
119
333
235
679
121
625
173
599
311
703
766
764
421
212
740
794
54
462
862
587
886
896
110
166
801
467
917
351
604
859
48
56
800
441
176
185
578
337
753
592
416
598
701
422
356
597
981
861
125
613
217
923
647
604
791
211
653
269
673
133
774
547
643
38
172
295
923
522
372
823
139
839
772
413
162
363
796
92
497
351
918
5
763
392
736
900
168
817
194
979
865
832
306
255
576
385
44
248
61
808
471
598
58
619
56
760
296
911
856
737
978
274
990
260
648
398
182
351
252
387
516
273
800
356
921
31
185
20
874
75
673
734
622
35
632
532
327
653
816
741
948
431
194
234
825
746
293
993
676
70
797
288
35
259
664
405
280
288
545
113
728
961
986
833
451
733
406
560
381
290
23
165
365
838
47
168
708
836
203
783
967
163
577
976
30
49
401
723
829
419
772
276
42
671
669
42
844
803
351
422
710
294
275
384
884
601
590
711
15
779
720
901
177
495
621
678
682
250
257
963
663
805
512
165
319
145
311
183
170
600
601
345
351
240
921
355
415
347
21
744
871
343
773
565
742
642
921
10
981
332
247
32
119
10
185
751
408
874
840
564
462
449
632
951
175
207
348
247
191
674
129
884
189
613
386
983
156
164
325
823
542
215
439
225
564
437
530
957
602
484
254
590
247
488
184
679
333
980
950
74
124
724
761
10
430
369
19
941
339
124
309
483
101
414
619
778
644
215
294
552
50
909
695
286
248
661
434
434
665
419
732
31
196
28
798
917
486
410
919
660
982
504
163
328
996
614
393
726
799
407
21
877
762
384
470
141
595
476
969
634
309
143
122
184
651
224
599
886
716
471
390
57
604
901
959
807
515
210
448
346
59
400
998
481
536
19
486
776
963
337
428
389
400
679
12
752
595
541
911
864
567
36
800
350
508
319
995
500
398
27
333
234
776
908
913
93
39
20
113
468
246
597
710
775
641
439
828
182
870
400
653
27
153
932
825
245
485
726
641
676
225
530
412
952
170
691
484
43
310
385
510
345
552
607
904
130
497
989
764
732
578
968
803
360
807
219
546
622
31
506
764
334
366
927
359
128
730
475
277
901
892
510
221
811
71
847
312
121
944
723
9
748
160
457
974
878
407
728
788
680
972
426
761
467
988
881
471
494
24
785
452
818
648
732
404
633
428
317
485
127
579
411
619
556
424
912
657
29
293
837
47
30
224
226
290
173
221
79
484
730
20
712
848
169
204
483
763
84
949
690
799
783
872
212
741
48
221
118
884
222
810
349
756
497
134
735
833
554
600
603
15
409
7
727
447
44
881
874
401
119
888
447
363
427
371
978
814
880
40
506
480
597
942
853
719
398
11
251
764
103
487
786
421
939
671
719
447
536
788
50
39
457
941
393
69
485
187
395
338
674
514
389
81
347
436
934
883
666
394
564
894
865
570
687
864
122
758
20
979
66
814
620
399
224
565
66
210
73
621
114
504
164
575
754
747
33
805
575
422
148
561
405
2
912
199
322
480
442
432
737
933
864
425
500
271
59
533
136
876
200
943
234
977
557
700
230
880
446
322
754
95
485
143
636
964
461
698
225
704
41
653
227
810
398
930
810
149
970
142
216
103
70
903
105
426
879
686
107
891
267
703
694
508
37
563
24
721
404
823
635
730
867
900
55
792
432
634
316
134
82
971
869
806
455
206
805
486
506
858
792
24
104
307
335
97
877
781
730
139
207
415
867
390
315
655
253
763
736
777
324
306
234
831
164
887
320
526
268
844
483
71
505
531
186
472
852
199
442
338
531
755
468
941
364
835
237
619
395
210
477
478
542
345
853
62
1
519
319
11
260
10
348
51
160
559
158
654
328
590
772
624
672
66
352
70
870
974
82
38
813
878
584
136
530
55
347
87
114
951
419
805
321
329
711
519
98
838
611
932
882
499
695
808
716
524
79
987
189
136
657
26
155
950
782
698
173
157
86
27
484
337
282
85
548
339
301
180
691
691
779
242
541
837
135
633
610
406
266
537
811
974
642
241
842
619
960
708
537
708
26
17
288
300
365
644
975
425
236
901
811
121
602
814
351
807
257
513
859
275
168
578
133
624
294
19
554
935
27
328
538
713
4
760
324
82
249
388
556
537
670
425
696
605
782
116
728
139
620
934
605
478
302
334
99
687
279
266
102
240
869
356
609
325
47
264
527
591
752
910
211
162
150
316
745
780
356
991
22
278
343
532
909
867
751
706
319
957
557
947
59
887
259
849
827
631
659
102
764
633
83
262
93
983
340
370
12
378
765
212
967
956
329
144
581
974
896
665
908
413
484
172
19
967
466
420
950
624
435
444
205
916
623
588
465
961
665
90
189
45
318
698
48
38
66
800
838
67
513
825
971
248
750
295
870
808
730
830
162
10
94
315
938
79
71
840
836
754
606
805
128
238
479
379
839
745
139
106
975
812
983
64
272
328
809
125
983
574
716
573
27
222
756
408
856
284
626
169
656
106
756
628
493
583
844
495
695
744
799
370
541
359
268
229
31
671
745
606
949
401
639
444
805
885
532
575
30
984
367
280
620
763
1000
469
363
694
354
562
479
454
718
569
180
214
872
529
443
252
826
927
402
672
244
968
67
840
719
51
737
174
935
513
326
535
712
739
183
639
500
220
673
868
893
831
947
497
928
900
568
197
376
488
460
529
171
413
565
659
265
546
323
538
365
625
298
474
487
728
598
749
104
740
399
39
790
371
503
921
702
928
923
350
856
191
302
885
549
887
790
117
217
230
869
775
922
170
982
191
927
133
677
245
43
759
530
160
493
636
133
307
745
171
413
790
108
9
511
756
826
832
785
4
159
216
15
249
154
412
363
968
9
475
490
784
189
261
566
472
440
610
629
749
809
295
618
756
238
312
879
302
510
250
313
662
213
264
33
543
935
630
18
177
683
584
231
961
482
183
497
7
669
995
123
22
674
746
285
789
746
288
659
665
994
355
832
488
276
863
460
839
984
483
769
651
383
222
709
570
194
626
320
962
186
566
840
396
192
840
511
939
846
211
648
279
28
794
159
447
385
284
742
409
731
718
901
244
700
213
297
885
302
148
243
173
210
607
18
880
466
460
250
206
735
308
691
192
107
624
856
420
718
223
18
735
409
65
559
412
188
948
59
917
402
544
59
920
244
747
806
285
179
655
95
640
435
532
70
196
992
765
478
417
213
667
581
536
376
444
885
512
95
340
753
736
824
804
290
808
871
562
286
168
165
789
620
31
134
953
254
181
640
89
528
108
725
437
112
872
76
974
128
820
409
958
68
582
661
974
938
123
472
974
748
533
286
375
26
445
431
730
285
221
420
980
574
442
240
58
241
151
788
39
513
696
397
713
78
309
226
621
626
585
525
784
972
97
709
345
563
364
198
22
716
303
46
179
821
846
237
828
989
43
615
804
283
676
24
448
795
983
63
357
50
209
678
437
625
298
522
243
818
172
815
308
804
319
702
108
341
876
198
740
436
860
683
613
169
456
930
552
387
159
773
632
653
182
626
118
92
657
421
570
467
553
161
495
293
444
869
936
491
316
385
76
533
819
447
443
826
196
960
93
946
711
926
758
279
968
121
532
311
927
277
624
163
539
426
751
856
218
879
154
416
274
945
560
55
157
958
124
467
331
120
973
873
644
336
898
955
28
94
95
887
162
198
753
879
237
893
317
13
257
967
306
852
410
251
590
677
976
403
194
815
797
129
417
207
258
392
888
546
468
391
401
806
918
469
306
349
538
12
95
931
835
923
84
544
339
53
544
447
594
168
523
76
270
635
229
360
645
983
661
235
896
281
519
247
18
56
796
270
756
138
355
167
453
837
347
508
818
569
285
190
413
225
495
884
344
836
849
681
641
238
599
793
538
611
349
726
168
260
631
927
208
136
628
238
242
651
288
254
221
291
509
251
306
852
981
468
624
517
993
857
878
881
497
558
610
614
865
291
844
739
76
293
850
76
187
918
454
299
830
425
585
310
986
473
411
791
144
851
83
536
206
522
736
269
22
552
761
644
633
880
367
643
299
332
846
873
232
973
18
205
576
971
154
616
953
800
64
559
691
919
290
182
588
948
215
267
857
117
803
785
37
790
880
295
952
804
966
102
268
94
973
574
957
982
835
461
196
451
334
191
208
133
777
361
890
688
87
117
808
28
922
875
777
509
914
673
339
104
775
647
980
442
934
753
617
292
488
799
214
605
131
860
406
832
702
797
441
720
51
914
111
607
397
740
204
132
221
345
20
513
133
37
311
708
837
134
288
107
377
390
750
822
159
537
523
122
887
89
1000
914
403
826
104
757
676
769
864
173
450
919
492
521
718
375
18
44
311
205
4
568
310
585
614
517
181
719
961
792
298
725
782
364
793
388
518
338
247
781
700
946
844
282
931
901
81
720
13
37
184
506
679
796
601
379
517
372
606
770
925
112
637
728
765
610
865
692
479
777
280
881
519
609
592
290
13
957
190
473
828
377
581
775
852
815
966
571
175
895
533
167
415
36
658
554
613
184
452
77
872
561
745
943
365
964
255
891
692
230
683
577
928
67
76
645
650
937
434
749
191
203
934
230
574
306
788
306
770
456
861
998
305
536
349
573
750
523
517
385
500
176
317
91
892
729
416
608
78
698
507
121
862
690
683
193
249
218
780
83
303
365
811
721
429
373
720
382
58
150
974
442
799
80
989
600
506
301
356
276
20
867
290
656
156
160
524
791
310
524
770
154
708
906
340
33
972
353
103
804
251
872
583
357
703
575
868
967
441
161
102
55
97
407
757
120
665
944
179
757
207
699
107
914
653
178
867
835
630
420
49
636
844
728
893
187
530
167
773
748
316
377
556
913
570
511
644
866
59
812
113
869
700
760
501
720
537
498
114
420
110
375
745
355
835
341
347
986
334
774
201
596
520
552
836
43
403
312
281
612
788
939
328
551
182
358
100
1000
321
380
850
116
952
704
73
61
817
38
338
465
474
120
296
660
436
525
890
673
214
890
769
745
222
194
496
450
645
223
878
466
912
504
287
890
775
635
272
538
209
386
288
579
347
447
260
82
534
93
659
978
201
12
565
320
392
139
727
598
26
282
914
550
118
871
443
376
833
941
983
366
398
839
868
584
119
695
189
191
320
139
658
618
761
732
310
407
711
842
592
701
459
510
345
619
673
464
893
648
183
935
4
740
981
249
160
405
731
46
825
7
149
870
788
971
172
448
44
890
756
141
920
803
458
98
750
461
702
940
451
285
975
316
466
955
443
280
280
919
365
250
515
241
301
228
593
754
338
125
726
490
670
190
231
892
507
285
314
350
970
623
614
456
717
194
362
233
513
295
251
853
689
174
838
474
586
310
785
944
725
70
178
520
370
20
923
775
582
226
740
898
630
828
549
912
99
296
604
270
960
705
523
518
276
714
166
991
137
157
119
822
322
27
261
778
69
992
161
357
145
122
809
695
762
543
779
719
847
994
540
488
279
198
752
213
938
81
46
823
239
94
875
477
535
140
13
45
846
712
208
657
960
559
77
740
190
292
542
118
172
314
229
430
228
364
548
474
883
212
946
6
169
69
674
896
826
138
991
502
308
171
701
548
717
337
19
464
682
1
512
538
799
20
990
798
442
13
209
990
162
771
83
993
577
330
289
312
907
749
988
480
31
291
404
690
567
417
131
203
923
931
638
385
95
651
441
865
311
628
6
510
846
694
637
693
96
988
757
692
904
912
689
933
190
661
646
534
656
167
831
537
707
123
588
897
37
471
509
7
14
928
899
521
278
987
31
532
278
523
910
627
777
321
801
824
332
37
118
380
52
481
993
535
849
912
716
644
543
699
989
101
439
767
500
835
641
421
892
136
202
176
969
987
405
276
39
564
193
285
781
852
156
625
832
993
29
933
258
434
981
693
387
82
317
245
997
164
15
635
278
407
829
98
175
978
462
544
296
857
305
176
808
225
817
657
853
434
403
269
266
916
187
593
62
632
577
998
66
410
415
334
997
618
793
510
96
543
423
597
156
681
653
847
140
512
284
542
915
547
927
34
582
134
332
30
160
849
12
139
43
630
821
915
320
851
193
584
951
427
517
304
821
728
366
676
758
952
988
993
497
462
404
767
537
900
348
626
770
448
547
270
218
911
814
602
400
665
830
266
721
621
818
760
803
321
754
736
290
963
913
937
544
749
798
813
501
701
13
182
581
863
864
438
456
257
240
558
352
678
406
503
315
571
460
132
266
25
937
800
642
53
898
538
790
52
614
422
326
163
530
435
323
256
414
93
299
404
177
909
689
17
268
642
890
580
64
642
813
904
635
127
850
577
722
738
591
480
170
363
469
917
839
182
108
237
987
342
840
758
489
540
738
424
778
445
722
25
755
495
859
599
602
528
8
813
83
103
403
964
342
857
559
827
988
16
377
35
36
102
546
20
782
767
514
73
406
914
957
902
497
345
118
386
349
253
262
859
136
397
822
694
378
939
921
814
673
105
827
909
658
498
634
97
381
218
225
871
804
852
168
380
675
798
772
97
591
65
973
293
393
343
601
152
237
601
293
281
269
831
985
60
617
554
697
734
94
965
135
106
491
491
415
424
191
546
8
860
654
408
904
723
578
169
910
811
347
684
420
244
614
133
238
686
156
534
371
915
153
517
457
519
348
62
381
961
567
366
246
689
778
961
301
451
850
466
690
157
160
124
331
921
794
734
997
223
154
293
671
573
488
419
729
62
101
690
15
665
152
969
871
6
608
29
190
478
843
32
378
106
52
833
844
872
803
409
843
153
975
304
30
458
829
599
429
693
925
300
401
389
586
778
372
425
440
284
68
401
710
309
40
825
786
654
783
85
458
646
462
14
621
107
2
401
450
286
803
512
208
260
353
681
922
278
209
606
475
851
553
69
399
180
539
652
343
734
10
367
838
97
526
983
606
558
411
986
63
775
251
67
401
794
784
336
470
772
119
243
131
740
284
569
256
547
115
213
783
717
855
664
205
888
729
309
590
299
705
543
352
566
61
227
816
121
597
826
781
70
505
412
846
81
668
381
866
830
311
267
479
687
133
843
419
48
337
699
152
130
442
236
468
682
92
264
914
623
353
733
458
152
861
463
64
729
283
201
377
811
204
513
804
750
170
57
81
401
573
710
427
689
204
423
797
432
316
959
63
651
826
915
961
439
386
610
123
598
719
733
47
352
214
644
879
288
650
108
727
659
830
6
166
886
753
423
308
834
65
998
895
619
450
159
184
691
212
190
976
320
42
392
73
731
357
152
851
169
322
285
581
546
582
527
195
470
740
693
230
121
783
969
932
35
67
17
921
64
831
430
431
3
753
867
173
468
197
948
760
770
470
271
355
843
357
843
913
662
312
906
128
659
824
361
287
360
691
4
55
803
540
791
722
230
933
527
775
139
777
720
511
350
781
332
36
517
183
736
950
366
182
464
24
951
559
17
668
782
98
766
291
802
374
138
749
144
68
956
387
418
658
836
338
946
970
547
427
15
290
644
294
194
618
796
408
856
924
610
273
12
274
835
744
768
558
76
729
659
227
972
86
729
557
580
362
806
304
380
154
975
631
509
970
58
984
939
602
441
230
874
365
117
981
426
577
694
937
224
999
278
226
219
276
935
823
671
7
500
95
830
455
21
459
861
558
68
381
838
178
516
559
797
894
186
786
100
758
993
333
607
961
734
104
243
548
709
63
910
302
156
872
719
550
771
26
756
671
52
811
928
732
909
802
514
686
392
546
394
759
624
483
211
523
705
122
476
433
479
184
506
610
206
123
110
705
701
499
330
68
584
167
867
961
657
668
604
267
424
376
277
556
420
33
361
114
716
436
566
424
622
403
460
966
573
951
927
620
314
240
872
867
902
301
546
100
219
212
150
141
985
995
774
498
800
793
154
214
128
632
558
675
752
391
293
215
76
422
213
623
232
710
107
20
87
123
837
284
991
865
593
164
814
769
556
861
579
302
898
555
449
75
2
57
487
70
516
746
373
552
694
552
888
356
816
838
744
106
680
725
938
880
106
820
85
753
600
98
919
344
138
503
734
915
698
364
797
681
214
696
182
151
567
510
892
27
547
722
817
895
132
238
64
873
962
951
922
357
667
698
830
215
125
596
698
818
618
694
276
53
768
190
878
724
398
694
718
197
217
48
701
211
567
794
443
723
850
236
589
13
361
459
527
605
697
225
309
738
263
9
220
138
402
115
289
144
267
686
527
764
67
44
790
803
441
941
405
296
238
190
521
132
445
134
847
444
693
290
408
904
22
893
454
750
944
757
971
308
179
588
37
831
729
130
337
368
694
921
259
480
74
550
293
387
563
480
853
871
840
423
689
535
813
103
44
402
822
736
618
463
82
408
503
417
125
369
359
840
893
368
705
416
944
487
273
980
530
199
424
548
411
125
424
193
842
209
901
63
497
796
801
326
950
812
820
111
857
232
432
88
610
575
395
134
427
237
156
746
496
910
232
931
878
825
484
348
181
47
731
652
845
571
837
370
739
846
571
366
216
668
588
41
409
282
780
905
722
931
838
611
235
461
363
73
281
159
443
497
28
1000
536
12
371
515
310
784
415
897
819
145
491
656
105
669
460
344
772
132
790
334
541
994
117
497
114
174
371
825
53
469
891
545
561
747
248
282
681
85
810
128
863
478
953
815
806
782
563
877
443
761
287
712
377
735
138
865
343
216
259
333
86
498
814
313
72
939
989
81
348
553
632
457
609
120
270
839
541
854
901
661
765
547
672
951
535
433
885
604
460
139
412
317
474
824
702
510
508
436
647
78
918
5
585
583
65
593
489
154
132
878
908
390
279
576
831
73
990
655
576
81
865
269
245
601
642
875
425
10
898
877
645
664
44
990
276
691
493
296
597
89
98
999
596
250
519
816
452
57
433
855
502
688
929
73
930
298
671
167
618
732
915
835
881
272
150
997
441
139
252
538
164
953
502
933
29
814
189
105
341
195
144
522
865
37
468
654
720
362
199
353
656
179
82
729
53
411
663
594
255
189
916
227
285
661
452
494
208
570
770
364
839
220
65
792
664
878
27
291
5
95
691
859
989
554
519
823
401
971
368
992
236
374
10
365
675
398
290
924
958
876
301
979
480
822
304
270
516
818
374
353
574
736
630
221
132
21
159
639
222
892
428
104
658
766
903
723
508
730
326
480
916
837
811
145
311
257
922
554
112
817
834
493
965
714
980
598
448
700
310
505
148
558
502
683
549
619
31
409
987
625
66
353
648
242
253
517
803
8
893
946
847
994
40
379
483
783
58
306
827
192
625
192
386
802
305
980
549
799
839
555
406
103
922
797
859
982
793
964
458
640
695
284
544
106
565
642
54
439
752
719
29
849
144
294
879
975
810
695
314
978
786
24
893
617
247
120
66
495
290
677
663
255
930
230
752
343
607
181
941
785
619
38
543
406
968
896
970
957
717
61
758
91
235
366
4
210
429
69
642
30
578
579
986
301
116
288
339
338
927
101
876
49
37
75
928
72
804
151
945
203
722
411
576
199
811
167
66
406
615
141
653
34
299
885
581
447
723
92
873
906
325
461
949
796
225
659
96
784
68
415
162
205
965
425
97
53
205
349
780
129
183
923
480
20
19
893
469
585
372
10
199
205
626
804
678
797
640
818
73
841
528
336
515
735
334
407
583
17
724
17
650
634
334
575
832
443
878
55
115
133
416
619
86
51
758
960
886
136
42
270
828
17
223
878
518
875
668
938
933
728
841
513
703
338
602
595
50
219
54
252
726
996
960
644
212
700
38
25
678
472
970
653
546
90
254
870
42
814
71
640
866
565
238
93
554
920
769
907
610
866
902
198
790
258
288
879
120
25
88
175
374
992
533
329
96
796
807
607
272
889
687
432
20
613
23
485
724
411
109
660
566
836
585
571
481
683
640
302
340
771
850
616
462
799
696
378
503
294
510
707
274
271
522
987
795
739
103
425
936
830
909
868
87
542
786
283
305
324
170
974
40
595
720
326
224
149
115
836
1000
883
958
343
636
886
663
345
555
598
747
859
133
96
134
345
496
768
762
388
777
446
372
425
71
36
876
726
557
576
323
840
353
47
47
952
939
290
105
584
985
749
441
666
611
42
809
199
44
105
676
582
566
867
69
72
888
348
998
62
457
648
417
293
354
645
800
398
828
663
511
116
97
468
625
736
553
284
651
114
987
510
541
890
593
665
800
588
630
547
292
888
206
120
374
711
764
762
460
924
646
902
875
383
171
889
677
220
710
727
551
767
974
953
421
97
171
116
750
365
301
25
910
872
77
44
135
797
452
347
185
716
925
277
874
229
151
555
555
902
901
349
676
311
541
848
600
24
156
806
862
740
521
483
252
231
438
319
624
517
555
13
789
204
900
500
678
125
264
838
948
911
257
664
845
63
94
902
891
175
809
41
506
733
410
554
970
902
552
817
355
770
414
206
384
468
490
932
515
826
132
549
831
354
935
428
866
171
106
5
214
16
88
471
97
313
772
16
87
985
936
782
741
844
660
192
316
450
153
474
243
815
798
592
377
87
625
440
527
927
654
273
336
625
619
610
314
46
961
618
224
649
754
187
780
276
18
331
145
391
820
6
47
259
529
110
885
447
283
667
21
531
76
497
896
312
465
763
967
366
113
712
223
238
218
20
752
915
961
896
761
696
230
896
420
907
831
965
849
619
979
889
11
179
205
427
247
252
588
132
519
406
825
440
193
38
895
329
475
181
59
890
58
69
514
661
508
511
643
261
618
318
528
738
788
831
415
709
322
74
829
936
439
562
621
491
996
178
436
489
513
53
316
460
382
780
388
438
928
858
172
304
338
141
712
173
469
447
227
378
258
153
428
98
20
510
549
911
256
344
536
559
118
651
818
906
553
918
751
854
684
900
768
240
189
555
639
55
4
687
391
679
3
846
678
324
20
808
447
976
230
708
73
700
558
508
656
907
119
932
457
616
276
44
513
316
941
749
866
271
578
40
265
93
575
814
156
294
660
597
666
39
387
301
765
449
11
19
98
777
201
280
541
47
357
983
909
751
297
945
478
782
373
62
426
292
204
971
374
549
932
279
946
138
111
78
443
228
737
465
65
923
561
875
111
274
127
902
391
904
233
608
201
651
743
165
863
81
485
559
254
283
626
102
52
257
668
244
892
151
115
752
894
172
745
182
286
179
108
825
979
959
908
414
968
302
671
507
720
306
556
375
363
710
756
824
397
473
830
806
274
677
330
139
306
317
295
289
175
404
911
874
41
220
862
610
722
682
11
589
429
171
823
152
370
502
591
639
919
663
232
606
530
871
370
486
497
689
362
954
678
556
64
632
291
57
600
494
438
459
686
601
245
384
228
558
209
648
42
850
526
839
550
816
827
533
102
667
371
263
916
387
160
939
869
488
224
194
532
472
320
266
825
783
956
1
400
801
140
487
685
144
570
849
116
954
728
925
12
30
280
541
605
170
996
604
558
774
847
696
868
19
40
392
210
915
829
922
45
695
528
976
668
701
619
165
633
521
596
39
722
422
826
558
989
327
927
52
64
654
802
729
717
651
784
317
511
1000
96
895
941
805
761
53
778
476
10
997
621
252
16
380
38
267
262
354
547
406
750
526
690
318
246
432
986
296
430
287
15
629
512
21
830
51
263
561
976
859
255
437
457
703
939
306
837
337
70
118
972
114
302
868
725
710
227
115
194
832
798
267
863
452
696
456
73
394
844
710
981
156
565
595
321
846
944
842
496
912
257
770
227
212
115
661
440
801
573
284
230
220
987
198
167
813
119
140
976
902
267
794
348
274
951
261
563
657
57
856
741
761
412
695
686
747
96
783
368
758
450
992
676
150
363
796
686
139
834
677
346
306
515
760
970
893
183
435
799
961
120
501
627
312
901
429
458
950
391
719
850
613
724
369
354
938
988
664
492
761
764
183
368
601
178
356
915
799
890
191
893
775
827
22
804
892
541
318
328
178
481
305
54
756
117
714
168
965
396
680
937
776
974
742
412
77
341
260
10
273
791
105
55
170
624
837
88
979
514
391
687
817
824
154
349
931
485
865
215
527
196
898
164
28
621
224
7
435
648
672
571
450
734
225
86
80
206
375
508
93
243
433
192
659
965
367
541
105
972
401
823
208
375
375
923
104
824
64
223
611
656
575
214
492
968
150
212
402
997
227
451
344
853
340
837
58
114
410
397
451
726
580
618
952
937
287
160
872
614
730
308
952
854
661
339
777
120
953
308
994
85
926
39
934
754
1
195
502
656
498
709
184
1
688
475
985
722
501
361
377
212
565
690
692
132
635
650
150
72
546
948
273
3
983
576
190
680
682
967
291
684
63
857
880
258
865
868
26
188
725
453
588
930
833
500
73
268
724
946
577
425
362
472
501
715
530
61
734
381
530
294
843
228
10
496
561
11
483
888
483
175
199
240
671
741
479
89
311
694
998
941
412
361
613
683
279
279
319
229
973
739
439
477
794
61
305
499
440
952
855
400
610
192
480
292
316
772
78
296
992
281
933
821
237
662
186
540
604
405
568
450
248
46
180
780
237
533
20
89
215
454
630
105
93
63
221
104
863
579
710
498
946
100
507
506
942
810
552
133
244
844
19
718
48
876
95
838
190
19
268
97
212
331
189
591
542
492
552
56
927
919
693
733
921
322
517
723
473
541
371
566
10
332
770
786
839
725
499
94
847
606
859
81
239
655
857
856
928
258
665
822
492
262
644
288
318
80
887
639
617
201
390
762
12
808
403
389
707
634
758
154
176
996
320
814
852
607
110
597
264
193
934
157
248
781
602
844
170
359
949
618
851
843
946
450
770
643
137
588
202
117
365
637
717
462
627
33
410
892
765
736
637
244
7
368
199
228
563
710
813
529
420
82
450
91
660
715
631
479
577
832
269
525
722
356
511
679
432
18
261
519
236
556
858
804
204
201
759
79
253
746
285
213
724
237
746
989
261
893
601
827
234
383
888
44
902
168
637
899
791
136
501
461
653
998
690
915
359
468
295
988
169
817
452
397
816
631
433
252
730
667
977
46
162
896
203
90
894
927
969
763
823
124
380
33
969
297
55
614
836
34
248
521
749
523
262
779
176
459
711
986
264
280
559
471
623
259
246
175
495
786
878
98
19
23
354
262
942
689
727
937
337
368
679
584
610
433
487
914
869
844
301
544
216
727
298
740
486
630
65
500
811
241
427
940
499
102
131
661
877
691
976
77
236
42
530
603
184
532
798
653
509
866
244
732
741
628
394
719
62
297
703
936
588
463
393
287
708
363
916
665
428
135
737
604
334
516
565
45
53
547
919
892
876
389
707
293
198
846
664
941
225
940
140
821
259
269
428
535
848
101
395
144
816
632
324
549
983
983
365
476
523
71
17
117
65
194
322
823
117
591
917
74
726
877
862
818
750
448
693
72
529
440
960
754
530
510
639
308
3
420
1000
509
624
423
626
37
624
721
684
95
739
340
430
227
36
56
481
513
337
713
30
150
878
647
103
128
817
939
582
976
944
491
538
384
837
745
341
239
90
545
273
556
953
290
981
992
350
656
92
207
694
12
278
122
411
135
538
378
703
187
995
383
423
501
405
996
392
109
277
825
614
639
475
849
53
260
401
95
536
2
999
35
553
728
359
876
353
758
867
631
575
132
100
799
297
630
140
911
596
13
321
674
615
679
456
39
176
631
841
14
888
564
880
115
945
55
59
141
248
31
401
389
837
195
565
279
920
431
410
341
162
123
909
381
315
573
947
234
767
469
42
378
290
120
56
122
891
613
155
580
753
973
456
545
910
525
538
202
488
65
893
935
47
724
519
87
430
400
587
386
172
372
708
714
655
824
331
548
381
163
437
438
344
261
510
144
672
379
645
415
890
654
981
649
308
865
341
444
303
656
6
625
930
202
235
483
152
198
929
816
382
102
454
500
675
534
13
504
81
726
850
478
612
803
169
822
682
220
809
492
952
20
815
402
647
678
726
966
374
518
750
12
907
60
170
86
863
998
605
710
517
177
193
28
534
855
199
381
30
192
810
59
974
639
970
767
307
954
36
402
98
454
779
640
767
812
691
316
367
394
107
990
934
91
488
799
765
683
605
672
528
126
274
657
799
710
719
793
109
142
374
457
624
569
376
949
439
901
422
934
544
238
269
562
695
220
39
436
360
499
931
670
774
163
295
745
154
897
548
800
452
118
22
722
300
144
549
353
394
799
143
638
196
882
990
515
984
878
978
530
42
372
135
124
427
476
434
900
75
616
620
411
619
677
940
667
565
747
860
396
479
702
792
523
318
72
23
575
949
584
172
184
873
121
242
637
96
528
303
514
561
112
441
368
471
873
886
478
453
916
466
547
279
897
523
847
65
497
538
927
587
179
276
144
918
159
429
161
735
697
604
70
552
598
873
666
122
125
359
583
332
291
173
285
733
651
959
449
996
244
286
553
908
908
50
517
777
865
949
69
241
699
70
849
341
169
463
336
145
66
298
962
472
727
890
537
991
760
101
305
991
983
728
455
366
302
817
555
332
445
531
428
861
178
522
805
111
371
54
353
874
886
334
375
756
479
858
235
573
89
436
839
855
193
82
306
386
575
315
451
941
699
82
857
935
231
427
182
262
11
194
856
919
270
806
496
672
915
750
214
853
590
724
655
262
744
242
491
751
766
892
794
357
685
783
496
982
252
427
747
593
146
127
762
639
567
239
139
526
347
103
997
688
701
434
849
659
139
353
576
513
159
683
370
338
888
359
83
746
190
362
5
506
611
180
30
921
589
489
818
697
243
283
865
772
614
841
702
761
560
386
42
481
134
268
213
900
609
561
418
142
419
448
885
418
926
744
104
3
859
130
692
332
546
179
87
448
70
484
313
811
924
497
57
426
657
931
871
708
460
530
303
693
818
381
941
905
565
557
525
138
919
909
228
727
991
353
972
585
775
603
148
894
305
750
27
548
879
516
176
321
354
880
482
944
615
751
983
600
212
369
344
336
892
718
571
265
266
88
497
670
707
594
531
814
600
632
786
490
274
123
221
125
884
60
865
352
236
667
819
506
945
196
570
541
174
204
470
753
318
909
822
367
471
760
382
877
570
155
43
390
690
580
414
52
48
21
29
191
481
246
811
974
249
867
798
143
607
287
308
425
6
571
634
930
837
993
157
87
973
989
707
277
770
570
573
280
308
257
36
812
862
463
166
710
836
711
761
181
946
124
489
216
45
128
539
811
727
991
445
464
655
290
254
261
516
265
555
729
22
156
363
638
280
6
329
153
732
194
106
870
842
982
777
763
653
922
229
109
770
102
328
74
657
298
385
997
844
565
270
787
146
60
735
31
714
690
631
798
317
821
875
52
237
43
762
634
818
24
583
771
837
841
732
194
948
900
83
528
265
924
980
688
422
60
669
161
152
192
982
507
484
499
309
617
451
900
59
678
735
769
724
53
488
954
349
580
81
113
953
652
419
971
444
622
249
815
719
337
950
653
894
726
241
140
162
713
344
997
366
875
889
850
419
972
308
901
713
735
969
935
953
438
169
81
47
829
93
293
80
221
495
321
680
262
561
678
490
582
690
709
764
634
589
782
981
802
269
248
348
917
505
475
109
264
690
501
541
98
36
390
195
815
512
97
739
972
110
275
659
700
378
542
351
547
926
934
758
169
268
543
5
63
550
929
752
364
881
344
647
100
817
597
198
74
200
508
483
124
675
865
101
819
988
103
970
265
61
84
966
567
208
400
459
751
955
995
559
281
75
203
538
288
584
277
967
838
146
925
788
803
715
503
124
274
475
39
120
936
597
77
118
392
244
159
543
277
772
219
179
975
947
994
133
866
7
138
604
249
997
197
357
924
564
946
993
147
131
476
102
817
134
691
413
599
506
1
262
508
750
129
340
763
412
996
933
298
843
475
20
919
325
788
526
497
104
870
137
371
688
347
234
582
865
395
748
781
570
668
601
411
338
476
406
61
550
555
16
819
533
320
191
252
878
510
699
728
340
99
16
792
291
426
817
666
713
746
909
782
499
899
999
81
808
367
555
667
543
115
188
701
337
664
702
60
964
246
580
523
363
603
35
234
909
266
384
764
386
23
870
277
355
302
937
413
559
897
904
420
636
883
386
307
384
885
483
727
656
225
442
882
48
154
918
561
734
152
494
293
23
375
347
807
593
746
294
538
172
884
727
693
436
787
430
849
561
301
300
141
789
29
994
17
970
834
378
895
679
336
713
914
914
272
331
467
19
438
717
908
433
162
421
865
502
415
862
758
929
198
85
934
940
499
480
875
641
11
558
340
58
182
846
376
686
941
486
814
90
221
941
896
730
596
442
544
56
80
323
25
290
61
160
448
524
825
832
551
171
7
418
862
523
165
214
169
509
508
272
868
42
844
170
856
1000
283
994
684
100
299
809
57
482
437
352
398
746
895
547
288
859
689
705
704
971
549
411
423
418
48
754
336
433
184
958
900
285
833
159
961
693
73
888
542
67
107
655
72
788
638
11
727
942
892
624
793
503
209
326
681
537
818
950
542
299
343
191
393
327
895
8
323
670
53
560
189
790
395
580
77
766
50
680
314
270
912
857
535
379
673
493
159
161
994
685
636
476
906
212
346
11
946
95
595
817
311
756
672
286
803
437
169
117
619
644
296
425
488
980
437
863
25
534
873
380
388
572
892
552
678
689
751
943
417
933
393
353
930
484
399
832
693
763
997
966
146
73
606
626
341
62
628
292
570
462
808
833
504
706
21
895
891
809
915
267
725
355
458
236
29
685
365
133
72
222
70
774
332
308
938
228
327
353
494
778
300
997
601
527
532
985
660
887
358
25
978
172
731
553
618
3
537
723
373
754
459
625
17
168
96
776
298
785
296
860
935
596
250
996
42
834
552
767
334
75
420
210
203
944
378
546
938
188
211
924
429
671
528
904
34
317
523
387
40
536
338
899
933
325
948
361
913
737
542
318
787
215
734
291
86
666
625
219
3
401
180
334
808
618
226
578
566
501
305
797
629
371
258
784
466
328
197
304
13
276
630
394
474
563
879
303
817
321
126
864
254
268
288
592
672
990
852
966
28
782
225
44
788
845
959
772
925
242
36
378
675
742
545
758
644
55
80
146
69
507
297
77
5
710
839
537
405
433
172
191
985
458
562
284
534
900
597
147
850
208
399
789
560
944
790
819
511
584
787
954
915
250
25
965
222
956
971
347
41
901
712
737
633
370
815
83
251
89
533
613
125
744
715
425
891
913
773
888
514
256
641
699
849
609
288
860
632
214
857
652
577
367
980
120
15
620
237
879
665
436
909
774
39
671
309
52
81
49
258
724
464
757
376
592
192
595
770
534
437
302
808
857
624
626
986
184
1
120
214
801
692
545
820
922
721
362
548
709
685
362
661
458
369
788
310
764
26
264
136
447
571
410
462
313
926
759
339
514
905
266
496
962
772
637
559
533
316
900
224
690
126
487
474
560
349
276
453
673
477
334
44
1
452
924
22
764
981
39
497
162
695
970
811
559
958
925
536
796
340
140
224
282
398
288
615
596
422
230
242
661
25
740
482
718
485
189
540
376
111
241
533
283
492
496
801
435
84
284
556
839
352
484
778
499
937
466
516
351
84
522
166
929
355
191
85
385
716
785
272
599
277
554
511
954
371
916
886
201
907
772
920
233
312
729
929
338
52
805
952
340
329
60
957
734
921
399
137
566
270
354
528
237
801
179
999
521
174
967
810
665
1
847
154
872
14
328
199
630
483
867
921
662
975
869
204
311
62
126
790
515
138
237
95
138
130
651
904
417
618
413
236
500
162
742
40
987
57
536
851
283
243
482
813
138
471
361
924
681
644
804
866
856
869
944
754
928
191
761
745
213
813
812
141
755
784
652
361
970
243
646
202
819
155
219
505
677
306
765
33
331
421
850
584
425
969
695
31
892
118
665
527
487
489
474
888
823
698
781
311
3
375
187
260
464
861
577
50
547
399
348
880
205
636
99
532
588
718
751
556
735
942
450
390
821
795
808
920
679
476
209
6
781
931
635
581
812
152
250
640
915
157
98
799
931
317
578
508
599
711
425
363
78
59
591
478
131
295
126
407
878
762
424
890
333
227
532
18
991
680
200
107
940
978
624
253
194
208
834
580
882
62
583
465
238
522
714
250
169
392
902
755
993
864
920
528
306
506
910
258
148
503
885
401
598
111
578
512
594
990
400
85
717
838
407
188
265
577
373
943
716
245
807
861
753
945
744
725
407
512
585
547
443
932
238
590
310
737
541
338
420
249
132
889
97
680
403
524
843
751
541
455
842
938
516
272
503
588
137
74
291
682
813
15
486
96
547
988
69
979
66
6
891
838
237
730
725
3
65
628
589
979
760
913
950
430
415
974
262
541
918
377
697
260
870
181
409
667
301
312
448
737
127
221
353
144
550
175
634
119
914
908
833
770
416
794
84
865
787
123
304
718
657
878
695
910
439
994
29
446
193
40
490
877
321
377
347
812
171
177
185
733
876
671
62
47
199
540
511
962
858
608
205
680
316
100
241
94
899
1000
640
523
530
29
929
360
178
996
943
458
37
320
912
682
309
10
384
701
702
279
928
84
387
318
141
961
753
598
272
467
904
918
406
129
390
862
886
708
999
405
274
495
25
590
954
12
508
443
307
273
787
411
221
488
742
347
988
407
955
825
488
727
851
811
706
240
944
656
382
406
597
65
962
592
999
89
853
118
118
432
936
632
296
898
25
334
589
549
386
893
107
946
143
55
809
610
775
737
799
633
236
178
390
670
773
24
613
878
688
969
917
244
48
102
846
906
119
829
269
805
195
183
428
930
345
973
579
768
671
21
758
822
437
536
287
107
835
587
749
308
61
619
215
181
930
681
154
938
796
782
664
490
379
868
872
852
362
134
672
548
729
825
799
996
383
231
70
952
528
725
696
327
85
444
488
80
518
188
422
909
892
759
655
434
953
954
990
433
851
136
198
325
934
117
192
291
624
300
335
742
595
958
23
959
90
465
683
817
519
406
114
413
384
303
730
582
396
775
17
43
989
915
984
100
189
798
526
987
723
702
828
842
733
931
998
856
505
964
811
311
924
349
49
891
987
120
337
363
77
889
813
259
498
95
554
773
841
524
74
687
297
994
548
548
215
650
9
173
248
310
46
681
146
55
498
213
918
8
156
453
790
446
757
532
944
274
31
989
266
618
950
483
634
606
990
568
592
759
908
178
546
417
97
252
743
579
275
834
403
844
189
495
588
72
757
594
301
443
645
115
386
924
389
296
738
651
77
628
940
103
17
657
542
355
3
620
124
757
474
139
165
733
724
668
477
562
481
533
780
111
6
179
756
790
159
877
58
471
25
470
574
888
603
915
443
998
913
387
701
189
122
809
832
432
211
983
333
463
672
409
436
167
372
904
138
515
40
698
987
367
764
221
1
617
278
126
45
241
977
344
532
553
106
513
112
196
307
705
802
801
727
859
119
227
132
849
836
550
95
19
103
891
344
145
102
116
60
840
148
217
430
332
880
946
653
560
559
819
218
746
65
178
980
518
582
94
558
641
748
503
973
436
603
152
141
516
790
773
193
296
400
108
256
302
252
566
166
316
194
518
770
814
31
169
541
226
945
37
73
831
438
42
428
54
56
97
66
100
108
658
33
619
929
800
364
494
722
205
784
784
512
682
533
530
46
869
892
694
865
344
618
475
102
820
233
934
860
441
889
11
557
637
877
152
333
524
994
970
432
100
308
362
387
92
162
631
840
934
512
360
769
932
85
530
241
985
669
790
759
746
478
879
790
954
424
146
102
456
971
380
519
294
183
653
757
119
586
259
772
596
918
745
133
216
298
854
221
593
415
663
75
165
51
671
405
692
988
197
871
789
546
848
995
778
844
484
141
490
934
41
792
84
729
584
456
532
928
58
561
967
816
168
945
906
293
214
99
130
167
697
93
648
710
963
118
229
895
303
150
804
224
262
969
390
253
913
92
412
476
527
575
902
570
100
26
228
91
672
639
887
253
351
220
972
71
598
20
148
330
625
890
983
567
940
384
428
270
206
957
956
239
328
434
782
247
710
448
891
339
284
356
301
923
567
122
789
188
822
249
980
604
902
835
42
854
606
391
362
790
336
331
641
460
269
251
623
179
783
797
330
8
746
145
458
2
288
798
281
998
235
498
872
247
430
854
871
242
694
82
841
444
31
225
596
209
441
591
5
294
182
932
466
723
39
854
787
378
920
568
766
262
808
800
289
780
337
43
893
441
885
502
392
221
589
206
178
324
397
843
366
233
678
952
520
806
17
54
660
586
435
863
989
151
398
829
491
585
589
83
753
461
196
929
947
82
889
208
611
40
831
337
391
438
571
405
766
17
825
794
392
459
741
201
972
425
310
479
223
624
822
270
806
262
290
175
163
950
962
655
70
840
261
658
307
315
493
316
79
710
343
335
488
509
147
182
896
623
171
126
348
879
369
147
692
10
774
124
710
632
928
225
484
455
983
476
143
459
30
776
525
497
141
118
514
262
970
583
745
412
105
743
330
570
246
481
759
264
671
134
56
302
276
684
374
194
573
980
931
489
63
914
910
589
472
762
272
784
992
67
977
41
549
717
851
551
856
413
493
904
623
377
966
547
980
843
386
870
212
550
672
144
28
544
952
240
397
425
174
519
528
20
79
452
132
291
984
646
600
541
993
386
502
148
659
5
401
125
324
722
993
56
561
833
591
48
238
40
365
378
756
534
657
534
954
406
328
765
2
560
979
439
388
577
406
824
562
177
656
724
187
1000
812
56
985
386
905
179
385
124
911
172
957
894
88
663
765
605
863
363
63
170
368
111
944
490
801
380
863
802
591
313
899
912
537
448
494
245
673
710
819
805
54
272
711
958
255
273
663
882
49
583
227
782
520
956
70
546
129
19
928
197
253
561
378
291
265
989
764
487
46
761
4
872
152
414
646
842
982
100
880
528
677
486
653
85
596
894
962
341
856
788
556
102
542
563
592
431
883
530
667
391
231
821
629
430
362
626
918
711
433
409
985
235
180
916
118
224
696
587
834
28
553
559
340
637
158
990
358
920
230
883
932
147
693
818
548
82
460
357
630
327
699
293
361
734
102
670
254
139
844
964
242
934
842
147
565
951
999
314
787
191
180
561
762
705
514
805
75
165
627
733
446
145
109
135
281
417
586
96
635
93
754
33
555
146
758
688
536
214
584
721
222
733
435
54
10
107
973
587
31
688
438
138
940
189
269
742
287
854
728
323
898
8
806
332
547
449
403
284
864
159
822
163
580
343
237
831
289
795
733
838
553
728
478
679
148
233
881
663
650
690
541
380
974
671
335
370
204
166
655
263
577
1000
639
177
677
509
831
522
985
305
225
855
574
8
212
944
436
844
202
546
925
172
536
471
382
214
868
815
278
817
183
939
921
893
632
47
784
1000
865
863
954
705
893
969
388
591
687
499
102
300
415
440
497
64
145
232
736
663
977
701
119
677
538
867
215
945
588
971
573
934
175
741
617
898
33
448
633
776
245
440
542
732
223
753
423
374
62
112
164
501
193
492
687
600
693
922
509
794
499
337
41
673
716
374
763
335
46
244
377
718
943
402
103
377
319
524
700
905
394
625
752
28
698
52
829
51
688
691
188
958
625
361
463
283
326
485
609
775
547
577
989
822
261
830
881
404
847
783
235
149
468
307
706
51
231
794
205
197
922
779
980
428
140
405
715
382
545
126
957
478
523
985
325
102
813
284
101
975
399
300
59
522
512
288
403
177
773
722
535
117
542
678
835
611
190
661
997
215
40
278
168
744
449
753
507
38
288
811
668
489
65
552
249
659
494
440
329
898
477
738
116
605
817
238
207
92
432
66
494
466
472
878
404
321
424
529
764
175
590
44
804
684
203
5
542
572
162
132
411
766
74
439
398
632
824
945
727
637
886
53
812
871
399
811
660
296
684
426
612
338
710
862
138
972
323
337
655
363
444
629
10
189
401
112
483
55
424
561
570
570
108
201
326
955
590
669
665
176
790
976
591
778
199
661
997
911
921
977
523
752
789
157
832
859
610
822
792
79
825
514
541
3
45
633
13
968
755
588
909
246
118
550
792
796
759
786
60
2
720
207
619
328
53
248
696
712
500
789
896
836
75
584
656
441
765
884
998
72
755
960
46
61
417
577
238
70
32
778
945
418
683
223
101
391
198
213
186
95
158
242
295
399
785
527
753
634
845
428
842
227
984
976
601
1000
411
439
213
667
37
281
827
756
113
829
135
852
113
773
435
557
679
188
934
731
258
404
49
770
826
433
641
42
360
119
343
148
37
141
90
679
110
641
727
526
926
251
311
231
185
882
845
25
233
765
292
48
592
799
771
974
919
491
135
658
260
532
422
148
188
3
403
659
673
294
750
492
956
927
504
803
452
748
258
684
613
565
713
299
171
276
179
730
56
678
913
289
581
310
957
757
978
584
289
390
480
142
799
36
314
135
232
903
776
881
183
646
310
190
1
657
241
607
875
291
785
687
84
361
479
236
819
231
494
237
942
458
879
70
609
680
396
724
211
348
390
318
927
876
915
810
68
405
101
724
475
499
87
235
10
389
181
593
652
839
502
629
774
692
156
150
309
869
926
156
530
348
275
574
568
697
345
477
710
148
612
681
308
56
558
223
15
600
195
463
115
189
2
151
550
134
631
668
903
248
185
870
447
123
559
825
143
818
945
948
878
925
896
740
943
112
575
589
774
304
248
819
923
151
612
328
465
562
919
612
411
813
985
920
286
844
315
905
596
681
475
900
955
659
436
888
382
720
25
104
106
132
522
916
241
573
249
743
135
710
782
53
205
861
22
1000
958
375
266
613
232
710
929
182
414
701
398
642
513
132
558
575
522
399
714
182
702
141
174
754
656
862
328
642
695
579
829
677
749
940
997
992
726
626
140
207
746
552
102
863
577
156
683
645
824
684
590
908
762
150
719
332
13
229
961
660
978
89
593
470
217
389
892
861
223
989
155
679
435
153
733
700
897
286
668
866
898
59
522
108
660
799
53
391
730
554
231
926
253
31
271
963
671
817
822
87
609
620
905
585
939
768
190
447
14
358
469
41
514
730
85
914
911
530
671
148
195
420
490
456
460
950
681
71
77
521
928
485
850
56
16
484
641
220
90
538
324
171
629
740
187
748
485
340
645
105
530
639
525
324
151
295
366
766
1000
902
972
449
871
250
159
313
909
355
960
958
366
845
639
862
196
951
37
972
923
54
206
854
133
742
657
183
862
597
138
960
599
611
147
798
419
430
506
751
769
54
721
144
413
258
332
695
282
506
88
891
872
138
315
291
149
717
559
942
568
270
566
589
133
322
45
586
82
119
674
113
736
906
374
475
79
46
705
178
836
172
250
666
250
827
863
486
561
658
835
592
915
248
202
845
604
990
813
144
27
254
244
310
137
797
221
870
511
216
642
289
10
455
990
20
713
215
352
998
623
671
305
392
238
953
897
118
659
667
288
945
279
729
372
314
253
752
791
855
349
13
244
163
676
94
538
355
11
251
455
378
986
289
241
591
643
960
19
926
659
569
653
309
393
699
914
683
123
436
512
413
441
598
282
200
543
199
37
436
766
553
849
331
741
171
831
93
847
902
249
972
118
120
426
840
247
794
91
39
185
411
897
289
358
60
5
43
730
285
544
737
744
801
90
372
501
337
376
882
18
818
358
706
782
968
521
447
578
886
80
337
777
488
299
735
68
383
393
154
380
396
112
745
961
55
216
99
397
613
472
163
726
411
680
877
871
607
655
29
60
731
714
403
695
11
331
511
341
186
523
618
995
383
457
800
964
536
83
15
129
807
423
516
118
438
77
312
688
947
820
660
959
305
504
259
966
303
128
776
905
959
188
124
869
166
42
308
901
491
428
746
777
108
516
960
292
733
302
44
880
187
756
334
931
897
300
473
402
140
832
389
575
478
558
952
459
285
898
737
432
247
400
482
538
718
674
894
186
35
516
694
298
9
38
90
470
92
393
171
426
919
98
987
747
934
16
167
599
731
633
195
48
144
190
762
539
34
384
519
213
595
875
603
918
664
952
622
681
871
318
528
954
621
480
426
234
181
692
295
614
937
408
474
115
701
296
290
447
937
487
976
521
103
549
732
117
937
430
886
230
527
973
983
633
539
242
896
342
9
108
803
657
802
628
558
700
863
354
894
139
63
902
643
952
793
377
310
979
943
222
442
382
644
430
367
953
338
519
976
494
742
924
363
415
851
123
939
657
157
6
678
292
931
102
811
806
734
978
964
250
829
875
249
265
312
663
184
269
377
575
289
445
985
505
891
573
247
351
297
505
479
934
792
881
873
14
833
108
457
812
495
850
94
553
84
950
385
266
18
272
497
542
188
808
691
480
183
69
124
1
968
578
412
570
310
475
576
778
834
995
321
847
309
725
833
111
186
85
563
939
52
989
539
746
298
118
966
10
439
767
215
305
126
955
922
313
161
702
481
624
34
935
967
964
930
957
401
978
229
929
108
895
820
964
818
642
468
282
817
697
406
559
231
728
54
48
555
412
164
219
945
589
996
183
734
360
744
210
648
97
876
552
638
56
446
809
315
16
604
891
876
857
67
328
48
241
665
218
140
588
489
130
794
689
270
537
468
97
309
420
133
913
827
5
129
103
440
664
648
409
825
603
64
758
344
279
803
277
204
992
586
259
191
52
381
797
885
493
780
242
957
351
752
630
810
374
811
126
720
177
195
315
94
903
772
771
238
877
634
8
997
131
65
992
195
808
537
969
932
245
803
846
780
278
420
347
687
32
825
65
656
402
869
961
718
69
755
984
400
989
922
582
959
949
728
75
512
597
373
645
540
450
650
781
443
282
966
536
571
641
149
122
21
596
329
207
326
601
110
786
271
161
606
113
330
17
793
323
447
758
681
684
796
468
478
977
397
719
119
136
653
978
807
173
892
115
979
30
947
883
153
74
25
219
485
694
626
245
223
727
786
618
612
10
121
314
409
151
717
7
601
232
227
203
223
751
111
401
874
187
45
669
622
520
397
582
42
752
495
204
28
338
758
196
987
770
875
170
986
643
457
897
213
220
207
989
809
403
691
409
699
127
302
196
260
272
247
303
701
162
95
186
545
401
215
40
964
88
514
442
11
243
139
14
549
522
44
618
556
340
78
408
50
344
838
686
496
122
783
40
352
747
414
916
105
782
371
796
585
971
547
79
451
395
685
320
128
948
980
243
656
294
282
947
774
410
955
791
425
793
396
888
885
447
962
114
217
517
429
661
480
826
524
243
594
122
12
896
320
949
850
955
352
616
460
85
675
103
663
76
697
909
417
435
597
559
345
176
719
589
955
328
455
986
983
155
344
17
643
238
491
599
795
189
483
949
463
455
759
258
17
68
179
84
936
753
588
863
347
817
408
295
27
515
903
250
944
289
259
359
626
179
626
690
588
900
591
821
938
266
160
761
346
926
196
395
49
954
328
907
162
965
929
798
615
629
119
651
950
679
870
457
982
31
938
331
871
832
414
963
837
659
111
61
520
316
241
612
289
316
661
468
934
589
268
574
544
448
806
250
324
925
626
638
707
53
857
90
259
299
601
45
58
301
915
868
332
212
44
601
509
367
767
950
667
700
36
990
845
286
198
415
892
493
702
205
272
364
594
918
129
283
224
418
722
179
460
553
840
904
198
474
329
99
113
680
920
748
786
41
645
568
740
302
781
37
687
996
560
251
856
302
177
940
310
66
511
819
807
46
778
365
30
558
624
663
888
928
960
219
611
197
808
873
293
141
939
698
103
632
992
392
329
609
332
924
697
385
121
444
305
38
72
963
976
397
456
303
703
570
725
99
598
148
487
998
478
434
230
143
401
441
84
756
368
134
569
745
909
821
849
651
99
100
620
293
107
966
916
853
577
954
101
961
947
342
850
881
59
222
959
474
770
666
763
153
88
136
694
156
640
721
600
680
773
25
177
597
120
315
53
733
170
73
150
598
751
964
746
477
566
245
338
364
542
220
488
777
836
549
521
222
292
560
725
163
393
955
284
637
533
957
100
382
460
778
195
345
919
753
660
901
470
358
892
446
165
270
471
294
506
130
65
278
471
210
883
166
130
999
640
195
655
764
31
554
941
761
235
511
512
909
539
423
667
198
969
649
124
681
949
592
218
88
749
853
173
596
655
198
677
733
104
608
75
118
674
378
93
437
96
697
149
756
109
272
893
938
3
573
591
61
75
803
246
294
152
486
594
243
798
786
645
153
447
990
272
44
33
404
127
324
345
158
967
420
245
662
616
283
545
49
972
790
441
837
910
654
185
346
204
594
37
313
382
866
219
421
547
36
468
217
678
152
328
283
566
471
679
66
9
207
76
613
772
762
245
64
991
393
570
507
795
329
692
77
405
506
1000
148
981
179
191
297
22
263
334
670
755
313
732
785
115
432
152
321
561
860
737
253
693
618
939
446
400
109
490
935
803
747
604
248
313
154
309
965
527
455
900
723
645
814
368
923
537
837
473
152
717
735
658
87
475
268
853
580
685
48
683
172
769
306
230
329
138
889
451
992
391
979
866
759
469
907
260
930
389
489
143
870
692
635
207
713
762
434
793
45
760
420
472
292
819
507
176
183
561
587
749
752
16
765
503
542
448
311
800
834
796
848
467
292
982
216
317
381
838
471
541
443
72
232
21
114
24
64
351
398
800
223
722
951
998
774
705
40
484
977
721
588
519
7
658
481
596
487
486
20
44
140
483
95
460
212
432
102
903
583
390
665
100
879
610
101
327
806
102
805
593
540
930
94
790
274
926
313
685
530
574
578
485
283
504
302
976
657
319
733
252
792
938
891
423
861
432
185
728
499
380
615
932
123
92
931
688
697
754
156
430
635
49
52
459
300
869
286
764
120
219
203
903
709
747
912
400
204
330
248
242
844
277
460
296
896
504
680
372
880
740
856
438
207
161
460
52
296
229
119
416
864
805
427
95
162
100
4
788
880
334
889
384
116
172
35
667
672
187
378
859
136
917
551
193
541
231
980
340
377
436
217
783
45
534
221
314
823
155
776
230
380
74
936
476
524
149
886
465
370
102
635
657
143
205
633
1000
48
482
130
354
220
338
511
128
969
423
275
631
537
70
907
153
319
876
659
93
673
269
122
64
153
431
689
357
343
206
453
798
361
349
342
255
896
496
681
259
247
406
949
506
585
977
593
486
160
690
599
106
936
478
647
719
354
994
347
180
731
944
769
558
434
433
217
136
50
199
112
4
192
892
416
552
826
664
278
88
451
545
588
1
44
41
939
657
724
561
916
274
39
302
136
651
599
709
130
786
234
541
617
255
422
916
623
382
162
825
610
945
577
901
351
237
418
826
160
57
870
656
377
119
546
49
668
126
737
556
812
970
292
936
267
315
542
938
161
390
397
37
7
733
360
733
454
600
141
18
712
359
434
76
483
257
214
905
55
136
421
66
685
938
308
636
137
945
869
859
8
46
682
709
21
82
48
905
56
584
289
805
343
197
333
969
335
577
703
217
470
515
354
927
734
464
29
116
220
804
787
30
722
224
536
903
788
74
687
312
976
681
956
531
502
35
596
453
569
197
292
993
425
462
926
490
55
980
347
174
349
994
28
381
361
471
715
932
329
242
618
149
202
317
675
309
568
971
921
72
985
222
525
210
961
740
307
921
483
314
643
19
976
322
241
748
361
11
895
50
936
745
823
17
206
453
869
184
821
158
135
311
284
372
235
816
942
178
435
362
382
210
482
208
608
223
790
917
906
605
830
602
248
492
787
274
630
54
585
138
775
574
308
345
464
124
932
87
631
850
167
428
389
874
208
242
646
34
129
113
403
563
852
214
268
423
575
792
654
636
963
218
10
989
690
206
502
264
978
846
54
589
801
421
647
256
928
424
290
430
430
107
823
154
209
193
373
492
417
758
837
357
236
563
603
190
436
747
616
859
362
987
98
170
375
515
603
249
473
163
206
82
609
98
168
454
967
854
941
811
342
628
807
945
33
20
453
174
242
167
472
179
52
452
124
103
568
738
458
786
224
431
493
685
875
196
494
346
19
616
879
167
766
763
604
950
586
24
76
931
934
109
60
76
452
539
390
952
883
921
127
629
689
827
509
704
723
347
103
791
236
414
746
857
959
268
503
301
723
766
551
659
132
793
541
137
312
906
743
597
519
481
842
322
403
38
461
417
429
159
680
320
231
643
167
538
106
277
783
755
95
431
873
824
706
92
988
779
252
812
692
939
981
459
222
982
378
43
917
723
986
676
63
833
482
460
360
640
789
714
877
442
646
564
740
967
622
110
31
889
401
820
605
645
576
998
698
662
803
835
328
87
637
683
62
22
693
966
881
831
654
936
158
192
769
201
991
933
869
282
887
674
342
670
844
703
693
845
71
169
872
315
317
323
450
182
743
795
131
233
125
918
110
240
404
6
797
279
70
109
143
710
100
172
179
65
803
149
344
563
181
302
776
636
788
129
197
482
695
721
690
866
675
518
986
660
54
66
810
382
681
367
325
875
503
271
399
93
529
461
339
19
892
787
521
727
875
15
993
280
514
339
17
723
646
437
944
434
245
909
935
794
376
757
46
685
589
890
768
312
314
974
88
213
275
365
201
974
401
488
895
423
769
390
281
940
889
405
135
400
740
808
75
972
946
852
382
442
14
643
172
661
546
927
449
120
587
389
621
30
892
475
19
463
414
84
847
544
210
379
152
228
610
145
239
289
68
318
845
967
440
141
405
75
30
838
391
374
9
642
446
436
950
705
381
756
579
351
290
524
640
267
888
553
434
842
697
94
464
316
19
895
273
41
960
604
149
697
512
636
435
886
562
172
448
584
688
943
590
943
459
646
290
957
564
33
72
18
406
648
892
911
560
725
465
927
391
615
900
256
867
331
553
839
22
63
216
970
722
551
189
386
612
461
645
899
45
134
309
48
746
577
218
940
949
135
605
633
514
46
900
484
899
543
831
239
286
832
732
525
400
635
148
365
967
206
120
879
129
486
498
535
346
795
953
312
747
980
649
537
41
882
11
319
283
880
502
618
996
999
295
752
409
540
770
933
593
358
850
309
686
814
915
741
154
430
286
257
749
362
906
546
52
308
723
861
183
1
897
326
337
783
551
161
809
235
364
503
948
763
185
885
93
611
653
448
222
468
54
921
257
924
477
106
927
177
539
269
272
935
874
560
402
674
467
569
971
616
892
931
535
430
37
559
593
876
193
347
284
351
596
503
191
878
194
860
750
70
117
528
496
679
15
759
505
425
542
687
358
48
211
780
560
667
710
369
972
497
367
655
980
385
881
669
40
792
702
408
459
450
95
306
307
890
369
784
84
377
237
967
404
99
409
285
61
431
239
587
823
224
351
195
602
753
586
598
342
56
863
416
572
398
73
462
787
914
644
50
797
223
385
560
101
982
443
780
562
82
210
60
863
375
189
98
818
136
553
330
490
367
892
853
457
284
317
753
600
985
735
332
235
902
50
890
250
608
577
730
669
509
730
524
992
847
962
242
371
700
663
450
780
964
438
620
46
836
75
470
939
712
923
600
197
739
385
803
806
31
939
913
799
766
115
98
948
53
680
254
413
770
714
272
63
119
917
669
339
450
24
922
611
119
495
532
430
68
625
19
25
784
274
406
20
118
852
153
824
168
326
66
589
70
332
671
957
334
570
573
133
731
1000
475
327
66
481
188
258
897
867
198
576
149
840
611
208
184
602
340
233
791
319
203
509
155
363
235
106
218
854
638
127
93
713
530
147
316
190
654
235
959
580
63
426
174
307
619
272
384
116
933
919
913
135
829
899
395
154
278
158
126
805
81
533
885
781
729
265
301
477
283
512
147
341
597
210
752
698
475
121
171
335
640
240
240
282
343
419
698
370
924
261
201
113
217
997
49
20
454
541
698
470
883
962
531
803
449
483
886
223
985
532
147
820
356
360
677
693
207
554
540
408
172
994
978
559
795
476
773
149
955
113
780
882
528
734
852
187
795
733
29
874
324
858
934
973
183
677
421
258
725
652
807
545
370
278
934
228
475
276
919
612
738
50
761
969
146
305
7
204
2
365
387
289
333
490
397
265
529
42
987
137
341
324
140
891
756
646
514
240
58
825
340
598
239
114
158
114
460
565
332
18
911
523
901
823
592
791
328
77
743
227
327
559
676
632
70
585
192
428
991
500
874
719
775
239
259
314
696
236
299
410
390
460
518
20
876
266
505
178
438
86
730
302
415
2
892
634
380
929
734
858
786
903
83
132
133
622
448
675
382
773
448
549
999
305
526
420
550
221
617
348
259
505
643
163
910
691
387
883
882
551
132
792
481
535
471
893
554
510
285
877
243
134
341
536
593
284
900
257
677
238
482
989
556
370
702
72
540
468
232
869
323
218
64
447
138
986
899
676
222
652
421
939
657
359
69
299
842
529
253
849
980
714
846
353
125
168
109
469
787
811
864
454
180
372
568
725
133
925
984
280
687
20
607
356
350
108
560
231
828
841
50
194
55
127
246
184
328
104
45
178
80
542
274
365
408
148
917
681
497
904
936
759
815
815
983
911
801
918
823
952
145
237
626
301
646
923
124
219
302
926
1
115
782
20
480
96
279
800
483
194
948
464
293
43
851
604
328
872
45
225
131
239
324
555
934
755
976
983
216
702
856
190
462
772
817
981
691
546
692
378
276
712
937
752
693
369
962
528
187
512
798
260
880
208
574
615
617
336
693
775
687
268
703
869
19
323
390
132
974
235
859
917
650
58
428
767
337
890
409
748
606
876
671
199
125
226
863
817
975
263
908
283
628
931
888
74
375
940
825
396
368
390
637
512
13
546
90
247
279
951
381
474
71
757
18
719
972
140
30
887
672
735
904
848
330
755
771
863
513
28
554
368
816
325
906
476
242
548
675
400
134
666
634
965
46
791
749
247
136
322
946
739
333
370
247
679
401
983
900
533
615
613
804
916
769
745
195
527
2
195
450
333
355
41
19
155
830
25
657
421
704
127
869
654
307
650
106
575
133
944
56
200
445
822
767
525
432
894
227
115
612
704
783
8
172
88
847
205
359
915
973
270
188
356
963
570
543
833
660
234
109
821
654
311
988
426
798
750
101
254
216
466
323
509
87
549
342
689
190
807
268
748
525
748
836
882
767
611
289
810
411
477
649
544
519
879
723
465
985
102
900
501
562
906
129
415
758
731
310
773
483
55
833
309
336
53
127
642
849
101
497
664
393
425
802
495
103
197
928
110
525
280
785
824
865
160
889
282
981
703
264
885
711
509
494
411
877
521
94
303
591
442
760
50
694
845
693
393
26
425
338
43
437
681
320
757
633
731
724
795
34
315
954
746
385
540
8
174
879
364
915
33
786
216
312
727
303
616
183
190
507
807
359
313
986
721
160
312
215
472
137
931
725
350
134
391
935
424
502
897
528
137
32
183
298
235
338
746
702
778
63
832
237
300
18
504
164
323
865
977
993
878
751
33
116
494
2
746
886
665
944
364
277
182
488
339
404
776
167
839
664
261
162
303
704
649
203
660
740
170
536
197
978
910
713
894
377
771
763
866
244
497
442
625
11
709
948
493
502
557
622
13
663
987
47
838
707
685
424
850
848
251
116
297
222
935
990
478
514
363
508
334
411
526
156
963
525
570
649
764
134
347
787
813
797
948
384
557
295
520
2
873
523
626
813
628
978
297
781
150
451
519
206
848
982
436
795
482
688
218
111
282
794
804
738
416
335
874
956
84
90
554
678
178
154
942
649
844
386
469
620
379
534
593
513
380
655
562
414
615
145
829
446
669
952
510
641
820
344
254
776
1
773
970
718
272
79
761
105
154
550
997
469
251
836
727
871
439
944
839
354
773
114
242
256
676
666
663
19
542
383
976
451
111
486
771
613
998
996
288
887
759
454
41
646
922
275
617
298
444
523
353
866
55
431
595
21
792
380
170
445
79
181
752
24
738
920
487
449
96
355
911
712
641
734
460
42
41
991
979
299
85
487
40
330
686
982
167
94
902
37
76
702
165
115
190
612
68
291
38
716
366
17
21
215
807
528
624
223
266
983
389
1000
344
82
936
713
769
763
290
889
945
900
663
166
839
347
604
298
193
397
66
952
127
888
197
795
424
656
964
205
311
331
1000
627
426
383
24
332
901
74
156
874
196
623
174
854
120
768
76
623
955
27
931
332
945
348
809
968
742
541
621
223
811
751
645
758
322
273
887
485
120
910
47
813
229
535
723
278
439
769
237
514
955
972
928
420
512
669
942
433
916
157
942
949
55
628
47
534
759
918
852
815
603
788
851
230
327
813
605
666
560
759
586
94
245
203
119
328
179
304
872
90
468
514
244
879
327
987
4
3
377
650
736
255
302
243
89
572
915
574
120
724
547
927
773
744
580
691
880
843
287
896
208
509
617
266
254
173
752
782
310
185
941
438
729
544
49
833
5
90
805
321
585
954
824
159
1000
236
119
196
829
526
205
913
460
987
502
128
650
824
754
917
578
77
845
463
802
383
882
368
302
705
19
831
443
672
750
456
245
961
579
612
92
232
442
71
546
999
789
456
314
817
667
345
550
884
479
353
816
529
452
289
336
871
195
378
348
185
21
553
257
692
594
859
959
226
447
564
297
607
688
957
838
873
979
633
901
886
817
21
488
279
220
693
274
612
392
370
498
653
508
498
439
600
874
248
680
396
307
628
441
973
475
565
72
708
870
930
474
13
478
79
140
260
202
783
427
301
389
550
201
713
431
182
99
433
818
369
971
183
857
930
936
70
16
298
838
538
83
534
212
180
333
245
762
348
389
960
225
355
49
729
202
544
138
296
181
907
914
56
555
881
359
646
847
256
606
738
105
532
118
543
987
745
308
598
395
945
746
147
53
969
510
244
614
571
783
917
954
984
823
207
177
676
229
986
757
972
291
197
965
89
236
587
759
877
554
98
739
290
233
817
594
350
342
120
113
165
971
995
413
568
558
243
628
162
442
243
781
732
773
280
11
829
834
751
576
487
843
310
475
803
532
981
645
226
509
602
724
654
377
865
299
486
896
16
695
531
196
280
580
303
19
798
967
279
277
412
948
633
517
545
103
541
442
379
681
243
25
63
631
237
106
75
291
277
20
679
708
895
382
372
981
797
421
462
67
533
345
871
271
653
767
985
973
897
935
68
850
222
472
201
583
696
286
559
805
34
897
378
167
868
975
581
887
401
885
417
831
2
142
231
278
257
726
120
492
432
379
137
18
499
555
894
89
560
967
769
568
562
589
998
117
158
478
136
56
358
814
716
9
734
392
463
505
341
840
715
696
288
887
568
858
111
262
132
929
251
879
870
44
642
471
544
996
117
235
921
853
595
518
974
771
681
148
523
777
524
10
450
966
815
83
525
603
865
826
789
295
195
899
912
634
281
556
99
9
57
699
701
734
881
581
181
751
731
839
236
433
597
133
830
923
51
327
862
772
958
557
32
268
882
208
829
27
346
28
55
114
216
398
597
601
729
2
501
157
656
999
634
45
46
841
99
533
892
439
346
625
978
109
339
454
148
632
949
782
702
23
647
84
618
578
784
292
39
337
736
65
42
609
279
478
262
636
121
582
345
614
698
687
174
508
336
946
231
476
986
555
892
460
673
572
479
822
628
251
743
242
546
655
339
399
77
804
759
493
318
988
44
605
539
111
850
717
244
214
41
248
486
722
29
11
170
10
718
216
919
951
283
809
45
166
208
788
545
272
271
443
494
511
224
230
415
897
768
780
699
39
391
518
490
122
79
41
994
524
82
425
158
829
823
616
571
767
567
372
195
614
236
520
241
394
581
204
715
361
89
219
549
277
202
347
667
374
93
967
913
409
541
513
74
827
710
354
469
120
11
267
130
94
69
597
30
819
368
299
547
250
93
358
808
786
478
935
302
624
668
712
814
507
28
538
349
758
490
974
593
205
581
980
157
145
155
132
233
510
144
887
224
566
856
466
764
974
21
762
846
268
557
606
354
994
609
573
909
857
981
234
667
338
672
712
747
871
178
27
462
397
992
547
213
370
848
326
111
41
734
605
309
433
364
143
999
309
557
678
680
459
736
441
313
233
731
738
570
531
401
853
42
592
357
563
368
357
471
875
509
515
865
740
925
960
288
4
420
424
467
736
686
662
405
367
899
293
191
572
511
661
871
313
960
10
237
584
336
390
916
131
473
952
139
937
682
710
607
78
518
137
629
661
262
34
580
293
982
178
181
129
518
482
750
970
491
57
625
217
711
134
544
841
755
127
39
946
527
87
26
778
823
597
376
901
426
896
606
938
364
790
221
402
393
31
318
314
522
725
350
423
195
972
38
192
393
303
413
724
829
978
258
914
776
29
346
646
989
692
127
853
504
488
17
14
601
537
939
717
567
437
196
308
424
986
547
541
398
456
689
768
547
256
805
540
287
410
394
709
385
973
504
383
421
163
272
814
360
490
357
246
15
125
990
506
116
695
346
64
291
926
173
547
190
628
265
524
225
901
552
308
276
107
846
678
719
686
987
372
615
350
242
680
938
426
717
440
943
309
288
220
270
197
998
204
585
533
680
113
25
252
252
741
952
586
319
125
871
487
404
469
117
896
98
847
925
390
192
965
636
694
164
299
170
797
428
273
566
759
628
532
142
993
60
930
164
654
415
763
153
792
815
686
561
994
887
289
526
783
878
65
19
331
586
605
967
30
705
192
795
615
568
701
111
755
251
800
694
939
314
361
577
237
813
244
458
94
849
568
419
776
172
959
909
709
780
58
353
184
121
33
724
645
821
962
407
548
321
859
950
318
197
265
621
652
598
807
537
376
147
526
343
913
874
75
996
68
772
107
801
854
550
150
41
10
32
306
682
298
605
298
214
394
186
215
458
63
349
595
578
182
446
134
471
197
496
181
389
295
542
943
942
609
803
201
896
711
918
689
954
561
569
602
548
922
919
275
671
279
935
724
811
34
516
70
863
520
307
173
875
618
229
812
655
248
261
685
30
681
435
966
865
723
974
580
179
457
562
475
293
473
684
179
332
654
385
467
72
852
437
661
232
224
653
103
94
712
624
901
232
629
366
94
212
555
560
701
898
373
121
973
881
75
394
68
52
62
413
764
639
389
910
424
943
577
109
48
508
486
118
944
865
65
697
707
347
351
272
991
379
761
226
988
239
996
868
402
429
843
822
696
836
821
408
877
380
655
996
100
165
998
280
758
652
54
827
144
230
785
597
990
503
249
645
805
721
598
423
831
551
312
243
636
304
175
347
555
745
227
953
459
144
178
916
675
972
92
392
714
465
177
253
36
580
707
731
983
376
382
793
172
496
322
188
230
114
121
789
168
578
688
662
308
190
207
166
983
274
306
781
543
921
318
919
277
225
525
489
811
15
910
835
138
587
748
804
294
169
255
344
138
644
441
734
337
640
794
198
820
477
122
846
482
182
77
214
68
690
566
195
695
671
618
470
289
869
211
782
231
379
446
197
395
229
38
173
897
404
856
569
903
55
660
981
337
400
915
896
248
103
94
124
870
296
903
598
926
776
434
576
234
232
42
949
33
974
540
966
736
744
321
883
796
210
606
876
434
94
342
524
44
539
274
686
809
371
41
627
599
887
437
516
797
640
804
475
285
483
719
948
329
532
323
430
156
235
323
428
436
843
371
443
256
921
912
196
344
277
737
709
997
390
514
150
24
669
447
581
291
118
407
776
528
91
945
421
782
950
147
871
729
603
291
573
82
689
810
282
893
126
190
355
866
345
681
556
457
672
612
827
612
613
748
836
354
993
798
581
120
563
993
150
533
364
676
568
13
797
142
429
974
320
993
322
560
395
791
609
173
671
749
933
696
987
694
226
44
903
26
103
117
363
103
203
340
994
639
836
119
271
26
252
204
70
651
5
444
39
768
398
765
490
787
995
747
106
240
340
492
96
187
286
872
246
785
183
720
436
891
131
625
964
961
501
513
888
404
68
477
898
821
288
911
584
846
126
92
72
670
203
280
340
308
788
375
643
951
794
638
579
895
113
533
822
859
599
361
795
844
121
924
566
190
753
558
964
488
474
840
25
82
151
191
98
60
980
608
686
945
209
374
276
381
124
481
661
36
949
923
896
208
89
809
822
888
638
672
830
90
15
720
958
787
942
960
102
530
198
148
927
851
647
31
682
385
3
165
548
143
660
233
182
899
409
693
410
863
691
952
462
360
255
228
973
709
18
355
985
78
412
947
62
820
497
200
532
650
265
387
187
770
12
108
111
293
321
779
986
628
134
729
359
545
318
352
835
762
939
222
525
24
917
319
399
720
261
749
822
419
752
110
953
178
833
860
795
945
229
200
810
462
625
298
219
312
392
892
545
680
712
698
686
320
959
128
505
55
925
302
485
182
196
235
507
691
113
942
473
631
896
36
447
218
384
207
786
977
865
12
530
675
611
692
251
400
643
182
671
227
206
543
850
640
152
458
995
566
355
319
590
878
343
561
419
156
77
525
547
416
1000
878
132
728
122
668
810
212
847
838
9
354
688
636
419
92
457
522
659
603
426
937
599
408
318
889
545
407
890
754
973
922
427
451
843
750
10
149
363
119
705
273
298
438
331
936
817
434
442
338
249
714
593
138
686
651
816
422
126
357
235
995
784
977
678
89
244
765
697
881
66
381
652
439
122
477
912
294
916
977
162
324
577
566
601
960
980
795
209
914
586
319
970
98
908
221
448
237
322
575
187
273
921
932
771
767
474
723
752
405
330
448
114
445
658
118
988
948
150
100
23
95
788
147
197
328
938
45
647
983
150
790
680
122
999
234
565
355
22
853
881
480
429
734
999
839
33
887
372
969
487
39
459
695
31
412
206
448
756
571
215
326
951
40
802
546
411
365
213
329
938
645
366
211
245
668
86
805
33
556
924
177
797
435
456
827
661
994
116
230
575
168
966
776
252
336
20
264
453
347
813
45
577
94
913
871
68
973
661
817
607
300
943
480
492
803
376
70
645
215
345
227
487
708
108
434
494
314
418
517
143
420
528
229
350
626
771
977
354
202
69
745
721
894
246
560
556
567
455
491
811
659
551
241
771
44
158
547
665
595
38
839
677
522
903
571
897
641
506
922
383
60
136
129
36
808
562
617
218
13
751
110
863
961
46
618
2
122
979
745
406
151
109
865
322
240
499
421
4
156
22
781
179
149
439
551
610
653
278
490
599
720
483
716
846
931
523
645
451
629
891
29
593
262
650
983
878
804
651
293
874
821
793
336
382
232
74
445
943
351
820
219
336
358
721
78
857
6
403
517
606
3
779
859
887
379
355
955
314
119
348
581
885
659
767
197
967
637
251
50
341
102
561
888
129
647
210
259
114
268
390
710
855
181
427
140
24
377
76
266
523
458
108
555
510
150
726
408
424
697
757
16
448
275
271
25
168
826
451
762
741
322
105
112
19
240
403
894
472
606
344
912
668
426
977
746
513
78
790
846
979
952
345
278
719
340
814
368
888
24
883
128
85
558
63
386
968
795
333
58
369
516
681
972
622
260
595
729
476
618
366
787
203
446
669
422
427
599
783
837
373
586
848
409
584
802
316
155
281
261
1
144
418
570
306
60
673
796
60
678
28
398
51
30
390
541
265
808
872
312
436
984
538
690
651
261
158
638
995
634
423
970
201
322
615
658
623
712
837
683
910
597
826
817
245
796
682
569
576
419
257
935
667
616
510
288
607
545
786
771
127
523
76
324
171
299
683
35
933
889
248
895
565
25
852
978
869
50
926
224
439
641
324
760
529
445
230
152
205
824
414
634
101
297
829
967
144
903
378
610
916
917
540
398
29
99
42
133
851
717
904
220
88
712
532
825
629
879
917
473
292
909
561
126
24
276
271
483
765
688
144
665
719
238
525
836
371
999
880
362
278
853
756
305
147
626
744
708
850
715
108
402
240
633
597
656
777
309
661
316
412
805
506
43
141
122
523
832
396
596
608
659
26
88
219
546
28
127
727
48
352
634
61
162
923
649
812
381
478
763
727
520
74
820
318
478
819
138
732
834
566
124
420
214
734
40
842
654
896
516
361
30
72
91
326
836
467
75
250
74
927
871
3
331
914
72
258
903
293
170
316
271
618
415
922
10
569
906
456
870
207
494
373
226
396
643
399
170
830
854
348
499
202
690
651
314
913
109
162
445
626
321
389
557
936
929
476
235
382
195
559
974
668
647
188
207
761
529
414
906
624
902
116
80
114
665
663
334
559
554
380
236
691
491
339
990
626
947
854
201
746
982
47
855
519
823
946
826
998
901
255
341
388
592
959
440
955
148
869
375
240
708
142
217
640
198
509
111
331
555
704
478
849
928
682
926
144
564
3
324
747
751
88
482
902
538
482
429
610
988
147
705
793
143
127
15
732
251
140
79
504
239
815
596
640
928
513
29
942
861
65
705
236
225
232
680
334
575
801
899
656
898
393
416
637
730
40
699
228
813
313
723
189
467
769
82
227
650
354
440
457
890
201
487
878
917
652
967
750
295
539
105
25
576
743
645
805
317
724
931
314
486
913
277
224
361
202
107
61
442
166
157
711
134
472
954
336
329
61
333
273
685
603
579
856
675
321
910
213
448
949
153
758
25
739
247
59
369
593
102
529
589
839
323
981
138
192
302
333
126
544
265
872
880
890
16
766
133
39
498
428
242
537
356
281
189
177
246
977
616
530
282
281
457
298
408
950
194
523
868
567
801
505
687
862
214
483
473
528
870
129
86
506
154
335
250
17
544
417
926
326
367
828
90
10
161
282
648
840
947
182
880
543
551
531
515
13
960
200
585
967
388
585
124
922
771
159
905
411
619
500
973
453
308
559
916
255
791
813
512
890
143
112
307
792
187
691
781
274
399
47
49
814
859
969
78
382
328
800
371
229
596
263
688
250
308
335
303
141
288
117
593
191
689
526
176
182
538
334
17
678
246
822
750
854
815
506
568
962
234
164
714
577
714
87
296
803
750
706
757
562
361
805
645
402
756
791
275
893
818
537
141
679
249
94
596
503
157
721
729
208
595
424
103
829
120
633
235
719
123
403
982
122
31
250
539
227
231
108
608
830
454
469
640
466
61
641
519
120
72
936
711
564
738
331
663
975
134
213
639
305
698
46
24
901
464
958
193
592
897
283
13
318
594
707
207
608
383
964
666
222
120
473
840
90
429
561
812
133
962
595
738
848
342
501
90
184
297
727
830
531
14
386
24
312
224
548
125
692
759
938
383
959
110
443
931
356
794
599
77
737
504
447
459
402
22
902
773
325
329
888
632
319
618
659
629
868
566
595
782
90
882
676
695
595
68
540
515
788
514
509
504
725
705
634
968
106
191
823
620
585
580
711
911
374
204
315
848
592
191
870
943
850
194
813
337
739
358
548
184
485
218
516
461
100
620
384
287
619
405
334
831
88
442
596
518
71
939
527
438
192
766
986
522
11
89
127
104
750
961
434
318
656
157
826
387
666
110
881
392
113
906
566
334
914
992
181
733
259
834
905
445
540
762
575
682
891
828
219
473
819
273
175
812
353
366
945
812
453
99
418
781
546
112
141
873
918
41
462
962
115
997
619
353
735
159
795
430
831
627
575
701
838
777
301
562
980
2
350
63
912
955
331
55
543
183
834
968
849
634
294
347
762
310
600
472
808
792
425
109
320
10
169
379
628
69
467
771
174
449
645
356
440
204
939
537
657
645
175
608
687
726
369
219
104
303
954
4
861
356
6
904
527
570
330
299
311
989
339
722
810
638
657
272
131
338
626
463
45
394
894
172
579
323
201
608
742
315
417
399
585
924
77
782
86
425
917
236
176
1
308
643
299
110
473
501
897
511
105
491
745
538
639
766
154
759
801
121
685
649
752
109
460
791
142
775
13
682
917
589
454
217
476
483
6
958
847
140
577
111
67
540
250
343
298
603
654
46
981
798
268
909
941
414
986
958
413
157
755
221
693
755
145
770
335
956
18
147
908
739
625
272
992
551
382
278
467
815
965
669
295
166
336
255
357
450
257
578
183
176
935
664
660
582
38
917
165
466
340
660
740
686
155
336
604
398
734
342
302
883
806
263
176
29
475
442
929
100
871
371
777
154
867
2
779
483
549
823
352
810
855
882
5
795
751
121
916
571
480
399
232
880
271
974
83
981
723
545
476
79
433
695
817
676
130
934
130
413
626
859
294
899
892
175
476
223
513
309
535
552
290
758
148
837
635
574
408
425
447
831
489
617
425
453
822
25
183
645
173
748
741
677
649
313
798
762
230
735
426
808
587
251
885
579
54
810
16
817
552
18
580
375
635
4
387
251
585
161
222
351
918
657
728
543
184
283
261
77
48
543
170
667
456
159
61
281
417
53
994
661
48
66
719
977
752
220
272
363
13
596
256
593
283
863
573
671
267
477
456
605
637
170
161
616
912
511
747
447
682
83
620
565
364
212
650
921
842
155
929
515
109
716
202
635
977
734
771
975
354
506
296
801
523
248
131
398
274
922
418
738
915
38
582
361
950
808
490
645
830
648
853
714
483
611
782
226
611
341
841
207
944
20
862
639
972
125
731
550
837
344
500
346
686
21
467
40
368
96
183
684
261
193
452
182
560
675
236
82
672
716
586
901
90
178
711
97
680
696
868
656
459
871
467
465
666
280
318
99
679
94
972
69
387
207
250
318
524
734
249
312
741
607
20
192
388
133
525
67
839
160
469
495
208
280
892
386
706
320
296
165
593
977
590
567
748
754
695
639
985
153
66
281
340
823
978
454
102
468
461
529
184
785
499
119
209
522
930
66
690
239
997
786
629
427
715
867
963
162
792
986
766
13
455
995
664
3
671
251
244
75
94
213
326
529
13
522
846
396
84
585
78
394
677
491
225
638
32
321
938
412
957
96
715
484
73
502
974
42
673
393
542
49
450
156
298
799
90
150
285
641
602
855
251
150
971
460
926
169
10
600
163
467
605
161
339
47
612
59
292
610
572
557
752
168
991
247
115
610
932
586
265
70
333
621
181
660
261
195
675
624
475
241
739
673
778
338
551
544
744
624
796
521
532
388
597
6
562
657
480
500
615
848
705
26
465
110
163
398
357
610
718
640
199
786
956
675
709
38
125
989
92
861
621
585
986
301
32
582
128
77
727
256
323
891
601
271
735
949
783
577
255
256
501
755
529
411
202
82
946
194
915
817
577
3
444
256
471
586
329
842
997
548
672
633
488
776
797
537
842
279
965
82
475
786
64
270
959
431
224
664
417
190
426
717
270
261
888
373
515
547
571
882
762
402
968
270
579
561
246
500
642
353
963
507
612
653
132
969
467
92
727
814
362
521
785
561
749
103
460
674
686
821
529
628
645
900
146
223
675
330
703
305
91
645
707
513
259
83
737
930
748
973
123
941
661
557
124
252
488
454
317
589
739
149
285
203
154
646
534
934
541
840
709
890
607
344
649
647
610
924
59
282
784
659
813
992
316
804
11
431
934
676
695
168
284
44
454
178
478
283
614
786
360
991
471
615
178
854
481
259
463
482
530
786
742
187
209
662
428
8
463
351
794
750
661
873
791
597
4
68
635
275
859
202
99
967
406
993
7
840
201
696
221
211
569
247
425
200
781
979
46
341
115
81
819
671
499
378
959
651
984
798
486
574
140
432
184
2
48
333
895
828
718
957
240
78
410
218
798
131
270
976
360
703
70
50
409
855
831
77
620
424
977
760
456
788
456
154
49
330
478
11
22
74
756
311
466
842
741
507
825
556
750
710
960
99
68
858
123
351
787
133
72
820
921
468
751
775
485
331
608
935
835
568
936
589
368
786
99
406
827
415
138
547
213
698
866
122
249
761
779
266
876
936
666
281
155
640
239
604
294
884
502
789
964
271
706
455
711
399
504
524
922
570
362
985
720
944
555
156
121
417
144
837
567
659
77
114
391
162
494
111
327
663
307
725
411
422
437
24
816
372
300
474
998
150
532
829
765
140
906
520
48
216
139
87
542
404
312
33
650
337
886
979
172
861
514
87
806
814
932
152
391
362
922
460
630
333
979
782
68
82
178
857
723
329
205
470
121
416
768
274
203
713
200
565
657
52
941
685
611
235
24
932
407
490
48
318
483
646
237
689
734
994
731
883
488
180
544
76
5
230
145
802
679
165
623
797
424
411
959
166
734
724
26
953
550
248
901
785
677
706
474
134
783
121
761
969
741
912
185
244
391
655
399
444
243
331
716
288
595
160
392
836
397
464
746
751
248
236
591
30
367
670
490
9
437
329
305
999
59
314
700
701
886
945
215
518
854
749
365
596
68
108
769
704
944
776
988
503
387
182
345
910
250
296
677
185
18
458
513
174
538
298
710
376
183
104
832
734
879
328
255
806
617
965
43
432
265
808
986
369
575
494
119
145
628
525
546
379
54
577
930
933
339
46
424
121
217
665
753
586
262
946
106
706
235
513
58
796
73
148
732
442
856
970
111
582
641
719
291
100
122
451
497
37
440
108
7
577
271
988
493
21
903
918
345
177
734
813
423
949
288
254
659
799
486
706
125
970
759
554
972
128
244
660
994
395
716
997
713
681
815
200
84
390
664
2
852
682
370
134
381
620
527
262
486
844
998
637
400
947
542
74
379
179
672
104
68
798
928
85
564
206
601
490
193
86
399
842
736
996
897
821
838
630
702
692
492
154
337
781
536
653
380
661
299
796
711
388
61
650
509
86
543
551
650
328
324
86
234
685
360
733
827
558
264
727
637
99
769
906
332
201
18
334
725
801
826
96
986
475
777
347
923
244
170
685
370
562
841
155
715
286
541
371
965
41
54
564
46
383
172
634
883
173
941
775
192
524
766
645
400
786
128
799
181
998
620
541
326
258
885
220
804
246
516
690
885
242
279
641
705
66
884
862
237
159
255
804
978
774
412
567
13
754
363
31
334
712
965
683
461
427
446
17
456
385
694
763
29
812
886
562
41
266
882
916
254
820
944
798
790
954
626
714
606
116
108
790
997
795
219
860
862
722
498
61
433
759
726
620
25
655
118
64
463
288
373
168
586
297
980
367
133
975
157
791
646
573
208
923
189
245
838
823
107
689
563
614
763
888
139
621
988
94
617
137
254
97
844
89
48
299
628
352
263
407
847
111
231
218
168
230
373
453
731
750
213
918
143
36
544
679
995
955
647
936
407
906
856
841
808
473
470
918
454
575
152
136
123
948
572
827
629
663
959
988
473
130
386
3
470
93
109
93
348
267
311
162
785
770
262
566
695
997
580
650
781
843
715
755
996
655
529
587
857
437
934
671
79
161
484
348
104
518
409
947
551
209
46
348
469
844
68
573
230
961
709
480
312
462
295
879
537
559
308
720
363
516
290
870
611
919
723
777
480
417
162
789
310
215
854
823
817
988
679
416
173
147
929
860
123
870
388
956
452
632
195
618
288
515
987
652
184
193
179
950
838
526
104
275
186
292
147
183
500
493
124
412
716
435
97
257
803
873
822
771
232
390
302
596
303
898
280
37
521
841
990
70
274
858
314
145
595
143
793
177
404
106
130
261
370
819
584
242
743
145
423
95
744
403
782
620
817
182
950
208
271
468
142
519
532
711
353
591
963
832
327
180
11
341
896
427
991
484
586
675
195
864
362
503
868
511
498
108
440
657
394
803
38
55
77
619
419
764
533
138
417
563
924
383
42
97
542
955
711
959
19
192
67
610
916
249
28
417
198
518
884
674
837
255
505
196
148
488
925
701
958
526
189
27
988
390
376
894
98
882
168
297
274
880
850
775
126
266
484
949
77
953
298
497
870
910
314
816
573
834
232
712
399
983
17
980
879
80
728
566
94
212
84
435
645
88
978
335
235
498
610
398
125
660
527
908
553
578
384
337
452
373
536
825
758
880
10
873
669
776
690
351
348
35
769
714
811
252
649
714
415
361
336
280
817
268
884
600
768
282
268
34
174
346
713
770
29
814
818
236
18
965
456
600
909
762
280
712
387
479
796
790
966
844
7
151
862
875
503
849
136
770
991
585
724
428
551
724
54
357
997
851
136
774
153
190
472
655
122
181
539
982
363
703
38
862
592
655
544
57
530
175
276
341
546
20
150
142
217
962
873
982
89
167
149
795
375
174
742
805
847
813
354
941
872
691
728
774
661
204
73
132
66
464
743
40
638
586
875
824
545
424
813
971
666
297
435
684
182
357
299
682
555
660
469
633
699
160
495
448
596
951
353
996
190
267
19
948
576
713
183
345
310
834
242
720
104
978
155
212
920
702
953
878
298
317
312
6
938
969
206
657
666
203
697
431
528
604
359
24
135
279
694
210
839
156
416
911
607
474
324
139
682
348
466
170
692
856
459
676
877
98
621
146
505
799
467
390
882
464
334
449
11
960
194
89
336
657
677
689
18
311
437
344
466
440
587
774
552
22
910
954
178
359
251
844
486
556
614
446
844
115
641
423
652
511
579
85
455
242
215
966
483
907
858
678
345
219
985
142
462
46
101
926
112
213
581
482
447
749
62
220
643
382
66
935
263
930
351
281
718
848
972
738
13
546
428
203
429
529
695
409
710
591
886
839
688
496
513
583
495
298
239
520
205
464
869
756
623
9
6
326
190
912
455
826
607
704
899
920
233
30
372
521
43
547
389
329
160
133
909
582
328
638
553
727
167
46
481
248
136
746
974
183
306
203
636
495
331
636
254
445
155
126
536
158
790
256
491
730
693
806
302
991
798
226
357
634
713
645
703
432
149
36
410
506
477
737
10
959
227
423
130
697
903
594
970
403
256
44
682
616
198
526
580
837
130
537
976
899
934
5
753
144
524
21
794
982
964
192
941
218
329
89
971
419
856
717
822
875
18
273
283
150
926
266
136
921
833
35
676
378
465
522
748
270
773
202
941
392
57
586
984
524
225
414
690
602
202
369
421
794
633
823
373
27
300
568
598
246
222
107
264
78
513
700
789
600
201
902
216
816
482
325
104
821
660
774
810
255
198
742
237
266
599
526
424
692
693
906
308
219
854
544
735
449
256
417
329
934
757
756
665
748
85
991
809
694
756
188
575
422
694
981
17
541
661
939
790
382
4
90
661
947
932
482
500
901
395
43
492
36
532
309
861
696
660
470
988
111
220
409
706
865
1
917
197
426
405
95
9
196
79
687
740
894
661
974
920
534
578
226
700
598
66
270
593
9
904
921
429
307
956
452
686
46
965
648
113
789
762
238
987
485
100
14
206
97
971
897
234
56
178
454
972
466
34
170
152
694
512
698
700
295
799
335
494
977
533
314
1000
884
358
540
819
371
326
919
563
143
599
18
566
542
827
649
116
35
446
472
102
118
914
499
67
285
129
662
53
886
491
531
443
162
765
608
125
621
691
370
688
28
75
491
337
101
891
852
442
593
331
982
53
358
658
398
466
995
131
430
840
72
918
49
507
410
967
520
198
700
539
5
518
769
941
35
233
42
506
341
620
898
288
181
458
668
691
894
268
315
438
403
867
342
403
98
96
338
884
746
797
350
473
969
459
136
120
948
685
992
670
770
169
922
995
427
482
777
203
851
357
767
890
898
631
641
177
280
38
338
746
851
253
936
591
371
85
48
133
75
540
809
322
611
528
671
901
774
453
74
137
658
843
520
572
791
588
4
536
220
118
988
791
253
855
383
534
708
712
729
574
665
916
796
220
201
331
591
693
154
586
375
814
533
93
382
658
906
722
240
35
395
924
484
123
330
526
733
510
374
673
850
434
706
727
946
710
190
577
647
168
312
207
464
696
28
643
908
433
343
433
180
342
388
313
823
469
389
884
417
576
455
581
960
385
104
890
641
92
746
806
879
454
984
225
477
736
627
313
404
800
787
748
218
103
199
583
752
234
351
643
934
285
507
129
957
588
636
599
542
697
108
115
113
534
883
198
512
192
17
246
953
194
566
332
71
557
634
724
589
862
900
965
132
437
342
141
151
454
841
150
436
428
679
460
305
182
339
872
210
222
11
304
226
435
448
681
832
628
71
405
967
472
842
886
13
920
54
982
512
119
687
899
937
282
91
847
525
401
614
358
320
427
803
549
871
743
22
781
57
324
433
831
635
55
763
26
554
384
749
616
170
757
30
39
903
202
11
536
180
86
477
234
367
110
907
820
935
927
318
60
647
618
152
671
820
560
594
114
494
362
261
286
531
311
167
692
219
356
947
268
336
164
830
431
447
251
314
710
79
494
861
204
386
818
663
812
593
312
929
289
837
802
175
191
169
515
277
466
937
272
11
637
113
966
918
112
676
123
484
23
639
83
341
164
720
873
280
245
158
243
547
824
661
946
766
79
476
240
35
7
823
283
346
149
917
823
258
576
749
525
939
721
169
396
478
515
658
817
357
298
130
859
73
683
642
194
664
192
160
223
850
120
965
992
690
35
518
662
340
371
946
265
541
754
883
68
77
314
414
262
209
808
486
279
742
267
645
957
336
679
615
333
759
40
128
566
389
894
330
51
682
477
16
753
137
436
526
354
941
152
875
551
708
487
313
459
512
635
967
118
335
112
984
509
831
63
566
242
155
334
890
185
869
713
902
735
342
587
823
601
325
958
447
90
221
192
968
594
878
469
110
756
667
508
600
918
858
879
782
950
2
490
913
285
356
512
541
721
659
154
993
856
812
814
381
122
985
153
129
364
500
526
845
785
942
174
441
792
163
731
151
51
518
197
780
124
829
307
202
640
562
514
426
655
84
224
734
912
49
789
704
65
628
205
960
255
874
679
688
819
424
251
215
148
229
550
976
811
142
814
359
562
54
153
423
159
850
874
388
694
727
339
730
517
78
172
415
346
926
933
335
139
895
479
832
162
809
101
317
557
852
39
728
818
790
485
69
586
477
172
451
181
786
378
328
32
893
683
760
647
298
390
845
368
859
158
1000
614
526
36
61
935
265
528
29
367
268
448
788
855
135
323
974
192
977
484
457
184
772
600
429
591
457
286
828
796
77
411
763
711
460
59
239
896
80
632
552
905
755
6
687
467
424
711
889
433
340
145
451
455
507
201
63
964
323
268
158
919
340
615
563
396
28
286
78
505
723
536
598
590
877
123
75
270
805
670
585
225
85
625
778
270
267
933
635
942
112
677
810
856
386
811
281
536
190
961
881
342
117
888
899
936
404
739
526
306
411
83
380
258
629
346
4
24
33
730
176
780
970
89
438
718
289
569
648
453
653
999
872
34
785
660
684
380
724
959
278
18
157
319
623
980
99
490
709
969
29
368
517
358
208
335
355
31
644
226
104
672
500
131
685
816
881
543
956
832
419
594
169
411
67
696
943
673
262
211
229
562
74
411
279
809
567
79
404
188
608
338
164
113
62
578
866
865
81
205
466
39
794
774
718
285
231
24
187
855
578
608
741
829
543
726
855
143
27
781
605
207
502
376
55
614
538
886
451
363
552
242
932
652
252
182
126
525
147
452
59
319
362
271
862
901
283
136
537
892
604
528
120
500
852
512
49
417
589
647
606
333
765
545
151
865
547
425
182
258
565
325
849
707
362
341
101
757
319
499
66
471
255
986
697
472
835
38
596
763
420
172
669
725
991
811
322
475
364
509
859
98
538
564
486
616
803
679
96
799
547
423
266
445
91
698
695
545
372
300
765
877
188
171
541
674
291
196
1000
938
503
795
693
865
723
143
678
508
15
602
662
125
344
169
936
20
105
121
407
866
403
963
470
240
845
549
86
322
748
447
305
168
230
413
611
936
357
447
278
929
509
30
772
18
186
533
823
443
612
156
190
598
981
928
716
691
813
522
517
92
850
936
297
863
891
789
272
996
116
799
866
28
734
532
269
194
661
284
140
675
815
447
409
422
120
990
928
633
862
10
997
869
167
955
510
922
213
331
83
424
274
680
571
979
924
799
7
99
544
719
737
475
676
882
739
959
160
183
407
502
649
42
578
798
97
762
387
190
253
419
948
645
429
661
15
695
211
2
779
960
909
606
657
861
999
178
32
95
763
55
466
167
977
855
319
376
876
252
197
959
307
297
921
758
259
778
585
160
411
288
810
698
326
19
171
314
231
400
436
512
215
470
809
164
914
521
606
181
294
416
310
7
227
380
392
748
9
78
281
931
519
418
850
587
259
845
343
116
616
146
554
395
944
754
331
207
120
558
778
403
58
371
440
821
129
81
702
646
129
975
312
540
751
76
357
491
910
459
183
177
459
452
344
972
15
929
184
598
732
662
153
400
370
737
72
575
128
599
276
339
475
986
892
868
152
322
311
969
107
117
966
532
98
587
49
674
341
332
573
499
160
693
544
571
126
227
305
410
856
430
141
176
339
576
172
431
764
826
859
336
8
558
251
579
263
902
842
726
952
887
707
650
621
582
33
189
808
63
125
756
144
908
139
658
145
353
516
873
149
591
917
15
554
953
40
980
908
127
695
947
36
871
885
486
796
732
404
621
911
88
661
303
611
735
880
734
649
685
172
157
320
892
194
776
637
496
465
595
811
256
501
56
674
674
769
457
46
559
207
558
655
7
504
481
485
545
513
810
817
150
106
994
223
26
870
203
392
424
706
625
996
886
677
577
297
174
759
188
575
902
932
464
722
170
137
714
260
752
584
84
487
205
985
436
535
98
370
791
265
470
906
172
750
556
658
517
984
894
242
366
160
134
979
104
187
641
404
673
321
645
212
534
608
365
136
134
121
536
233
378
827
454
339
875
351
92
739
48
324
874
129
947
990
149
861
880
337
949
763
708
42
844
181
533
712
635
529
733
925
433
447
27
896
935
809
724
746
217
511
371
982
581
56
829
33
116
750
931
430
773
734
789
418
779
596
882
855
387
188
44
157
35
453
939
51
556
578
317
734
49
751
193
215
251
316
649
422
130
232
712
308
70
633
218
123
224
854
215
249
128
407
668
521
811
660
423
536
484
232
365
537
872
471
416
297
627
313
93
617
38
384
62
98
599
389
960
404
649
685
39
860
843
854
279
69
945
239
996
916
735
603
672
970
246
234
315
146
454
591
993
730
689
580
538
647
531
820
626
493
277
926
100
622
366
638
999
699
388
93
661
169
13
749
206
882
244
554
338
245
79
575
320
527
332
923
232
801
283
411
293
845
181
607
350
294
327
83
29
664
363
149
524
651
851
201
504
62
379
550
481
754
707
603
324
630
77
22
314
539
608
845
427
151
966
951
366
299
831
287
843
222
482
208
842
639
761
417
394
754
512
943
541
273
660
78
402
463
819
287
12
315
39
495
607
11
580
746
521
347
505
63
186
191
271
977
625
926
262
187
164
477
841
142
477
69
819
163
532
917
259
601
515
706
500
807
39
716
781
241
704
669
43
595
479
727
879
802
169
260
802
1
122
388
111
410
29
252
455
363
530
533
749
565
840
378
613
751
869
80
683
481
376
482
341
282
632
760
587
276
75
188
50
68
632
327
574
36
50
195
198
584
200
484
813
805
4
750
720
14
211
933
285
241
951
43
504
317
856
368
405
237
716
398
867
778
312
735
578
749
318
699
827
466
981
958
895
555
78
244
479
82
759
807
637
761
844
343
426
551
944
972
752
532
295
783
333
878
126
346
923
343
289
137
562
653
786
249
623
167
117
744
379
229
506
428
627
569
36
133
76
622
252
418
648
440
329
779
464
686
118
247
180
85
540
247
232
911
666
470
621
162
549
814
798
99
365
93
925
182
625
353
237
364
29
388
952
665
315
401
226
128
640
104
592
930
836
582
727
886
914
367
351
987
596
96
864
229
740
825
817
153
955
11
657
761
304
295
862
572
229
247
458
18
456
606
639
825
974
293
181
792
485
805
79
678
675
767
964
290
380
532
729
380
341
234
565
449
37
342
378
245
314
960
289
945
653
651
270
677
149
929
365
749
732
723
694
354
393
349
34
624
876
735
847
243
768
350
646
880
864
511
90
856
143
522
76
538
670
252
433
470
838
892
49
953
503
848
580
733
262
801
2
121
259
393
215
339
349
16
94
492
882
749
802
145
286
215
379
455
551
270
121
724
874
553
305
709
347
632
622
78
456
12
101
85
862
494
539
74
288
152
775
269
706
391
78
226
778
594
734
857
198
135
175
374
594
148
635
623
763
452
32
321
869
992
701
369
64
52
916
548
251
198
676
482
295
965
896
501
268
984
444
823
460
326
455
887
899
24
634
101
187
312
639
959
480
684
549
26
419
393
343
672
403
363
930
919
849
987
74
784
854
672
14
924
147
88
62
652
308
242
674
324
385
119
854
138
418
261
491
258
51
205
64
714
530
979
319
330
28
481
484
374
957
946
340
925
876
585
826
784
801
569
801
812
21
836
789
7
664
539
68
221
521
277
631
7
646
812
522
692
843
31
356
245
932
942
83
942
159
732
805
691
423
422
744
290
707
254
857
58
676
431
436
318
729
459
171
491
184
424
577
564
143
39
178
552
923
645
334
984
40
761
550
436
216
759
934
769
8
815
250
143
533
979
697
365
290
987
582
792
536
124
12
790
837
969
600
553
843
437
541
365
364
852
308
394
298
880
879
342
552
813
390
382
850
133
524
655
832
216
359
129
914
516
175
550
103
232
733
507
596
909
491
24
310
412
230
963
313
393
962
686
983
865
111
185
529
609
258
800
302
353
498
849
400
11
72
491
652
656
942
152
49
389
370
261
590
878
991
767
429
151
808
157
493
671
351
176
151
795
364
559
901
27
96
855
354
356
730
985
968
912
891
334
597
877
247
873
823
791
18
434
831
830
337
778
302
78
115
769
906
398
78
984
262
993
179
507
604
325
197
619
621
976
410
565
316
90
917
86
450
234
346
874
837
860
864
859
294
439
436
275
163
336
256
935
624
638
47
770
234
557
397
702
761
978
520
430
787
795
432
266
266
918
804
169
516
750
804
959
580
477
327
534
511
573
327
134
355
667
456
999
62
900
831
218
70
262
801
398
32
783
814
647
26
553
772
12
124
391
960
129
219
444
192
623
776
516
875
790
184
855
405
673
667
347
419
651
8
705
921
859
849
901
383
562
747
270
568
373
424
319
379
412
276
222
455
657
341
707
460
414
488
407
339
143
411
509
868
719
600
602
4
740
227
684
625
952
599
648
605
453
43
656
655
303
191
59
889
484
990
178
665
602
847
899
598
815
723
999
30
583
447
34
511
886
154
460
69
968
535
598
277
367
990
16
749
468
522
803
148
796
155
396
213
507
339
880
305
771
767
597
689
256
518
982
610
484
772
512
316
781
977
765
428
821
895
127
541
468
49
845
269
655
412
818
994
562
986
313
88
811
791
598
144
889
259
613
187
413
363
162
716
709
600
729
107
206
476
966
168
106
215
546
622
198
895
242
652
309
679
959
306
279
139
477
952
938
267
908
762
146
528
737
451
916
332
943
675
990
115
712
203
56
429
791
695
641
319
769
716
16
323
964
476
279
336
339
950
981
53
710
454
651
173
66
840
838
358
970
14
146
706
744
14
502
952
227
985
927
611
200
205
322
186
595
341
543
15
157
932
521
523
669
803
669
810
175
726
983
910
493
581
170
663
60
546
695
510
920
19
359
552
271
163
483
75
115
433
256
794
565
589
887
497
179
586
706
869
699
35
252
227
674
899
427
984
250
333
628
219
143
149
174
699
691
287
937
839
930
709
317
580
879
280
107
58
811
471
128
753
46
102
822
879
778
898
903
115
78
808
327
715
969
216
694
783
132
543
134
999
158
484
718
316
991
663
494
557
435
298
565
288
146
122
603
794
772
148
800
145
794
721
582
413
14
841
149
175
584
883
589
348
234
342
508
495
333
274
598
900
110
997
51
120
679
160
110
702
846
233
917
837
349
466
561
845
326
137
238
463
886
901
440
448
193
814
902
172
709
214
147
982
559
46
937
945
870
7
454
998
99
583
40
885
699
893
515
264
320
622
635
646
847
500
656
717
605
939
159
463
47
880
864
523
393
441
403
135
536
336
591
30
688
763
254
940
526
997
620
787
348
321
583
946
82
642
773
394
851
679
682
598
960
953
319
765
157
206
975
8
475
373
256
138
494
473
417
396
376
501
877
161
953
828
961
361
435
129
124
769
628
836
999
151
816
701
204
138
767
21
853
655
365
830
296
45
639
260
902
140
797
773
555
796
184
757
47
346
856
288
539
829
697
153
342
238
658
596
270
49
203
549
134
237
408
183
707
580
320
198
879
186
335
13
8
406
474
849
408
459
674
627
796
263
49
744
58
295
867
814
982
113
388
879
474
974
488
115
90
260
626
845
366
770
776
722
29
619
24
630
432
380
763
998
274
260
103
489
980
200
857
915
904
821
75
654
227
367
683
241
312
340
254
511
536
887
968
415
186
820
411
224
530
529
306
831
229
738
494
351
583
101
327
451
792
44
18
246
385
54
545
177
367
609
421
174
93
812
670
672
111
444
406
143
315
919
581
827
226
451
105
300
808
814
196
964
296
915
559
737
987
940
420
9
330
369
224
42
976
931
302
938
548
747
622
402
460
93
573
621
697
536
98
207
781
321
461
532
685
798
658
90
226
756
606
735
301
931
288
286
713
876
666
1
852
888
648
40
767
128
164
581
534
667
434
772
322
752
996
17
459
994
77
613
686
762
665
669
87
531
54
690
812
122
260
728
834
83
282
406
202
851
113
308
218
536
590
849
597
438
84
496
126
628
290
155
255
954
72
321
854
832
23
919
865
380
105
697
927
304
178
32
173
562
202
702
737
540
211
279
532
213
502
558
345
544
441
879
902
997
146
865
962
170
532
957
95
324
907
940
238
568
866
901
259
619
931
978
816
450
502
28
618
965
819
598
943
325
243
419
508
786
753
652
215
635
994
548
530
261
230
621
66
161
978
476
825
525
686
366
809
212
264
131
919
60
170
547
855
727
119
565
176
774
861
161
229
878
466
158
991
906
729
56
148
799
41
954
316
239
267
480
173
795
929
49
572
620
922
639
487
489
128
611
441
28
996
246
572
385
403
744
675
289
619
655
776
916
550
849
485
927
160
362
389
351
522
201
178
697
506
144
187
537
459
89
199
707
74
778
241
8
28
350
983
783
899
844
155
275
713
226
155
615
857
912
856
995
908
319
302
483
524
344
850
852
436
737
174
550
418
634
617
712
147
840
310
839
670
155
8
426
108
916
250
210
716
141
984
377
141
2
67
333
318
640
496
975
906
756
539
334
709
360
317
663
518
683
739
332
583
933
938
13
134
485
222
725
741
77
476
115
207
729
497
661
782
321
12
106
613
281
34
516
641
558
81
29
805
166
906
126
78
489
161
199
483
711
70
715
729
354
775
291
635
65
767
123
917
899
971
209
552
872
847
916
56
453
378
858
399
446
314
582
363
935
813
779
381
399
959
105
933
336
818
331
910
938
199
293
359
32
646
142
916
996
409
676
627
537
229
828
662
494
696
251
853
439
353
932
991
912
646
92
438
81
390
571
116
662
40
488
932
711
516
696
835
158
452
613
990
698
452
618
229
790
794
618
996
840
192
537
771
247
741
909
614
86
743
191
597
349
902
993
321
415
436
703
405
1000
196
957
899
803
362
124
935
88
301
698
992
170
756
154
351
643
952
912
931
577
272
990
123
513
916
334
20
520
385
825
504
203
693
1000
897
795
407
11
53
907
607
496
976
5
616
451
884
987
798
584
875
712
326
263
575
689
698
335
953
523
104
586
419
39
541
255
146
625
410
508
893
451
678
104
582
681
7
778
281
422
315
681
853
198
991
798
85
742
835
281
688
977
492
562
772
738
465
204
651
529
955
548
293
500
126
830
519
980
341
39
201
907
118
578
986
901
884
525
698
466
242
878
465
186
469
178
389
274
2
169
300
784
140
717
403
776
6
597
140
93
120
719
818
837
926
306
446
758
208
633
546
675
218
558
182
521
436
615
768
414
776
507
384
648
903
280
34
797
709
309
820
326
624
834
954
276
80
571
482
659
835
240
624
639
905
411
129
294
282
923
543
415
399
800
264
450
619
435
482
213
51
975
409
869
713
398
358
984
88
941
627
159
236
181
249
567
230
148
749
170
167
842
7
795
744
561
204
934
269
33
995
422
612
731
462
424
692
580
883
161
159
722
492
352
721
946
131
231
72
847
379
417
817
303
194
534
893
827
886
344
992
148
770
126
364
914
322
418
327
445
792
569
998
878
851
61
252
461
287
990
540
663
70
534
983
941
59
26
818
101
412
465
898
899
58
136
685
128
601
614
780
593
858
348
199
948
384
29
44
361
743
769
121
767
363
855
172
12
996
672
238
248
677
11
754
107
759
184
94
869
883
642
535
930
693
907
351
309
201
34
871
722
349
603
596
269
339
938
985
193
438
272
522
637
550
204
95
258
375
398
541
160
399
401
756
788
666
993
36
952
389
420
423
153
602
698
70
686
663
182
410
611
981
352
829
283
776
400
810
655
801
192
391
451
210
47
28
733
473
50
977
817
667
303
954
717
689
189
555
572
345
195
437
9
796
981
418
845
570
384
460
290
837
311
750
230
963
235
432
455
434
892
132
213
671
629
496
7
869
948
472
370
420
174
542
330
34
957
38
989
252
569
542
336
502
29
505
61
917
490
521
591
719
768
826
794
284
168
39
420
698
599
610
153
422
389
229
885
173
152
399
940
861
377
328
805
664
253
300
176
188
34
985
664
563
310
75
151
445
658
189
294
892
265
865
908
234
851
241
870
645
997
791
401
217
728
745
852
10
408
799
195
524
687
139
608
418
499
854
849
456
163
303
275
549
449
146
206
520
375
627
276
315
786
261
314
283
896
969
786
615
604
933
991
502
782
786
606
426
498
582
235
672
690
167
847
281
763
540
431
697
836
48
59
671
44
540
548
637
607
687
653
585
758
525
539
274
864
430
856
194
465
612
601
325
2
92
500
41
109
892
106
76
919
506
986
978
941
713
966
77
451
23
655
477
95
566
245
67
587
722
701
961
550
636
340
253
633
180
129
63
391
835
112
988
740
311
945
955
907
485
27
194
732
267
615
469
399
187
394
487
489
609
600
496
201
483
572
83
155
879
613
234
159
285
145
776
230
123
750
875
891
454
101
243
360
241
650
626
461
933
201
743
838
440
363
912
886
888
276
678
887
458
77
955
810
725
330
356
502
529
713
343
158
990
175
187
713
285
428
258
544
468
258
384
636
474
748
805
376
453
129
962
882
312
643
820
22
679
178
217
675
46
966
900
989
493
141
864
570
981
282
742
866
556
554
284
894
95
116
845
317
474
716
320
694
317
860
585
669
754
980
291
862
831
533
739
674
778
457
672
906
356
872
352
456
652
295
239
662
385
721
771
969
494
575
161
844
778
362
472
47
497
469
534
774
365
899
456
213
438
710
421
523
346
141
13
677
355
931
109
72
874
246
184
149
440
478
404
687
474
542
194
804
682
530
746
106
673
165
825
648
156
278
976
394
569
385
850
443
643
948
606
232
278
517
622
720
232
803
21
738
189
495
235
7
406
215
436
643
712
575
632
433
727
219
896
339
851
503
201
977
600
819
504
88
110
869
954
295
520
574
922
753
509
806
95
148
640
229
764
547
801
738
884
95
117
5
43
717
676
254
21
675
484
956
948
689
976
525
542
415
156
386
223
367
137
548
564
140
555
361
315
637
635
158
456
14
294
356
704
710
742
665
388
304
822
361
548
222
744
821
313
508
633
602
558
766
977
769
332
203
889
799
944
297
248
924
748
776
810
178
598
221
16
163
180
536
275
130
214
845
213
643
452
712
253
372
219
115
816
889
156
107
978
581
61
143
769
620
648
486
438
382
372
722
747
890
788
591
730
198
1000
717
839
369
809
202
712
215
435
635
350
849
425
374
957
989
353
305
877
976
156
903
882
542
262
809
589
892
449
72
869
466
695
160
213
501
252
355
904
238
729
926
471
240
341
104
996
933
823
1000
165
722
1000
775
650
157
452
733
988
684
827
687
79
547
902
540
815
623
297
941
652
443
714
341
260
986
159
381
227
144
536
100
163
201
829
955
355
196
762
77
701
185
975
866
800
709
943
130
256
487
304
123
46
228
674
37
29
90
451
599
654
836
232
729
539
85
45
188
287
203
761
347
569
386
142
904
515
336
238
95
828
164
73
998
414
637
988
651
560
151
328
710
864
721
582
454
79
14
297
197
843
996
133
885
875
773
558
497
535
795
298
274
114
789
121
496
126
85
465
495
746
180
627
242
374
380
623
494
629
865
383
973
216
640
140
472
924
222
338
727
528
310
131
526
311
566
529
998
711
942
426
477
237
635
105
890
741
907
272
82
763
142
14
671
346
334
850
318
154
434
140
50
446
123
922
335
377
968
280
848
659
218
773
276
373
499
490
825
897
592
574
766
428
579
343
558
585
256
615
79
708
917
778
398
308
437
158
388
328
898
897
299
126
651
969
468
926
609
118
70
623
753
527
828
165
182
257
330
54
979
657
975
28
112
771
161
675
854
165
479
45
433
334
611
5
294
797
90
878
127
355
551
719
214
159
888
264
331
718
971
204
827
812
49
914
320
760
311
579
327
602
349
795
161
82
56
818
346
514
689
165
167
58
427
556
831
511
720
820
190
659
150
225
954
575
410
225
316
761
402
646
594
857
271
659
261
408
548
571
339
607
620
912
240
46
586
101
385
179
68
471
170
84
518
534
313
112
834
312
189
126
147
28
982
373
85
975
769
249
201
838
756
43
291
198
192
345
22
812
819
389
344
697
114
118
949
332
557
571
971
1000
236
395
742
504
496
8
272
310
895
709
300
30
399
69
924
705
814
965
510
159
985
287
759
644
27
773
796
578
533
874
424
261
591
526
172
752
108
673
226
854
647
171
975
968
190
598
91
206
404
290
640
134
155
251
178
39
4
37
923
543
366
326
937
947
642
795
730
265
247
587
486
771
32
446
82
739
462
181
211
772
902
70
128
488
288
468
902
498
671
438
342
589
664
771
85
52
282
659
338
149
466
892
753
349
53
318
471
189
69
632
483
146
363
391
265
749
109
437
970
168
765
351
162
441
343
333
644
931
641
440
644
516
266
369
755
778
731
149
398
295
852
59
648
617
228
542
741
882
642
865
433
71
89
81
634
848
788
927
383
420
878
87
847
686
126
374
250
598
902
193
947
904
271
726
482
517
244
777
779
430
84
279
944
374
695
910
309
569
853
879
93
434
173
132
536
547
761
422
487
22
697
571
812
760
245
988
231
796
895
11
255
239
217
857
491
703
755
182
819
442
242
663
47
204
434
526
589
387
312
676
789
540
167
72
898
49
704
215
138
443
389
927
245
159
782
675
965
631
786
549
127
166
257
154
946
166
418
50
452
771
143
793
692
35
205
457
575
438
198
447
676
794
528
179
712
189
313
381
960
804
936
218
339
60
323
268
124
205
182
385
679
350
648
49
297
3
436
532
405
483
375
937
963
715
45
972
19
195
141
375
442
337
545
680
280
344
464
126
590
308
421
504
713
265
890
509
744
757
589
879
870
372
696
952
370
393
300
427
249
198
24
617
216
521
871
68
696
74
141
807
825
507
75
406
833
714
833
526
424
179
204
783
284
802
938
300
837
439
128
864
878
686
729
668
971
364
576
892
455
148
723
498
299
622
856
778
337
998
377
37
332
92
698
225
327
292
4
192
212
782
873
472
252
681
442
383
382
239
863
539
479
692
490
903
825
83
151
672
558
551
302
944
149
64
21
381
255
833
524
382
93
168
560
532
149
700
785
657
903
982
332
382
853
656
960
30
62
646
595
378
472
737
498
452
226
553
353
617
624
947
221
931
454
663
845
873
124
61
608
377
868
274
723
168
285
35
386
588
444
692
485
609
196
680
765
54
441
304
986
696
691
363
856
877
227
496
87
847
918
988
225
53
889
906
76
585
735
257
251
546
705
811
589
956
129
620
234
675
406
999
907
244
609
314
572
583
714
733
81
162
964
378
280
232
55
678
601
473
981
973
497
620
936
66
20
158
772
7
781
515
707
419
86
224
816
389
202
297
32
473
691
397
402
947
94
698
95
713
842
60
236
331
799
304
30
439
656
521
901
258
879
393
849
308
872
895
163
559
547
64
266
209
183
334
715
777
838
276
263
191
772
304
689
341
924
656
264
267
36
583
343
486
122
513
624
548
688
676
926
915
970
402
269
437
431
314
901
382
525
392
713
211
346
224
377
267
873
517
880
140
905
586
852
631
188
376
200
614
345
56
989
238
405
6
178
452
446
291
189
121
956
532
834
666
541
400
358
258
868
887
898
5
651
902
609
910
957
611
371
923
663
172
417
294
35
691
566
661
79
675
309
604
205
395
693
127
860
275
10
154
933
25
351
549
875
312
213
626
156
247
711
637
583
400
317
717
452
394
343
973
257
480
553
826
289
792
477
787
598
533
17
838
983
784
968
310
160
649
656
65
433
448
37
214
864
41
535
21
472
676
983
312
114
682
905
925
491
26
694
912
841
304
158
777
1000
718
887
964
741
403
824
124
125
381
535
837
148
108
317
730
930
181
424
892
495
694
145
251
511
968
410
600
573
510
100
564
356
521
797
406
876
804
302
871
440
879
292
27
912
275
260
913
670
939
258
627
85
600
203
468
142
18
119
642
430
622
860
317
215
697
984
955
444
559
158
965
447
753
125
269
644
604
508
105
577
701
441
25
157
163
511
114
382
681
283
949
222
769
733
288
988
965
650
755
617
933
815
235
493
427
308
410
718
143
423
1000
795
951
389
726
769
100
320
567
411
891
598
592
349
484
677
922
445
241
752
354
945
965
640
279
784
739
725
343
955
591
549
327
276
733
768
457
887
695
206
99
939
959
999
30
6
348
593
963
415
715
117
842
987
348
319
103
268
524
51
182
436
357
269
976
365
803
418
499
643
495
175
290
734
904
433
601
987
363
371
549
461
439
502
303
888
48
955
245
843
453
603
223
706
834
596
815
409
150
602
231
741
301
147
173
718
254
966
808
788
412
825
303
40
579
137
685
428
160
959
215
374
200
592
925
944
859
874
593
198
330
219
158
906
731
295
49
29
355
522
749
680
39
655
326
311
194
865
311
79
317
230
960
473
588
862
134
429
640
172
729
766
678
86
400
152
794
94
868
179
802
49
782
565
806
948
660
749
499
71
27
179
329
427
61
774
714
8
616
412
966
847
584
995
722
588
283
616
132
17
58
206
491
1000
969
803
581
161
329
312
768
662
124
512
394
517
389
8
749
883
473
229
804
706
398
145
577
755
29
928
143
687
241
727
111
490
587
11
188
148
110
249
240
557
547
341
738
672
240
500
944
70
620
30
976
620
439
972
285
698
347
534
401
279
778
943
620
922
118
204
290
6
895
193
267
266
689
184
823
754
607
134
214
115
355
164
885
148
449
572
66
656
678
857
821
409
586
336
587
243
686
170
642
699
228
105
805
268
909
813
372
724
688
671
934
610
735
920
334
660
212
697
293
340
872
531
230
368
679
527
553
952
509
104
40
422
600
634
769
92
662
867
460
16
582
746
657
361
194
173
161
27
288
867
344
955
453
387
996
722
73
705
100
285
374
382
656
818
570
614
729
309
712
949
75
386
390
608
520
533
781
58
583
409
632
560
448
441
361
256
634
605
976
538
697
300
882
900
151
415
520
225
214
666
458
678
310
651
877
690
961
534
671
599
590
289
765
544
657
974
196
9
518
567
243
595
531
510
871
187
772
156
831
211
546
90
917
584
143
800
907
441
990
257
618
410
822
938
166
806
167
105
533
966
606
833
547
233
487
508
269
456
737
278
850
831
119
719
129
661
536
922
874
525
543
543
76
896
856
895
236
298
609
190
354
771
221
261
509
687
254
662
61
905
54
622
169
535
77
404
812
316
151
75
121
531
358
754
629
378
84
136
331
670
310
434
947
830
691
713
184
958
793
200
827
145
618
135
110
708
579
658
158
635
600
23
426
601
150
834
111
42
994
225
714
467
998
756
61
915
226
935
918
16
549
82
119
869
217
802
445
1000
864
227
299
549
821
746
354
817
894
145
598
677
362
121
288
201
159
559
623
264
127
480
891
70
660
128
995
871
638
316
873
564
237
677
116
970
183
566
540
399
165
714
208
888
977
850
476
337
421
623
31
134
945
605
580
450
588
372
80
884
841
806
148
79
481
758
197
634
663
837
357
726
853
868
896
996
255
242
268
165
710
900
69
103
850
678
270
270
285
469
604
487
984
923
930
434
886
647
102
286
815
935
966
479
679
87
537
859
698
794
482
375
11
709
42
809
904
863
647
82
81
895
331
781
587
770
379
246
376
225
294
759
917
695
304
103
999
243
208
22
264
667
354
625
741
785
467
13
636
934
858
930
313
699
197
696
463
269
637
777
777
60
238
217
642
479
724
970
270
309
42
944
222
333
781
863
259
25
245
46
827
262
744
856
972
579
514
84
266
450
87
3
817
677
971
36
253
286
438
732
17
36
328
673
557
846
16
118
709
356
347
164
897
202
960
539
361
436
3
865
133
849
863
289
528
550
293
347
540
52
343
122
926
711
968
356
907
622
820
764
399
800
535
361
373
613
21
859
471
659
800
155
509
529
215
209
703
257
508
891
185
134
227
179
81
854
300
887
930
10
935
824
326
566
890
259
809
805
864
383
832
999
880
946
629
878
985
485
808
569
843
90
330
44
658
425
291
910
524
153
561
17
30
60
937
788
93
367
359
95
29
2
518
630
709
714
309
974
472
219
627
163
704
945
721
562
308
200
823
140
541
38
879
687
841
307
478
880
2
141
19
288
434
985
182
667
809
553
951
612
724
27
339
193
351
842
600
498
200
329
474
622
599
5
767
738
212
723
661
754
903
650
101
796
319
428
914
107
407
163
172
578
452
322
590
464
130
26
297
318
96
541
170
731
515
667
127
913
112
173
966
466
29
753
196
176
174
115
111
740
402
113
600
329
875
772
210
7
418
915
235
475
927
682
896
757
940
331
318
457
717
176
774
121
698
397
558
990
701
351
420
785
1
238
202
707
875
461
460
630
331
272
267
273
349
426
864
29
125
549
404
270
672
814
656
710
331
467
215
75
730
852
391
108
245
2
20
230
764
240
262
959
161
224
863
330
507
421
258
753
40
585
879
775
256
302
466
123
20
388
757
559
110
536
314
623
822
6
170
230
345
330
751
375
912
403
472
998
405
43
139
182
448
12
877
336
136
331
359
638
717
908
985
64
272
368
790
829
14
835
833
319
901
376
634
276
178
816
327
307
414
865
610
967
653
85
967
423
509
411
389
687
129
875
787
456
919
581
385
584
16
429
194
415
822
729
355
131
850
949
568
86
681
393
212
454
162
144
86
464
429
386
667
682
593
112
314
701
330
691
245
151
510
936
424
596
925
93
989
405
931
8
495
514
529
785
996
643
177
563
544
323
663
738
38
402
413
594
231
659
219
865
367
642
612
857
942
2
712
28
573
126
953
525
113
914
832
314
778
111
818
81
591
620
578
180
802
682
945
787
160
481
976
971
288
379
980
543
716
242
547
660
138
310
323
261
452
31
542
597
398
445
503
501
468
959
748
77
943
761
919
701
415
59
713
981
567
465
460
507
678
225
798
583
610
636
397
411
72
699
782
185
670
855
154
884
95
409
31
146
625
315
542
996
752
152
510
418
69
664
838
766
338
305
339
817
182
271
165
737
346
46
603
75
818
267
791
668
220
957
498
346
262
348
686
485
367
704
885
72
850
843
119
303
331
227
832
640
192
558
788
111
596
146
125
114
83
532
261
835
703
57
547
641
363
85
356
640
5
694
854
321
897
716
164
422
359
881
999
260
63
610
788
317
114
395
468
79
305
755
177
64
372
890
215
306
732
165
248
955
146
823
929
187
840
904
979
455
295
667
372
844
633
740
100
142
654
66
184
211
709
678
663
512
123
182
130
532
683
733
899
888
395
682
435
46
492
277
7
211
724
131
750
881
980
823
288
638
509
443
284
967
494
276
269
309
312
15
821
586
996
345
577
784
146
529
406
887
942
574
1000
785
864
793
301
718
497
766
726
576
817
855
605
475
947
838
227
409
660
125
876
685
711
18
529
310
932
956
678
145
873
137
125
120
339
926
535
887
758
306
706
616
509
803
23
250
339
262
288
436
338
146
877
153
620
263
441
203
805
499
529
376
385
775
403
764
667
585
843
451
426
29
462
602
138
761
298
444
533
889
873
440
1
875
317
239
865
464
856
724
974
982
82
623
69
82
819
708
967
969
972
795
220
858
977
362
438
233
165
85
172
647
173
79
65
183
510
63
130
219
559
602
863
838
859
999
368
764
677
464
632
768
495
823
87
617
592
60
79
142
357
55
609
596
845
718
774
302
737
959
948
125
204
662
162
845
30
697
667
423
221
557
850
704
945
654
754
278
730
980
300
433
696
529
237
135
437
810
429
872
227
283
61
208
960
367
870
615
693
940
799
278
409
254
174
254
33
811
897
507
176
141
316
997
335
271
747
10
877
491
955
727
300
288
719
924
320
197
759
435
643
126
681
667
885
83
240
792
871
226
461
792
633
517
932
639
136
645
183
854
626
753
6
283
650
745
639
680
751
19
959
931
573
144
697
836
52
840
509
656
861
45
298
8
16
287
169
642
577
356
914
731
416
673
137
384
41
453
787
556
246
202
492
24
299
226
699
826
400
44
197
312
836
414
359
620
483
681
468
137
181
921
450
425
456
700
618
77
436
322
253
140
396
646
58
751
677
742
201
511
232
32
990
93
311
641
38
50
394
813
816
288
80
477
56
966
595
280
243
738
859
876
5
978
315
24
985
326
611
601
571
824
170
879
320
799
504
580
37
170
950
692
680
593
727
313
220
270
590
594
587
898
391
231
779
496
481
522
741
720
397
545
233
97
27
89
961
588
658
304
157
115
821
145
298
759
840
117
702
968
70
929
190
31
458
143
752
571
288
307
184
429
555
361
556
413
486
987
87
280
277
869
722
582
598
12
402
146
380
439
319
260
371
34
463
570
550
945
426
160
892
406
764
834
184
857
42
333
674
93
825
840
63
200
573
865
247
102
884
645
36
58
251
575
150
731
798
533
55
773
141
379
628
252
434
924
844
545
196
7
943
485
127
278
657
571
937
507
861
669
615
545
362
455
252
924
448
958
347
396
777
732
597
474
906
9
269
264
926
480
879
242
502
163
779
940
290
241
536
829
324
252
202
363
958
105
743
525
926
818
558
859
308
815
448
993
935
328
322
499
148
562
7
842
373
600
813
58
785
670
315
756
360
218
731
346
238
411
885
352
3
541
240
296
722
668
363
250
482
441
500
431
907
198
841
385
432
11
149
420
731
397
145
714
984
134
307
601
32
360
431
817
721
954
387
470
123
846
270
199
43
609
396
272
934
643
555
35
127
788
747
92
306
238
95
77
346
537
384
933
960
428
296
520
197
898
492
107
90
109
843
324
532
847
983
651
769
953
789
902
930
619
711
406
241
815
349
14
815
369
909
76
13
479
813
333
189
433
612
488
693
383
336
430
682
18
413
332
530
64
348
481
770
670
543
576
810
364
449
777
93
939
741
169
992
610
757
852
9
946
130
391
391
856
799
352
828
731
22
812
756
890
165
931
910
510
859
8
347
983
446
201
217
641
646
524
238
67
218
938
311
200
994
729
728
17
176
897
243
909
391
908
620
668
849
532
110
307
858
940
140
583
369
43
413
41
42
131
452
248
770
309
630
360
582
615
265
116
997
464
296
134
137
476
18
970
397
350
411
165
606
253
660
665
812
580
640
928
386
488
449
436
244
103
54
512
112
909
161
182
486
289
832
489
537
322
598
459
247
929
30
101
879
635
506
650
363
441
652
860
16
710
105
667
950
109
205
856
464
108
874
927
906
38
62
6
851
824
325
330
66
452
675
59
783
150
526
522
818
125
29
362
736
355
535
898
290
498
357
841
50
662
496
163
913
105
241
569
769
888
43
841
315
9
982
282
434
910
831
527
729
486
660
182
88
208
982
802
884
781
994
714
835
394
175
225
177
346
605
56
431
416
471
214
734
883
33
383
807
50
705
498
73
157
525
142
87
594
530
579
207
221
508
1
302
558
326
451
896
387
857
764
614
118
169
887
579
305
421
879
647
6
655
23
811
905
39
504
41
945
148
273
283
608
761
574
504
244
33
103
209
669
478
508
307
628
767
180
12
456
578
989
689
890
599
339
146
997
284
486
1000
241
212
108
75
469
359
458
464
904
33
794
943
694
310
266
977
845
370
688
36
156
800
464
371
729
636
83
549
809
435
457
38
126
882
536
4
920
4
298
486
438
662
264
155
223
296
113
841
295
980
883
691
543
990
913
891
695
78
77
714
385
610
61
131
380
626
350
380
547
507
944
51
817
432
763
822
635
895
992
735
856
354
131
368
386
371
633
145
874
689
957
858
755
508
147
209
392
311
868
203
66
658
349
618
349
1
384
752
162
447
160
744
326
887
196
465
357
476
633
865
637
868
482
441
207
853
611
585
574
443
369
659
604
99
171
90
152
809
665
464
971
803
934
521
696
156
638
83
160
533
590
503
812
169
528
861
998
799
759
483
143
574
688
875
280
930
676
563
264
51
525
530
327
424
822
939
975
417
179
58
795
520
21
945
171
709
511
552
123
701
692
315
672
358
805
369
613
359
396
327
595
214
313
870
624
532
773
610
681
142
544
92
310
963
496
298
54
826
255
395
754
552
585
877
128
763
645
922
209
243
246
542
382
795
252
650
624
504
529
103
706
139
476
744
982
263
600
420
301
322
701
489
213
851
351
292
533
793
779
828
874
855
183
698
423
797
386
788
498
839
648
545
963
683
823
527
951
848
357
12
308
292
536
298
340
749
535
981
598
242
800
879
921
27
625
427
117
39
102
819
161
305
238
12
893
576
247
945
749
946
188
784
541
108
725
244
791
611
918
921
847
441
693
16
98
473
878
9
865
177
93
392
800
360
171
458
712
528
785
128
781
384
432
586
316
639
2
222
431
842
820
453
83
36
811
13
605
601
644
894
640
360
609
229
930
545
166
131
180
584
813
475
902
886
23
646
289
844
615
753
852
701
809
7
157
411
550
427
475
938
34
13
70
72
99
938
760
157
235
966
754
856
428
399
611
393
497
990
239
132
731
858
951
680
527
297
145
400
973
586
721
139
39
855
632
746
664
482
464
616
273
267
521
987
736
443
854
778
722
871
519
999
306
810
832
964
127
753
318
72
243
641
367
782
817
291
231
620
630
32
639
751
260
245
676
838
90
662
476
655
600
107
796
916
444
535
601
612
319
94
174
531
949
752
595
411
380
574
281
813
963
542
185
574
339
682
990
249
830
945
716
533
764
379
100
944
158
823
713
142
430
380
938
299
592
856
380
618
103
755
133
63
939
966
274
718
550
531
98
515
735
822
21
166
160
188
193
499
450
280
481
187
156
829
88
798
264
380
766
370
959
928
491
859
917
15
6
475
658
933
700
377
855
466
889
224
210
264
844
26
768
852
350
419
189
288
799
321
901
990
202
172
850
240
708
641
515
143
710
837
817
745
636
68
548
999
52
455
721
765
589
901
242
907
773
899
183
57
648
663
441
112
214
219
890
654
818
910
859
206
926
759
626
786
623
990
482
543
545
904
138
847
605
398
63
130
938
6
168
41
61
590
850
273
972
998
914
147
548
306
755
585
367
338
527
596
561
854
255
587
349
230
26
457
236
903
369
714
524
100
416
582
55
719
462
244
617
735
804
904
8
771
756
8
124
604
311
73
426
869
43
93
431
121
982
390
99
486
642
396
925
501
246
381
677
99
604
695
432
767
357
899
133
175
963
756
136
321
532
384
204
691
343
724
56
762
315
344
816
938
419
253
89
626
574
998
943
901
33
944
484
552
519
872
587
692
606
145
910
201
981
14
971
816
865
667
253
374
912
787
452
352
371
725
507
285
86
125
540
969
422
46
750
296
420
528
880
852
939
141
463
35
954
376
996
71
270
969
739
400
969
956
466
170
15
465
597
345
19
373
639
842
208
852
208
2
233
194
546
562
74
627
207
956
964
841
979
807
389
522
224
200
644
348
378
286
142
162
865
819
996
553
903
617
916
318
395
976
54
548
854
27
685
341
411
798
528
554
412
523
602
887
666
904
305
42
593
764
638
782
563
570
154
375
614
863
416
928
831
534
265
486
192
10
686
89
774
359
63
329
211
694
307
714
530
125
961
367
941
268
427
762
972
488
729
382
257
134
856
904
552
769
186
93
721
288
753
42
8
300
455
468
430
977
250
334
229
575
922
818
488
103
456
809
495
550
612
537
775
1000
283
925
144
863
848
193
493
906
32
580
473
339
943
141
461
775
418
498
807
247
721
850
396
669
49
180
936
939
259
707
724
44
613
993
440
231
967
641
977
638
839
199
24
733
322
834
222
140
758
31
148
89
4
398
574
544
398
671
760
164
706
310
672
88
500
206
468
409
30
943
353
983
487
282
670
482
71
87
944
336
731
581
407
374
615
660
945
785
654
955
949
916
947
582
615
760
493
554
505
549
746
496
246
112
195
98
811
20
572
391
936
107
339
243
393
218
785
882
762
254
241
314
300
323
761
474
100
380
516
967
607
622
813
920
245
381
539
72
883
360
526
833
840
828
446
395
999
496
217
699
716
899
934
951
745
979
280
852
157
703
629
54
662
411
744
852
789
752
83
411
370
190
659
155
523
683
310
707
868
108
932
183
280
514
195
178
79
744
708
351
723
642
400
345
929
425
748
36
778
825
842
637
695
374
285
498
184
861
113
792
427
882
341
361
660
699
229
250
931
443
613
309
858
762
48
420
712
948
280
909
862
453
472
153
253
972
492
900
133
927
802
31
770
268
199
494
821
446
147
812
137
987
362
673
958
701
857
305
305
628
187
621
807
635
336
847
315
557
644
973
65
618
223
899
512
477
993
402
552
46
140
829
419
597
74
423
538
287
942
961
776
823
549
849
552
394
885
115
783
13
706
902
138
579
307
687
52
26
637
659
534
219
803
70
488
726
945
173
867
517
154
345
499
426
501
19
98
630
104
805
161
376
666
508
156
700
554
134
273
419
434
384
189
321
909
982
202
892
286
748
727
296
692
500
151
667
806
904
166
17
802
942
366
661
481
912
932
309
809
364
864
698
673
409
565
80
506
787
72
930
760
656
367
340
519
118
116
271
480
51
404
569
339
892
746
909
593
76
202
780
300
438
375
601
985
430
117
245
201
855
324
21
355
246
475
886
696
420
612
379
95
856
920
65
238
800
403
459
942
743
702
210
151
949
759
447
842
12
812
799
649
118
708
231
110
577
940
797
709
831
590
508
318
173
151
118
673
615
379
344
866
62
476
341
247
521
138
332
811
343
526
858
201
511
146
851
58
26
582
586
539
166
170
606
934
912
178
901
771
664
29
361
248
613
196
645
157
688
513
774
230
938
105
962
585
814
429
999
248
145
175
3
131
107
328
786
827
164
863
485
887
778
62
780
792
491
9
835
787
363
230
334
629
474
411
239
504
798
951
755
428
55
60
121
612
81
81
653
688
8
307
613
923
350
104
824
194
861
63
856
755
771
11
807
579
830
609
230
314
573
13
572
420
649
550
250
878
178
244
4
656
258
243
909
281
477
885
398
988
985
568
792
378
21
484
359
997
822
104
443
922
216
553
995
381
236
155
648
555
561
590
906
50
586
343
93
683
90
31
991
263
119
721
884
124
688
950
578
116
4
486
641
783
851
780
963
321
953
640
138
585
378
225
241
80
649
505
783
771
705
516
819
780
554
869
666
146
509
999
752
581
336
874
89
601
953
711
608
939
332
159
777
135
551
510
720
284
786
340
451
304
980
979
828
653
625
293
778
803
817
596
890
855
545
809
107
446
709
799
432
742
316
542
296
848
620
407
167
935
981
40
461
302
423
860
283
21
322
23
955
179
128
992
759
90
415
538
45
998
789
346
33
39
44
821
620
317
829
536
419
870
900
835
444
363
528
284
670
939
643
56
468
633
609
247
156
792
59
519
892
377
594
782
426
511
227
805
571
933
230
404
87
375
980
111
902
983
545
678
510
687
417
372
734
878
612
91
548
272
433
6
530
185
408
538
843
634
531
580
766
870
409
604
536
853
64
108
716
14
287
963
532
987
462
12
964
254
614
617
103
273
937
870
601
583
167
704
818
696
670
94
708
93
217
220
10
417
476
208
709
619
295
619
873
684
964
345
427
414
936
141
8
642
48
633
56
977
970
797
135
846
257
153
744
374
677
541
145
303
956
681
430
729
889
518
458
392
762
394
863
697
556
961
307
470
914
999
441
990
495
877
550
123
899
990
627
882
11
911
746
719
711
91
43
328
794
337
132
924
880
121
907
318
7
920
881
15
798
65
58
323
294
925
450
709
511
691
336
3
261
234
883
516
766
234
709
553
662
598
276
848
166
503
842
323
91
733
338
906
55
311
247
909
615
77
521
564
468
289
104
455
839
253
348
879
876
394
974
720
296
242
957
460
806
49
841
332
97
301
183
462
77
746
304
325
58
964
460
241
270
147
316
775
776
306
945
762
822
872
547
396
808
498
105
167
783
50
272
240
960
503
547
726
155
856
980
434
179
669
659
551
561
595
790
245
192
674
470
980
56
989
583
767
102
649
161
434
573
847
493
310
400
794
640
548
1000
189
891
743
295
346
87
437
3
771
163
829
304
8
693
893
179
423
871
815
360
619
925
83
395
405
109
407
304
788
207
635
537
252
303
34
869
816
208
257
420
892
866
707
9
919
375
535
805
551
722
55
210
29
885
197
715
737
302
481
410
508
184
23
389
556
637
809
663
169
246
647
4
221
71
991
581
488
266
646
239
989
539
827
125
135
702
271
313
783
994
180
207
2
145
400
324
351
272
252
133
45
324
583
477
530
844
656
166
900
302
419
959
98
332
214
719
345
165
32
451
924
760
473
541
957
836
241
181
495
954
873
179
278
551
616
211
630
848
872
60
23
337
213
64
284
430
133
453
417
904
861
586
427
142
622
535
387
279
277
38
912
114
535
139
478
130
510
142
448
912
690
943
944
807
265
244
404
611
669
436
597
934
707
999
848
846
401
674
712
687
497
887
408
247
254
154
708
175
747
925
240
49
292
126
409
592
154
559
929
997
908
772
790
513
906
386
226
65
262
557
553
559
397
444
192
528
406
555
838
995
805
355
636
100
530
978
760
804
170
195
30
899
798
347
701
320
875
341
809
87
214
102
518
184
565
739
441
290
981
634
942
846
201
19
416
798
775
665
651
612
560
590
557
745
690
215
273
928
763
696
528
265
562
908
528
846
965
684
344
833
572
66
140
158
632
82
400
150
838
930
674
231
617
570
411
894
767
970
867
423
597
265
24
300
484
682
275
863
463
399
483
21
193
860
814
6
339
85
462
333
853
67
423
720
299
530
239
613
631
925
437
110
179
674
85
424
689
196
815
294
557
551
704
523
986
989
669
589
649
570
299
667
253
302
565
614
888
347
609
82
526
912
937
279
686
827
140
131
341
931
481
841
36
232
976
33
986
812
85
622
678
333
366
831
226
313
748
620
913
629
12
449
330
736
999
897
804
621
825
642
563
863
12
966
72
515
52
45
623
80
985
476
559
550
572
469
673
927
869
854
339
280
192
11
886
38
157
829
316
455
872
621
120
115
343
311
735
543
656
933
471
427
658
523
149
327
168
797
231
739
121
966
784
370
33
442
515
701
237
641
490
683
422
506
878
540
521
482
138
743
11
193
860
437
247
556
639
350
291
521
221
595
399
633
59
472
191
982
701
899
35
967
105
789
541
170
511
78
264
654
17
806
983
31
48
547
733
44
146
176
214
676
275
878
580
555
99
342
337
822
779
937
982
902
634
705
488
598
323
831
879
330
431
617
204
478
280
843
366
200
21
684
639
750
549
145
199
81
451
347
784
858
590
75
320
625
639
565
681
349
37
20
66
617
530
684
903
577
613
684
761
119
363
586
957
41
265
640
433
903
1
935
947
489
875
567
54
881
750
61
329
774
580
454
13
61
419
346
649
928
293
139
357
563
184
716
761
637
786
656
793
134
672
940
468
878
293
676
649
513
152
913
441
113
44
279
999
898
57
263
51
871
984
170
260
65
30
586
899
978
189
447
153
624
945
556
591
829
647
269
53
793
820
425
563
378
595
166
987
49
454
781
99
705
522
913
505
125
434
508
141
471
93
851
950
715
475
557
369
298
595
20
498
741
502
785
195
520
304
557
738
689
494
728
23
293
870
499
608
988
170
475
833
410
515
194
20
993
803
654
623
534
443
743
30
352
991
714
395
676
647
280
976
512
898
129
872
186
736
371
682
575
856
552
895
261
566
766
300
987
368
790
280
154
341
244
187
212
294
53
170
981
74
314
287
305
742
898
525
758
170
387
153
968
495
958
659
31
145
796
757
534
14
773
915
563
282
332
237
255
722
787
969
869
414
105
244
805
740
972
405
781
292
644
359
570
430
221
549
642
759
467
438
354
977
45
674
197
171
330
263
439
350
510
84
275
44
59
644
988
55
38
995
933
995
489
382
988
684
774
685
165
199
596
951
446
93
539
994
277
197
274
10
557
569
158
84
921
943
33
355
478
104
520
205
321
155
117
986
888
178
605
538
881
525
908
149
554
408
116
333
650
525
983
838
152
727
903
56
903
390
678
18
569
152
666
323
778
669
604
60
933
388
833
971
608
922
149
587
414
136
797
445
736
877
196
557
894
766
459
702
802
502
394
49
907
500
304
76
75
511
242
866
126
120
385
888
522
163
257
934
634
957
468
854
277
788
311
12
192
243
425
742
280
100
611
472
636
7
340
493
511
311
533
725
376
771
643
212
881
309
601
788
196
193
115
29
145
32
517
135
788
772
437
303
332
806
713
451
500
297
770
368
509
126
236
609
972
450
661
917
162
470
967
830
651
986
594
867
633
92
520
952
281
227
222
526
626
648
354
600
83
155
111
58
386
975
73
796
689
101
407
949
748
292
778
805
195
853
996
457
85
231
194
305
265
578
540
23
220
759
414
41
984
457
152
402
306
881
352
733
243
924
716
748
572
661
564
795
345
922
299
445
607
388
52
731
545
329
747
512
155
757
806
502
82
568
95
89
504
880
30
203
531
146
29
782
667
39
47
762
999
657
572
452
2
487
502
676
783
64
761
800
132
210
440
621
424
84
129
927
465
460
73
379
156
950
387
646
278
65
882
531
847
542
232
968
23
336
416
765
996
707
302
543
952
24
76
446
989
370
435
511
101
539
568
622
216
747
189
345
71
290
157
82
560
384
113
285
818
278
983
697
530
982
215
346
469
666
840
272
360
487
327
290
862
857
35
792
554
876
211
284
380
187
858
24
912
590
370
865
447
507
429
958
652
879
82
604
690
471
41
693
398
210
909
897
450
161
481
760
290
746
771
489
634
451
224
212
695
357
463
909
831
489
11
971
293
103
295
817
493
706
594
827
572
12
888
519
921
312
261
779
464
312
31
633
252
530
564
817
359
694
617
18
665
73
617
629
755
653
498
906
789
716
547
384
142
851
536
561
164
935
846
500
261
428
64
896
618
36
144
214
349
577
302
243
718
516
98
261
796
977
662
322
318
200
96
957
254
689
416
428
659
26
801
354
705
176
621
193
655
56
317
585
766
659
854
375
157
246
4
321
528
695
382
401
934
390
151
414
935
21
613
579
362
906
272
289
564
910
486
585
59
68
152
47
14
628
34
650
890
388
130
279
697
599
451
644
508
384
137
201
822
674
957
542
32
277
920
412
215
15
441
827
235
869
893
507
976
173
811
754
675
34
564
789
591
190
949
26
973
121
388
290
345
698
220
263
600
995
891
785
888
414
88
803
783
604
898
991
815
355
235
961
607
448
534
706
757
303
71
841
719
151
276
633
973
581
516
63
242
888
454
341
354
158
88
779
709
235
388
939
355
863
380
158
433
812
365
917
537
782
687
486
521
874
127
51
928
804
535
593
437
615
457
768
471
165
458
129
164
385
831
87
164
83
914
617
971
722
411
352
464
376
123
540
826
284
991
165
222
61
341
382
413
381
387
272
576
690
274
178
309
743
884
171
634
921
357
182
957
512
625
915
470
907
99
879
205
467
651
293
726
517
55
928
521
328
856
60
199
518
105
420
505
210
773
520
455
669
758
836
217
628
222
328
939
249
873
843
830
654
353
485
274
214
890
94
408
751
88
992
863
422
217
869
362
950
815
60
379
950
621
541
599
17
974
341
656
247
851
308
897
954
598
829
300
591
613
868
51
917
615
169
28
966
587
145
278
991
307
128
595
883
523
871
572
540
177
596
622
15
248
925
18
404
3
8
428
453
287
800
656
935
182
85
240
393
952
682
447
698
813
807
445
836
474
468
266
504
95
185
336
471
232
255
108
395
34
853
24
513
154
25
97
739
744
698
317
154
610
757
471
389
646
171
476
279
16
351
176
398
165
607
533
352
425
637
347
169
67
151
678
13
893
543
745
546
702
279
517
184
577
197
323
784
209
667
574
968
196
190
454
907
998
87
564
254
191
712
749
543
514
462
659
489
854
146
932
258
135
100
293
618
599
947
325
498
107
731
937
277
250
101
484
655
721
398
879
312
302
855
905
273
774
941
970
330
520
615
265
120
822
119
903
131
51
512
2
598
505
797
138
163
835
483
832
202
179
53
852
623
651
647
378
17
501
52
874
56
817
977
572
552
955
322
44
978
5
851
585
409
498
664
725
380
527
33
628
477
213
1000
567
173
876
288
502
156
805
849
312
19
708
279
666
107
23
590
253
141
788
693
494
258
197
543
432
8
9
686
741
37
54
248
287
330
531
217
275
484
751
291
829
206
989
792
163
329
328
225
406
168
149
608
432
392
259
51
538
870
87
666
859
826
842
240
198
17
356
279
614
127
358
548
330
409
385
754
762
901
663
512
749
711
65
240
329
511
213
314
892
15
54
817
778
587
932
670
348
659
30
76
501
621
670
989
365
916
128
582
872
324
991
335
325
631
650
685
34
778
13
840
796
633
646
653
130
364
976
160
307
952
19
300
846
593
692
578
324
262
375
233
509
696
154
249
641
798
415
943
814
565
696
512
266
475
358
474
456
113
744
734
964
564
168
571
295
270
120
929
590
189
289
854
403
519
703
619
845
381
91
482
578
365
911
101
675
572
980
250
958
717
770
434
544
679
954
212
244
960
231
913
634
446
944
697
405
951
347
700
13
837
436
140
475
815
259
106
350
520
837
737
310
197
702
601
136
961
124
216
401
279
331
34
688
970
139
553
875
380
399
453
108
289
736
113
356
639
421
996
110
449
272
240
290
222
752
159
178
906
674
355
839
623
88
331
544
385
876
276
793
233
365
770
367
409
507
135
735
247
145
618
272
690
795
682
892
528
201
506
116
563
698
319
111
187
779
873
68
707
289
427
987
604
883
823
270
896
456
335
865
416
308
672
961
928
729
174
373
780
44
77
442
534
692
558
444
449
172
630
318
391
448
870
790
977
94
154
439
340
969
617
398
103
254
523
521
130
558
36
882
973
546
387
975
907
683
756
34
669
807
298
793
668
855
776
257
40
756
11
546
889
540
298
648
264
863
589
881
932
791
370
307
704
258
146
324
699
577
227
600
142
90
655
424
650
693
439
510
958
996
615
931
740
195
971
776
249
245
132
931
250
735
710
379
357
489
830
676
797
615
276
379
752
22
648
312
362
818
406
611
547
404
330
940
142
814
22
205
706
991
453
893
279
516
782
970
140
992
937
772
380
691
163
934
540
179
564
101
962
543
822
584
897
694
422
804
702
680
654
139
10
327
675
882
283
597
783
652
767
537
523
242
701
608
379
736
642
41
544
74
218
959
889
259
792
855
464
518
202
493
560
268
943
457
472
645
989
917
385
474
24
386
837
846
222
519
614
893
550
929
156
854
911
412
56
973
840
980
264
990
54
494
95
873
123
644
443
570
797
578
173
297
138
694
684
607
29
872
3
94
354
150
343
936
144
547
678
41
209
993
941
829
772
750
906
103
248
15
886
607
979
377
980
747
471
478
300
236
793
821
935
972
888
161
325
725
698
81
957
923
786
624
768
437
16
132
334
339
750
735
807
678
682
454
608
866
514
292
249
265
16
773
269
935
323
846
421
837
13
884
225
265
606
372
919
367
1000
845
259
26
987
104
607
76
23
813
460
832
698
797
542
454
580
47
805
719
884
308
363
486
430
408
574
927
246
312
604
848
275
79
599
350
131
953
884
193
950
531
425
497
812
972
790
760
855
90
880
667
97
637
939
44
29
267
340
336
305
926
291
238
139
172
32
111
113
55
717
352
187
221
204
56
768
978
590
104
235
912
782
312
608
76
101
502
690
85
132
679
613
383
424
149
267
351
447
477
296
18
175
508
611
622
472
249
38
466
489
582
855
325
619
15
594
995
248
103
141
775
861
288
290
244
154
72
102
823
77
369
648
912
167
165
656
112
194
623
764
267
68
326
975
835
216
515
731
642
262
570
103
258
271
978
340
530
571
696
626
691
782
698
878
913
648
875
456
125
566
541
552
510
791
930
738
838
804
376
810
367
173
127
514
383
67
448
229
712
893
881
82
451
521
28
913
81
496
561
66
480
779
114
168
382
831
836
473
708
761
748
746
884
604
791
442
843
331
623
183
859
591
50
80
78
428
220
881
674
1000
113
719
536
764
596
840
347
939
355
739
155
280
838
15
238
877
924
451
950
599
273
197
813
1
893
181
188
621
245
998
347
471
199
124
550
500
128
114
408
744
165
610
971
789
133
597
257
751
114
813
689
866
180
944
875
546
146
418
575
1
497
719
373
257
723
585
842
261
492
138
989
406
134
12
290
822
899
518
303
192
440
466
615
622
223
334
489
93
125
946
248
239
399
971
572
389
199
586
651
345
519
858
627
600
771
133
480
939
175
587
641
769
831
807
86
414
218
417
927
221
482
921
970
413
472
28
353
407
276
249
979
743
102
692
513
927
362
238
817
384
117
278
835
471
816
716
933
316
968
393
654
591
122
933
265
818
879
885
259
619
897
527
476
291
395
203
706
347
459
707
101
739
985
49
730
799
444
135
754
675
134
906
263
48
884
739
430
968
127
324
992
197
228
497
402
893
804
882
510
947
431
985
588
852
850
870
64
808
567
578
728
22
384
512
477
7
740
883
881
235
747
511
539
457
794
877
545
314
203
557
44
562
521
700
474
338
232
199
948
111
548
220
74
863
372
452
585
819
134
37
538
452
867
85
236
77
224
80
221
727
532
876
126
994
605
604
613
695
32
618
363
907
895
8
910
410
944
139
286
387
210
952
581
128
819
851
904
171
271
701
507
390
604
878
468
623
784
945
927
646
847
2
48
574
559
392
203
224
458
750
561
42
406
310
713
694
58
631
520
455
628
804
718
153
564
855
19
503
291
663
609
371
532
190
784
394
797
52
747
588
536
225
417
84
859
657
389
633
263
598
169
739
358
232
843
817
10
311
743
279
371
460
640
758
57
817
222
880
596
118
603
776
550
134
824
927
459
849
219
278
23
806
697
668
949
900
856
626
120
973
69
169
56
152
559
775
91
456
511
176
419
887
104
915
269
322
245
249
599
348
996
230
591
371
672
645
868
835
811
24
954
715
835
587
759
1
24
992
653
166
814
393
979
607
614
201
928
737
670
496
81
87
3
159
834
607
420
727
138
759
97
732
983
83
417
736
987
390
292
396
508
489
522
433
710
754
509
154
553
666
416
297
212
561
117
85
503
191
988
40
292
654
243
526
376
497
408
561
428
973
571
695
90
381
831
74
4
26
986
749
114
532
868
521
456
528
525
364
709
220
232
838
846
244
880
865
793
576
499
840
643
373
817
622
787
396
258
610
726
908
618
551
895
5
840
719
739
475
525
753
868
600
725
636
935
245
482
930
868
596
921
648
947
896
768
642
851
849
448
663
124
858
911
336
851
938
335
650
6
995
931
138
645
721
5
45
671
775
18
750
578
929
926
90
543
442
525
272
364
672
363
983
908
574
446
577
518
201
481
145
300
653
24
623
231
779
789
267
732
898
389
603
631
863
222
475
804
607
6
579
632
590
58
402
382
306
645
978
412
56
953
899
996
173
718
664
558
721
665
61
968
294
94
238
154
190
72
19
676
994
941
204
250
897
142
771
138
580
954
128
883
299
569
824
617
427
665
989
739
15
366
257
441
483
570
502
295
234
430
899
998
957
500
2
590
407
909
672
214
893
391
249
626
176
906
459
207
473
445
657
75
456
870
655
485
581
653
349
361
12
730
180
562
243
871
599
656
432
821
272
857
612
899
661
533
668
979
694
342
372
941
372
274
291
598
304
292
350
734
947
259
524
758
621
85
791
852
606
520
769
140
725
866
32
950
10
204
497
762
447
523
88
893
505
296
284
752
239
535
239
31
155
934
841
874
814
423
756
528
960
825
183
146
802
485
524
780
101
534
736
630
768
203
704
868
572
143
793
790
104
396
343
398
821
52
609
375
584
601
252
26
297
837
663
253
715
791
417
643
691
996
41
136
224
806
287
488
752
597
894
179
302
643
276
627
706
970
553
720
433
256
642
835
744
150
73
473
209
342
584
168
60
802
680
540
363
250
150
550
530
690
906
563
402
286
15
335
896
187
923
663
801
584
140
462
388
396
505
414
166
89
229
38
951
607
659
984
152
116
279
990
483
399
985
844
760
289
177
843
227
483
213
712
133
932
831
907
206
709
120
421
204
514
850
875
220
871
341
437
223
985
638
822
214
420
513
446
526
301
881
223
964
752
914
464
664
137
524
726
550
375
234
993
362
657
810
647
210
60
986
529
818
362
316
879
15
528
767
980
194
51
155
677
764
434
820
792
170
993
304
473
482
830
410
290
693
420
858
302
841
887
493
560
76
497
985
940
833
25
123
694
942
223
290
658
721
904
835
549
871
945
797
312
51
419
342
50
498
902
386
5
910
555
155
195
284
749
963
58
907
577
154
91
616
241
61
533
125
577
586
619
929
964
62
591
259
874
354
128
121
918
29
32
61
938
282
405
391
520
976
911
443
821
758
500
958
710
706
688
250
404
613
720
573
420
761
44
204
825
805
389
966
6
441
161
635
303
294
776
524
450
848
677
568
121
689
734
435
22
535
763
88
284
721
190
998
222
422
540
226
362
939
14
637
663
924
547
636
727
41
654
561
201
307
396
530
329
394
631
148
586
431
4
146
805
149
501
862
729
436
709
19
669
654
466
455
119
304
45
516
386
117
39
282
192
427
52
403
64
599
630
201
22
914
631
28
149
294
936
307
578
191
834
556
330
608
398
590
2
552
779
293
906
42
332
790
28
428
258
367
661
116
959
484
355
161
561
357
853
13
761
438
463
305
537
908
786
340
403
974
201
781
393
782
928
952
328
644
267
860
550
140
51
21
834
203
664
787
644
344
100
428
290
628
369
785
397
631
455
999
96
847
368
61
581
229
15
834
904
695
14
60
316
357
804
83
109
215
427
871
915
966
258
433
374
181
94
660
674
236
297
352
162
769
571
895
360
932
134
378
109
379
364
878
839
522
988
90
259
645
598
48
875
949
707
78
903
729
768
9
337
601
596
813
115
648
248
885
530
809
645
433
863
45
662
807
340
322
168
244
511
206
653
80
64
503
907
566
603
154
250
573
186
703
639
636
54
785
499
141
30
871
6
764
497
382
403
967
626
774
579
529
749
311
492
934
553
506
350
583
540
473
389
194
262
597
498
536
29
452
630
917
370
536
64
614
182
882
365
477
330
392
279
742
609
814
447
541
319
573
380
349
403
39
55
397
170
831
40
592
869
388
362
48
2
398
227
575
742
884
1000
997
386
957
639
983
957
878
937
187
63
228
174
541
219
130
714
886
154
837
457
911
22
314
885
570
541
678
21
468
600
434
119
110
244
313
926
55
532
959
958
710
577
874
719
161
983
253
193
995
474
426
684
728
794
339
572
163
14
503
654
463
524
138
801
652
617
784
24
777
144
538
331
988
114
886
517
516
917
183
410
938
190
771
588
267
449
446
267
708
252
564
956
644
475
39
253
873
909
258
950
135
365
822
883
177
200
67
993
661
146
689
992
987
965
90
310
845
80
150
399
291
565
674
432
787
202
875
393
406
376
122
907
258
299
528
756
688
218
712
193
546
122
553
558
206
403
297
771
44
539
23
494
892
291
918
884
481
501
894
654
256
924
436
82
176
948
433
13
735
636
755
808
113
513
904
363
11
541
545
46
876
515
191
842
723
997
143
599
140
285
190
255
864
215
709
315
55
812
488
342
682
6
369
569
955
516
696
132
949
758
369
557
31
216
781
206
775
957
708
411
954
657
140
583
262
473
788
282
609
560
813
649
337
753
255
958
634
277
826
6
425
631
494
778
31
937
550
3
987
815
666
455
806
666
89
911
797
748
96
953
986
207
232
685
74
463
891
217
978
173
531
115
636
144
457
871
461
221
407
153
487
565
718
320
132
247
215
236
903
693
109
416
732
243
821
515
253
163
533
198
895
843
61
128
34
424
280
6
434
47
198
215
181
986
756
537
755
409
222
651
135
137
785
163
157
833
910
541
261
127
585
303
211
590
732
126
173
827
628
477
190
107
201
254
310
745
386
982
366
595
239
782
116
859
405
880
177
613
771
523
669
973
165
760
807
520
836
778
740
551
938
989
59
122
673
412
867
755
174
194
311
18
365
622
129
156
610
163
695
677
876
526
222
44
622
8
717
317
17
949
468
985
94
342
413
82
56
358
949
408
882
98
510
382
617
262
314
459
435
762
176
39
920
463
789
475
471
99
292
887
200
7
415
668
31
630
817
998
283
760
926
844
888
111
758
264
204
659
829
155
827
907
376
113
921
521
248
454
693
854
195
641
483
475
230
52
615
730
69
68
969
710
977
970
986
169
61
563
293
910
232
96
323
854
855
219
973
470
810
341
799
692
198
962
328
197
854
902
83
197
325
411
515
385
412
673
626
577
566
302
897
915
906
272
70
770
4
309
723
312
714
634
54
913
440
12
324
145
275
864
921
93
801
366
131
884
723
563
56
770
140
210
81
321
827
454
700
435
202
911
438
243
463
484
693
497
394
674
502
824
951
987
479
359
343
26
670
798
846
473
345
843
521
54
202
14
367
169
617
112
261
599
439
510
143
612
120
797
398
115
111
469
907
497
545
20
995
588
559
718
120
10
338
468
58
411
819
337
6
765
510
90
238
942
346
119
550
942
179
930
844
986
693
356
222
966
392
407
510
72
570
910
830
187
63
74
108
864
816
945
844
78
586
953
576
941
821
712
600
861
114
145
130
246
563
22
998
290
206
304
143
846
202
812
636
904
886
199
83
602
809
466
873
244
568
261
716
642
720
827
899
917
114
93
693
992
542
692
800
404
140
955
230
430
418
692
98
296
764
50
664
896
884
550
278
520
496
144
970
693
729
9
52
179
170
983
128
493
786
256
392
988
180
308
548
310
965
86
105
429
38
356
550
754
24
653
641
871
799
76
576
219
183
945
683
280
447
272
51
240
273
235
568
511
489
687
962
99
402
326
746
319
109
152
36
872
795
991
229
354
553
24
613
992
593
57
884
552
930
84
11
543
371
241
670
865
303
854
576
13
36
233
59
559
621
540
883
872
860
250
304
113
323
489
612
131
908
737
819
544
652
505
861
515
530
429
767
665
656
265
629
147
520
226
634
602
487
638
695
524
753
986
303
419
306
376
623
461
163
444
156
927
562
137
472
605
179
56
272
239
258
740
504
363
786
857
591
96
687
689
734
804
322
199
393
738
205
340
282
81
161
224
892
923
580
841
312
775
691
488
764
731
545
798
199
877
791
644
333
104
835
391
58
659
124
694
248
511
12
450
823
389
753
229
901
414
222
675
205
454
895
572
763
314
463
472
843
685
744
352
376
383
885
285
525
996
935
6
334
678
528
186
617
164
394
277
672
242
254
711
938
273
373
172
419
270
914
850
768
237
910
140
804
46
255
584
723
228
561
94
614
568
957
290
565
51
915
351
148
726
771
66
262
41
223
173
436
810
644
478
444
456
842
870
328
332
827
483
938
598
82
145
269
121
289
589
246
358
243
759
615
290
427
683
407
427
318
357
31
604
758
855
264
159
632
792
957
548
659
68
832
341
550
85
481
697
58
1000
802
931
807
840
403
762
542
570
11
401
34
148
687
58
424
205
783
988
401
452
909
741
766
406
528
659
128
354
888
669
655
436
126
713
297
251
837
147
768
634
148
502
150
443
406
809
681
320
105
985
449
198
145
401
374
92
580
133
783
411
8
511
599
433
278
970
176
777
437
255
178
583
305
136
864
91
140
397
616
6
907
236
994
727
435
36
927
813
863
16
168
752
253
583
469
217
151
723
408
654
150
553
331
488
259
213
637
751
188
213
104
913
740
356
348
430
863
967
517
327
806
314
716
754
346
504
532
736
594
243
329
345
684
652
773
957
30
519
307
16
474
510
282
429
237
12
180
250
174
313
433
209
165
482
269
249
885
85
262
384
849
186
408
214
170
191
586
797
322
28
749
542
44
353
241
812
136
716
185
606
110
882
867
434
633
909
76
491
61
795
499
400
990
6
268
448
461
488
104
524
595
710
574
756
329
211
645
948
261
311
519
845
472
373
927
298
971
42
317
609
570
503
746
789
884
449
960
294
404
631
102
412
970
492
630
306
301
119
244
101
348
342
401
113
673
686
871
546
710
365
34
627
479
391
396
972
813
727
184
260
469
597
566
863
243
879
522
380
909
573
107
529
740
380
968
167
787
480
968
951
332
854
166
583
779
709
436
159
421
925
706
601
991
20
87
797
672
240
52
932
431
874
546
243
875
813
762
836
577
137
628
16
962
585
406
576
205
474
678
882
613
709
178
949
887
483
138
627
55
474
393
612
635
319
272
167
682
906
146
253
611
316
787
278
311
723
206
73
152
615
750
867
522
107
928
208
429
23
516
87
274
622
492
398
861
712
85
808
186
434
747
974
68
885
217
100
280
146
476
391
40
129
699
790
156
272
121
318
909
451
802
819
467
293
533
727
373
215
158
637
897
353
783
352
689
255
382
403
345
202
290
233
598
503
330
911
347
529
342
982
234
620
671
749
354
674
967
710
554
219
286
118
807
704
621
232
647
35
797
231
811
805
15
447
599
531
745
999
598
254
619
37
872
579
57
39
379
802
616
792
798
170
273
239
455
786
517
765
580
824
580
827
989
598
595
658
651
710
302
605
118
786
654
579
812
41
51
368
573
278
298
674
402
259
487
939
475
739
328
105
707
937
281
697
712
485
604
387
538
850
809
669
155
472
782
914
326
383
619
997
981
529
558
314
375
25
160
201
431
30
272
322
702
371
481
518
417
406
6
434
561
321
248
537
103
359
330
900
746
715
911
858
746
801
226
951
803
167
836
828
776
711
819
259
769
477
436
603
816
36
232
797
484
205
743
62
169
476
820
787
82
603
50
395
657
605
532
812
48
204
232
479
790
161
503
15
902
837
476
110
837
66
729
856
957
209
257
666
396
175
335
915
747
464
698
280
2
485
194
6
36
365
597
874
631
30
213
29
366
547
106
930
983
232
784
886
677
267
372
773
177
707
390
747
11
732
793
435
354
824
504
773
330
175
141
47
909
4
434
852
188
483
461
730
117
628
678
705
611
201
233
423
465
477
448
518
375
36
613
642
60
564
25
633
879
803
12
769
122
988
99
164
674
70
179
236
224
309
756
659
570
105
728
677
701
113
238
403
982
134
562
693
726
878
179
7
629
258
247
453
454
503
553
415
906
51
249
395
253
232
812
807
94
315
972
239
771
672
756
182
326
261
882
861
843
279
850
478
444
375
854
217
585
609
597
14
789
451
302
966
384
20
148
5
695
866
662
689
288
304
843
143
805
169
685
521
684
209
427
936
294
982
363
557
4
821
909
7
638
89
171
597
210
39
950
731
465
326
766
547
325
599
521
990
287
850
932
688
753
347
997
529
967
353
148
593
463
286
137
409
298
83
29
182
911
464
150
443
651
747
127
126
559
31
649
220
51
770
971
553
78
658
873
696
933
1000
644
673
362
927
168
688
816
505
9
230
895
709
478
821
15
242
602
744
309
969
47
633
951
273
373
299
599
826
608
583
570
384
739
912
381
566
174
464
574
336
476
656
172
619
259
208
269
718
991
429
840
459
186
439
489
866
211
683
932
566
60
584
180
747
867
794
379
167
183
284
623
865
75
33
4
869
492
261
458
713
941
589
306
684
104
398
21
798
168
714
744
965
584
558
298
980
231
742
713
807
116
580
936
857
480
584
234
613
610
464
761
176
66
326
681
334
772
211
916
532
191
86
480
590
212
74
567
610
278
610
544
927
64
129
39
117
442
945
373
128
623
655
746
67
738
747
727
45
620
27
114
135
137
115
816
740
394
541
745
557
839
166
166
326
173
938
209
594
505
670
756
764
399
570
770
835
84
693
966
686
453
667
645
322
222
307
411
644
292
180
906
628
608
702
325
459
399
690
212
109
337
256
462
441
71
206
143
871
128
167
177
427
902
165
873
237
676
825
42
62
915
488
516
969
752
870
269
464
364
655
626
741
137
473
96
197
407
323
63
792
529
330
110
653
175
299
636
838
912
773
917
716
436
51
433
491
285
409
439
132
99
328
175
215
430
690
696
646
294
922
544
653
602
705
227
107
41
733
885
841
84
778
404
707
304
983
650
127
647
974
784
401
295
325
62
977
368
234
643
705
590
939
623
199
740
213
306
361
339
502
395
240
692
277
399
212
121
357
576
371
502
28
446
106
291
888
201
514
328
25
257
690
822
679
794
624
12
395
818
39
246
971
299
429
504
710
963
234
844
72
967
924
276
798
816
1
818
987
654
312
892
949
802
28
453
503
81
768
968
347
416
53
750
240
388
339
771
285
779
200
72
302
695
867
809
988
21
78
956
747
439
252
588
451
998
897
91
159
367
364
301
755
43
624
679
681
876
782
936
654
669
56
941
44
430
168
444
561
246
182
537
636
372
181
969
385
937
808
949
187
633
513
794
767
132
362
857
335
286
591
717
755
790
398
861
868
905
190
590
490
343
805
314
420
735
321
564
572
830
270
180
651
418
240
653
915
145
465
729
418
766
380
14
535
123
196
574
384
869
729
104
728
843
605
612
1000
511
723
968
265
99
890
284
691
594
120
632
754
813
414
99
764
569
981
36
935
60
34
408
144
793
781
693
882
429
422
911
705
712
663
837
105
905
380
522
201
221
212
629
795
81
51
43
387
959
993
4
964
331
265
536
868
909
32
797
831
489
521
165
707
652
822
519
878
774
307
689
412
863
55
356
415
373
68
68
38
116
982
59
715
665
957
239
412
851
433
957
364
439
45
28
558
818
777
97
601
661
156
489
562
74
762
192
500
79
461
435
834
421
975
173
139
199
654
890
165
502
789
378
173
522
312
798
741
4
573
60
566
40
660
465
447
809
522
856
800
490
778
59
125
265
364
418
131
528
299
568
467
169
37
436
578
80
702
256
380
779
378
83
56
561
837
288
21
46
671
132
981
1
276
513
944
8
687
927
844
498
417
883
633
200
830
895
19
869
339
277
82
212
476
277
950
643
935
799
536
59
41
983
722
499
968
567
407
451
888
346
457
330
811
817
67
26
673
198
307
297
639
904
240
418
482
111
623
22
397
398
108
675
888
443
223
997
703
447
937
171
807
94
487
678
706
728
612
404
224
995
222
743
109
103
532
75
22
596
209
679
640
692
216
841
634
183
292
786
588
742
345
557
865
921
129
978
133
61
76
848
476
408
37
187
662
767
982
504
868
39
957
292
980
188
381
246
652
331
160
104
479
870
18
550
938
601
36
854
42
860
501
81
14
211
227
412
631
505
729
450
618
270
861
501
248
90
728
140
354
775
844
180
296
72
531
575
970
748
84
249
981
135
727
78
630
795
550
266
740
110
660
410
252
1
60
553
627
329
347
487
109
8
679
675
584
380
709
387
663
521
645
205
361
662
919
161
753
144
199
796
124
447
619
537
730
216
826
967
418
757
821
490
594
294
566
285
141
794
269
489
277
367
527
305
926
947
58
897
888
812
795
998
979
768
858
340
277
780
473
988
677
463
261
507
914
966
381
130
10
433
514
998
302
331
501
117
653
175
943
17
164
128
7
200
927
430
595
787
584
262
946
7
196
629
27
721
154
447
387
370
942
880
188
542
688
955
582
655
373
719
691
275
532
519
247
779
922
967
925
204
259
682
671
824
380
492
538
242
696
799
877
123
78
445
431
147
259
721
955
203
809
905
180
418
808
324
191
1000
325
557
809
562
526
729
502
12
762
960
140
61
670
926
32
963
249
632
685
706
536
221
634
359
129
179
547
423
958
868
328
846
65
331
85
994
859
512
108
624
140
754
483
419
812
928
568
528
842
634
503
690
990
746
582
725
598
759
390
274
882
954
801
28
492
624
897
102
295
8
604
965
83
87
789
298
130
10
627
64
425
392
144
25
896
856
785
978
752
697
382
817
291
828
363
675
261
351
321
751
211
679
866
886
689
229
324
29
507
485
913
107
808
609
457
976
662
173
816
27
252
649
710
268
997
188
52
352
852
271
205
831
803
1000
521
120
901
399
431
518
794
834
222
120
349
138
156
347
477
161
771
544
914
100
110
970
694
493
875
155
670
797
47
591
720
47
658
42
729
649
704
488
469
402
119
274
836
637
226
841
819
307
843
305
334
381
729
688
147
280
480
728
149
739
134
783
488
816
790
63
155
146
439
261
636
382
754
316
540
908
864
834
617
703
623
246
882
111
398
676
181
58
601
859
770
934
432
208
483
739
52
264
760
806
577
655
90
501
158
155
264
924
575
628
22
420
368
766
772
227
890
939
86
596
574
8
13
374
419
293
592
278
540
528
718
501
934
705
339
101
367
976
542
668
760
687
741
89
263
343
818
556
138
483
917
815
470
51
872
199
148
524
322
816
985
865
966
505
507
614
243
904
152
788
122
849
431
199
492
951
151
345
52
724
720
178
109
717
678
217
439
145
777
5
721
940
412
834
563
3
557
457
472
771
361
112
874
906
158
850
453
816
548
192
643
107
194
786
664
574
10
576
332
667
31
40
399
194
980
598
482
38
641
266
725
362
87
928
694
612
920
986
752
865
28
843
911
148
657
488
569
864
362
129
481
141
710
770
50
511
660
170
509
384
470
924
39
636
458
823
212
345
658
513
791
894
299
40
419
932
787
28
72
914
537
640
782
528
532
698
240
419
961
10
69
373
841
804
823
791
565
672
162
549
413
62
293
662
595
968
603
716
93
196
841
438
579
914
531
787
576
602
928
359
480
370
210
723
861
172
529
268
9
688
218
495
683
906
642
176
715
681
19
884
97
983
223
389
105
620
140
989
125
585
263
203
811
349
53
576
107
993
89
436
277
93
128
961
811
5
607
629
330
270
984
614
566
773
209
677
17
546
215
409
725
227
635
224
431
869
194
116
932
531
190
544
711
195
490
750
549
391
694
494
917
756
378
90
689
996
984
433
344
834
390
12
650
771
944
541
107
346
393
424
748
228
111
834
773
404
435
793
743
999
889
968
845
75
830
271
861
664
486
938
877
297
66
913
588
108
527
68
40
643
942
100
838
976
261
579
132
434
943
95
888
763
685
831
487
117
292
990
591
946
8
560
835
907
39
788
549
210
406
733
777
999
186
988
484
424
482
600
779
334
276
37
931
12
387
717
918
599
615
735
571
340
244
84
997
975
381
577
400
792
600
953
947
451
607
827
145
804
768
884
994
27
381
107
65
956
982
933
231
869
112
118
524
116
946
676
35
142
811
108
195
762
688
361
928
23
189
576
398
103
735
902
365
23
293
617
143
139
968
314
527
404
879
287
7
687
274
485
85
184
819
573
370
865
922
768
4
686
731
964
509
159
206
148
302
560
870
439
57
416
476
636
899
562
616
179
106
976
683
714
997
956
567
513
926
695
566
480
422
406
719
261
863
716
924
215
192
558
15
255
873
74
718
389
88
213
944
843
464
665
974
69
366
254
206
962
637
821
819
679
288
432
275
256
911
938
266
646
152
508
809
679
311
547
148
712
810
712
618
458
612
667
789
203
556
884
980
303
682
770
637
962
960
353
875
304
469
700
11
198
89
408
190
302
538
559
298
12
527
968
309
905
945
892
424
369
826
583
490
194
846
27
67
192
933
56
694
7
801
476
40
859
418
10
695
495
50
899
823
946
937
902
386
661
80
934
482
563
528
340
725
878
717
86
3
266
198
225
751
613
283
803
315
919
967
20
952
55
646
863
725
794
14
924
563
986
167
51
354
30
227
868
223
346
479
953
284
288
110
693
105
80
831
344
536
596
4
720
984
1000
19
109
161
284
622
174
531
394
503
40
816
723
769
362
535
95
426
837
786
201
933
121
622
219
539
281
95
549
163
673
199
103
856
224
951
114
375
960
13
880
246
763
707
395
657
445
892
887
775
764
576
165
872
567
930
783
251
453
667
718
920
959
544
403
226
776
157
37
939
739
145
338
668
973
552
344
224
925
262
132
160
902
704
374
41
88
424
12
209
212
903
479
378
467
766
383
180
311
305
390
572
503
823
573
64
815
999
653
995
684
896
864
863
655
929
793
698
414
304
313
24
593
153
917
791
77
772
678
842
695
517
265
756
491
941
281
176
820
994
392
308
521
870
260
25
359
856
970
207
456
878
792
38
53
72
967
674
933
710
762
565
223
551
508
230
870
833
986
67
950
814
688
228
872
738
369
544
472
330
184
468
425
783
691
31
424
927
190
497
131
69
559
768
476
212
325
204
219
722
746
304
292
963
1
234
671
22
891
666
484
176
96
205
705
139
621
114
133
303
621
373
91
691
946
895
407
441
358
259
241
783
646
70
766
914
561
631
602
690
804
640
580
97
724
685
936
128
118
73
69
505
833
320
105
654
506
250
102
603
679
761
343
497
781
487
722
198
529
575
804
738
534
499
975
869
21
582
19
101
587
317
378
287
285
535
973
134
541
446
87
161
694
107
476
65
6
631
741
918
141
357
645
938
964
923
442
883
114
768
505
888
687
806
927
687
439
876
381
643
164
299
139
934
506
624
472
331
518
587
49
226
805
930
249
386
530
566
117
754
172
930
323
526
294
413
891
161
521
964
259
951
806
988
925
981
738
782
587
254
538
958
877
908
894
506
560
572
926
366
706
701
952
914
998
611
162
575
261
862
877
222
648
561
304
967
136
238
125
112
73
254
152
917
613
684
155
129
539
676
974
119
317
258
238
373
335
462
781
359
889
960
762
806
718
424
35
758
337
477
567
323
634
519
568
384
190
643
848
701
789
952
767
950
740
919
83
804
844
26
943
857
961
531
169
457
103
152
491
642
962
928
597
728
520
381
953
521
888
945
273
85
512
458
921
772
840
576
133
313
795
539
254
348
678
652
460
13
751
327
768
562
247
346
291
39
802
863
692
125
743
271
593
826
295
30
71
52
825
973
653
442
284
717
893
936
109
863
399
173
205
511
328
413
155
168
108
145
694
917
484
28
184
693
987
171
661
927
455
306
804
430
162
999
704
634
841
205
541
639
551
382
579
418
6
205
457
512
238
565
929
809
302
280
710
248
924
995
49
637
781
942
401
397
793
475
420
155
172
472
262
491
307
156
610
917
881
207
326
783
13
189
609
479
271
300
829
306
991
701
784
883
531
871
323
806
677
11
23
453
713
340
686
406
780
573
689
343
303
125
124
267
424
138
983
548
356
791
483
18
856
611
361
141
313
256
246
450
248
873
484
561
109
826
227
519
796
241
875
563
220
632
152
833
368
438
839
35
878
348
600
607
270
775
117
28
963
753
964
866
951
166
616
202
814
593
564
302
479
229
322
576
303
220
634
676
354
722
452
78
798
296
371
474
549
384
8
177
955
322
149
501
185
499
273
885
680
4
60
27
868
981
367
517
744
914
140
26
644
516
430
507
578
690
418
118
711
239
153
974
371
685
414
855
259
610
945
34
759
753
171
154
595
448
992
709
471
920
548
516
82
469
972
336
114
927
114
114
350
739
864
495
547
699
697
644
355
965
805
961
173
494
18
508
841
31
771
600
363
210
263
746
439
945
499
83
404
980
120
228
895
321
944
306
883
3
251
713
81
59
501
602
467
529
482
407
943
359
431
674
980
368
884
982
665
500
41
779
846
229
133
965
496
653
664
719
227
840
171
136
906
583
53
149
7
381
352
820
663
501
672
966
630
990
792
647
526
307
605
268
419
293
930
623
250
942
755
213
39
1000
542
419
295
876
92
578
387
49
932
72
208
823
68
381
921
318
883
159
327
202
753
300
110
349
850
381
429
802
279
501
51
116
904
430
682
957
443
217
464
294
813
875
525
237
185
769
962
736
269
142
418
512
301
985
551
803
919
34
234
458
732
361
793
259
548
105
317
273
132
531
973
887
229
718
403
767
397
23
148
59
958
405
222
399
324
343
287
463
751
151
555
181
291
82
685
359
548
883
76
794
617
274
111
187
925
767
65
1000
475
340
700
294
912
847
57
164
518
893
19
56
261
659
937
851
392
674
759
724
185
145
8
217
390
625
844
902
866
479
863
292
338
458
782
24
839
133
280
847
620
19
293
56
480
412
764
46
254
30
809
600
307
468
152
437
584
905
676
584
264
930
915
434
938
384
180
887
858
887
779
477
478
737
856
973
689
797
476
44
736
335
500
879
173
873
841
694
496
86
582
58
647
894
26
79
398
720
101
974
868
231
400
47
282
615
227
25
77
706
889
597
568
479
338
551
781
70
685
275
210
572
681
70
932
531
645
465
246
104
183
866
872
323
600
490
472
586
695
147
739
36
740
380
369
830
44
417
156
992
80
25
380
171
446
117
610
924
951
500
190
363
245
764
371
33
160
531
201
426
677
511
10
414
987
290
186
112
672
893
465
969
485
545
171
170
655
326
123
216
536
427
325
381
118
360
213
631
807
345
940
601
647
308
843
1
296
743
796
48
378
973
776
13
692
138
757
74
953
765
897
76
332
185
174
218
682
936
622
9
864
635
522
132
604
311
278
401
837
683
60
54
640
18
917
433
160
248
101
124
600
934
143
570
782
976
522
977
295
567
285
817
158
240
572
101
147
759
359
280
560
523
139
639
367
928
505
825
911
292
477
67
122
764
701
988
485
386
44
207
469
203
243
911
752
790
447
915
955
911
612
544
287
220
143
355
747
910
602
460
70
392
860
438
697
267
604
260
142
826
751
430
607
620
358
143
367
102
444
732
134
331
630
890
972
581
470
760
843
173
187
12
809
734
303
777
176
235
1000
560
269
330
373
712
874
662
169
223
336
716
218
437
498
198
72
20
622
991
396
82
84
395
220
23
94
844
769
622
90
607
396
979
489
762
320
672
442
520
306
793
476
887
793
463
938
779
169
516
314
279
752
735
633
452
514
89
708
841
51
817
805
306
923
448
558
470
258
942
69
278
819
173
729
889
781
657
64
482
160
670
385
411
375
216
159
772
667
818
637
579
785
41
394
615
972
36
609
705
999
532
124
902
369
809
663
20
340
879
978
610
135
132
19
243
861
938
448
673
940
937
11
396
453
726
339
122
751
215
4
631
488
176
683
764
654
606
942
441
102
886
306
555
558
112
972
57
294
188
836
567
99
742
364
733
767
138
48
329
415
96
165
667
832
393
702
62
890
929
117
314
689
713
334
272
547
929
314
765
419
916
178
836
574
680
810
170
555
881
384
68
214
681
287
487
801
469
841
548
589
132
948
922
359
521
217
629
833
417
462
341
63
226
276
486
353
150
464
80
34
882
322
100
973
587
470
355
49
335
116
610
907
929
919
827
245
504
734
254
49
221
441
487
286
206
48
562
832
379
557
564
429
355
663
889
283
96
770
576
60
935
172
986
578
830
141
199
733
440
936
617
861
915
262
574
359
89
502
328
892
752
106
628
465
742
408
485
434
144
971
705
83
502
113
321
504
197
527
282
264
399
603
434
788
628
847
629
552
896
664
267
769
236
695
555
715
818
883
778
332
971
209
823
234
265
483
456
690
120
615
100
278
559
514
556
466
901
924
678
149
282
326
354
393
22
23
877
747
102
966
130
61
241
737
383
368
421
914
399
480
891
253
447
519
621
549
994
598
817
613
140
322
435
344
455
653
702
705
534
582
758
957
862
83
297
461
687
513
582
559
35
388
321
915
19
69
25
835
630
328
842
401
103
35
567
412
885
237
353
89
331
881
380
741
84
806
260
425
175
743
724
841
336
941
694
651
651
218
640
667
945
340
8
331
416
801
462
904
118
4
576
382
963
200
530
744
153
895
990
465
766
606
986
333
401
259
741
883
297
178
872
68
53
47
987
821
98
117
922
628
65
824
977
440
827
159
213
965
45
989
218
370
924
385
200
307
29
809
25
554
973
142
242
427
28
578
829
905
939
501
913
283
165
731
889
478
190
376
399
876
137
941
917
658
76
574
339
878
85
995
194
439
144
166
774
751
480
781
946
268
739
616
320
419
135
99
845
380
934
614
393
517
385
207
258
800
449
920
225
935
134
891
346
901
347
690
940
43
566
373
307
735
977
382
768
124
464
122
841
93
382
957
251
470
804
419
98
286
5
359
516
177
276
265
371
987
129
902
452
143
887
532
646
691
23
630
571
712
223
856
664
707
552
325
997
909
828
650
984
227
53
968
886
492
340
692
732
102
598
411
867
678
71
14
116
557
120
179
112
582
509
606
39
71
477
526
887
710
882
731
852
709
147
738
294
700
470
649
496
728
357
847
353
550
584
147
150
408
458
511
123
771
970
122
45
829
864
317
493
830
266
885
755
610
570
170
138
659
807
93
874
281
299
768
918
675
117
916
967
539
905
513
279
319
707
328
455
340
431
665
546
262
477
999
832
216
624
914
691
747
654
689
868
395
273
138
904
874
568
339
696
857
430
323
247
711
247
571
252
84
624
574
27
259
892
380
619
912
396
603
421
495
235
790
939
687
488
980
754
179
57
421
553
477
289
137
686
541
840
554
198
251
167
938
243
316
815
383
402
216
838
202
35
473
635
364
139
488
885
406
269
87
632
880
914
300
879
833
278
326
541
802
313
898
266
42
369
97
570
359
60
886
597
931
556
421
998
163
364
579
267
373
667
917
884
724
921
61
699
529
610
575
295
501
308
712
856
841
757
552
388
924
758
535
280
882
519
221
432
97
221
489
443
20
318
703
133
194
921
307
473
360
283
753
920
247
496
831
118
625
694
346
404
67
197
579
787
570
198
349
472
291
311
469
563
10
47
663
929
354
388
480
103
631
865
617
146
60
107
114
369
235
363
284
969
798
813
101
516
692
798
411
931
476
682
292
318
460
135
130
953
83
346
320
674
521
878
752
475
696
236
522
664
703
175
351
859
717
126
325
699
998
411
117
138
486
26
419
555
578
304
991
198
942
379
837
122
679
162
59
819
582
783
545
27
782
75
864
876
618
516
898
65
92
791
947
204
569
763
210
228
528
387
114
225
251
448
634
381
89
164
46
870
304
786
372
329
268
463
216
805
455
516
739
968
590
177
344
652
404
330
257
507
957
521
951
279
727
451
850
272
26
330
775
239
920
512
42
714
377
59
504
639
205
924
877
300
942
436
101
391
800
632
567
738
691
719
775
723
11
288
399
779
671
286
584
895
673
908
433
290
15
250
426
207
105
398
860
82
828
142
177
630
953
27
21
16
540
432
780
217
465
164
426
357
747
801
832
330
692
416
170
287
358
773
32
990
914
591
544
696
558
195
338
956
267
951
664
725
415
995
217
590
708
39
503
918
964
700
241
620
628
448
501
357
659
282
703
918
765
413
840
322
780
289
993
39
706
232
141
265
147
18
292
304
340
285
333
286
113
190
556
439
457
50
245
519
6
683
492
85
451
447
757
850
359
52
328
62
134
854
817
34
417
406
174
26
430
1000
956
979
64
974
525
451
607
364
163
856
65
186
745
561
990
351
905
705
669
731
919
208
628
363
779
414
404
869
778
309
277
776
682
990
34
347
575
55
846
189
772
98
619
76
812
639
887
647
32
238
417
342
680
792
598
183
513
770
638
769
63
35
720
720
678
611
705
854
977
420
99
874
496
175
755
627
850
582
536
836
15
498
1
755
412
194
847
962
217
932
597
264
14
224
970
772
685
686
770
71
217
550
44
325
883
74
339
228
652
4
656
561
707
146
897
749
731
905
639
194
326
594
964
8
591
607
156
245
806
407
222
806
172
880
234
961
179
670
283
523
243
258
886
221
427
275
1
449
814
217
245
254
562
850
259
782
513
219
865
517
535
1
473
95
902
562
152
763
55
102
943
300
499
129
148
97
624
107
678
305
159
526
582
823
665
942
528
102
917
985
969
744
449
947
810
581
895
306
330
217
31
857
484
781
818
897
756
760
109
231
33
244
866
687
883
591
962
703
283
378
700
860
420
903
664
764
505
300
293
831
990
944
631
660
779
2
968
691
776
156
731
77
976
136
235
126
852
488
403
69
535
819
308
510
703
616
339
970
689
963
898
729
910
236
478
296
794
779
942
51
861
876
276
19
257
531
131
857
117
25
680
950
608
231
352
860
738
437
209
613
93
769
246
239
181
721
963
681
499
538
324
662
812
633
27
988
73
80
180
230
759
411
94
706
171
971
11
132
360
362
391
981
761
176
659
168
620
770
537
971
765
503
102
798
14
665
841
129
776
91
476
674
166
848
829
548
271
99
233
908
863
172
693
704
494
992
736
878
609
991
884
863
997
452
841
780
232
493
314
753
327
566
865
496
783
612
294
698
351
117
684
397
21
414
577
814
826
99
123
239
836
742
144
639
142
454
841
798
461
453
107
838
832
625
153
382
310
55
244
31
259
29
39
822
989
511
832
94
260
356
453
109
78
363
729
408
174
718
716
423
401
407
738
533
617
154
827
998
909
65
485
686
705
656
280
743
866
55
434
667
892
201
461
519
749
404
725
947
545
701
625
343
147
115
15
827
430
247
311
558
151
469
392
148
316
634
259
205
468
18
187
409
381
481
757
442
160
362
880
216
311
44
124
76
570
875
315
764
824
661
628
237
737
930
253
245
993
685
316
621
81
536
145
98
307
466
995
655
562
563
674
123
307
709
36
997
828
453
765
916
365
745
694
268
297
794
602
920
477
554
334
836
554
761
973
527
314
60
26
174
233
690
183
255
280
371
163
526
725
85
948
210
148
678
194
423
853
921
97
607
670
706
386
416
246
367
876
129
260
847
215
764
757
484
762
700
374
896
73
707
697
425
56
693
109
455
949
375
613
679
167
932
443
961
202
311
742
724
244
533
815
480
503
902
228
824
352
315
79
478
568
26
268
746
666
857
922
643
533
919
719
780
335
938
693
571
487
498
458
953
906
107
803
114
559
976
422
203
250
509
146
129
674
392
951
522
578
912
199
444
605
742
891
926
408
228
796
585
148
503
647
235
22
136
684
687
220
101
92
508
974
643
444
415
59
401
195
768
817
456
585
619
558
124
4
630
724
902
3
858
280
954
145
762
530
781
714
576
159
795
948
768
621
168
609
892
390
336
66
344
180
675
411
950
797
175
603
796
944
199
732
11
329
19
59
225
193
442
273
921
501
900
271
761
27
548
158
646
94
752
658
846
153
827
72
61
892
856
598
945
803
597
812
818
377
775
385
243
561
855
546
15
81
502
686
971
66
688
412
543
909
321
199
181
869
243
488
496
223
666
676
993
532
148
194
839
406
963
391
816
66
562
83
769
679
494
101
469
849
88
468
704
632
114
910
757
237
987
669
998
853
15
891
416
398
383
943
515
591
258
835
54
924
386
871
832
259
3
206
823
204
177
197
426
319
878
911
820
162
577
155
99
278
539
961
887
738
963
562
728
609
739
96
587
834
174
638
817
702
695
479
73
847
872
960
351
40
604
892
505
99
836
374
668
773
841
113
643
840
900
831
367
957
946
692
15
822
670
837
225
885
180
735
613
97
628
730
519
32
692
850
505
341
152
231
621
304
814
750
1000
66
748
206
37
30
351
69
989
986
241
500
1
740
479
964
719
106
234
164
95
85
988
30
526
465
981
621
722
771
201
382
869
523
229
370
436
219
774
58
712
740
678
547
214
566
549
293
187
932
159
298
484
338
30
599
287
305
839
203
211
376
833
248
419
759
426
198
291
597
719
999
765
235
698
744
681
113
86
779
19
164
396
946
471
783
337
907
913
290
438
743
723
161
99
57
706
656
735
576
189
395
460
159
55
62
197
196
193
938
264
557
535
929
269
752
369
487
693
326
575
176
657
247
652
473
954
131
43
664
985
550
294
451
79
196
720
503
887
392
304
933
947
118
44
180
519
255
250
321
461
11
143
438
472
345
677
310
931
714
566
993
713
780
199
829
679
84
33
23
546
888
941
127
336
464
434
624
671
859
340
833
560
595
766
846
579
199
251
687
621
583
233
236
231
361
943
338
197
385
103
816
902
564
378
944
503
155
677
2
650
749
23
266
587
35
185
209
860
269
461
264
587
276
157
958
895
312
462
653
628
404
324
944
254
603
408
737
858
746
931
861
27
668
581
711
897
949
552
142
405
775
614
236
113
774
542
980
205
436
902
929
368
811
380
109
921
310
431
902
342
992
470
978
127
573
98
845
378
552
862
955
296
940
755
896
22
755
832
695
591
559
487
971
707
841
627
328
794
671
134
421
761
62
1
434
131
468
656
837
9
394
29
126
43
60
973
42
780
933
599
331
588
682
843
403
449
847
52
738
927
764
666
348
864
209
484
223
8
529
251
428
350
225
493
14
405
449
817
449
522
246
784
683
141
339
498
216
444
168
246
539
464
989
889
428
721
479
835
923
518
547
632
553
915
516
992
663
762
108
314
7
379
645
362
750
665
6
10
318
865
294
698
71
692
847
672
100
794
231
839
682
848
564
436
694
262
440
341
661
72
506
873
913
146
696
428
126
118
463
576
724
931
487
515
33
179
346
505
147
778
277
926
773
354
795
335
208
224
144
783
497
728
471
532
685
915
919
470
764
174
381
597
403
98
911
43
947
457
44
964
635
363
360
209
146
888
402
435
710
141
216
228
20
365
657
858
282
758
643
974
430
870
717
734
964
62
753
715
503
491
310
348
269
639
867
58
316
609
696
55
207
963
1
394
716
324
454
166
383
78
394
343
272
104
254
902
363
389
256
162
423
27
25
774
223
845
530
439
453
140
176
6
185
318
864
387
550
674
288
141
561
213
518
196
147
801
264
967
596
519
199
797
937
966
368
759
502
780
302
298
496
664
160
590
38
313
995
545
342
283
632
748
265
601
485
445
415
500
302
681
132
400
558
207
915
467
244
262
715
748
156
742
910
45
560
878
234
710
59
631
622
981
800
859
935
201
857
649
348
593
555
607
341
975
957
945
446
379
677
234
976
371
539
452
88
394
381
582
773
608
936
962
30
291
937
327
216
997
203
143
894
386
155
185
42
110
123
800
815
646
110
310
911
335
334
936
748
238
412
849
391
744
997
294
467
607
131
617
71
636
170
914
393
490
659
477
213
568
377
264
644
192
568
607
571
660
795
65
579
648
387
567
723
986
378
863
697
499
501
720
764
433
693
557
720
188
138
130
655
881
438
161
57
211
737
321
529
711
891
891
330
392
223
453
144
34
711
479
312
180
597
98
15
656
412
635
588
941
668
307
656
320
336
449
917
674
233
607
511
312
921
340
358
185
778
131
261
425
156
422
950
395
393
618
701
916
489
451
127
922
146
215
40
340
459
142
618
438
427
564
437
27
802
432
789
252
591
458
380
397
296
404
29
168
548
743
833
114
520
833
836
720
320
380
562
127
780
244
20
294
368
718
316
888
943
251
211
239
493
809
843
882
223
737
720
888
489
421
97
393
232
259
261
289
499
698
824
98
987
603
685
521
680
759
31
620
102
576
548
155
538
367
276
430
612
392
120
359
272
120
583
453
735
54
318
240
737
71
441
1
666
306
389
210
703
646
812
687
939
64
141
24
723
885
805
223
459
827
37
567
522
605
101
827
294
65
488
717
958
763
101
534
764
817
210
175
683
217
660
893
672
177
442
794
284
130
292
49
529
945
298
36
537
90
22
958
422
935
920
668
449
518
910
209
2
150
521
857
647
125
707
146
259
215
186
157
858
394
434
609
817
648
991
968
894
186
176
552
142
79
24
833
334
2
843
322
762
935
679
267
67
489
94
109
116
258
190
940
997
989
506
2
951
590
700
739
503
556
618
103
599
678
727
462
105
564
414
724
498
912
685
969
476
796
502
766
581
904
12
651
725
903
405
94
229
48
104
721
730
221
46
201
155
7
318
493
622
777
875
501
448
658
846
709
8
410
489
337
67
490
989
636
641
697
62
37
883
602
833
997
4
740
607
414
143
424
913
856
241
37
971
242
411
787
472
987
854
447
662
203
529
782
686
742
609
572
455
239
543
105
206
107
66
606
69
870
278
832
248
604
655
960
259
903
361
147
729
334
550
186
298
800
902
391
373
616
226
825
951
388
217
50
138
980
732
798
24
122
728
983
468
749
871
209
840
805
718
814
241
680
902
184
214
356
373
642
745
440
790
465
989
764
471
334
212
233
741
584
897
192
707
950
190
743
784
810
564
617
106
377
143
465
279
659
446
993
331
576
696
367
291
769
475
424
581
959
825
415
403
777
976
621
640
550
833
721
883
409
336
110
185
306
379
339
82
260
604
431
779
344
216
751
341
461
362
778
353
62
312
46
616
200
199
823
450
491
191
515
996
718
895
241
104
513
625
854
811
971
179
769
144
462
524
503
61
758
443
852
347
164
238
88
249
344
642
327
183
371
518
851
979
671
221
1
403
412
635
620
772
296
122
226
557
437
416
655
980
499
698
324
355
486
466
446
399
485
917
959
2
18
971
483
719
591
633
27
852
607
954
894
479
438
408
286
372
571
600
951
642
157
773
304
634
89
106
845
193
737
175
426
116
824
363
384
784
255
318
88
427
943
798
766
909
765
909
590
681
258
715
932
588
4
575
770
296
23
246
438
958
567
20
368
886
263
725
913
185
395
995
619
186
599
370
319
583
535
795
235
656
562
826
854
4
840
750
882
682
196
152
387
225
439
53
437
775
632
803
523
904
481
739
98
714
243
694
577
637
834
593
506
863
287
949
654
471
6
138
697
624
689
810
240
107
365
993
179
659
735
21
749
116
287
587
378
172
357
469
746
461
66
832
566
556
673
894
969
606
755
67
175
735
250
394
768
8
172
209
214
950
716
116
998
639
203
342
715
688
889
46
411
721
796
373
563
91
822
743
425
544
914
414
591
460
715
812
314
156
163
854
322
479
964
766
426
83
703
954
586
347
112
831
488
191
197
11
45
367
934
849
402
782
309
253
243
766
774
469
712
586
458
253
89
340
286
946
589
429
975
711
977
163
190
531
814
181
584
504
736
10
714
475
86
675
474
607
614
532
69
423
405
630
340
490
503
839
787
61
10
846
375
456
625
771
27
422
12
749
865
921
966
852
333
238
396
219
588
600
708
643
700
293
454
561
394
495
209
423
774
196
667
278
880
617
769
891
802
914
374
732
803
704
332
958
876
691
698
407
797
77
938
79
971
968
989
651
29
184
71
498
63
52
556
4
268
926
180
49
199
765
407
629
989
342
275
656
539
804
314
617
760
2
117
254
545
116
836
101
491
916
827
28
111
364
393
524
463
43
386
615
930
581
729
212
65
218
176
727
323
261
62
967
770
346
118
1
182
304
160
501
857
202
473
439
852
752
688
498
719
638
383
398
725
92
876
413
28
358
438
687
822
63
238
93
937
483
406
482
482
336
544
735
109
379
784
60
277
951
458
25
83
670
290
666
950
359
549
594
114
896
375
706
773
164
459
742
132
676
714
707
519
897
363
239
351
143
324
943
530
972
626
942
678
103
406
458
276
37
398
691
526
376
145
567
309
541
560
913
884
632
847
768
782
649
354
729
534
973
813
643
940
60
934
713
462
796
211
959
965
579
175
877
138
341
767
313
264
255
584
660
591
225
146
364
191
557
173
952
512
540
802
186
751
681
826
791
463
323
1000
766
696
956
713
39
439
89
436
728
7
5
25
806
212
446
993
289
200
786
706
182
969
722
711
101
561
455
691
765
77
812
395
200
916
313
306
117
915
833
322
942
985
275
823
602
44
696
708
284
656
289
570
171
951
232
303
731
33
947
961
887
443
241
983
124
748
700
130
859
891
388
211
40
712
554
673
553
293
117
117
862
719
938
595
90
484
815
716
740
416
538
224
379
514
685
949
699
459
213
351
630
37
587
36
447
432
477
845
713
186
175
216
793
17
539
197
531
954
524
235
193
761
918
103
694
257
52
691
465
896
215
392
77
285
317
521
72
963
132
108
337
810
328
433
262
968
460
622
548
910
7
483
16
42
46
483
261
637
603
509
995
283
338
655
109
447
562
661
768
73
575
763
388
698
335
985
501
250
771
522
821
960
547
257
782
297
807
843
273
967
635
49
355
603
757
552
306
373
89
687
144
594
559
411
294
887
125
253
359
910
278
139
908
128
774
617
808
400
640
718
929
795
715
533
402
836
272
99
279
800
739
10
249
523
584
8
556
366
802
898
9
153
523
127
851
414
553
452
699
537
920
652
214
922
433
353
811
28
591
528
73
489
970
585
158
751
605
160
723
621
207
986
140
139
59
576
577
505
696
402
913
929
685
411
263
186
517
626
553
448
997
833
620
801
156
425
21
627
136
161
21
699
398
944
461
120
261
215
992
61
344
377
895
78
10
839
168
437
856
199
854
587
189
977
538
87
815
88
397
124
65
362
878
695
114
23
167
736
383
432
971
22
633
116
780
804
149
525
785
170
374
994
803
695
804
42
48
928
195
119
887
426
28
170
728
787
910
1
552
369
386
193
739
483
643
690
561
979
459
652
87
103
142
396
799
597
172
57
220
816
591
359
915
775
263
519
74
180
964
882
289
551
688
997
760
96
997
113
828
637
372
233
470
198
591
787
638
502
675
240
721
669
729
31
953
191
228
483
912
655
495
940
556
918
575
114
900
22
578
265
26
792
142
747
62
781
697
240
277
601
320
379
758
312
716
353
814
309
619
725
877
200
457
844
949
180
301
34
579
815
120
382
44
604
727
632
484
257
572
374
326
82
90
338
107
559
93
370
613
114
661
876
31
810
923
6
858
617
399
113
126
43
26
611
416
440
611
462
936
638
469
282
477
644
281
290
330
72
170
270
687
555
432
239
356
895
511
343
231
232
146
842
607
773
485
533
316
281
807
603
433
862
928
175
991
72
424
979
458
390
674
18
211
544
881
977
87
190
513
389
523
568
753
724
494
518
121
961
921
288
130
80
387
366
996
789
840
892
908
251
400
805
811
443
51
350
772
867
425
747
710
265
333
379
29
802
553
404
971
298
364
130
265
608
103
456
708
566
255
704
97
183
129
124
362
318
463
704
422
68
197
612
282
86
924
571
986
220
524
173
132
921
409
42
173
878
96
574
996
621
3
83
555
707
789
11
770
418
918
293
23
438
896
95
468
805
325
283
65
240
328
684
862
492
300
404
202
480
752
926
109
619
745
266
582
472
652
283
637
995
209
7
815
26
28
194
394
669
122
558
33
12
203
202
138
726
451
876
492
454
314
859
866
521
968
161
37
625
157
491
289
370
517
55
282
936
907
210
133
767
365
862
824
107
283
693
153
276
464
317
410
790
423
293
747
15
565
263
681
267
279
265
474
201
88
220
623
499
251
944
487
688
498
919
797
483
87
259
709
319
724
458
73
545
835
395
715
389
994
508
333
878
706
637
915
475
383
991
263
563
853
899
183
752
715
755
288
860
594
460
632
45
656
285
595
90
2
733
175
64
131
299
62
363
830
424
408
278
8
888
989
537
5
887
501
781
166
121
914
971
57
652
429
889
800
286
796
599
393
392
436
477
463
722
188
631
509
527
603
857
792
666
529
729
266
660
370
321
236
383
946
960
155
361
432
238
980
404
401
361
711
694
138
508
138
676
36
829
233
194
559
131
323
613
866
592
969
452
462
407
724
140
785
689
886
542
820
419
290
948
726
830
461
601
171
216
279
196
289
805
705
291
20
855
413
289
10
368
219
756
599
873
939
226
644
559
147
270
989
779
943
733
172
573
660
799
162
722
654
630
901
572
334
807
594
967
617
902
620
176
164
233
432
480
310
157
370
429
965
887
433
951
527
960
904
720
243
820
944
755
599
299
35
887
356
288
882
299
64
95
737
937
831
814
334
699
43
731
612
543
656
912
275
632
979
672
339
160
46
592
180
775
232
579
629
11
856
258
139
511
300
174
650
449
825
770
116
94
236
571
20
588
280
624
128
353
762
378
706
325
151
174
925
519
233
895
390
792
408
897
752
423
175
212
578
450
336
662
921
229
547
710
179
544
461
483
134
49
568
628
99
204
264
332
747
59
299
430
19
863
733
309
900
519
860
222
689
211
174
380
471
758
884
984
237
229
557
179
940
6
600
466
311
958
587
389
297
300
352
511
864
54
925
932
887
11
240
253
507
767
343
59
17
574
501
525
566
93
90
948
762
51
467
37
123
76
796
347
419
708
730
596
344
681
47
163
614
1
827
279
496
697
444
589
554
900
628
701
312
62
808
126
712
791
455
882
320
349
874
482
756
364
441
147
414
14
181
271
708
128
411
685
642
540
992
583
515
78
861
335
740
771
801
627
709
653
837
776
469
357
392
640
992
205
174
905
41
618
197
883
486
639
595
477
992
218
334
204
782
889
533
499
976
427
72
165
599
280
505
144
633
774
505
765
267
800
529
280
725
608
513
663
982
851
341
673
377
553
501
412
535
925
719
910
361
475
894
615
563
120
786
72
144
745
951
214
903
977
282
539
650
417
719
635
763
667
591
883
419
758
560
736
533
124
721
954
860
835
850
275
806
381
422
835
494
4
467
653
124
835
571
209
921
120
678
144
364
661
112
681
257
283
42
526
572
28
422
284
193
913
791
2
909
945
86
104
697
598
459
972
375
682
148
703
671
26
425
120
557
980
772
279
109
77
693
153
37
675
935
185
328
172
79
938
40
867
636
627
391
949
742
273
391
782
238
316
246
313
502
501
430
886
548
38
924
449
384
79
624
547
496
889
842
892
792
224
449
433
344
940
176
305
379
562
315
998
651
194
623
121
674
806
824
385
927
490
996
859
907
967
983
75
511
777
273
552
604
396
208
735
171
34
701
789
376
962
917
828
186
394
559
990
761
399
683
857
598
3
822
306
617
65
997
924
444
684
401
585
270
178
312
313
305
74
737
218
753
763
251
318
215
939
422
491
781
213
471
790
270
4
82
674
340
178
258
462
752
812
869
937
86
270
214
731
943
166
928
992
819
352
34
872
596
530
281
109
878
664
797
646
931
823
266
649
469
746
394
53
973
770
559
234
176
828
581
707
982
475
534
717
623
434
958
868
6
923
884
673
134
492
707
272
530
423
933
204
616
517
807
743
697
318
850
972
991
596
147
490
182
587
547
542
374
281
739
332
812
880
650
753
28
965
974
705
498
233
21
681
1
613
43
249
281
242
840
293
286
632
602
887
693
672
271
345
768
694
881
416
18
933
207
370
684
419
52
234
988
771
301
296
905
947
627
673
219
952
863
917
377
778
828
373
157
84
698
152
796
65
385
703
879
300
65
258
698
35
665
520
493
513
900
170
169
745
914
983
293
168
716
926
605
580
335
373
259
5
810
849
807
45
422
334
541
753
495
267
526
207
360
371
726
759
697
360
414
215
576
173
551
838
504
646
703
89
184
868
40
883
164
98
181
812
314
739
745
226
578
376
888
998
365
498
398
296
785
800
357
989
194
687
879
884
81
981
682
553
432
821
742
391
89
779
602
289
199
980
525
434
871
622
536
697
146
657
152
930
51
136
553
921
435
197
516
730
703
504
474
251
352
437
866
49
318
125
309
540
452
297
756
878
20
94
421
546
578
331
689
612
6
185
375
841
392
727
733
388
239
599
984
190
727
479
709
737
891
912
925
387
992
979
809
730
780
577
293
912
154
224
212
959
971
702
542
154
641
181
102
457
544
640
237
719
630
579
603
508
565
969
208
269
351
812
242
705
223
571
1000
811
312
580
765
798
446
687
732
126
266
919
909
415
447
178
530
524
77
421
471
800
684
535
976
694
163
293
192
665
599
25
692
747
48
773
625
265
297
761
531
354
842
291
188
109
654
779
942
852
274
32
435
879
679
552
687
824
983
349
394
735
915
180
708
288
286
367
279
31
792
437
658
425
540
1
610
201
767
901
219
629
355
309
897
812
447
402
658
859
816
498
382
338
425
464
528
890
531
337
916
995
882
774
250
915
532
829
56
273
350
375
732
119
994
564
720
671
668
972
678
902
477
200
465
980
895
678
448
245
158
243
183
639
380
252
33
983
884
67
173
417
756
96
641
315
813
328
26
216
659
113
170
288
997
454
60
707
849
747
287
323
916
591
558
6
83
182
854
917
372
507
711
614
829
63
226
386
640
56
993
151
937
521
401
345
363
595
432
889
422
341
874
622
412
67
995
831
793
332
996
355
329
550
224
470
136
622
788
500
532
842
974
885
810
692
739
837
615
850
335
154
367
255
443
637
343
755
358
126
25
638
570
691
149
22
501
408
552
27
617
891
713
186
324
723
452
58
448
111
764
112
320
853
783
908
135
878
494
939
580
500
394
685
606
676
517
615
632
536
149
864
544
146
413
639
373
58
124
661
618
292
688
326
706
71
995
945
674
131
502
392
729
695
127
750
326
620
137
574
559
699
850
26
858
623
977
248
217
751
518
438
296
181
864
855
130
634
711
844
50
786
712
827
502
256
444
415
317
669
544
239
339
448
346
436
354
871
660
994
246
159
924
78
464
499
392
868
139
671
683
254
276
551
988
150
260
323
215
383
648
590
406
823
9
524
26
664
211
838
58
591
541
22
769
516
996
884
396
743
837
556
884
886
910
380
700
123
582
126
242
643
257
792
710
138
395
130
373
995
100
442
731
569
517
927
280
523
334
337
309
113
825
723
309
791
125
844
101
953
937
182
461
733
413
891
80
995
6
70
367
968
225
518
31
431
679
86
777
311
748
9
848
455
771
195
348
690
656
533
530
35
267
904
334
469
716
9
239
289
41
522
780
450
675
346
472
311
420
950
792
175
335
124
172
220
687
164
759
936
769
382
575
385
398
814
67
721
43
465
876
840
870
44
486
856
330
923
198
901
197
165
160
12
471
241
60
838
672
760
651
493
667
597
172
666
130
224
830
927
777
289
807
604
45
265
416
441
581
335
250
446
725
940
198
203
368
112
81
780
656
898
643
451
846
359
114
942
247
572
788
939
143
804
787
195
243
993
779
465
830
548
371
453
189
616
680
883
853
743
716
223
13
72
650
555
30
393
279
968
858
21
162
663
517
360
80
652
587
822
187
811
949
225
844
676
115
973
652
373
526
133
835
447
759
306
555
281
725
530
281
77
319
7
831
770
285
631
464
923
224
822
588
852
760
349
547
661
797
701
166
607
477
955
254
612
417
661
576
452
937
605
489
544
500
826
238
878
890
125
265
191
501
391
609
389
926
229
140
877
171
863
673
420
986
976
184
749
245
346
226
258
514
951
189
311
383
526
983
220
769
849
238
332
411
599
777
22
737
728
894
343
967
818
934
947
175
481
955
55
398
697
361
946
676
720
213
727
306
886
543
746
463
517
874
217
405
845
389
96
12
732
421
330
766
45
159
331
884
545
724
915
428
672
37
891
499
480
201
29
921
822
420
67
932
393
965
806
171
508
688
291
219
476
99
790
377
44
269
763
978
814
790
977
646
935
493
205
470
246
879
773
738
835
532
1
388
88
575
43
918
675
716
478
902
809
58
562
351
488
664
692
421
641
40
45
71
883
829
511
578
376
729
193
817
759
885
265
568
44
407
476
898
423
457
453
289
711
631
22
963
969
374
913
549
937
668
601
588
708
738
658
273
431
372
142
810
718
870
661
345
87
135
689
593
551
296
541
233
259
900
501
938
368
986
232
149
194
25
798
787
42
590
23
669
733
457
900
830
282
742
241
527
191
915
5
485
330
907
80
938
13
290
538
889
424
799
294
742
745
732
656
673
423
373
3
789
932
235
864
593
461
636
607
756
250
454
78
282
318
659
583
652
659
211
799
720
62
433
850
439
784
958
345
603
807
533
326
139
51
303
596
728
387
675
172
603
921
321
382
801
202
49
214
160
505
691
927
244
150
22
824
118
715
395
78
987
138
835
726
833
840
383
81
569
336
653
527
821
356
17
162
531
710
466
878
477
28
666
725
272
427
906
424
999
932
433
211
761
890
197
349
259
313
76
728
267
640
474
914
272
321
963
832
305
710
598
527
712
495
585
863
224
246
937
5
713
997
409
511
417
579
815
171
379
770
21
438
369
221
144
126
63
166
233
481
347
313
690
805
70
505
990
549
159
156
215
785
212
675
402
944
984
319
945
49
937
238
646
360
137
879
570
904
369
864
22
392
289
567
60
809
807
670
821
27
995
841
169
412
730
991
595
920
464
908
600
544
698
785
344
590
569
755
917
534
517
568
749
983
406
295
210
68
362
841
343
827
747
820
977
686
653
821
890
991
650
180
661
851
860
956
810
912
506
412
470
249
23
679
36
981
22
69
511
671
807
800
148
385
532
597
719
880
525
76
781
711
799
694
560
541
584
868
438
924
277
898
912
760
330
744
300
754
13
636
862
548
623
637
888
441
421
423
477
968
820
289
527
986
229
435
578
333
775
701
220
470
947
687
434
876
484
810
141
920
31
471
892
225
898
172
394
269
329
663
947
808
846
868
381
554
126
545
982
541
39
857
631
137
891
923
712
568
206
884
876
193
58
281
973
758
578
22
11
671
564
26
716
75
696
150
540
350
515
680
803
35
70
477
828
642
899
143
976
842
430
300
596
206
182
737
367
97
828
524
786
550
271
595
283
245
916
811
918
327
211
154
47
831
928
187
396
646
582
869
989
310
761
502
803
672
913
491
757
118
51
288
26
929
298
782
263
551
778
467
551
878
476
563
416
246
906
845
444
665
600
819
160
163
767
414
957
129
638
478
261
10
809
620
263
90
943
570
612
176
515
514
278
334
47
876
718
488
646
460
25
792
753
92
680
241
122
671
906
280
163
359
752
769
350
140
272
814
456
900
427
191
841
827
422
193
501
661
511
853
147
433
609
265
426
219
246
289
155
567
503
19
442
131
502
389
700
805
787
519
817
771
64
464
312
122
382
571
818
381
918
707
436
918
282
496
708
330
500
249
906
752
541
155
400
291
476
655
77
866
329
558
799
426
364
289
347
148
673
574
297
18
468
613
846
784
337
494
278
566
149
561
283
660
369
334
142
871
138
740
877
215
539
105
5
5
483
852
295
778
315
601
167
990
293
308
337
168
417
771
848
279
994
695
343
314
115
433
968
235
775
86
778
430
462
452
872
189
854
876
970
664
259
872
835
267
82
603
323
870
626
305
875
244
359
596
386
122
504
384
762
306
57
252
109
396
842
11
202
27
55
550
660
29
680
587
441
629
958
522
306
211
936
36
13
100
577
91
269
717
381
322
36
251
938
325
283
71
260
135
109
402
839
662
313
620
796
506
752
574
578
649
16
186
499
787
932
214
838
530
591
918
505
810
453
292
283
478
442
629
596
97
775
431
204
624
666
785
637
715
177
846
607
303
557
55
879
8
335
836
21
885
870
276
167
753
353
932
557
91
309
263
688
317
244
380
159
829
438
153
924
809
316
692
543
776
644
434
527
988
568
745
212
782
862
326
252
985
476
196
230
217
969
925
831
759
377
448
14
304
339
87
543
532
996
495
951
51
243
262
7
157
483
343
163
744
191
514
780
458
491
780
778
266
71
358
487
140
406
714
372
725
681
546
571
66
160
367
206
757
174
978
705
891
168
716
29
43
148
386
960
832
83
641
219
645
971
316
665
842
753
951
790
664
981
966
697
115
539
194
92
940
14
439
811
748
700
19
103
855
173
70
411
187
852
319
500
415
936
899
270
448
246
3
302
156
824
252
104
973
280
300
895
534
439
633
205
604
165
627
517
269
805
847
682
683
155
144
324
800
61
821
66
122
143
340
846
812
896
969
728
728
827
218
896
137
50
941
827
641
865
927
228
817
170
598
688
154
692
228
603
514
385
421
242
461
278
918
249
882
777
937
854
688
221
485
630
846
741
325
779
112
505
156
748
241
443
299
530
924
404
399
961
823
393
646
988
257
260
362
652
356
606
661
878
652
563
280
221
406
966
576
295
887
626
670
135
560
894
206
649
918
472
490
120
397
339
162
892
127
451
504
401
189
863
10
319
705
4
792
685
430
29
220
9
302
656
248
184
851
151
656
209
746
634
714
538
45
908
153
675
856
10
205
393
660
841
608
839
809
487
26
254
326
136
939
181
909
51
792
499
666
901
705
261
373
892
962
225
683
687
895
96
153
210
992
62
40
81
289
543
230
372
221
507
561
15
647
693
619
546
665
318
840
40
226
562
346
106
192
968
775
371
559
170
142
419
458
548
977
842
404
267
773
683
83
391
196
927
855
207
879
814
458
804
849
918
801
416
404
448
176
762
751
817
206
168
752
215
860
473
288
933
654
643
996
426
419
325
552
900
179
218
444
111
421
224
476
729
58
281
858
679
720
700
43
802
535
121
333
308
643
555
877
458
215
417
240
951
551
60
746
997
638
310
658
365
266
647
54
595
508
952
96
39
453
367
556
471
855
647
559
96
880
245
429
123
921
615
437
144
468
407
893
354
715
189
249
270
620
97
113
723
200
988
35
329
224
858
393
10
419
851
769
19
434
993
436
580
448
879
287
964
179
997
588
386
930
379
595
40
843
745
986
650
671
712
637
713
143
708
500
596
554
695
109
730
513
821
1000
237
209
530
410
466
191
878
869
214
593
285
377
712
513
850
939
426
361
600
95
770
363
935
133
865
50
509
581
339
568
539
122
40
557
481
688
237
856
908
990
990
664
669
323
270
655
604
189
255
701
740
234
711
221
143
454
883
472
684
274
458
792
190
436
499
735
445
981
351
439
979
65
810
624
471
439
980
972
142
302
195
156
921
150
23
462
368
345
320
610
497
795
231
571
586
672
477
130
476
29
214
570
188
673
121
859
48
260
514
367
309
749
997
207
142
483
571
752
733
383
935
399
817
874
357
783
504
67
415
490
345
523
394
73
555
49
608
424
586
349
814
391
596
454
707
146
558
515
11
827
102
7
930
565
855
780
248
709
667
778
481
805
280
421
480
60
861
839
610
680
74
216
656
916
889
842
331
625
705
248
983
748
627
328
43
280
911
755
747
360
642
747
180
405
88
91
53
240
346
439
164
977
760
296
252
466
369
332
836
552
504
591
829
220
139
723
10
617
46
52
150
210
502
618
844
762
623
194
562
48
369
885
973
740
401
349
768
193
410
937
442
481
28
911
639
94
252
29
498
524
969
890
534
490
711
553
266
845
833
631
531
426
945
909
292
296
956
800
346
312
795
507
590
954
400
128
808
417
714
95
505
860
881
486
875
20
758
97
901
774
964
997
486
364
90
845
56
238
906
800
868
672
572
509
931
315
785
816
817
703
137
630
354
384
136
590
373
536
893
432
933
173
756
94
212
141
364
551
224
187
229
589
370
1000
569
849
364
251
577
520
75
200
6
23
892
770
77
753
283
58
140
437
891
523
891
767
597
887
613
206
153
817
332
719
736
754
213
93
662
540
339
895
486
58
571
571
305
932
333
6
311
915
330
401
530
439
667
303
380
809
321
12
561
628
30
516
762
779
45
235
331
827
313
932
119
224
288
782
636
644
832
48
297
73
83
984
275
307
859
128
598
336
723
421
210
293
166
888
146
298
377
54
574
97
699
657
723
347
497
463
489
839
278
164
127
559
246
259
95
738
634
304
31
665
422
782
763
183
453
756
929
850
565
99
224
195
623
535
23
723
913
912
136
607
675
150
312
717
987
17
501
979
693
60
981
613
315
331
420
813
885
381
839
936
931
332
480
818
122
270
225
296
343
766
257
500
561
580
724
580
734
797
838
784
729
315
373
826
941
234
983
933
270
930
88
187
822
371
126
274
26
551
314
451
966
787
622
808
904
919
340
943
664
257
461
443
417
60
978
270
948
1
691
969
120
449
514
107
296
686
938
341
744
165
324
764
141
677
7
680
361
113
146
585
734
11
636
722
340
945
782
579
163
194
150
734
917
682
460
237
530
639
714
363
417
524
353
809
594
882
250
565
156
856
559
961
987
781
646
661
250
263
830
435
991
235
581
305
249
59
543
957
314
884
716
68
693
261
445
728
373
993
379
540
75
674
611
433
599
677
357
972
719
210
514
606
63
897
892
121
177
812
978
480
55
821
442
510
254
477
498
798
807
624
527
513
691
19
853
257
30
943
119
971
739
678
454
493
774
703
726
288
557
792
376
207
843
282
488
124
683
817
932
320
825
53
762
290
428
592
362
303
616
517
29
42
954
335
899
743
969
895
482
5
392
978
576
183
62
295
945
652
32
934
477
787
813
92
571
604
24
442
479
113
580
920
682
841
489
295
689
76
740
974
387
773
748
394
149
584
535
750
491
60
669
61
593
919
444
636
893
487
844
368
534
795
816
204
719
155
171
933
211
416
241
809
846
164
405
131
81
900
599
235
945
214
406
297
299
54
707
689
302
891
429
220
815
117
207
793
330
985
24
301
707
516
676
292
38
940
603
840
297
602
439
819
603
898
75
553
122
845
54
314
346
246
183
540
501
124
791
141
925
392
627
5
283
84
660
109
407
640
673
974
513
692
685
789
897
171
144
294
635
291
681
403
940
662
510
403
949
675
32
821
126
118
981
997
400
286
402
207
318
763
994
525
515
68
183
420
350
729
387
618
445
487
611
805
432
501
835
751
999
324
565
280
361
38
291
49
996
737
85
243
707
535
814
263
332
517
902
753
323
394
644
473
648
765
936
407
212
603
417
73
346
971
326
787
754
888
119
577
540
941
143
991
273
852
361
582
381
987
708
583
514
680
889
241
616
647
408
230
378
326
677
321
166
126
545
741
988
196
575
500
365
10
502
676
567
34
834
325
833
862
70
581
68
261
708
57
579
771
139
748
487
778
15
785
156
134
171
733
966
722
830
562
815
693
956
841
411
615
355
574
189
407
141
63
646
438
411
780
967
48
415
950
851
158
446
318
885
352
838
189
14
682
21
322
493
997
203
634
151
862
848
144
199
609
952
925
735
150
90
445
108
825
259
73
99
759
914
135
377
633
207
764
502
364
933
505
215
849
612
695
282
738
87
439
550
805
984
527
861
547
804
193
720
434
69
680
739
276
560
774
823
830
631
623
560
404
66
643
38
751
977
70
967
23
776
858
706
35
677
567
622
183
471
371
960
586
73
237
649
884
191
14
504
959
469
400
731
849
181
248
275
696
693
29
903
477
233
890
831
749
599
158
771
890
319
18
927
375
892
582
93
427
97
420
594
37
296
970
204
546
461
25
36
517
533
665
536
702
698
375
795
165
69
475
567
473
506
274
681
785
72
190
6
578
815
98
432
596
662
489
949
980
465
412
72
140
931
752
411
343
538
319
238
472
362
412
868
925
726
817
745
279
256
103
10
729
935
715
701
162
682
149
374
136
340
655
751
619
606
24
199
417
109
398
161
678
376
718
534
474
969
100
796
742
818
280
86
4
724
352
678
302
360
465
383
406
702
659
792
29
351
275
519
648
864
342
691
133
841
90
356
838
957
889
650
841
55
378
332
8
364
437
451
121
420
145
776
209
192
32
539
401
910
61
328
557
578
549
322
984
984
335
845
284
201
563
404
168
279
854
102
234
904
418
691
814
627
438
294
906
533
87
592
516
824
369
902
202
393
521
155
272
894
18
446
54
17
263
148
69
929
378
176
360
45
984
618
965
251
746
904
889
935
339
886
691
831
789
932
736
8
689
877
210
697
517
489
188
792
976
648
344
70
382
50
642
538
500
301
43
985
499
475
926
664
527
979
428
236
565
40
806
831
903
148
906
164
573
229
721
158
963
783
218
33
165
792
235
154
82
312
903
609
318
496
133
216
902
452
522
246
682
146
399
347
929
656
30
957
929
339
874
118
39
83
414
272
804
671
565
727
491
537
331
197
262
548
938
977
690
791
222
559
270
371
120
600
366
915
191
102
150
533
809
790
740
497
632
407
968
916
666
36
318
960
557
297
100
353
331
521
269
46
799
389
835
695
755
870
757
785
233
342
5
330
724
670
169
8
820
503
596
107
727
684
247
719
178
809
728
286
762
809
579
411
951
453
801
962
509
20
677
383
121
751
443
996
360
912
388
29
897
711
443
795
887
255
652
408
868
107
521
450
578
663
442
148
115
91
936
357
628
153
6
466
650
855
955
637
191
550
879
258
168
884
1000
519
865
173
117
323
544
904
384
142
889
236
168
458
577
814
464
758
500
36
282
611
420
563
263
369
772
600
312
71
944
623
844
437
68
73
60
504
206
862
809
186
308
678
209
317
180
503
902
605
332
56
749
106
133
302
465
90
556
210
887
62
568
710
4
753
700
116
727
986
93
794
524
878
276
520
984
109
401
147
99
358
453
799
785
693
351
64
273
30
612
543
700
843
642
17
499
732
65
855
104
951
186
338
415
294
788
664
909
213
852
278
990
989
395
545
374
158
419
312
487
845
831
931
800
749
420
618
857
644
407
678
824
4
950
6
200
922
646
920
132
540
345
810
663
224
226
181
150
932
137
123
94
832
522
953
671
488
317
251
725
419
550
784
513
589
970
585
205
51
148
669
67
654
376
318
183
635
147
293
600
67
567
668
220
470
481
156
716
30
761
925
548
992
591
723
344
755
291
898
178
548
403
927
49
316
24
611
91
135
590
924
323
278
175
794
712
447
558
569
193
777
597
594
882
84
67
184
948
414
136
223
723
953
379
336
362
152
218
400
283
163
433
477
791
230
885
327
836
370
355
163
216
102
660
139
910
820
809
133
834
897
828
784
374
740
455
733
184
377
577
689
394
5
687
549
677
648
783
527
40
678
331
764
840
837
118
13
748
425
397
16
799
330
44
774
756
649
751
564
565
129
868
639
595
712
236
972
873
472
623
58
883
938
865
855
848
517
412
675
168
703
776
214
675
407
491
635
745
515
634
565
822
378
278
27
304
958
337
320
583
438
655
132
860
17
443
279
366
174
924
486
451
276
270
891
913
198
47
402
529
333
423
455
698
527
930
468
183
11
790
69
757
104
702
861
877
872
931
850
26
633
661
938
96
279
213
92
590
5
130
445
248
33
878
786
872
884
423
825
821
157
556
90
742
758
499
753
350
53
402
803
589
62
900
488
707
272
896
774
364
374
96
834
187
607
806
651
804
667
312
689
690
308
706
995
124
835
130
85
631
385
708
674
132
5
892
350
765
506
680
925
636
690
501
434
949
82
376
723
289
589
593
61
134
199
712
776
779
52
832
739
783
424
722
684
218
943
668
383
726
722
848
207
289
119
419
247
194
864
122
554
667
320
872
225
495
971
698
679
694
482
774
974
148
995
676
856
277
454
865
643
903
506
687
315
14
595
293
619
746
211
684
162
955
574
258
93
830
144
751
827
697
823
116
197
612
70
662
714
328
317
108
118
656
285
962
876
757
71
881
546
612
189
68
680
947
315
436
886
1000
472
506
11
158
844
145
90
956
786
810
146
325
744
778
407
724
463
870
224
764
781
799
300
645
735
305
442
9
188
210
550
962
425
233
224
858
302
811
694
831
558
96
330
14
112
790
581
854
468
948
304
158
882
660
924
267
923
374
378
573
396
186
879
822
772
200
228
583
289
27
593
989
913
684
17
537
664
974
962
281
713
890
109
303
956
57
662
314
238
524
135
617
605
159
267
158
792
472
748
45
716
609
32
186
309
810
717
874
188
642
904
936
223
63
539
131
111
429
391
858
205
311
210
198
594
370
543
36
809
87
337
401
616
572
913
939
807
667
54
49
14
446
97
834
690
190
56
999
370
751
746
782
264
424
194
46
427
482
936
863
192
128
166
915
6
124
87
141
847
819
555
278
16
318
561
672
414
835
249
264
324
776
360
8
753
865
973
517
804
558
181
219
369
703
813
86
878
875
866
292
950
689
940
813
911
568
687
64
614
620
826
468
683
117
715
140
682
830
25
535
55
662
134
602
767
117
19
864
653
43
280
161
675
630
565
247
313
184
769
21
181
960
426
302
527
350
927
598
450
817
495
170
573
157
521
98
360
931
973
791
639
931
706
384
306
606
434
441
57
41
628
194
933
999
538
136
173
827
160
559
332
150
970
597
4
308
702
25
979
365
956
17
547
238
648
444
288
460
516
65
909
230
315
194
807
326
272
721
360
456
351
80
101
267
319
514
512
144
889
807
862
8
742
768
942
633
32
512
861
905
100
779
175
1000
408
58
52
225
680
626
116
601
30
801
558
473
479
749
203
941
136
751
889
772
398
151
17
906
973
127
35
478
461
27
805
913
757
949
609
494
417
354
856
930
372
374
654
272
449
30
887
294
542
30
512
976
941
751
244
650
240
757
801
150
234
51
353
409
224
372
684
277
184
115
160
545
867
841
746
650
684
388
433
152
713
871
878
141
786
744
496
304
624
371
758
391
378
278
703
770
654
749
852
421
872
73
460
669
418
668
279
976
669
524
638
390
73
581
377
395
273
445
650
773
700
348
54
912
570
615
339
396
871
346
566
253
146
529
544
213
137
267
928
706
461
428
285
717
464
439
872
510
327
95
442
617
360
567
954
464
334
832
923
328
560
831
559
426
430
920
145
236
818
922
906
681
878
649
394
76
491
31
949
778
112
731
864
16
542
862
66
311
602
365
506
913
114
528
325
253
88
95
924
748
401
422
667
641
296
749
819
895
991
288
138
980
833
545
419
548
260
447
632
300
244
803
856
273
73
598
31
582
357
566
471
7
986
416
589
755
94
871
607
20
711
756
309
696
968
90
324
126
135
276
575
588
75
717
263
839
918
293
282
731
697
462
992
699
801
665
2
522
921
568
214
514
738
857
226
861
883
989
822
417
227
792
171
421
812
122
235
626
274
578
102
585
361
422
779
179
211
846
314
953
319
609
375
158
942
498
463
440
172
335
933
547
526
641
240
842
883
176
425
534
735
735
236
441
477
347
205
832
973
388
223
603
728
110
630
910
61
197
846
326
573
209
365
646
718
324
827
174
196
206
844
307
157
842
607
544
685
177
671
151
686
85
616
184
753
834
852
809
558
178
992
573
88
604
986
229
38
896
980
991
89
783
222
1000
109
434
940
858
492
311
301
240
43
641
15
555
991
220
176
211
429
84
616
45
680
492
479
104
236
892
883
822
430
644
503
487
989
532
857
996
679
623
395
140
968
147
758
246
846
777
472
541
189
134
221
344
392
924
783
593
805
540
495
944
966
793
143
349
499
294
883
3
467
325
950
789
960
539
487
404
314
216
166
365
417
708
747
636
569
536
64
245
500
731
866
709
313
395
961
533
618
525
72
724
446
415
956
530
349
28
928
846
138
332
509
400
600
712
126
758
846
705
655
208
263
439
584
101
137
747
652
163
706
313
415
469
450
491
3
956
561
432
50
155
768
410
86
950
69
710
625
30
882
188
553
665
575
552
971
818
756
501
854
921
771
211
292
586
752
129
326
492
504
946
334
202
338
951
279
996
662
903
709
316
424
924
638
590
903
723
646
932
506
995
329
619
77
965
627
6
913
918
946
208
930
309
983
6
640
201
429
117
600
696
178
349
535
259
158
775
270
106
51
856
302
166
253
215
344
159
97
487
16
46
392
941
799
567
248
129
331
171
75
601
946
29
126
846
386
341
453
326
637
541
94
551
902
564
626
874
342
739
595
368
378
388
32
436
704
866
426
298
720
650
154
753
342
708
153
548
194
537
649
874
141
101
150
543
420
539
408
10
573
269
706
902
25
1000
869
681
413
685
454
33
582
445
309
984
135
633
443
436
447
752
404
891
868
129
267
367
294
138
611
365
257
369
763
712
310
667
393
946
752
499
489
299
938
680
970
678
862
412
948
581
767
424
314
687
739
688
123
227
324
382
688
275
483
998
509
799
142
776
854
230
29
948
87
477
309
956
911
718
155
794
845
397
200
689
22
562
771
365
606
873
175
193
73
556
201
439
441
743
112
20
824
726
220
386
346
371
842
938
727
422
672
914
655
368
475
415
338
154
983
823
555
222
437
212
457
843
79
302
971
248
739
270
984
531
358
561
676
104
719
642
45
747
471
300
69
96
856
612
541
80
899
652
899
566
106
542
614
3
136
520
900
400
284
541
638
657
634
283
795
276
83
997
512
516
414
533
842
792
764
870
986
786
789
87
46
329
892
875
663
388
350
782
606
750
924
773
422
334
416
437
423
678
41
773
489
265
247
292
831
985
291
371
760
109
790
871
981
352
956
924
709
534
498
264
599
929
981
148
371
32
684
62
357
89
370
879
973
844
749
441
445
129
367
366
24
388
396
711
710
115
446
655
126
622
855
673
325
99
839
303
59
875
245
391
11
477
196
471
742
258
822
354
667
129
437
820
394
504
65
798
319
903
605
650
460
492
586
921
950
213
558
762
754
824
230
403
411
132
347
873
593
767
363
392
449
143
576
466
317
651
518
36
249
938
420
934
872
443
486
858
96
919
263
660
591
348
106
917
812
476
231
265
651
622
664
280
7
112
688
405
403
334
442
937
662
220
317
612
293
913
475
974
900
604
608
723
822
88
989
865
761
515
698
108
241
18
220
372
122
119
930
557
204
878
948
809
353
133
662
31
714
731
553
152
543
89
628
902
65
312
126
975
356
165
693
705
844
903
761
247
163
708
94
116
911
550
156
998
149
266
443
269
286
178
883
902
32
4
738
637
446
434
893
577
928
874
556
305
810
73
134
552
218
407
791
137
154
388
328
70
473
519
316
195
273
258
658
116
941
881
147
272
32
165
126
75
495
732
425
18
547
789
883
190
812
131
761
480
599
741
68
592
731
765
609
445
913
853
274
867
184
806
438
968
117
655
502
847
114
313
676
876
465
901
13
45
836
782
411
700
372
874
51
622
57
955
896
583
239
923
499
942
920
199
109
551
524
770
96
17
873
968
676
177
171
840
63
315
724
297
889
666
390
522
906
678
512
717
768
621
787
303
380
43
682
767
188
729
341
437
11
200
192
366
113
267
909
693
284
747
433
741
124
317
565
348
133
417
899
761
780
467
340
61
398
496
645
46
1000
686
176
691
916
203
969
459
44
224
664
250
275
156
213
393
796
390
993
742
72
362
505
499
388
394
550
938
920
851
612
763
568
777
625
759
957
369
31
444
493
869
971
579
899
966
862
490
310
360
103
635
742
78
77
799
791
317
152
980
944
34
345
538
696
794
515
576
304
475
582
539
693
469
754
865
364
609
814
819
836
897
768
42
419
536
836
518
509
132
41
496
938
55
445
514
225
386
894
604
591
632
146
3
265
777
805
451
705
734
275
647
622
888
614
729
292
341
343
83
819
469
392
13
563
932
121
288
490
869
31
616
847
250
748
184
152
59
193
174
87
659
315
214
259
33
124
239
707
485
411
594
893
475
524
362
917
55
517
461
838
261
800
3
923
214
194
378
289
820
679
349
203
275
505
68
74
375
662
962
890
900
339
246
208
233
367
745
535
130
960
238
621
809
209
595
227
995
688
262
229
327
915
900
962
224
457
593
53
164
698
387
809
122
184
684
648
663
143
821
44
527
840
558
629
921
794
589
770
707
341
834
836
657
682
340
672
714
584
494
420
316
674
857
54
350
446
143
373
189
993
84
247
773
322
184
223
556
38
64
43
648
437
547
407
407
65
295
244
607
205
190
183
359
192
788
149
335
505
155
951
307
982
676
872
286
147
752
816
851
476
169
326
913
998
361
690
229
799
500
242
316
983
196
581
685
704
746
184
925
365
641
59
726
741
258
38
310
230
37
779
700
275
559
686
945
62
683
660
628
826
433
787
83
988
310
954
290
889
68
782
818
302
547
802
93
429
673
318
859
706
100
636
632
389
835
803
460
883
697
236
512
11
850
658
383
707
462
203
52
376
653
903
946
546
587
512
567
470
990
999
601
117
715
299
457
644
854
743
583
127
728
886
294
592
527
982
496
614
907
183
680
996
877
324
478
312
302
432
61
308
649
247
642
465
252
15
217
815
317
209
229
629
77
131
900
714
159
817
424
384
227
762
271
140
299
447
4
704
613
309
81
188
493
789
6
466
612
993
495
518
581
481
127
348
938
386
955
684
261
782
814
916
777
273
510
53
725
181
302
866
856
786
27
741
514
609
902
200
868
630
536
993
206
353
116
778
20
386
493
268
642
587
640
158
741
688
107
962
85
399
748
788
667
732
749
263
18
649
888
147
10
335
951
90
977
892
905
779
547
585
773
60
609
629
170
191
944
338
206
380
801
979
808
226
392
4
178
809
158
466
590
29
917
317
815
259
161
846
128
857
340
378
559
371
61
476
656
18
828
903
852
432
426
466
515
466
953
215
232
67
271
56
730
591
218
899
42
126
578
513
47
680
200
810
936
135
520
744
116
224
561
818
266
395
308
465
944
524
392
204
223
726
972
736
998
132
581
137
646
120
388
548
473
880
367
682
90
895
469
484
5
556
552
599
462
465
945
457
807
433
405
789
200
8
731
58
261
411
825
281
3
592
35
795
1
748
586
492
702
388
667
524
307
794
864
407
952
739
227
72
346
321
386
653
308
203
707
69
276
822
567
116
46
748
853
513
330
476
828
934
398
567
350
566
296
377
248
852
791
143
84
559
722
494
196
168
693
95
678
655
895
997
508
943
705
188
166
329
755
22
800
973
412
645
686
56
459
608
319
638
489
111
420
92
189
203
832
469
302
696
548
749
572
310
386
35
114
601
111
523
633
392
454
102
226
343
969
99
612
666
190
187
775
397
446
957
470
398
442
307
836
210
924
536
271
36
662
41
998
931
693
803
119
848
456
114
184
132
519
298
157
569
329
406
549
263
90
319
861
455
517
512
508
77
629
777
116
774
381
490
890
880
225
371
817
471
79
614
454
334
602
185
535
374
294
365
705
830
867
436
859
563
311
863
129
639
247
172
429
620
787
358
331
852
434
101
438
387
500
905
242
942
722
35
29
231
510
31
492
420
716
819
241
114
907
920
200
752
655
920
577
74
346
737
245
308
222
848
646
592
105
492
369
181
657
690
842
904
862
785
162
636
971
689
226
30
145
405
814
353
639
58
349
843
514
278
27
316
913
544
988
164
605
781
384
999
664
720
691
475
114
992
738
18
254
366
492
337
859
110
157
508
250
863
444
246
195
308
98
367
963
598
559
837
8
315
574
777
650
783
286
890
758
972
774
155
325
984
170
304
958
689
559
71
992
586
532
898
874
745
604
776
960
53
532
216
182
45
771
866
876
529
962
660
77
679
919
92
613
853
734
386
841
240
770
169
488
507
673
637
587
166
622
211
728
120
554
331
343
935
501
919
290
648
240
466
408
825
371
35
352
606
766
92
392
455
138
837
358
858
408
168
260
297
482
243
958
38
409
183
466
443
188
402
97
314
58
274
511
50
795
920
199
271
355
231
328
335
249
573
307
547
131
40
701
759
739
566
964
540
374
998
410
647
748
48
194
155
206
583
864
72
235
820
540
457
788
499
500
579
773
995
447
59
855
762
624
299
233
714
123
873
500
154
286
129
984
559
454
406
16
552
788
974
251
761
418
427
569
698
278
616
184
253
855
977
929
262
993
803
379
235
61
824
163
20
984
853
846
563
810
825
365
966
666
963
90
454
965
604
91
765
395
165
748
551
801
969
772
647
571
363
66
717
248
911
249
196
996
412
153
654
305
224
439
761
839
119
987
32
301
845
202
820
428
337
876
728
18
333
272
327
869
656
993
910
636
346
543
544
264
969
717
26
23
317
654
248
213
826
276
291
148
338
128
450
683
643
396
456
452
765
517
465
714
698
802
608
77
279
875
570
224
626
255
270
11
166
924
775
996
564
511
606
708
392
763
518
467
871
566
441
71
817
797
345
545
623
858
812
453
158
132
747
480
342
50
859
48
199
690
255
691
661
742
546
550
805
298
799
519
471
433
752
262
817
127
15
969
149
154
60
795
224
319
621
349
993
93
24
557
596
9
458
83
650
545
881
43
725
257
407
999
253
144
166
322
395
575
517
698
866
570
728
611
645
440
221
363
785
169
316
602
398
232
119
856
408
810
657
496
194
113
440
116
141
163
923
456
812
653
581
491
507
300
258
998
124
980
604
146
795
612
179
920
589
703
847
523
48
839
932
573
715
160
665
944
818
554
83
399
370
130
938
861
419
974
509
274
673
567
266
781
56
672
554
1
398
697
385
941
425
355
579
565
677
748
612
168
4
176
819
7
304
388
723
727
746
595
102
67
138
825
672
524
644
302
156
118
376
39
109
444
720
665
768
573
33
80
293
336
777
497
546
484
134
299
250
926
890
536
873
965
148
499
386
26
489
827
61
535
568
109
897
558
18
850
342
898
401
904
104
417
961
717
103
734
184
2
916
297
734
749
200
666
300
39
923
943
157
613
636
426
555
999
314
271
103
261
537
522
562
375
498
980
691
453
922
830
574
188
699
617
548
136
848
664
783
22
323
133
296
768
188
883
395
364
160
153
808
423
845
505
991
84
691
94
28
123
884
35
952
369
227
321
898
219
309
94
299
483
813
126
532
108
423
584
961
629
622
100
347
135
538
971
888
157
819
571
777
485
577
927
571
732
783
28
427
267
425
815
500
15
135
221
141
126
712
327
939
668
923
678
417
427
551
558
745
857
569
629
63
677
146
833
328
997
619
776
383
542
719
241
814
58
506
23
606
831
122
321
678
205
125
369
787
463
998
268
474
140
843
645
852
463
202
314
290
747
583
337
63
559
39
89
640
265
481
867
522
983
832
850
95
508
512
647
451
861
317
744
906
695
957
901
336
574
837
877
665
126
537
671
578
603
526
867
124
881
652
633
539
105
79
2
626
219
540
475
479
714
612
390
511
560
628
989
953
180
578
179
612
393
446
351
733
830
776
295
675
877
641
41
148
736
149
229
797
414
241
161
59
178
323
588
573
274
640
575
362
705
499
421
220
944
148
108
617
834
536
370
828
166
830
95
925
891
415
446
511
121
997
236
785
969
747
416
275
999
751
300
727
723
275
771
479
198
260
162
340
957
493
666
585
485
379
108
958
480
582
976
385
972
98
242
926
545
371
198
159
172
38
732
933
784
531
102
325
144
554
27
939
192
81
831
949
342
704
150
312
642
590
435
54
439
165
819
214
290
246
808
701
634
149
130
123
229
926
589
133
386
529
967
774
12
774
69
524
101
990
781
280
911
108
529
449
236
762
280
167
404
434
828
857
342
941
120
337
934
250
342
409
984
216
351
619
582
287
369
577
506
344
91
229
741
191
525
630
530
394
20
354
258
55
840
975
189
746
981
727
970
189
445
102
779
620
889
754
657
242
954
869
742
468
959
590
674
186
635
162
954
185
806
563
206
399
325
713
634
413
859
583
536
281
277
557
601
918
941
738
818
111
820
741
482
815
60
791
149
275
490
370
888
848
467
704
400
790
288
979
612
761
180
985
603
616
142
816
577
834
444
447
877
961
433
785
968
329
44
65
977
946
47
291
504
867
682
662
395
522
887
85
450
774
661
490
676
596
653
241
287
368
397
776
258
81
519
651
589
604
324
623
848
357
61
132
669
804
818
358
962
618
928
380
148
290
71
893
14
797
464
228
589
990
618
151
442
952
454
965
845
17
668
185
457
412
900
967
53
122
791
785
593
661
117
861
536
92
642
121
7
228
202
221
348
799
192
860
952
146
792
893
68
127
497
75
954
700
947
128
456
506
817
509
625
371
464
12
422
30
417
387
950
19
197
53
456
806
822
28
10
731
165
747
338
340
749
579
625
319
876
640
869
670
619
649
771
138
619
909
731
670
187
112
21
586
797
339
859
396
366
300
219
444
429
910
669
192
544
574
936
550
98
960
18
485
403
460
388
121
809
832
368
849
341
946
983
323
578
260
461
991
147
696
652
146
417
350
603
7
478
378
354
319
857
872
364
893
396
735
802
177
722
176
775
610
286
867
858
889
741
305
14
848
828
509
466
588
162
563
950
381
381
135
166
142
802
450
587
576
359
765
756
313
389
935
98
42
883
105
702
835
702
665
260
590
642
489
74
383
5
570
122
827
403
284
557
567
268
427
331
665
906
136
953
841
888
592
839
861
147
544
465
615
136
962
675
557
332
875
958
916
870
643
866
710
301
774
519
935
928
248
470
900
285
756
321
712
417
327
460
449
184
511
434
824
996
952
665
671
739
805
82
818
40
91
829
612
337
22
531
556
873
209
795
459
877
406
150
924
564
338
298
14
212
331
457
889
519
89
558
141
889
751
308
840
225
923
16
108
599
229
389
595
571
490
348
153
579
411
380
362
103
22
263
625
498
268
866
90
48
623
76
234
366
515
274
550
946
6
662
599
808
65
453
86
761
540
105
101
557
176
704
282
442
306
614
816
890
821
562
716
518
42
247
291
431
950
702
105
818
874
813
213
473
980
649
123
368
348
376
697
767
127
646
316
393
564
341
941
688
789
695
347
131
901
791
75
556
173
565
632
421
464
311
458
906
762
511
832
1000
428
106
537
678
365
111
69
254
235
318
540
942
531
831
229
530
958
757
686
530
91
860
765
635
414
995
199
463
397
169
129
626
1
984
336
827
984
773
81
965
769
322
537
250
717
950
486
972
895
437
916
716
422
597
876
896
869
85
818
480
82
921
625
382
968
814
509
404
609
805
310
873
236
291
858
498
628
422
214
328
871
844
16
316
564
482
979
344
774
383
326
245
142
679
131
17
240
752
221
87
228
726
128
607
22
854
802
715
279
952
7
683
399
18
293
837
943
65
636
834
291
341
190
123
773
136
780
934
462
392
194
535
412
821
662
475
359
602
267
709
409
123
594
719
116
821
109
584
644
82
232
167
370
758
954
359
698
775
474
609
982
786
914
620
872
460
131
884
394
425
781
634
454
411
669
112
917
607
45
97
889
862
731
745
610
633
971
601
884
15
897
341
810
697
653
523
244
745
601
981
42
433
273
159
472
615
594
990
617
253
859
943
476
415
420
894
824
574
19
293
76
153
195
206
39
431
107
975
326
624
567
135
842
648
816
127
548
635
679
705
190
12
272
829
480
675
518
769
905
997
903
538
334
905
809
781
565
997
655
733
152
286
827
459
16
659
307
508
663
476
158
655
959
280
373
318
76
905
113
63
614
780
925
851
497
681
41
784
398
890
267
619
544
457
631
145
492
42
797
388
649
639
690
102
107
311
530
987
89
827
572
618
459
467
744
178
735
12
42
902
217
186
86
857
870
906
578
371
815
622
173
521
637
726
296
78
126
740
604
696
859
27
956
138
191
197
961
781
610
305
812
246
967
729
633
360
767
591
829
675
864
779
288
312
519
285
927
689
130
500
655
59
70
106
540
489
538
344
649
824
905
336
334
69
5
299
278
486
741
122
95
367
273
823
312
778
653
761
969
281
216
177
326
671
586
740
93
734
441
470
697
711
474
881
378
806
838
405
396
299
475
722
129
255
128
98
710
223
525
979
970
622
338
228
505
771
456
222
369
659
158
638
825
140
427
463
264
689
715
492
125
545
697
943
537
764
695
29
880
252
705
220
540
365
315
295
670
646
184
672
462
792
863
252
292
292
525
571
957
681
70
834
9
543
396
356
826
247
987
184
889
860
458
618
9
541
291
901
811
468
237
210
132
19
277
750
169
344
382
881
521
435
789
332
379
513
791
179
70
525
98
242
443
332
499
242
301
606
204
725
720
205
516
187
393
491
917
410
143
319
815
524
543
895
120
147
915
674
934
508
92
379
150
196
608
671
795
892
582
337
922
660
778
514
129
89
522
31
726
894
236
166
539
806
585
330
84
558
423
113
605
439
729
533
328
655
804
858
981
549
743
805
631
816
165
533
901
271
386
972
672
858
655
290
921
858
520
534
867
829
735
462
839
979
634
90
165
623
302
748
664
830
652
298
1
319
911
908
575
782
904
324
695
916
470
721
757
82
299
108
985
418
60
116
37
135
581
327
755
649
319
124
327
417
311
549
924
202
767
608
998
846
698
53
758
813
765
786
387
862
384
44
241
131
724
218
781
686
827
627
377
108
2
188
50
393
77
963
536
623
87
983
97
628
817
369
722
550
299
245
87
634
669
445
438
579
799
926
967
853
488
719
688
813
225
968
436
207
223
47
24
696
762
58
856
497
781
133
380
401
589
968
234
190
329
473
267
830
582
98
476
969
534
620
487
496
647
652
35
420
936
297
211
959
90
58
49
807
523
435
773
117
253
800
442
493
552
383
518
313
573
46
427
409
798
759
110
348
897
403
507
183
512
974
225
432
892
437
718
767
38
726
487
414
263
379
506
588
715
426
704
294
817
32
166
518
209
886
632
321
795
625
618
381
622
261
198
170
63
426
310
416
705
957
675
938
428
398
592
426
253
32
798
300
72
623
679
40
585
350
970
216
495
213
153
692
655
916
810
2
300
961
834
781
109
188
34
478
145
936
545
391
362
822
70
950
374
133
961
853
192
826
48
814
755
429
906
476
213
847
674
597
4
584
616
701
333
966
892
6
28
772
85
722
547
1000
509
972
695
974
97
9
394
313
698
716
335
934
150
349
678
735
392
163
573
318
382
450
122
411
702
860
627
110
210
572
855
157
911
778
623
985
408
609
83
358
2
412
742
559
920
620
834
333
541
563
146
454
382
404
108
568
360
121
114
820
159
443
176
655
583
22
440
895
187
776
123
955
54
815
122
519
927
603
606
808
252
669
758
531
463
854
33
330
1000
987
604
899
638
830
768
158
266
904
997
837
924
32
311
309
979
475
297
361
661
314
142
851
878
605
495
75
846
860
61
963
587
101
525
314
926
546
475
665
551
39
169
805
71
355
375
144
628
53
585
231
649
523
499
287
564
576
184
778
199
886
138
864
247
555
42
185
281
174
356
474
38
483
494
238
826
280
782
763
780
986
258
937
833
42
431
672
34
831
944
483
350
531
557
95
635
980
950
94
560
562
37
137
359
56
485
465
434
877
257
269
908
945
455
908
705
962
920
178
748
259
977
967
185
784
386
335
85
874
798
885
170
561
216
620
231
846
924
458
46
180
645
726
30
645
433
551
571
764
777
934
586
446
505
244
149
150
99
808
191
535
989
770
888
987
65
22
785
958
977
229
751
830
497
422
114
746
377
529
304
139
744
637
956
778
892
398
954
747
124
561
89
473
521
526
78
101
843
772
397
484
321
27
334
770
75
922
449
143
68
362
778
324
261
717
243
44
762
509
408
494
737
387
625
722
206
410
664
110
174
548
926
854
133
876
621
976
344
998
357
679
41
135
685
326
709
961
726
582
717
759
1
38
506
136
323
771
24
11
241
620
887
394
447
568
921
30
707
930
167
299
341
370
954
745
871
189
406
790
482
286
275
496
760
165
746
546
857
446
354
293
258
449
691
414
789
292
706
130
606
894
653
158
616
915
93
402
415
176
761
698
901
289
444
591
512
231
788
101
561
831
803
144
842
390
890
312
30
282
898
548
645
235
394
766
580
921
373
928
94
63
653
724
980
31
913
421
135
503
368
434
546
605
584
755
583
870
720
479
548
44
16
805
834
612
859
125
316
792
376
568
240
83
275
891
734
681
951
723
720
936
742
98
677
447
552
752
647
228
169
631
47
181
393
262
1
361
854
101
717
695
792
459
544
899
468
95
269
465
881
824
301
250
800
898
414
793
434
17
776
860
951
792
614
456
357
744
12
355
546
391
1
159
616
132
481
307
959
764
484
952
993
530
948
45
34
900
471
446
546
173
761
813
914
56
809
425
36
504
128
53
236
537
781
444
255
963
523
225
799
501
12
269
514
558
368
233
92
506
797
894
801
813
309
690
90
950
211
446
127
800
585
828
197
831
478
689
980
111
575
617
662
804
113
479
160
470
712
615
273
397
24
237
106
268
684
629
899
436
151
626
156
4
659
46
109
740
941
609
40
886
228
489
395
863
600
270
961
239
240
811
274
220
490
964
741
949
130
37
80
402
618
72
573
635
404
378
641
49
527
917
554
905
419
31
966
988
15
19
130
806
439
89
885
258
490
633
593
774
893
503
644
612
964
696
739
964
640
418
557
798
720
864
456
87
923
82
413
499
236
823
143
486
958
218
625
581
288
12
963
864
770
228
550
425
906
910
600
510
732
841
686
602
114
527
669
413
85
784
634
455
811
375
332
887
59
146
13
910
712
438
839
237
127
318
415
574
240
101
603
531
181
40
34
941
228
39
92
134
199
572
888
536
544
599
975
592
51
586
9
962
149
383
769
848
82
860
90
808
11
87
549
694
307
543
480
630
258
133
380
423
82
938
332
259
810
696
630
700
259
171
460
373
356
214
472
956
957
404
493
696
402
898
386
570
594
834
653
920
612
343
451
93
740
905
207
300
228
311
615
178
152
290
655
705
964
347
589
20
553
817
90
950
239
686
669
188
651
200
371
170
17
627
15
24
365
58
474
514
65
191
984
679
899
724
561
983
965
95
969
283
836
149
533
349
888
274
847
310
948
515
806
106
299
521
811
218
27
370
156
124
398
7
268
232
795
817
42
599
895
535
630
657
454
446
863
883
268
779
710
681
406
91
853
689
853
124
368
274
525
610
685
793
877
354
925
245
920
120
458
229
282
181
885
982
419
209
931
469
800
779
186
440
852
722
599
220
629
829
7
531
290
830
996
266
336
26
566
766
90
479
343
339
781
481
221
490
202
490
90
157
987
13
222
765
463
642
777
307
813
219
167
691
96
354
664
334
986
730
267
396
484
66
408
552
505
435
427
467
570
942
29
992
197
343
707
932
836
97
769
383
449
666
722
540
345
727
161
174
418
594
866
51
188
226
64
537
383
887
100
18
117
533
396
261
85
916
575
119
918
275
926
713
391
982
937
317
437
55
660
844
124
65
77
684
606
50
124
639
198
954
208
598
705
403
180
267
220
258
479
636
456
31
188
744
160
538
963
227
501
693
861
735
576
269
659
297
140
609
79
370
187
764
624
765
400
900
121
798
315
932
458
936
527
75
39
111
371
328
706
438
138
119
504
832
22
800
723
343
111
911
858
847
817
362
804
957
354
1000
493
674
842
568
487
16
288
26
624
222
995
911
251
255
152
739
675
666
840
846
50
555
113
390
730
915
63
42
732
618
831
577
929
861
707
75
698
92
805
798
26
302
691
983
972
675
719
281
929
347
604
634
374
38
402
781
270
315
966
367
562
599
893
847
209
615
229
633
308
80
111
209
242
583
359
404
765
970
27
103
280
363
741
476
337
835
314
989
591
442
113
497
237
64
574
150
69
511
2
493
632
58
85
490
393
684
903
89
49
772
454
319
429
1000
371
963
736
823
945
240
781
369
665
54
175
411
872
829
93
860
632
236
564
447
216
889
179
437
849
682
362
932
13
716
852
643
612
503
652
888
1
735
971
143
312
962
177
174
967
360
935
666
449
63
870
350
16
584
22
140
802
673
208
199
701
220
291
350
669
254
585
199
275
218
903
627
282
573
407
949
304
767
789
863
954
530
270
448
269
623
849
581
222
434
218
654
574
98
841
689
434
279
985
60
791
227
983
203
427
83
544
593
895
945
859
701
977
391
254
301
278
790
624
480
993
574
884
896
456
199
501
896
128
855
56
393
489
705
795
172
253
163
316
224
664
125
525
176
18
274
511
632
274
747
876
519
147
196
883
20
597
186
17
359
41
875
447
597
856
778
64
624
649
433
686
30
256
510
110
815
84
407
737
232
515
8
13
324
384
391
61
61
12
532
280
154
525
854
400
793
239
972
302
729
405
620
454
397
189
20
676
39
828
925
449
632
258
401
578
251
452
420
893
892
122
437
827
236
111
182
293
94
442
648
224
935
694
396
402
864
102
484
197
710
645
256
732
873
221
974
76
69
678
364
373
692
640
71
147
378
54
997
109
768
23
641
923
415
471
41
91
885
177
770
652
226
421
306
487
577
44
264
46
238
245
427
936
110
644
925
340
606
926
281
591
48
933
270
563
364
643
636
680
554
208
217
290
349
932
484
318
185
288
829
972
70
341
7
253
319
122
983
794
687
421
321
277
832
481
423
137
975
665
315
55
665
907
307
728
327
639
895
289
552
694
765
740
795
862
152
560
906
874
315
396
642
417
460
241
916
933
346
149
571
652
962
851
45
952
989
747
81
275
936
967
849
835
220
105
869
85
655
355
265
186
755
978
469
164
789
706
197
630
39
134
444
105
888
869
209
151
808
600
861
62
414
840
550
119
298
975
838
388
449
983
79
786
321
898
872
670
558
878
657
833
391
809
321
601
61
77
792
17
606
198
264
611
663
884
40
497
749
696
78
801
652
234
415
283
541
249
252
521
840
424
648
645
44
107
430
549
721
419
693
963
459
15
803
826
428
174
9
277
882
477
306
696
543
103
196
162
656
345
729
565
637
767
763
272
543
456
571
446
347
460
570
903
200
317
269
131
723
119
433
607
929
374
396
600
770
22
460
803
993
557
12
906
694
532
345
863
974
266
336
550
186
363
800
233
81
20
737
991
416
590
730
71
851
419
305
475
504
88
901
402
407
532
684
307
223
34
105
98
497
312
838
273
610
63
632
661
135
505
538
988
913
688
465
425
179
286
20
929
12
632
323
60
388
949
894
691
684
323
141
522
241
354
964
488
60
761
261
683
804
912
775
841
101
23
147
566
952
836
529
882
189
774
109
155
813
424
720
989
219
783
619
136
836
22
63
833
809
232
593
606
945
772
900
738
987
381
612
612
161
272
299
275
992
40
686
842
635
891
251
291
64
685
184
487
828
441
555
216
4
841
878
909
150
18
281
249
30
975
908
335
806
261
34
265
874
869
496
524
788
479
520
476
88
304
555
698
452
988
8
55
371
478
981
924
871
354
634
742
686
27
235
430
477
852
158
753
656
417
258
704
353
105
772
674
244
364
369
626
534
565
454
679
878
583
808
894
460
189
796
282
673
208
661
544
693
16
359
662
106
762
779
106
741
671
824
429
429
369
701
577
245
497
220
753
478
780
832
810
799
152
580
773
378
839
809
380
953
979
732
187
112
967
170
837
846
509
134
343
72
46
552
258
189
382
161
952
551
512
50
56
121
113
735
977
17
366
483
368
352
992
846
790
93
22
111
196
782
656
924
225
536
83
647
5
991
287
899
894
245
778
4
967
4
448
394
226
970
504
263
268
63
430
158
806
352
309
951
367
593
439
651
819
623
949
817
332
973
571
925
200
120
634
226
73
968
583
709
678
480
105
442
489
722
87
24
703
509
631
102
370
460
16
569
74
219
82
453
72
551
39
807
734
733
115
379
662
838
99
556
88
452
998
400
637
936
636
968
235
77
15
923
795
629
448
94
38
442
283
452
868
63
769
11
531
483
89
316
850
375
64
347
162
519
455
940
289
654
49
26
753
939
140
304
471
61
893
531
58
648
492
672
811
937
672
660
420
313
731
95
897
323
482
845
90
648
141
576
141
593
28
986
377
658
31
195
230
643
636
620
629
583
819
261
237
829
967
399
995
13
685
84
705
328
808
183
972
950
341
255
14
855
357
207
828
920
184
813
771
133
943
519
78
570
316
769
268
862
537
752
983
756
207
995
60
700
58
162
801
993
404
710
884
393
751
844
629
699
561
837
775
660
936
947
703
146
39
33
778
449
804
590
53
683
835
820
555
60
300
205
140
292
224
750
737
652
978
30
87
324
493
671
541
497
77
521
775
900
308
586
223
80
818
282
263
610
358
636
819
238
885
683
363
30
414
254
468
395
169
850
307
661
971
662
530
111
150
903
959
912
173
97
761
901
710
1000
671
359
300
843
474
892
608
462
16
954
949
958
92
238
613
353
804
698
616
226
447
540
515
772
350
554
855
486
456
105
189
412
393
339
886
661
996
466
434
342
169
546
635
272
261
497
647
714
220
265
417
542
48
801
929
17
429
973
527
763
940
989
145
773
439
395
380
33
254
271
727
580
459
113
560
890
572
252
700
639
185
628
552
103
21
286
712
380
782
131
351
112
845
674
75
949
44
506
650
975
265
390
143
454
851
965
133
768
210
782
918
101
749
52
682
418
666
658
244
146
562
386
898
323
217
759
279
232
455
902
339
949
605
278
388
891
801
855
102
623
835
127
649
560
578
353
924
8
613
645
97
500
78
594
889
652
600
786
638
264
813
24
861
701
335
382
199
368
228
719
855
725
779
707
406
919
113
862
675
350
386
481
873
536
573
649
932
377
724
102
363
957
818
373
600
69
800
593
968
745
896
853
412
41
798
193
789
776
16
573
734
95
763
200
985
316
350
289
475
751
343
67
883
782
901
646
367
420
762
378
996
964
168
776
34
310
316
647
547
272
66
403
971
480
797
685
219
693
81
849
269
94
558
636
138
198
938
203
717
899
155
42
298
141
536
800
362
598
405
605
517
962
155
80
475
806
984
318
386
894
78
878
335
64
665
555
763
356
16
851
902
209
476
575
999
626
501
697
310
38
556
145
943
59
187
933
706
34
104
881
275
216
232
65
518
662
513
696
419
62
661
124
479
847
115
479
775
617
418
228
887
550
242
43
497
203
113
35
821
802
324
735
475
763
116
997
503
230
470
204
163
181
373
859
524
543
886
356
771
433
582
123
121
921
501
184
639
888
254
846
576
548
978
49
560
78
706
154
690
131
612
84
55
13
779
59
813
212
100
697
87
12
361
579
8
927
563
941
283
555
243
374
472
172
596
28
241
922
178
370
401
70
47
788
844
979
283
954
387
991
725
614
79
175
786
542
84
313
551
342
322
139
555
631
913
446
507
603
363
977
842
104
175
711
848
445
320
676
281
755
26
982
137
577
953
125
677
163
328
728
888
427
199
110
361
906
204
60
553
487
19
829
567
316
469
229
313
661
560
246
683
167
111
881
427
25
170
340
212
65
7
37
639
888
723
70
441
897
625
904
963
968
830
19
683
628
92
199
646
643
607
410
552
930
651
746
620
862
153
46
921
513
441
549
364
984
772
644
43
58
148
586
999
645
882
336
592
755
326
47
497
930
482
485
136
707
686
778
160
208
469
264
211
162
590
881
691
746
810
557
583
82
359
882
6
988
162
615
641
706
39
412
556
949
84
92
778
939
98
877
372
897
392
400
60
591
671
205
501
869
24
706
471
628
230
63
188
590
817
67
576
580
177
397
325
641
423
579
575
205
279
234
720
129
968
991
826
841
308
461
898
394
732
992
621
55
915
491
552
444
463
310
997
891
275
619
895
311
240
620
674
890
229
914
119
388
49
318
15
93
496
30
249
90
607
194
637
577
186
205
219
181
784
263
165
626
582
913
593
857
829
753
909
466
389
877
502
593
501
616
953
855
734
381
791
809
557
955
815
744
227
221
5
895
317
451
293
314
211
703
715
921
773
464
298
582
987
810
475
891
393
941
10
130
268
223
536
928
747
177
56
213
861
499
322
214
363
10
38
497
137
481
688
287
660
653
970
473
289
644
572
561
780
810
695
311
120
414
468
413
573
141
264
408
176
585
210
754
563
458
296
537
579
988
178
451
24
357
948
996
57
7
985
176
804
381
198
771
28
689
189
249
531
612
54
463
248
922
238
28
264
997
861
194
509
154
138
921
769
21
956
577
534
125
114
325
367
223
221
293
917
764
320
604
52
85
646
854
373
774
669
958
677
732
808
44
607
633
226
612
71
408
162
105
571
526
312
842
577
247
750
305
715
547
771
126
59
448
396
496
7
28
64
980
537
881
95
802
130
40
930
655
9
865
512
661
872
706
223
749
432
120
915
967
461
268
11
181
852
744
802
873
826
280
592
977
62
869
265
135
711
443
832
367
871
344
610
207
758
221
203
740
797
283
955
93
415
647
717
194
73
941
715
450
429
245
115
360
528
469
356
485
956
576
495
735
122
610
429
272
459
982
130
955
334
734
287
920
119
336
492
627
535
136
92
506
100
3
508
53
922
219
39
412
394
796
167
344
746
523
753
224
80
723
449
278
290
232
248
751
764
119
839
516
566
426
429
776
534
611
606
668
576
737
518
522
217
871
384
747
689
657
27
753
956
271
216
642
643
763
664
112
942
916
860
844
863
261
822
753
880
722
372
211
284
260
755
558
142
269
285
83
996
987
692
729
732
342
760
953
456
220
402
668
84
507
581
1
251
772
306
156
708
669
539
220
938
89
447
456
433
202
924
640
115
492
915
248
214
893
358
468
111
461
419
990
801
388
354
463
749
967
33
196
605
763
759
983
252
325
791
995
452
234
752
125
475
100
509
587
529
423
537
450
65
264
944
425
228
281
747
554
213
126
862
353
315
468
19
715
32
166
261
694
103
869
661
840
264
629
886
733
506
288
185
213
13
92
260
752
86
421
685
135
991
25
97
375
630
237
585
754
51
496
295
806
837
641
588
86
591
522
159
652
157
455
569
211
528
659
11
538
983
86
304
140
151
112
230
846
867
54
969
331
545
362
197
826
699
707
262
873
268
277
973
902
450
241
671
608
45
333
735
138
728
520
396
807
94
964
516
816
132
642
284
542
858
329
257
366
843
927
365
638
783
960
413
350
777
322
1
205
847
903
990
509
1000
318
399
190
793
615
846
99
893
646
241
469
305
539
260
875
254
500
487
387
705
532
632
366
90
307
905
479
541
813
176
64
357
34
730
862
625
46
217
611
701
244
460
706
841
365
808
487
441
105
505
194
424
749
666
377
538
753
728
159
3
784
572
911
987
592
721
393
274
214
381
634
528
91
68
531
398
984
830
363
98
286
645
2
843
19
194
315
192
465
766
835
479
586
300
640
533
675
681
457
840
9
154
579
179
718
937
443
62
6
577
815
650
998
618
736
174
881
342
122
880
471
84
433
288
793
596
312
54
742
723
152
178
89
68
182
579
913
376
955
128
885
817
594
188
979
126
996
71
514
868
568
582
10
399
673
106
985
500
693
943
614
742
706
316
881
672
750
771
27
168
477
487
884
640
183
481
297
769
610
775
720
57
491
820
822
605
364
339
396
663
703
539
609
72
733
341
881
70
677
198
546
620
810
565
247
474
635
437
16
824
707
845
335
932
469
25
742
542
43
378
490
211
565
839
334
441
153
547
331
95
265
287
835
214
740
266
148
972
709
172
273
654
410
281
356
560
289
682
890
706
693
36
498
141
576
452
847
407
201
584
116
408
521
897
828
183
458
948
373
276
564
185
428
712
25
264
431
52
742
653
174
641
721
299
105
229
222
492
260
96
868
319
685
625
977
188
158
440
675
306
627
37
157
688
775
971
32
665
127
103
46
125
768
664
516
778
973
986
584
596
906
582
25
398
311
276
962
66
742
125
359
777
540
852
383
10
341
991
452
44
235
227
979
765
629
137
838
68
211
197
899
460
212
574
778
89
81
35
787
230
946
557
924
369
654
479
130
26
730
191
651
948
288
872
230
252
79
955
6
722
442
96
994
896
561
821
11
30
65
152
723
312
49
16
87
734
453
163
143
775
208
53
314
627
390
318
894
956
761
922
768
312
701
40
402
285
97
362
706
391
202
596
424
397
305
914
291
799
340
468
185
633
25
478
513
217
450
246
414
472
954
993
899
639
4
704
445
561
882
896
772
867
42
608
957
471
567
125
771
439
730
652
70
768
475
591
541
270
593
281
746
16
97
655
587
873
18
802
171
445
105
578
84
971
681
535
716
837
622
835
479
923
264
788
999
464
817
25
581
705
237
76
844
167
422
615
324
685
983
612
561
7
764
446
979
758
472
893
256
815
232
671
354
598
443
247
897
2
960
60
43
631
927
988
605
710
67
148
739
336
371
475
723
127
899
125
146
565
925
336
973
129
709
917
218
379
58
693
580
544
453
336
905
684
298
884
652
462
833
142
312
216
864
918
317
451
156
835
227
527
810
275
409
341
532
64
280
391
79
996
370
16
678
19
788
184
859
27
470
436
787
976
30
104
637
971
511
206
333
461
943
263
560
380
545
122
392
470
499
910
310
726
420
829
583
853
907
686
555
976
408
862
127
491
442
184
984
858
340
43
622
969
121
625
212
767
792
615
458
225
603
658
738
231
17
42
213
742
675
625
867
652
944
392
412
443
793
703
630
16
89
646
812
356
668
247
621
892
693
866
768
551
445
251
935
680
813
622
748
506
706
895
817
143
861
420
338
46
230
624
595
532
136
468
631
477
288
230
652
849
563
246
507
407
553
235
803
259
762
764
695
456
120
450
542
818
754
28
906
917
942
653
430
727
645
842
136
706
970
104
772
2
494
736
593
861
509
768
862
197
317
647
418
505
995
312
630
431
410
127
247
365
993
497
24
378
76
693
562
729
356
643
106
106
33
385
925
156
53
558
194
216
689
485
777
288
571
714
906
357
986
578
894
545
965
228
64
987
896
228
250
23
162
816
440
545
385
506
672
687
691
852
664
221
531
758
607
973
641
429
185
517
392
703
4
423
868
572
783
350
149
242
667
39
107
832
811
249
440
840
274
69
262
290
400
143
273
903
651
532
59
593
25
197
191
723
728
186
664
550
545
112
489
196
59
319
723
559
553
185
195
36
323
428
951
14
464
231
817
413
380
303
294
730
478
539
970
366
446
329
127
875
249
31
725
237
21
968
84
456
757
469
356
236
687
474
62
479
720
262
240
682
849
701
311
581
490
280
647
307
788
597
805
55
501
57
959
140
490
725
118
572
850
679
245
746
443
628
297
992
563
889
212
563
751
228
2
493
29
974
391
572
982
714
177
70
172
344
730
533
468
669
645
563
103
350
511
420
934
311
111
482
635
324
539
344
130
106
400
706
133
189
291
590
899
568
883
408
180
877
376
555
951
745
136
5
471
983
370
526
71
655
894
385
190
502
449
649
187
970
405
468
622
929
856
228
422
511
399
214
633
548
213
844
744
761
155
63
273
78
444
807
757
387
368
60
997
201
610
435
427
664
634
566
693
842
349
884
453
68
972
346
573
400
437
168
672
619
368
865
391
942
648
744
398
60
472
381
46
368
235
902
798
914
776
414
515
501
431
949
517
168
464
415
117
412
332
175
394
123
128
793
454
126
580
416
648
397
562
735
786
518
876
549
153
289
945
756
46
63
66
292
752
400
79
904
404
652
320
21
775
632
575
943
580
847
463
363
787
397
874
253
328
806
251
753
747
598
603
904
328
902
149
331
258
738
823
553
350
680
806
617
686
269
976
114
581
763
250
757
626
46
77
289
906
199
134
728
904
827
92
460
753
771
608
884
861
842
83
402
651
766
477
630
70
221
917
860
835
516
63
178
169
904
825
795
689
497
909
393
788
5
236
907
171
271
104
497
391
950
645
76
814
392
764
789
966
886
285
446
32
693
954
91
262
523
807
334
19
580
221
509
109
676
151
31
538
372
54
306
601
526
707
921
755
115
994
170
996
454
70
106
386
187
147
705
624
612
908
500
446
865
57
753
381
551
781
142
255
501
516
102
753
343
300
509
122
976
450
699
801
713
629
982
182
371
465
619
948
516
528
905
526
884
309
68
834
742
71
232
859
606
653
784
904
663
925
767
819
937
113
123
973
187
82
854
756
254
815
289
561
643
567
945
709
77
387
645
576
149
157
262
709
242
734
3
97
633
838
605
608
694
22
297
583
452
993
685
828
610
661
218
514
285
67
961
639
451
290
420
627
910
722
567
625
109
592
787
247
931
169
584
996
357
534
827
418
839
353
252
871
380
721
571
915
897
686
240
760
20
83
989
288
288
946
473
705
223
356
69
668
206
870
24
432
413
139
546
625
147
75
875
613
43
926
790
491
866
586
88
327
539
735
213
808
125
934
408
525
815
330
310
902
120
799
3
573
957
98
678
122
683
852
490
549
743
790
525
120
369
965
432
816
150
711
395
185
903
396
623
470
298
868
660
372
715
572
80
622
323
122
762
901
648
57
221
20
227
582
239
27
917
5
732
945
999
923
782
386
821
553
182
961
908
6
85
102
892
725
766
740
503
341
678
963
627
143
110
919
766
607
430
469
952
716
522
228
729
317
207
513
85
652
340
366
82
263
941
62
294
501
776
725
592
481
235
912
548
739
322
389
223
477
765
794
773
580
300
132
621
332
458
441
364
737
40
149
596
996
579
715
964
374
885
639
46
774
573
819
54
243
264
861
378
678
208
145
364
52
157
103
240
947
898
59
780
977
314
287
330
319
287
427
838
180
234
874
293
319
290
262
172
839
104
752
880
1
788
279
105
49
969
588
761
421
270
984
504
253
544
662
807
320
606
885
811
690
95
510
820
84
727
992
503
117
556
297
798
206
500
919
218
489
551
260
653
132
361
37
276
373
53
213
155
85
77
474
802
233
385
177
292
646
803
714
612
536
278
803
957
244
228
933
78
485
737
806
445
440
611
278
61
733
871
543
753
497
610
291
302
56
298
446
309
135
519
635
208
626
905
971
578
48
560
13
431
569
658
484
48
143
462
133
522
828
209
710
530
595
961
812
670
350
40
654
819
117
930
141
637
735
129
275
334
308
309
784
250
399
377
514
297
589
989
165
567
298
241
449
540
577
243
874
275
213
399
883
227
15
649
635
245
486
648
559
501
144
654
760
283
570
249
91
233
240
1
679
678
176
286
46
707
813
852
284
379
242
386
259
156
710
117
162
532
934
853
491
486
77
510
731
422
70
167
173
440
361
485
768
248
214
380
462
157
66
140
608
548
495
162
38
73
297
149
46
513
285
92
564
917
857
972
683
395
167
889
597
165
934
310
117
838
329
551
181
271
359
565
61
523
535
296
268
572
944
313
587
559
38
573
942
833
733
516
303
241
103
24
972
358
238
837
770
513
721
980
616
638
980
195
425
530
969
13
107
913
823
636
120
820
266
92
125
572
792
169
5
677
742
729
382
703
865
928
666
554
347
121
271
893
487
136
341
967
144
805
202
276
845
238
396
440
232
963
317
212
665
462
222
993
998
524
597
44
899
350
559
540
607
175
836
569
913
151
202
997
489
819
758
2
179
26
290
374
243
264
290
403
696
284
870
924
415
339
767
15
865
859
166
885
412
392
694
842
880
296
243
235
845
836
17
414
255
678
512
254
680
72
133
183
637
412
153
938
897
120
975
297
741
91
55
679
933
592
932
374
534
832
360
784
827
106
248
324
240
972
584
915
319
275
577
717
39
141
917
696
891
408
292
709
660
52
989
466
23
641
980
653
268
531
69
460
799
485
787
396
502
265
689
773
454
500
160
981
77
445
569
866
37
103
659
791
846
943
806
882
947
757
486
666
204
912
107
892
547
939
993
103
94
910
441
408
78
881
741
792
710
200
953
124
685
21
27
415
708
799
232
228
280
289
551
172
721
529
187
240
910
971
698
99
295
17
407
522
998
857
400
38
986
714
210
972
921
219
976
856
996
216
396
474
427
534
142
684
319
47
563
539
880
600
951
135
658
704
365
932
93
91
901
465
274
805
140
537
282
353
601
115
454
817
451
777
99
284
295
436
472
532
247
914
445
86
222
355
153
105
505
743
730
544
549
618
61
265
985
786
73
414
660
567
945
343
395
42
397
69
839
348
164
827
945
993
385
811
329
848
183
380
44
418
892
82
349
749
744
486
555
565
875
760
315
109
311
413
585
385
815
604
232
155
463
153
888
24
747
542
264
651
173
628
297
649
987
239
182
567
977
326
667
546
760
87
121
727
760
669
978
876
403
702
361
309
28
376
457
968
171
96
464
249
990
480
631
706
902
597
495
392
173
941
662
816
514
823
843
516
637
784
694
214
489
337
364
340
610
45
37
846
414
748
656
81
205
445
976
955
626
287
382
741
702
572
851
812
17
182
941
906
294
443
833
69
382
625
666
28
74
687
824
666
44
219
358
835
173
611
534
654
647
828
117
428
554
573
21
489
645
593
883
881
554
514
883
465
647
268
748
301
665
849
487
74
650
151
746
447
750
339
8
873
466
901
765
666
487
809
250
224
527
142
259
317
445
510
265
592
748
653
692
56
478
445
28
268
821
399
802
832
626
423
993
964
704
92
641
638
829
155
8
31
506
54
443
250
922
213
983
989
645
82
848
412
334
55
44
366
813
19
171
471
656
74
783
660
59
229
851
645
195
284
894
542
66
103
975
930
762
431
586
925
185
937
242
983
293
48
657
213
409
65
902
910
359
345
593
695
31
765
334
414
797
539
528
909
974
419
468
683
147
454
206
307
4
4
603
954
267
201
444
696
988
559
524
751
657
483
805
626
958
661
512
588
482
635
274
636
236
17
192
489
947
990
218
1
21
984
451
602
775
728
377
587
131
635
51
788
763
117
121
523
145
224
575
67
666
113
611
374
331
911
762
860
131
504
580
842
787
684
252
443
541
794
778
813
398
195
709
763
445
456
745
170
213
573
644
493
991
922
270
355
882
237
281
789
353
954
79
465
425
922
958
185
213
961
346
51
347
32
2
2
468
673
881
435
640
122
374
747
5
934
294
373
855
25
547
955
958
22
741
509
249
102
772
934
121
415
463
587
644
791
874
211
599
710
13
30
502
941
689
835
818
675
628
924
907
340
712
45
25
16
469
46
913
276
235
815
591
975
184
530
337
971
695
462
895
431
648
720
419
516
691
934
632
885
70
552
956
600
380
870
8
724
580
294
43
353
793
635
359
547
539
244
790
898
43
918
135
64
822
924
180
594
609
536
853
644
958
816
76
741
711
177
547
530
980
571
4
744
699
405
242
574
336
391
539
908
962
455
448
80
767
61
356
695
896
496
433
357
598
706
747
386
761
170
419
546
905
146
744
163
169
468
863
685
120
885
670
585
745
56
96
535
554
199
22
222
924
894
743
398
439
396
740
842
521
13
982
556
932
852
837
989
731
630
554
521
501
90
310
663
620
769
80
903
7
784
815
880
309
606
432
5
502
188
884
104
996
11
802
913
27
367
841
448
473
546
854
249
178
457
374
827
441
236
516
523
489
480
901
644
720
902
498
34
88
572
176
775
216
247
420
814
391
937
876
480
891
432
867
273
997
402
509
246
931
360
14
190
634
91
255
128
95
548
343
490
625
764
111
508
741
213
22
196
505
942
104
611
119
744
619
824
377
665
386
572
194
720
225
762
925
430
284
435
339
765
840
410
609
372
98
757
374
262
46
514
566
979
931
252
835
827
635
417
9
975
431
174
198
890
991
254
530
685
227
293
705
785
598
196
343
660
473
188
569
973
476
657
876
222
762
83
929
562
554
615
506
966
262
219
517
856
537
966
839
374
49
37
318
735
526
395
259
194
568
879
459
249
712
595
101
232
811
518
255
567
697
118
104
590
87
346
276
991
792
414
216
782
43
718
554
921
616
230
682
474
561
65
107
515
735
932
316
179
853
778
50
371
787
17
850
620
432
699
7
81
632
414
72
48
885
309
270
808
395
691
772
372
54
808
876
244
42
113
535
647
692
226
466
491
499
571
210
801
623
194
201
997
304
861
393
345
582
84
434
578
501
8
389
544
6
223
255
992
805
5
559
893
555
774
392
396
15
676
730
369
322
524
943
62
36
698
655
640
14
531
835
918
261
349
751
871
915
502
748
935
900
947
491
20
409
607
549
51
111
78
334
139
694
825
321
301
386
821
485
577
849
589
183
113
833
515
757
779
455
385
534
615
4
506
633
102
780
175
771
51
330
686
359
389
363
927
617
509
507
86
499
986
753
749
691
645
945
787
570
611
469
395
615
340
787
649
624
916
554
151
359
857
783
657
844
319
370
869
879
19
406
655
612
766
205
181
83
732
56
901
867
946
95
949
362
384
720
844
319
880
701
303
826
631
197
447
46
118
861
37
712
769
243
522
123
517
753
648
93
889
131
73
600
891
880
315
616
582
452
543
494
71
294
288
324
955
622
336
410
572
998
127
912
628
764
220
537
663
392
661
648
133
685
909
48
186
620
444
375
456
12
209
715
117
417
424
422
637
451
748
281
353
4
374
422
84
48
637
315
62
97
71
631
842
24
237
158
863
158
309
150
807
447
893
715
732
112
408
490
628
509
985
504
361
673
658
360
712
876
391
249
44
535
507
757
479
815
696
942
515
316
572
173
342
458
184
992
155
198
914
303
126
559
750
770
360
72
371
358
53
721
774
152
710
37
648
365
384
734
865
920
148
471
69
702
310
547
300
8
358
537
268
467
552
893
29
427
329
566
96
310
541
118
393
435
971
132
110
557
917
153
12
369
450
346
1
213
322
637
172
671
840
241
847
716
153
437
879
570
755
956
871
963
785
624
256
969
731
80
758
311
794
666
884
584
774
780
915
905
432
857
335
713
287
853
343
323
657
694
979
426
166
644
101
90
26
148
153
52
662
161
474
244
187
615
447
950
966
439
242
133
995
612
826
973
477
9
669
630
252
842
177
573
845
510
381
459
190
826
991
821
631
60
976
114
97
390
896
462
418
232
502
313
957
317
548
191
783
659
252
202
705
654
72
328
780
185
602
667
614
945
454
93
664
145
878
608
308
641
400
423
524
406
47
669
569
33
407
433
472
433
584
633
355
16
114
263
115
306
310
687
765
840
987
896
35
976
923
752
577
221
909
471
91
36
465
263
651
294
403
391
399
62
409
562
596
406
803
727
656
970
727
501
428
204
199
882
95
680
420
463
505
288
190
609
23
40
242
345
835
120
524
985
654
513
365
648
36
784
331
6
835
528
776
657
338
890
358
813
529
990
329
388
705
221
281
915
25
517
715
421
228
95
648
728
277
572
619
758
334
371
657
20
176
578
492
652
846
418
744
505
14
387
416
937
187
284
63
27
360
995
213
779
886
452
684
776
553
788
27
496
351
115
964
722
785
927
790
312
793
440
642
127
603
936
867
371
181
965
321
743
380
225
967
137
635
628
941
629
772
655
623
289
188
862
952
221
826
658
697
770
290
390
91
461
785
909
220
838
286
496
729
713
689
58
837
758
736
757
771
320
286
53
617
514
214
480
659
210
23
518
462
691
735
969
709
790
569
586
679
935
235
682
501
634
346
831
22
599
181
685
346
867
371
966
209
467
23
971
927
581
126
996
505
3
616
989
921
185
845
954
816
278
325
277
801
449
282
274
905
71
459
650
273
650
349
42
680
563
626
409
584
983
636
631
468
827
765
142
910
405
911
463
736
612
772
937
819
498
234
560
30
251
703
145
791
129
472
498
250
852
318
842
478
634
594
542
732
672
516
247
11
267
664
948
441
56
482
998
557
856
723
838
23
101
874
184
42
328
659
683
362
45
406
341
183
934
145
886
733
241
913
543
64
367
480
864
179
524
99
116
518
140
260
68
370
823
792
9
858
558
63
733
560
65
79
812
95
62
139
9
757
271
171
748
863
753
693
558
806
691
622
86
960
153
324
584
620
68
436
926
217
715
634
160
5
680
686
555
995
441
267
44
464
762
543
89
917
138
260
102
306
405
141
231
448
219
503
527
655
432
308
10
550
867
555
828
189
942
977
840
703
829
927
1
999
644
613
919
317
614
173
515
83
769
57
323
307
49
183
581
416
393
767
185
401
122
718
339
386
824
887
760
354
109
820
244
421
345
122
986
693
10
426
3
268
754
914
87
789
881
22
606
300
990
114
394
168
382
278
251
807
180
268
387
184
481
437
745
528
47
637
456
702
241
240
980
980
576
250
396
936
674
477
359
904
974
340
957
237
908
466
446
908
750
860
275
910
518
282
928
283
660
844
385
836
962
518
472
240
446
193
833
286
570
724
148
911
411
778
529
227
55
452
156
780
828
480
189
3
659
928
954
689
170
143
785
868
388
685
356
838
1000
57
398
369
220
844
332
142
84
489
937
21
476
186
722
327
834
444
720
301
79
109
631
731
972
389
240
753
262
524
396
542
797
351
924
320
629
572
944
88
841
385
832
259
49
352
407
744
493
186
219
28
129
598
817
916
838
53
664
964
695
239
856
583
424
716
224
574
414
582
331
425
522
575
418
977
952
790
916
674
791
5
396
687
337
730
216
872
133
678
526
105
308
293
44
295
204
757
46
244
523
203
744
717
202
239
655
373
537
972
561
350
181
491
536
231
272
84
958
354
647
3
160
97
693
28
38
342
536
664
181
674
795
736
633
490
668
669
674
840
322
730
629
480
709
216
170
485
836
282
746
487
889
44
824
60
44
657
89
19
710
553
356
787
384
807
359
762
981
178
1
641
956
212
226
681
49
464
101
71
607
952
415
555
70
989
356
549
709
685
863
646
261
270
572
427
218
855
317
40
574
714
206
85
276
686
343
140
807
476
743
959
542
525
924
618
836
984
807
400
8
218
50
496
354
955
257
522
981
801
519
953
636
577
436
692
502
749
296
254
127
121
724
64
962
745
861
621
961
235
853
693
80
527
336
536
761
806
200
992
839
376
385
818
790
175
695
804
19
161
789
470
26
870
234
929
890
571
942
312
404
212
280
470
332
485
915
776
320
116
697
996
236
630
43
666
964
426
759
643
655
289
492
610
121
886
664
810
716
736
185
425
662
746
211
316
210
347
750
164
672
718
300
637
964
764
195
749
212
444
335
843
71
375
559
215
61
875
385
839
194
121
628
195
889
100
583
257
921
273
596
274
612
229
83
224
912
94
995
521
705
324
421
373
213
59
544
806
80
645
913
757
834
862
798
566
573
708
580
35
695
34
934
142
865
482
136
507
292
298
616
771
109
625
954
147
754
854
758
910
738
108
881
130
906
133
305
178
702
364
677
936
972
83
406
801
705
689
89
264
360
7
72
205
749
722
987
191
328
190
599
560
681
864
33
723
29
56
316
445
435
384
574
570
171
495
555
280
968
209
8
594
386
686
35
78
332
818
292
544
702
945
822
184
830
538
545
206
825
814
128
89
520
279
746
847
822
568
9
280
972
137
917
724
163
924
656
749
251
620
766
688
972
880
745
859
329
288
797
803
362
46
981
547
497
753
181
259
926
119
911
11
993
791
911
314
985
752
416
270
388
766
193
559
966
530
65
818
997
348
703
180
482
896
225
258
995
655
879
842
905
327
241
349
25
19
998
287
626
492
412
290
832
11
771
690
796
315
748
275
949
599
136
160
698
323
315
427
562
415
822
874
896
607
773
430
831
603
432
554
788
756
180
412
405
727
774
80
266
93
419
782
966
525
2
225
715
435
26
293
15
496
837
943
738
132
125
458
794
846
645
272
324
112
885
63
201
452
671
173
436
191
641
355
518
663
966
441
944
216
972
47
124
75
361
558
870
531
941
116
749
50
842
97
235
257
392
177
774
423
182
176
888
327
245
420
523
920
280
974
264
107
200
494
717
129
554
633
198
313
438
346
890
427
27
976
258
859
188
382
24
512
323
436
851
711
681
997
369
523
882
718
630
271
303
780
236
265
382
577
621
514
151
694
831
646
301
748
774
534
498
710
372
663
558
349
744
519
256
147
812
13
124
382
946
5
488
752
624
424
5
526
548
411
491
38
182
179
977
573
514
615
334
152
215
776
269
641
118
305
145
684
340
857
188
578
751
454
213
291
188
200
987
595
284
494
502
437
559
305
984
784
273
123
420
248
815
557
229
286
244
482
530
166
213
371
665
453
257
330
961
407
27
535
113
996
403
579
826
932
701
912
749
474
328
397
284
926
735
390
959
147
633
808
828
841
435
519
949
131
785
114
468
440
28
501
51
990
277
926
99
448
307
454
997
374
8
331
762
338
255
672
720
915
918
356
621
480
135
267
613
877
339
852
416
899
544
257
403
584
279
931
878
203
233
553
42
410
623
145
534
94
325
194
759
817
243
876
815
40
272
98
736
602
559
753
453
238
737
276
314
528
369
368
662
72
782
399
718
239
169
215
511
801
879
285
961
243
303
248
610
367
505
992
696
48
727
35
916
772
772
163
881
230
153
270
421
472
56
287
631
846
934
354
954
339
208
489
670
504
819
150
353
453
859
315
471
799
852
722
822
544
950
642
355
723
425
468
868
563
976
277
437
17
549
1000
459
478
494
685
520
491
450
814
271
822
468
170
478
232
352
635
380
310
156
799
396
292
774
557
338
858
482
252
945
280
740
241
725
32
239
667
952
65
817
657
185
968
842
859
820
555
284
915
873
143
173
189
537
553
210
980
532
635
953
628
668
311
413
577
63
695
853
802
185
975
693
39
970
383
209
560
69
607
120
631
524
943
495
568
37
223
634
638
763
971
819
34
497
832
245
867
905
594
392
958
86
562
704
252
811
49
751
835
183
900
291
390
883
746
658
872
182
880
15
107
79
408
878
421
258
546
24
817
858
600
127
775
644
523
192
962
144
736
853
212
915
482
221
370
959
719
505
673
447
312
498
452
794
84
855
697
779
499
953
984
649
811
956
946
858
120
875
852
253
146
264
919
986
937
163
579
900
23
119
651
66
973
340
609
862
252
793
850
990
729
795
300
783
415
623
310
703
886
700
201
693
946
735
617
847
565
471
267
255
628
802
950
386
231
608
907
699
919
133
233
141
673
73
861
621
959
585
200
633
400
436
266
297
996
883
349
426
115
327
678
799
286
793
118
64
801
197
577
512
446
710
142
931
892
909
438
718
297
59
30
154
875
952
540
845
750
523
760
545
176
115
718
832
321
200
767
334
663
39
524
41
856
191
138
119
282
263
743
803
602
238
911
420
671
30
753
645
527
320
438
292
947
37
757
858
888
373
21
186
178
870
118
663
151
740
700
861
39
307
819
539
486
61
113
214
514
207
788
674
532
908
389
421
117
249
198
475
567
695
722
294
978
170
463
830
707
356
902
374
679
949
299
945
949
332
336
387
721
102
450
45
114
221
619
2
152
917
732
75
106
976
520
377
570
573
977
418
947
216
428
996
586
962
256
205
82
941
966
965
193
737
704
149
977
832
720
491
554
60
533
185
380
86
990
801
421
531
831
988
853
112
266
312
358
642
658
254
324
706
741
967
819
862
371
273
468
416
396
369
404
104
644
261
210
61
289
662
911
335
940
467
174
168
748
157
230
799
120
209
789
762
554
197
529
581
961
857
91
302
61
255
879
343
338
157
744
272
65
112
637
974
665
372
137
178
28
206
763
427
693
240
28
105
582
180
426
436
331
595
571
212
450
844
891
289
585
599
889
503
937
540
361
655
69
675
185
20
781
173
876
12
661
930
844
771
589
880
375
595
943
475
499
239
26
534
247
6
36
856
569
546
927
936
201
357
62
988
561
5
777
530
117
769
767
810
301
365
265
229
254
143
983
226
334
996
180
870
838
854
917
521
897
204
127
731
810
220
166
533
351
55
589
177
771
677
226
776
785
883
220
49
504
371
961
370
4
292
905
462
343
434
938
828
306
735
476
804
782
922
242
91
398
788
481
329
51
667
167
449
681
39
493
854
367
105
32
227
784
436
571
323
19
923
812
156
208
962
302
198
75
504
127
9
962
605
338
578
273
1000
113
723
242
782
202
992
589
542
111
957
204
902
738
777
836
403
953
972
290
581
696
527
780
948
308
191
556
892
602
57
242
912
909
502
277
297
56
377
453
660
160
977
19
933
53
565
334
661
214
104
288
966
344
768
315
503
242
620
142
808
308
919
275
180
353
865
153
38
674
783
689
740
357
333
945
822
464
292
908
25
456
28
883
864
531
271
286
169
963
84
594
902
392
929
96
23
971
161
713
523
208
785
98
875
106
88
879
376
981
102
842
621
477
518
826
336
323
336
31
860
237
780
180
902
688
896
307
821
409
572
407
116
743
955
888
540
490
851
978
736
284
522
568
106
580
376
441
278
517
525
495
998
302
859
69
94
329
447
367
703
146
118
676
909
863
929
579
77
839
223
641
537
421
384
435
567
277
25
704
102
550
567
941
894
181
41
155
875
333
709
788
709
180
559
246
467
125
576
658
821
968
1
759
852
879
291
455
143
209
830
302
202
681
826
613
566
807
216
522
36
322
611
632
1000
288
670
896
208
380
977
887
734
902
900
898
127
726
848
706
309
694
290
268
374
925
764
521
552
339
45
340
875
518
110
904
285
927
735
847
237
967
555
856
874
741
549
356
463
261
777
261
151
128
891
84
774
372
250
147
556
58
927
982
153
392
467
501
644
897
452
46
160
521
317
704
935
52
912
825
269
625
674
91
946
57
650
538
524
942
467
340
95
468
536
464
716
663
289
371
401
802
283
59
285
637
109
700
905
44
895
564
690
124
703
964
636
641
466
122
576
6
890
511
581
748
650
303
192
148
862
440
856
383
646
873
383
775
314
901
229
50
681
40
825
128
867
896
203
207
458
943
489
930
827
492
412
385
966
634
291
773
586
385
748
225
78
795
591
960
903
537
270
632
687
687
127
246
116
317
2
772
366
143
658
175
610
948
700
10
368
419
648
615
588
741
690
200
903
805
446
808
677
297
697
965
34
383
106
97
144
904
595
246
563
261
538
162
400
296
668
434
966
553
785
793
212
963
293
324
392
251
284
547
136
334
798
358
167
487
554
9
627
341
914
35
699
630
287
991
492
785
273
813
389
681
964
325
601
930
233
387
643
764
195
514
332
744
362
979
671
332
674
670
404
879
980
266
509
536
476
315
567
556
416
3
550
936
271
301
250
466
759
112
530
623
897
636
529
578
20
300
332
606
773
336
262
598
924
474
966
609
664
317
284
271
375
973
128
316
21
209
249
411
885
987
917
345
522
268
233
669
132
177
479
692
511
500
411
800
308
534
994
531
113
430
678
90
938
119
745
96
59
351
896
748
514
99
774
654
905
888
238
809
740
202
284
240
898
27
810
956
721
77
979
465
916
628
590
984
522
121
339
537
723
124
695
786
805
597
702
251
430
582
587
877
839
974
614
682
113
400
926
731
398
25
622
344
148
80
780
127
364
404
165
544
612
303
317
50
321
646
772
138
740
672
868
498
925
161
390
257
633
997
1000
451
586
686
768
616
79
354
725
1
537
191
554
2
795
308
403
791
332
877
682
333
692
901
746
844
475
352
51
523
855
32
360
638
732
368
275
148
222
673
740
748
284
441
122
344
645
546
338
634
503
744
190
632
310
807
117
965
339
979
461
72
92
727
208
430
565
666
309
303
640
180
417
76
161
971
589
390
948
550
146
309
729
738
120
950
460
850
736
64
360
666
761
509
865
824
597
905
413
41
27
691
83
457
187
645
393
755
23
745
25
743
26
761
840
749
91
364
229
703
550
737
410
848
228
705
399
603
805
568
312
59
417
899
702
166
412
716
76
728
426
820
425
406
278
562
808
582
130
143
713
474
271
227
994
87
542
477
447
473
191
466
384
905
391
118
128
905
158
719
289
62
939
463
286
32
546
224
134
161
26
498
887
41
343
194
334
436
630
389
483
203
133
468
411
983
389
127
982
388
16
845
731
490
252
448
177
483
836
239
299
646
791
319
10
464
379
645
231
395
528
785
898
189
243
762
622
763
977
782
297
714
903
119
826
369
329
779
934
298
898
96
854
684
287
446
825
797
746
200
721
994
858
53
515
996
355
492
931
697
29
737
713
167
440
873
440
955
892
424
491
279
979
467
122
825
790
865
127
631
825
809
595
533
934
398
809
119
611
747
988
139
633
523
123
542
625
339
905
712
186
841
787
780
122
220
449
545
421
36
663
620
483
827
419
943
478
672
716
283
227
528
282
844
66
107
5
5
854
730
697
841
164
21
76
543
775
63
686
701
688
734
350
956
561
748
32
860
830
956
218
447
172
863
203
616
347
664
40
463
446
548
967
452
638
668
120
599
12
681
367
967
637
889
53
891
304
610
129
700
63
661
752
337
464
734
732
908
37
217
472
367
82
227
255
573
95
565
583
146
337
902
159
223
843
702
890
773
113
568
388
629
379
299
518
650
16
536
960
25
239
773
940
774
408
827
431
468
796
287
953
523
463
649
600
586
475
413
463
149
236
775
958
485
87
193
787
802
960
799
89
182
556
209
999
904
262
789
19
643
539
669
214
289
606
321
772
134
458
974
947
504
349
748
57
389
419
739
496
676
699
779
317
789
214
810
59
957
614
353
690
894
662
651
178
99
820
680
81
517
401
454
889
380
364
442
912
591
950
669
44
851
793
403
536
336
296
943
484
563
268
750
549
506
756
91
568
316
741
340
824
802
804
932
714
300
941
18
968
410
471
526
845
925
551
151
676
441
207
65
878
434
441
419
534
552
773
427
822
707
408
643
330
798
665
167
486
589
189
250
704
549
565
407
378
827
640
627
2
859
41
723
173
422
710
422
598
695
814
932
176
967
343
74
756
110
88
370
287
382
787
400
341
410
501
723
695
652
35
391
918
17
665
600
629
217
157
392
852
253
400
632
426
623
295
434
728
929
619
161
864
803
527
602
768
945
459
124
917
10
876
679
948
611
548
387
799
87
824
178
212
952
819
220
301
611
698
132
339
110
79
154
99
948
425
417
687
870
219
11
860
403
169
931
291
414
499
690
568
316
456
545
85
705
96
526
318
982
955
150
678
983
591
736
744
548
184
574
867
620
356
938
557
320
739
543
762
998
548
922
308
307
736
504
362
938
224
87
421
611
150
444
479
147
986
963
495
303
232
748
900
728
777
842
601
190
66
880
972
202
77
210
192
283
513
436
705
41
68
42
60
220
864
774
29
794
886
556
122
570
757
89
945
559
321
118
838
115
151
27
214
751
660
745
920
669
193
644
674
540
488
552
101
325
783
33
69
916
638
626
404
382
138
655
548
313
216
859
179
930
30
870
904
278
173
182
51
656
462
595
447
930
501
492
931
466
515
915
715
295
627
548
753
187
828
802
880
302
66
332
764
433
208
216
504
74
592
771
388
310
533
655
503
770
861
260
745
227
603
713
413
39
96
260
679
89
137
590
774
884
516
123
132
15
887
975
872
101
57
974
55
194
429
215
823
778
151
24
356
219
864
282
737
951
343
965
137
652
702
330
1
499
952
316
820
808
538
699
440
177
438
103
336
396
866
107
504
499
681
420
128
592
581
234
512
824
424
523
122
461
174
56
558
586
585
647
107
924
23
58
864
380
788
739
514
33
94
823
826
744
730
610
125
845
77
990
722
828
222
733
431
990
939
214
37
224
692
810
141
77
764
451
69
75
376
224
967
322
948
580
667
782
215
623
44
684
979
74
329
231
238
252
490
729
5
467
779
889
832
682
203
759
821
315
568
275
256
968
363
394
179
949
595
691
739
798
393
426
150
87
852
82
691
89
89
925
425
419
498
708
690
736
469
768
860
919
772
28
992
659
594
855
791
964
795
639
568
693
112
232
991
593
470
912
354
349
904
25
68
517
950
533
371
89
301
125
466
737
325
565
566
204
727
701
182
614
111
22
318
750
204
923
767
983
552
354
442
854
109
416
540
465
397
412
137
10
667
585
822
414
810
239
145
503
452
95
157
650
179
550
902
669
126
375
172
622
728
659
947
562
60
990
945
401
399
449
707
584
462
917
702
822
479
314
743
776
149
457
538
694
443
149
666
125
273
170
907
821
656
879
989
771
138
659
572
173
117
615
681
738
387
500
613
833
193
982
423
385
207
21
976
252
40
458
145
822
271
35
44
12
539
821
909
692
868
930
333
50
375
854
521
115
822
28
488
568
724
773
238
559
209
437
243
220
748
925
127
839
855
995
333
489
953
94
702
738
952
685
715
649
759
602
602
38
637
676
347
876
486
918
490
556
243
636
34
672
810
782
967
148
24
541
24
613
206
156
49
649
533
257
425
98
735
671
180
955
858
308
944
33
167
985
991
645
354
100
338
514
915
667
943
131
759
376
921
782
791
302
132
746
638
566
987
809
71
607
337
680
867
257
608
150
621
433
127
340
567
913
784
290
770
114
579
799
893
25
860
749
400
284
877
13
190
593
205
135
361
873
18
205
480
98
451
338
356
325
793
808
205
733
440
168
191
91
547
301
992
47
625
917
836
44
379
593
827
184
510
89
116
964
364
309
872
653
749
369
755
670
394
905
311
486
446
904
878
558
365
12
89
460
840
15
614
145
178
593
460
38
219
963
611
74
608
859
547
675
313
162
124
856
817
476
712
487
911
938
924
62
21
354
955
391
773
6
787
325
647
674
156
836
293
965
809
131
883
509
639
13
118
799
701
905
692
27
604
62
310
142
861
518
192
795
490
550
539
312
385
742
484
435
98
258
129
337
245
49
293
782
802
921
833
711
414
398
926
860
9
960
942
520
232
140
478
762
94
84
904
63
325
249
799
706
656
237
172
897
255
706
126
270
994
969
523
566
718
74
30
238
733
673
83
976
353
958
311
993
396
178
170
82
34
310
752
465
327
781
506
545
208
760
221
717
181
160
190
634
435
476
495
86
516
925
528
595
240
656
500
86
112
822
575
616
898
193
342
145
871
714
370
867
312
598
402
763
750
473
266
494
383
985
447
52
471
936
759
436
363
99
349
500
557
754
391
507
186
51
589
891
983
171
757
517
206
432
950
295
250
879
16
717
320
295
401
616
678
657
137
734
944
652
418
592
769
170
742
743
770
663
748
291
700
561
560
244
967
935
707
155
996
646
463
426
685
61
682
899
191
937
97
164
61
133
164
810
996
563
402
368
588
6
82
137
659
648
756
932
909
42
357
273
784
270
964
353
274
303
623
417
698
348
713
601
336
977
358
656
812
396
392
673
308
786
184
567
938
459
163
891
779
775
617
65
29
735
13
928
273
469
745
698
954
910
64
570
989
684
756
136
305
378
145
498
513
195
422
967
597
544
845
29
248
833
579
530
274
40
4
781
574
857
116
154
966
491
5
485
604
583
298
35
587
568
820
745
815
123
230
270
138
368
374
49
24
449
789
807
159
571
534
100
723
188
148
344
744
334
996
27
909
941
152
24
841
2
23
350
231
986
248
868
159
409
800
106
725
296
572
570
788
513
579
631
605
667
793
670
844
550
865
159
378
156
251
80
610
686
636
882
964
542
930
771
996
511
329
689
511
936
42
931
215
756
159
596
895
118
798
805
547
215
222
261
84
102
808
946
692
729
85
344
821
433
985
75
99
798
385
217
321
394
73
315
894
199
393
754
702
470
589
602
151
779
582
174
685
560
136
837
812
647
750
266
756
349
611
409
912
62
415
714
476
473
839
548
720
728
259
927
933
990
504
920
165
676
800
383
907
448
492
468
794
514
216
434
383
476
533
117
713
253
150
53
941
634
542
657
380
649
74
24
622
665
940
587
872
985
855
354
264
938
730
741
20
287
91
116
207
446
718
655
464
429
677
270
678
501
123
917
213
952
937
370
168
86
332
265
615
541
993
701
348
672
612
963
735
539
681
102
1
708
153
821
925
951
518
408
506
689
408
982
110
308
620
36
100
852
868
942
452
754
797
484
104
764
672
548
954
180
992
708
401
368
320
932
780
884
307
923
937
307
933
659
6
90
277
789
590
707
810
896
804
142
163
770
354
893
386
501
359
87
589
329
541
853
390
906
404
341
349
509
381
722
366
116
103
813
140
566
550
323
301
893
293
840
735
91
321
295
559
7
682
856
658
431
444
523
546
381
279
854
234
296
424
191
381
941
343
176
746
676
780
973
693
520
835
987
688
138
153
779
305
600
764
176
233
636
756
422
684
948
40
396
666
430
701
726
809
195
577
613
927
842
556
150
238
817
490
653
32
420
465
154
312
58
703
243
25
558
132
574
2
186
6
794
89
682
236
864
210
5
376
580
18
676
50
203
113
45
689
481
284
927
800
784
103
509
98
871
333
546
858
929
486
704
733
49
860
684
906
687
618
379
797
249
218
803
672
901
660
535
714
634
390
813
279
354
654
798
307
369
431
615
398
525
933
5
813
914
910
461
550
548
213
351
761
966
547
728
103
901
676
390
141
691
454
936
389
446
216
399
601
559
396
241
489
298
865
75
350
945
771
116
73
383
166
908
352
970
579
113
910
237
940
476
216
697
538
127
710
901
697
287
78
219
731
98
636
151
334
126
709
95
815
801
452
705
740
289
82
761
106
312
499
167
41
683
121
185
195
792
449
784
312
917
835
886
586
821
946
796
149
384
556
767
637
791
754
147
207
146
623
393
870
360
915
915
18
739
368
122
704
227
62
95
653
929
142
554
35
768
89
898
546
455
129
185
896
932
455
966
564
219
723
578
507
99
619
121
905
689
655
754
911
76
893
214
206
696
490
762
425
676
23
975
743
501
50
25
899
912
90
548
649
872
406
754
64
721
651
510
772
866
763
606
837
471
440
958
932
329
419
230
53
493
730
185
961
572
1000
349
797
361
820
762
1000
134
532
715
25
631
718
878
215
16
680
433
133
107
356
936
753
221
690
632
11
375
483
220
228
671
143
706
503
442
751
345
405
979
193
707
616
518
797
116
596
991
38
624
323
755
614
329
815
294
262
99
699
743
624
783
384
806
753
117
803
208
943
756
431
624
71
252
392
965
805
635
603
506
818
686
884
378
213
504
135
483
810
880
244
101
695
878
506
951
453
973
533
203
356
996
208
198
740
215
420
531
772
605
382
664
481
163
339
796
307
25
184
930
79
317
884
370
799
889
938
416
619
524
411
278
948
60
738
766
510
644
249
895
395
404
691
534
708
116
27
632
670
516
46
266
750
435
332
335
783
498
696
830
80
531
843
733
302
197
340
987
958
534
804
20
425
768
885
726
805
710
241
736
3
774
911
250
55
84
931
350
53
313
771
937
682
534
307
774
86
955
66
515
522
954
340
244
333
605
252
30
814
648
494
545
180
487
776
60
156
393
796
833
993
561
38
740
398
917
582
37
588
557
322
358
155
985
337
228
128
623
223
146
486
188
19
190
951
118
925
408
798
780
963
255
322
78
872
955
106
775
905
396
12
149
167
953
36
652
606
162
631
43
134
432
529
433
926
90
410
406
543
726
873
684
567
552
113
849
57
693
326
505
344
461
590
990
655
823
393
908
597
905
679
616
427
941
386
602
827
693
317
982
817
761
390
353
365
725
867
151
934
339
850
774
838
122
824
249
874
346
588
451
364
550
961
503
103
977
866
659
897
388
729
795
474
359
952
489
903
76
720
141
995
859
116
234
895
51
429
935
710
480
117
958
326
216
9
442
931
58
793
680
371
711
663
680
783
335
969
44
196
121
671
220
548
869
751
381
39
102
245
188
312
237
605
754
344
446
620
582
822
116
431
109
378
517
399
513
12
925
433
713
113
170
194
583
835
376
630
300
85
668
724
493
280
504
377
432
542
546
546
719
369
868
700
535
46
175
474
903
427
429
320
154
729
755
197
521
56
657
486
823
565
799
892
62
933
515
105
496
700
901
123
345
554
704
127
55
800
483
348
520
708
169
127
933
708
143
875
708
493
927
638
614
360
559
497
905
405
674
747
568
198
139
7
625
258
558
405
199
109
777
314
374
467
313
290
589
745
193
420
249
388
845
848
336
261
604
572
355
628
460
662
332
202
550
789
299
67
653
868
139
163
137
900
62
546
49
293
632
465
988
703
249
128
558
278
273
915
342
445
753
581
266
204
991
617
384
121
332
563
586
459
879
584
549
790
85
175
17
582
508
661
664
312
339
449
301
546
67
946
117
979
874
503
925
238
755
311
492
175
460
445
255
804
13
771
643
93
561
221
207
952
708
98
532
480
3
153
10
516
643
592
156
119
50
962
10
355
847
67
93
693
901
266
457
592
261
117
819
473
585
905
885
220
890
641
851
965
105
698
556
115
981
178
600
497
190
980
354
22
507
25
315
771
849
628
196
224
509
17
957
646
868
216
835
469
149
417
317
43
765
995
203
479
894
57
415
209
518
181
582
80
329
908
250
299
890
959
533
54
550
57
471
736
803
64
779
987
382
890
917
583
587
361
699
88
317
26
551
806
259
395
293
827
237
96
541
527
132
107
31
929
413
767
535
844
165
289
182
196
282
496
735
525
970
377
828
877
414
799
898
519
970
552
148
470
967
434
373
661
99
289
174
756
917
824
154
607
808
372
19
332
21
475
285
898
990
661
759
775
305
489
598
666
384
685
684
567
796
234
844
519
708
962
576
269
52
167
340
55
938
279
858
48
414
192
473
25
856
793
306
601
429
492
754
527
795
243
124
798
227
515
373
934
340
313
186
511
397
101
961
760
253
682
562
648
449
926
888
932
549
657
598
492
523
950
634
507
572
709
616
478
24
133
392
74
225
348
41
27
580
321
190
362
650
986
415
665
634
151
617
992
962
515
228
663
244
623
824
671
792
526
974
502
308
609
774
944
728
521
524
424
740
571
771
622
523
945
253
419
998
829
222
508
63
911
180
4
583
9
788
493
647
433
77
167
170
780
685
486
625
912
426
598
401
847
16
17
398
762
268
899
996
767
797
5
579
690
694
495
324
572
739
780
83
884
191
444
922
8
981
375
434
926
463
546
249
54
82
801
973
830
115
533
703
764
109
899
749
292
823
145
211
740
175
7
433
844
408
840
700
866
459
178
919
831
137
760
771
335
334
40
336
669
427
375
150
615
87
337
320
404
772
63
564
801
139
768
986
244
496
986
825
424
885
154
73
235
405
437
460
342
7
602
208
493
130
675
554
970
146
440
8
104
625
138
226
740
172
917
326
213
251
656
734
1
100
34
457
729
307
862
941
168
624
67
594
931
868
133
215
331
192
882
461
352
970
573
534
72
280
469
846
188
638
221
46
228
526
215
309
115
683
567
324
863
238
937
866
725
822
231
221
183
900
6
909
313
646
450
25
239
675
788
73
788
980
346
74
178
316
280
483
839
516
52
526
721
150
186
390
299
911
868
263
629
847
626
261
387
316
881
390
886
304
921
757
302
781
42
176
538
135
680
710
559
605
686
741
718
93
802
821
103
22
791
457
269
126
715
871
284
9
225
594
975
171
705
292
160
986
373
259
545
616
999
475
336
980
736
820
222
932
179
471
930
256
230
582
796
119
530
97
338
94
852
574
599
713
887
788
981
265
121
938
547
332
106
2
270
864
603
180
125
130
920
205
449
240
521
715
328
515
755
201
886
179
646
328
723
623
788
402
317
665
83
941
753
93
843
25
680
793
723
635
265
632
277
231
238
389
459
309
88
319
619
253
881
950
464
200
544
939
713
801
64
55
287
790
382
736
743
44
222
724
397
417
598
211
630
391
573
968
585
174
11
347
499
283
853
10
384
458
528
102
625
583
458
266
290
115
25
248
61
367
538
947
178
299
393
589
512
755
165
554
956
851
763
249
799
38
733
459
351
248
788
878
60
376
332
806
437
275
634
279
544
607
210
251
612
170
67
657
335
829
809
384
507
290
72
186
112
944
687
765
398
930
833
477
820
811
859
129
342
57
694
926
729
69
310
240
555
390
698
705
699
261
306
786
52
356
364
944
576
604
910
921
736
395
7
386
624
369
512
813
31
472
726
580
75
468
630
123
883
127
925
804
586
663
445
386
309
689
244
635
437
748
16
384
884
363
218
73
195
871
203
135
405
864
45
812
516
534
643
402
420
860
456
612
828
623
400
829
62
268
27
557
893
546
964
362
793
64
181
837
744
597
951
496
133
558
322
48
793
929
42
81
356
29
835
856
294
853
594
657
788
378
384
901
532
863
521
853
782
725
815
92
69
391
367
293
252
378
540
78
166
304
590
945
15
31
546
947
4
91
118
915
579
296
200
353
363
257
334
62
535
774
782
673
800
218
602
608
158
803
829
34
189
831
78
349
848
192
642
67
383
391
595
734
923
385
980
222
523
929
807
796
71
650
772
810
637
698
331
966
353
146
480
528
699
454
924
101
362
61
754
86
364
965
420
80
804
234
367
632
872
137
327
400
611
997
546
283
838
730
408
934
103
456
587
749
536
689
317
943
330
792
856
342
893
26
984
827
526
36
85
698
700
15
515
676
940
198
821
834
622
110
194
642
105
176
918
792
912
772
700
865
446
490
369
382
917
269
431
42
975
834
980
329
37
327
848
767
674
571
566
153
722
657
818
894
93
929
936
502
687
670
550
885
880
792
270
639
185
413
530
52
955
581
507
404
525
683
458
671
496
677
294
834
826
849
158
744
325
317
913
820
624
433
816
778
638
597
614
251
821
961
674
753
400
674
911
539
407
181
97
556
531
765
679
896
887
646
998
879
843
783
180
452
195
514
769
88
653
673
278
323
486
77
606
197
860
86
56
527
960
40
42
696
76
16
557
327
553
31
455
808
649
645
654
340
670
207
170
401
136
690
759
556
590
463
130
68
547
646
594
983
521
617
520
824
709
412
108
536
548
122
586
908
298
385
838
760
584
201
436
544
999
343
58
177
741
181
597
139
585
883
71
103
100
717
533
50
280
863
725
691
149
453
840
140
619
250
843
893
584
546
294
266
875
535
67
670
764
740
78
42
480
147
79
404
868
683
148
973
551
752
546
944
356
556
901
132
6
963
828
993
108
708
953
374
415
552
483
19
673
939
663
479
62
771
234
887
574
467
176
44
340
135
25
709
218
966
980
790
245
164
644
694
561
150
967
261
333
551
3
279
557
647
613
96
338
810
882
524
265
676
246
444
882
773
677
238
893
147
437
247
737
16
539
920
670
963
147
41
419
533
297
438
63
344
140
43
117
652
819
739
825
607
659
191
153
731
969
476
339
947
362
504
534
789
622
327
471
485
669
540
797
382
891
311
120
147
287
275
285
691
487
434
202
635
291
110
775
277
133
253
714
555
950
891
371
814
727
377
854
788
651
375
628
366
572
857
587
328
792
127
438
237
508
898
211
253
634
640
571
983
204
368
335
176
628
128
401
183
934
791
377
174
96
616
964
362
482
458
564
455
857
528
790
994
214
485
965
229
255
685
885
577
603
838
249
585
142
921
788
196
352
674
553
625
280
492
671
85
341
259
508
399
272
365
225
486
427
482
905
965
378
919
216
916
749
911
761
339
757
860
478
373
183
750
483
570
596
796
833
333
921
870
226
424
593
146
905
522
618
93
755
853
55
573
819
163
495
164
320
114
625
362
372
791
283
187
399
38
746
87
995
221
540
128
377
352
262
279
849
287
431
561
221
917
190
364
257
85
982
842
956
854
448
158
283
794
468
867
429
473
60
714
220
286
455
494
140
956
1
770
177
846
445
293
920
328
272
983
707
532
545
867
683
460
443
668
910
735
129
264
612
546
365
232
969
290
804
380
259
135
459
203
559
999
795
921
433
165
188
194
649
106
524
342
89
677
370
968
764
561
612
799
174
686
27
96
315
897
448
631
863
192
952
750
159
752
572
869
558
315
72
178
167
955
308
92
217
895
505
979
880
761
305
610
346
642
963
677
915
618
687
685
476
343
353
759
610
491
208
642
10
346
972
377
542
104
962
266
412
675
196
114
804
937
696
422
522
312
749
908
298
882
942
254
262
837
227
339
736
121
585
413
152
631
589
877
995
864
884
466
400
759
811
337
98
992
574
967
838
886
351
619
825
884
231
578
450
332
596
944
418
102
993
691
651
362
372
752
414
741
879
357
591
180
631
225
985
252
894
81
860
751
102
130
515
374
555
823
534
586
191
752
590
276
10
386
515
114
216
62
103
814
843
745
375
372
722
219
716
838
90
535
883
760
261
205
468
959
715
75
102
509
745
822
411
811
470
934
475
650
202
334
417
226
63
490
322
317
745
280
491
480
813
151
297
422
526
794
716
437
79
213
903
723
669
499
382
566
517
759
636
127
957
948
978
773
506
801
651
475
309
594
970
938
686
432
193
655
772
935
508
249
605
786
240
45
686
556
909
546
207
536
267
215
293
287
78
147
241
629
71
951
761
17
949
293
448
731
383
173
544
161
119
327
492
786
884
935
669
681
206
989
328
411
176
920
442
489
400
811
769
128
25
146
684
25
881
364
60
854
2
476
315
590
823
624
123
81
495
129
357
234
144
806
14
259
984
726
597
593
97
611
591
177
47
820
954
58
713
199
617
650
356
324
805
192
796
530
656
988
709
217
260
754
834
156
68
678
348
949
573
752
589
769
745
232
666
858
98
33
423
235
888
727
362
117
16
516
275
564
321
481
587
785
447
550
811
819
476
668
182
859
87
381
496
520
947
969
985
470
118
484
18
590
861
717
604
993
244
207
354
53
422
488
927
596
850
21
739
15
736
111
504
270
292
561
263
415
429
288
171
441
783
77
34
102
297
752
817
127
903
57
714
212
708
19
444
471
135
460
773
332
799
405
28
755
563
926
79
698
215
916
450
105
577
607
258
867
379
741
259
924
215
538
578
973
138
592
244
23
145
94
116
169
497
449
432
97
709
515
79
692
285
441
791
673
311
814
826
329
676
104
834
609
628
731
775
260
541
699
344
989
628
475
334
212
142
969
165
403
435
192
655
228
623
595
101
192
698
828
772
840
942
82
943
80
666
912
376
630
684
430
96
165
730
48
160
187
375
586
471
389
343
954
526
572
550
918
683
214
695
793
987
252
329
467
6
318
806
745
545
776
22
988
476
862
111
992
334
4
189
330
366
817
817
875
758
556
786
416
700
603
44
902
704
259
958
627
272
620
684
30
166
627
29
570
992
502
72
725
434
561
229
425
178
594
126
348
533
503
56
194
228
35
124
888
442
376
524
250
964
388
959
340
271
834
902
153
38
150
187
45
647
33
766
906
801
790
896
817
774
831
879
349
949
972
875
32
841
483
485
959
304
417
35
61
269
693
889
696
197
577
492
887
668
380
573
269
132
939
229
770
25
291
21
380
678
566
351
14
72
923
944
169
181
726
408
806
630
584
197
502
75
631
393
904
98
120
505
434
926
698
144
904
248
312
594
434
763
122
262
292
606
493
800
617
609
618
609
719
915
617
749
784
244
930
277
121
501
913
236
970
45
664
884
432
120
433
966
393
160
660
578
684
567
982
179
409
107
96
256
145
274
375
904
515
128
109
39
355
322
23
300
32
262
485
871
680
259
467
411
692
250
706
72
642
464
736
803
59
749
286
117
782
722
338
904
105
817
189
201
215
885
235
986
693
422
322
470
406
884
513
765
431
239
268
134
527
216
189
920
5
39
289
582
22
546
941
230
180
774
168
74
914
307
687
181
479
811
980
226
531
137
229
710
25
808
785
630
859
514
199
841
682
546
327
541
74
569
773
552
673
776
433
494
786
538
290
32
98
683
916
752
8
403
847
800
164
651
520
699
92
31
256
618
536
932
532
326
770
225
236
564
34
169
764
851
306
72
358
815
553
735
536
840
964
876
236
594
921
187
97
676
396
606
105
853
624
479
150
847
891
404
422
54
223
618
683
787
88
280
163
159
453
707
138
212
310
32
991
896
981
81
76
56
912
149
959
837
995
378
489
850
705
449
956
129
631
935
45
148
429
869
571
353
317
520
55
721
911
986
996
759
841
890
240
994
402
824
675
363
79
558
316
923
1
123
801
272
965
785
261
602
564
366
751
762
65
815
832
936
904
740
837
147
272
140
252
114
303
890
261
224
878
767
204
489
982
140
681
521
194
813
308
288
58
866
810
581
737
254
680
466
42
550
45
833
475
760
287
178
280
94
995
390
332
683
253
184
362
499
803
770
540
51
618
758
966
245
709
645
247
974
5
788
252
89
559
231
726
785
669
346
576
658
430
688
777
724
168
713
719
369
427
443
313
404
353
862
394
400
463
902
637
998
582
834
414
41
843
62
157
242
315
337
510
822
467
584
865
277
907
969
833
271
762
73
581
453
668
265
747
579
828
837
631
289
938
874
125
330
795
552
735
570
665
408
553
632
100
432
490
911
924
725
308
152
639
392
52
518
9
646
494
990
267
613
146
328
656
153
811
438
907
300
703
248
907
382
453
823
739
884
399
673
747
85
659
494
130
981
539
533
446
598
959
56
552
825
463
513
964
898
674
446
81
938
521
126
883
786
146
310
513
426
957
615
690
848
752
842
720
703
259
809
261
884
499
250
734
697
558
532
601
271
37
580
220
803
477
693
582
693
850
62
693
344
158
33
625
477
621
516
590
466
152
727
434
4
378
974
855
557
580
421
120
708
40
765
921
425
32
96
252
773
140
429
954
586
41
974
477
433
383
341
94
309
878
44
184
620
446
884
750
348
783
232
462
616
248
808
977
641
804
504
228
445
467
152
665
124
778
600
355
890
186
50
912
699
319
759
240
551
118
99
742
189
279
448
674
375
413
475
916
580
888
496
57
758
338
611
527
739
544
949
354
438
50
77
173
873
91
937
156
58
86
885
621
556
363
38
911
886
772
27
164
345
232
311
603
277
798
710
749
621
488
218
631
677
438
403
963
854
569
325
789
274
936
721
132
390
48
450
67
50
236
265
519
851
224
638
841
988
504
1
430
417
882
645
659
313
914
573
689
925
935
946
550
314
69
320
536
613
337
690
127
360
573
804
59
345
325
953
384
661
396
144
512
413
725
796
759
480
412
176
547
870
331
739
774
613
242
961
241
403
654
116
225
425
615
202
134
87
216
646
290
398
321
113
7
689
592
350
198
129
843
782
150
296
480
460
602
137
976
421
879
117
902
578
840
124
346
840
988
627
966
817
45
189
967
105
843
153
278
104
24
406
187
894
286
896
765
711
147
487
753
675
806
793
749
393
716
642
792
398
972
400
443
283
726
581
983
62
496
767
851
506
612
85
845
756
198
911
115
44
84
213
363
534
981
142
885
938
634
700
335
662
665
599
208
298
706
408
504
458
301
534
840
936
691
466
808
184
311
513
598
132
994
198
21
502
951
187
893
436
841
666
298
742
758
797
393
212
976
244
85
213
192
991
567
811
645
905
132
841
733
352
615
426
751
184
738
947
517
462
452
345
804
328
31
157
29
771
110
719
289
118
794
252
497
217
875
465
597
107
961
866
934
459
211
959
404
584
915
440
615
236
110
788
894
650
742
25
856
815
445
36
505
195
188
226
723
477
263
227
725
819
436
107
6
969
331
426
160
416
67
805
158
706
7
487
78
146
75
138
563
172
555
702
922
230
439
584
518
998
382
69
467
731
76
955
98
593
46
323
474
223
450
134
674
309
428
939
858
686
701
84
481
698
686
459
24
157
869
851
328
358
583
213
121
134
798
116
256
878
863
768
955
892
697
970
336
521
460
353
221
701
748
382
658
658
443
477
652
976
351
100
215
565
912
570
169
714
136
656
420
43
286
273
565
404
623
767
36
503
180
198
356
945
579
397
840
773
800
598
978
517
636
156
552
521
855
684
779
761
112
759
736
934
389
980
871
2
905
329
825
932
244
282
179
166
113
700
882
85
651
979
331
309
93
941
596
320
894
367
547
14
693
356
950
555
300
901
680
955
333
69
469
508
611
316
675
917
751
535
235
795
72
66
557
411
670
255
852
791
966
670
329
522
72
613
85
473
914
557
375
228
69
983
657
621
430
613
777
360
637
598
531
262
194
919
986
847
631
796
38
303
881
253
768
638
294
66
862
641
498
23
390
689
525
939
388
367
575
493
582
517
771
574
6
376
410
75
562
102
793
944
829
695
156
843
434
127
284
916
1000
20
352
781
251
801
264
578
782
741
142
441
509
205
281
120
530
732
610
367
528
705
512
154
528
870
601
510
850
841
990
998
57
325
606
354
992
387
66
380
134
497
550
556
274
730
927
964
875
164
556
75
973
361
70
723
4
193
389
677
104
16
912
456
388
899
480
274
822
36
126
79
625
323
783
369
778
952
297
817
977
237
271
734
483
274
521
262
90
273
853
783
896
13
522
518
515
901
976
237
23
233
802
467
472
462
455
541
688
675
276
602
655
186
914
444
295
323
201
161
127
783
36
674
322
64
317
815
609
580
492
217
329
907
46
722
260
363
793
34
633
132
469
77
660
540
625
531
273
315
44
199
300
266
514
332
736
486
815
302
699
854
595
689
120
574
677
966
693
781
892
397
320
893
538
523
547
622
631
755
281
660
897
785
310
409
606
217
899
881
903
575
923
728
881
732
718
678
732
167
398
95
273
627
659
541
757
913
951
595
939
857
965
137
883
152
874
299
721
537
268
461
252
138
810
928
594
632
118
686
480
910
930
5
394
234
496
849
620
791
71
735
135
68
483
372
241
609
904
763
421
154
181
842
236
185
266
570
932
386
547
35
773
486
120
953
359
603
97
839
335
462
5
956
158
863
8
898
320
531
303
413
115
245
581
840
987
368
953
31
217
974
463
804
914
240
336
255
133
508
743
565
572
960
722
944
138
423
667
117
749
437
971
554
715
921
799
22
488
974
892
684
492
293
790
876
421
911
452
731
631
423
790
182
685
800
202
690
995
345
175
569
848
813
147
864
119
491
580
72
904
582
977
752
524
375
200
648
914
196
184
55
464
391
119
528
633
319
52
972
64
183
491
336
753
59
467
973
747
900
608
76
904
127
621
821
394
456
676
412
45
705
309
293
167
840
55
362
213
887
577
381
401
466
221
50
122
187
318
89
431
274
676
747
507
292
14
438
75
372
110
540
767
527
276
438
741
127
235
889
325
392
287
669
751
216
501
349
704
773
280
180
723
830
43
725
483
527
637
80
231
281
167
642
233
396
487
744
735
122
858
454
967
286
16
224
257
470
788
738
324
827
942
684
744
394
600
633
843
648
973
612
909
281
690
103
149
699
612
849
868
655
558
716
637
355
329
682
895
535
783
902
13
398
627
341
440
802
463
522
570
214
988
712
288
361
448
914
378
84
492
878
859
492
548
146
733
722
152
956
744
866
137
573
231
484
370
111
385
357
51
996
329
450
85
259
752
103
678
473
332
306
255
959
5
877
378
639
6
263
694
903
371
795
908
161
250
45
273
980
269
832
781
62
695
68
756
871
182
105
728
154
521
523
55
329
408
207
560
282
813
804
699
828
124
395
792
54
931
450
248
140
154
322
697
105
470
705
250
682
215
226
169
202
743
618
558
972
227
676
832
767
251
717
80
487
277
804
381
784
748
186
29
419
692
343
518
742
167
77
46
573
418
732
89
343
436
742
540
92
158
833
55
956
861
981
699
607
305
776
498
600
500
840
884
402
995
153
280
41
444
215
362
769
511
982
661
387
478
44
26
484
697
381
407
733
950
661
998
717
114
100
491
623
302
46
49
5
745
810
271
988
336
220
289
410
533
979
591
205
944
608
365
216
222
870
304
786
163
505
591
262
272
689
328
28
46
448
50
204
737
549
686
492
982
373
538
814
185
41
349
682
187
58
291
583
505
306
542
917
31
553
453
324
742
214
890
84
462
235
728
683
308
939
401
658
90
835
934
824
803
481
707
724
427
640
161
950
316
545
371
343
277
402
125
638
41
326
748
639
641
988
484
169
463
64
813
898
973
388
139
869
978
670
435
748
973
856
344
221
984
504
667
16
806
736
634
712
384
206
764
153
205
121
37
399
35
779
922
13
777
707
877
577
423
359
693
681
312
513
730
945
582
607
182
727
139
615
381
162
361
54
65
88
646
852
508
988
628
906
340
596
186
843
891
424
513
928
591
244
454
502
862
604
955
323
864
558
702
842
416
981
384
95
446
594
561
965
70
794
599
928
56
950
61
150
156
893
595
689
50
649
725
871
936
339
762
505
194
376
372
647
827
665
246
803
870
988
947
307
150
193
867
797
671
50
733
351
351
930
475
18
900
404
223
121
499
389
160
327
147
243
452
22
395
779
305
440
645
559
533
698
446
105
158
687
151
466
837
794
143
485
305
348
823
919
576
609
301
938
318
576
669
827
715
691
918
998
76
993
75
803
77
372
629
124
366
927
885
464
600
123
325
161
945
728
76
450
71
581
612
953
184
243
195
608
123
277
918
382
705
361
403
368
951
691
979
806
239
456
362
473
855
611
794
250
923
988
146
144
789
921
43
275
832
53
187
975
168
248
918
349
313
182
414
423
20
768
812
392
588
337
83
506
919
52
322
170
41
30
985
497
317
333
468
621
160
542
570
96
487
913
326
638
177
724
185
392
155
107
7
788
792
463
876
594
935
788
189
300
66
651
938
308
416
238
15
710
277
257
355
646
811
811
225
805
543
601
304
632
13
165
292
738
664
843
388
796
524
308
408
272
886
868
278
977
863
676
463
278
180
130
961
292
44
360
584
129
394
971
746
689
870
143
400
741
193
123
487
581
26
639
741
362
664
531
817
274
42
958
150
410
357
582
528
603
458
867
468
6
787
588
101
666
972
201
660
6
997
568
999
557
744
62
633
44
702
781
51
827
763
211
712
390
2
109
446
527
260
112
404
497
205
655
814
140
797
375
155
991
206
284
276
513
679
103
127
267
712
898
359
173
407
394
330
453
562
377
73
642
558
992
430
472
914
341
972
964
263
871
243
260
956
992
686
909
306
843
948
47
892
436
686
252
901
983
457
369
28
490
650
284
293
357
733
77
43
437
745
342
499
782
482
62
372
293
956
740
363
359
399
149
941
911
430
694
977
966
578
237
736
605
207
834
955
986
330
361
766
580
75
739
395
367
29
240
601
506
510
815
116
139
242
383
603
171
181
455
726
44
593
669
243
380
988
503
108
810
683
640
54
815
941
633
355
573
771
376
549
160
377
378
893
559
716
389
774
934
905
944
887
820
276
29
773
449
156
344
293
891
616
160
77
681
175
985
716
86
909
820
277
269
808
382
700
742
382
246
159
571
30
226
33
540
123
970
856
988
109
380
69
640
952
520
193
147
683
749
863
344
714
626
400
3
936
181
399
392
231
801
182
313
989
654
834
84
900
309
974
903
715
121
117
64
257
414
89
877
976
927
72
268
50
475
466
589
994
47
215
972
768
371
208
598
332
854
955
176
77
446
691
38
46
279
946
409
679
762
130
377
194
261
359
172
326
941
439
646
597
480
408
49
181
997
639
391
936
4
307
452
685
904
258
169
885
21
357
121
532
560
57
111
694
229
872
16
470
250
153
388
424
217
663
710
453
523
960
203
907
896
714
159
306
319
79
915
210
402
14
881
466
902
756
847
114
29
36
281
160
303
160
77
568
724
884
564
580
378
207
838
381
445
281
914
659
84
347
113
377
104
15
493
551
405
79
603
399
655
530
923
539
296
887
436
770
930
905
895
324
752
777
486
929
957
164
939
34
33
481
737
171
672
633
33
255
184
226
603
783
324
842
645
235
95
879
881
274
243
193
918
121
350
509
124
618
391
469
870
100
71
250
872
660
237
866
662
862
625
631
697
566
77
75
390
420
903
704
713
309
250
877
762
663
796
61
615
26
868
160
566
809
215
934
49
729
362
206
227
853
548
364
916
194
444
630
920
916
523
318
254
189
901
461
132
764
363
249
949
361
15
770
517
670
699
105
843
633
295
322
410
207
749
408
807
755
516
838
667
338
658
682
708
558
272
258
85
39
14
110
272
958
781
224
793
646
153
785
352
218
506
271
140
509
21
64
536
351
981
75
470
89
398
866
682
889
806
485
88
343
13
633
197
296
211
276
226
696
972
992
525
544
928
618
400
842
334
22
606
447
429
482
265
277
350
940
428
386
689
669
405
182
112
353
735
92
705
744
228
485
450
959
351
70
677
113
541
62
952
549
993
189
681
868
604
88
626
943
783
75
784
139
625
792
160
485
136
733
736
543
188
885
326
81
616
404
469
186
109
534
503
634
51
637
920
372
782
898
885
643
89
316
167
854
324
9
587
410
144
442
179
924
707
858
885
65
933
995
188
937
863
243
340
462
852
423
510
700
997
985
125
948
616
399
874
116
121
874
641
908
750
193
493
783
915
613
213
709
505
576
159
603
580
5
88
970
407
960
862
999
539
571
410
181
746
928
196
984
448
980
192
350
295
181
371
175
968
864
435
370
168
125
362
94
26
753
667
128
657
856
731
147
66
515
963
112
75
636
296
106
174
367
150
27
262
808
325
728
679
114
231
702
448
800
392
337
663
171
775
575
889
637
5
558
908
728
89
617
895
6
137
384
174
594
431
381
828
6
469
442
369
54
811
869
508
268
22
677
610
625
627
71
466
138
575
149
89
893
591
231
663
855
109
926
165
688
472
258
665
445
543
755
508
114
588
267
939
326
947
815
914
804
498
828
52
552
31
344
719
901
143
706
502
617
981
663
411
496
524
480
134
743
473
159
221
718
828
594
59
912
845
165
979
857
901
31
565
81
86
176
876
409
352
168
550
170
290
791
178
902
327
632
168
754
903
978
71
725
994
472
108
313
676
604
900
64
746
594
942
172
441
629
627
975
299
442
405
765
583
996
66
991
814
311
150
164
87
596
783
447
664
901
620
581
750
685
900
356
989
581
449
102
699
929
250
167
50
348
931
97
184
84
901
747
363
471
5
306
11
980
733
590
348
771
925
503
950
953
502
201
601
697
563
512
819
413
489
41
520
144
179
481
509
760
671
275
553
486
405
616
59
124
482
933
52
684
324
780
720
952
880
631
267
81
835
759
454
612
524
262
636
581
268
488
613
329
652
339
399
909
457
239
458
35
635
41
405
966
993
692
115
177
789
450
307
369
945
446
211
940
82
227
683
460
119
821
898
170
87
167
749
831
291
627
109
314
514
368
975
355
948
7
309
509
313
379
87
245
416
263
148
132
590
368
691
169
832
751
652
687
337
555
619
611
330
876
170
861
968
588
866
785
601
392
541
825
922
978
812
660
49
606
371
483
957
86
97
621
587
204
347
420
662
478
945
939
377
757
2
338
437
873
629
801
655
423
348
278
856
620
333
485
15
940
860
130
460
709
440
739
555
862
333
499
78
89
588
201
806
785
764
299
857
656
288
266
699
440
136
504
937
804
286
89
397
432
151
533
568
325
505
61
348
224
757
60
43
213
520
619
928
438
254
447
785
18
311
119
735
658
574
987
607
589
161
561
29
714
678
90
951
725
196
136
264
303
440
862
748
371
233
666
237
310
655
616
441
51
753
237
875
956
453
297
909
534
469
623
898
846
807
861
310
346
307
511
90
731
925
844
563
956
218
234
116
466
181
961
138
550
315
778
248
155
424
441
706
161
894
846
486
838
109
625
463
821
557
336
458
625
306
653
54
259
155
611
301
873
776
874
678
74
238
678
280
506
158
917
797
921
347
510
335
341
627
538
659
66
231
192
18
961
914
990
951
798
37
936
288
836
727
773
797
335
367
512
808
480
712
337
516
264
137
740
218
544
176
688
25
906
701
946
769
434
16
910
474
955
380
502
2
481
142
752
986
578
5
52
693
95
694
927
845
39
24
220
445
112
511
167
980
950
369
419
9
54
279
542
96
746
390
919
604
996
284
266
811
745
339
596
344
862
675
870
583
32
645
976
43
701
378
706
399
749
686
889
910
38
870
312
410
321
265
235
201
573
692
74
933
608
647
49
35
373
245
329
114
612
703
575
692
428
887
82
137
106
422
678
374
481
353
298
84
926
935
194
991
122
271
994
290
819
841
266
217
459
443
529
498
124
760
736
148
901
6
15
316
206
464
861
230
652
559
615
540
523
505
397
814
217
603
498
932
666
669
979
217
703
781
165
619
169
762
751
457
860
468
179
999
456
918
326
517
428
190
52
615
734
837
588
395
461
399
702
930
424
236
770
727
224
292
960
576
89
708
473
517
501
70
162
477
419
439
533
994
397
907
781
829
107
177
151
154
580
415
446
175
707
23
440
381
560
486
471
152
273
360
16
302
965
890
289
814
419
849
432
403
90
724
540
271
643
838
243
329
351
599
373
508
5
241
776
631
817
325
240
843
667
361
986
707
776
3
322
845
201
377
963
978
461
61
431
231
330
462
159
758
400
439
105
697
451
12
275
939
479
173
820
434
567
63
232
461
437
716
446
136
971
191
509
242
34
840
723
862
945
110
748
774
790
156
661
268
62
619
398
147
353
381
449
662
368
835
722
928
500
619
600
999
586
545
927
245
257
349
334
573
659
84
38
162
647
901
888
7
861
226
301
89
171
684
410
315
109
540
232
764
928
43
437
575
302
446
887
710
433
997
681
410
621
240
473
425
604
836
126
326
134
681
269
573
943
729
515
92
736
98
474
951
949
590
703
917
29
746
721
5
967
812
654
641
807
579
957
896
809
594
202
781
735
907
888
495
412
100
818
326
35
922
865
357
625
72
257
867
889
85
625
257
74
883
797
659
975
198
982
791
630
745
919
167
325
190
380
248
367
810
33
380
698
478
274
254
300
686
132
671
139
728
281
415
803
225
262
803
482
743
158
547
417
239
847
977
749
690
764
466
194
397
245
945
950
887
643
268
184
764
631
940
424
68
760
455
448
271
405
541
371
400
525
988
714
311
211
43
972
649
241
312
40
73
510
69
417
304
63
984
769
729
184
180
858
722
512
185
583
461
105
208
458
478
368
952
693
985
175
222
738
580
247
702
524
525
322
502
744
868
581
75
712
905
641
378
179
99
596
40
951
729
825
229
964
594
341
140
306
828
745
235
503
642
129
590
713
998
203
48
697
261
953
460
903
138
176
939
192
414
306
188
118
850
227
288
11
248
792
846
685
119
365
725
459
136
38
528
396
189
4
961
320
668
303
915
324
137
445
406
937
722
633
491
920
500
17
837
807
486
5
602
806
478
783
982
695
992
589
918
421
348
490
528
15
995
916
629
870
491
890
380
889
105
461
699
430
427
196
606
382
533
530
450
386
126
54
517
346
583
195
569
759
179
64
747
252
975
556
188
48
416
991
292
699
208
326
510
665
220
694
799
482
352
182
944
892
296
948
84
634
818
920
324
960
225
275
909
217
113
281
663
126
343
348
186
914
608
319
153
735
843
91
398
767
85
706
473
796
392
625
144
27
230
189
44
517
480
11
968
619
559
278
449
590
98
36
921
31
509
667
218
933
148
578
637
827
731
182
125
228
604
772
83
882
792
558
579
475
454
644
719
603
532
68
51
259
1
399
706
113
440
625
13
359
926
111
267
542
316
989
999
135
303
699
214
305
222
727
975
389
402
616
441
950
88
228
354
498
28
709
308
436
158
239
306
259
576
581
169
960
53
183
223
702
568
472
184
497
579
134
775
852
961
240
96
87
306
91
547
452
568
890
392
278
231
538
873
489
339
214
875
368
442
384
604
681
278
676
640
919
655
803
648
707
565
908
203
83
717
382
753
82
963
473
558
711
205
485
787
599
650
468
188
941
686
687
688
212
134
946
372
763
206
784
207
304
72
218
27
554
421
446
549
463
994
118
580
334
605
383
353
375
940
83
262
802
8
733
403
166
715
551
287
719
138
471
402
905
815
193
915
380
207
632
889
188
583
938
919
380
118
919
414
88
143
764
362
897
447
954
77
373
540
973
936
89
694
125
26
185
744
764
296
112
300
335
807
216
276
483
537
192
170
992
218
329
270
393
385
314
349
508
110
423
172
697
265
582
791
591
259
866
806
899
21
733
552
947
217
178
533
280
359
852
940
121
521
985
469
143
247
910
912
30
575
422
504
356
354
687
385
110
617
749
725
891
743
366
931
555
289
874
54
120
899
90
347
576
15
97
703
581
72
691
545
182
81
422
833
353
993
319
926
405
256
830
669
7
834
472
772
817
591
994
486
933
118
139
488
59
187
75
634
350
598
580
97
641
812
991
12
51
392
983
832
923
219
933
259
354
579
116
556
290
142
681
148
958
373
380
949
146
184
631
787
43
908
131
117
987
799
164
142
191
385
608
183
95
704
531
517
896
845
700
925
8
924
752
321
941
133
306
955
871
627
377
121
669
709
293
158
802
243
235
875
353
11
334
687
724
612
342
574
175
195
632
590
74
671
935
59
136
408
586
851
918
443
952
76
56
438
118
330
648
422
913
190
68
484
598
290
542
715
296
376
361
90
819
98
579
899
840
728
54
756
11
796
256
116
205
308
323
778
656
855
202
463
1000
290
764
796
100
825
535
261
550
543
442
965
598
691
803
40
376
863
903
718
650
724
542
181
476
23
580
361
176
251
467
521
420
826
545
235
265
238
437
874
81
833
960
95
982
513
669
840
807
653
242
236
678
586
151
304
152
358
786
377
754
877
431
629
39
145
605
595
160
861
701
616
361
168
113
721
330
138
68
905
871
5
229
758
168
325
646
10
545
85
149
866
877
875
391
201
446
62
895
698
938
624
873
310
804
849
693
714
151
796
537
318
621
580
238
633
536
792
664
630
379
172
693
369
485
41
625
751
89
801
210
801
655
885
794
873
173
236
222
588
882
72
714
642
204
239
428
328
227
125
667
199
524
340
207
6
143
341
607
963
713
885
903
876
417
678
936
528
276
604
905
285
381
66
654
427
146
181
29
508
783
50
767
73
948
882
802
184
350
654
447
74
942
557
295
955
93
458
985
328
695
866
284
508
919
922
685
878
414
47
282
895
575
487
794
785
315
165
890
322
246
292
926
225
228
821
621
627
155
487
776
500
133
862
674
454
584
753
998
70
807
985
402
581
738
550
700
46
735
904
345
235
134
92
129
136
464
668
905
955
250
731
872
409
515
514
70
266
131
694
734
480
356
880
265
789
955
995
64
30
787
104
547
311
129
563
515
428
553
694
699
860
974
935
296
840
129
179
38
421
130
556
109
754
660
877
660
626
452
827
512
236
632
389
826
317
657
897
855
357
226
323
599
239
856
669
578
438
727
93
593
370
32
638
82
216
803
174
458
166
167
285
990
134
890
167
206
681
800
627
685
863
157
255
829
707
861
149
331
623
172
841
716
510
908
380
565
663
101
320
712
647
795
773
526
362
635
285
601
537
940
966
125
825
909
146
926
39
884
170
954
747
828
690
42
686
301
481
706
50
522
192
357
304
811
298
764
529
91
685
427
113
687
385
599
950
729
200
206
567
695
389
335
598
27
564
204
7
312
994
595
391
653
540
516
839
582
688
29
585
247
183
52
309
188
805
240
558
889
157
177
95
871
698
145
501
358
203
911
960
841
148
806
89
392
743
958
109
27
703
419
216
251
997
292
449
608
90
977
316
768
606
434
927
582
843
851
60
961
707
37
998
607
65
426
431
396
874
674
17
965
527
371
484
274
831
341
941
63
705
322
993
877
804
576
898
531
155
356
3
745
228
88
808
884
312
224
935
993
104
496
22
326
858
904
443
428
911
825
138
111
246
363
623
157
641
607
278
244
223
514
158
273
470
183
277
189
133
238
187
353
985
789
110
962
727
664
51
884
122
230
357
33
765
819
648
423
335
731
797
393
370
349
899
838
516
716
818
873
727
273
229
668
782
936
82
735
684
681
750
815
833
971
469
614
978
588
210
547
940
820
994
502
868
838
392
482
516
719
421
305
874
568
88
177
145
682
16
289
112
542
236
122
501
586
219
480
59
20
512
738
17
254
755
233
980
179
8
988
659
928
488
566
85
112
813
613
579
883
884
382
711
303
572
577
814
38
446
705
962
638
211
664
71
957
275
50
423
747
271
99
683
222
415
28
788
764
262
260
640
24
18
852
120
741
704
272
340
649
219
200
258
903
286
286
151
743
903
404
53
305
490
286
87
421
29
79
782
95
339
374
739
19
498
730
507
99
925
530
565
445
812
931
552
914
856
721
634
481
525
361
938
238
25
258
733
945
757
104
150
578
514
111
902
807
940
998
669
204
435
333
686
841
106
417
244
854
480
934
135
232
335
966
133
229
147
85
28
674
700
121
473
362
579
223
577
443
236
750
389
946
745
593
670
748
580
815
48
992
69
237
420
107
880
718
111
560
151
816
249
747
205
422
363
437
422
160
875
477
961
454
962
268
475
330
561
952
724
499
641
810
69
307
405
985
353
671
836
802
562
800
861
492
913
24
622
179
885
554
65
831
208
6
414
366
738
577
126
517
273
814
75
393
446
522
386
827
968
192
898
467
851
523
219
848
446
706
479
182
953
811
350
959
878
410
859
7
255
593
436
130
297
939
475
45
352
943
652
11
482
892
571
507
258
566
245
828
365
314
383
30
530
334
574
565
914
263
794
302
46
943
839
161
878
789
629
424
859
620
617
141
606
671
409
718
544
88
192
367
149
11
400
173
22
416
214
431
617
171
784
433
878
317
4
88
764
701
406
92
734
336
468
398
291
925
69
237
460
302
370
854
199
931
510
574
669
23
483
675
610
391
247
606
504
674
395
141
189
859
985
371
81
668
220
517
182
909
570
582
790
571
969
975
747
662
312
414
905
739
87
111
298
773
457
631
31
654
550
729
890
605
898
79
399
54
613
438
107
298
222
620
128
826
406
599
451
766
650
50
626
178
330
119
187
809
467
436
717
697
671
1
763
785
727
896
507
458
768
510
71
82
483
862
369
301
145
143
46
390
540
266
915
828
859
550
482
421
799
346
91
624
507
305
809
77
26
341
187
461
133
280
258
810
702
232
5
803
464
275
991
53
157
527
508
566
122
554
772
148
197
114
928
878
337
74
83
223
954
862
221
867
252
959
842
808
167
263
260
509
793
10
714
733
392
111
883
526
896
726
601
135
682
995
595
357
336
356
90
513
2
355
884
574
610
796
696
265
927
594
730
687
317
15
191
129
629
375
768
566
338
232
78
676
885
317
353
208
289
346
101
724
400
964
930
359
944
78
168
270
300
548
551
320
777
810
95
529
362
836
835
574
823
299
781
752
592
442
137
637
475
264
439
826
900
779
889
880
30
397
284
839
535
91
91
861
685
782
973
697
590
264
212
761
965
95
112
194
702
552
693
750
852
350
972
509
699
294
130
719
12
686
11
297
649
858
367
908
852
337
381
138
315
806
274
682
264
788
143
410
745
599
890
684
303
219
755
759
176
740
289
992
345
142
903
329
862
364
531
27
413
284
424
484
347
31
980
594
727
689
141
818
779
782
133
434
849
447
39
932
800
158
379
412
169
231
227
875
950
55
370
41
527
900
317
427
723
773
178
117
405
247
847
37
221
196
158
290
794
896
889
810
455
798
880
19
396
565
690
769
690
812
46
375
99
595
708
1000
389
548
732
770
743
916
746
734
599
798
612
268
629
672
325
144
545
108
655
848
15
973
828
523
533
649
484
602
346
750
697
132
218
914
548
718
380
60
962
757
461
111
635
187
147
373
86
47
901
643
910
378
209
870
252
174
224
861
982
331
203
275
992
103
703
624
692
107
933
385
646
676
456
580
755
54
852
680
188
479
888
801
149
568
623
537
362
950
194
29
404
931
259
342
805
467
729
10
37
409
930
943
577
360
113
796
325
865
366
528
806
477
978
740
291
935
906
526
515
420
164
916
88
571
581
964
657
614
859
791
425
890
175
67
799
182
441
835
392
393
987
640
545
387
258
38
542
52
951
573
555
279
405
724
352
170
195
36
523
204
417
257
925
392
326
848
74
502
916
218
642
102
189
542
298
265
837
408
291
956
548
757
658
128
32
187
44
260
856
531
339
184
860
410
588
546
991
75
274
163
547
652
619
79
868
498
109
201
62
413
463
694
16
714
82
404
855
444
879
152
529
131
325
472
970
557
374
774
431
341
930
635
903
403
954
41
184
437
277
840
602
423
42
485
723
867
199
872
196
945
938
479
23
87
116
163
155
228
748
832
427
810
347
788
706
408
224
911
487
141
481
75
122
995
67
42
424
689
321
76
389
687
199
192
561
595
288
216
456
546
441
893
911
245
556
928
792
283
654
457
321
568
744
818
969
474
510
788
424
414
864
264
519
711
58
614
447
757
150
82
766
928
454
317
743
467
936
57
659
973
208
829
659
696
96
372
691
113
267
19
978
546
624
3
210
605
720
438
631
875
603
835
645
767
498
381
538
923
202
903
62
63
896
975
168
398
414
835
355
338
19
848
576
508
26
247
197
737
250
185
101
601
958
458
290
920
541
878
277
490
616
550
377
946
836
206
467
699
999
958
230
353
159
310
633
643
728
570
524
996
916
535
677
316
620
107
805
491
950
64
108
721
453
639
62
912
388
96
621
764
564
892
576
638
526
778
826
613
968
699
24
839
628
399
210
971
247
330
534
379
378
489
407
151
21
560
977
841
317
862
942
478
999
506
606
104
563
37
840
399
950
894
650
646
396
712
26
300
50
868
462
108
386
501
680
648
74
194
252
976
247
204
620
605
823
744
339
704
781
493
705
218
744
987
34
493
930
443
965
999
969
801
262
839
541
687
965
981
552
2
930
307
535
4
435
60
93
686
949
534
469
350
892
486
659
923
182
905
512
839
479
892
455
371
54
223
279
653
816
873
31
478
334
167
514
23
614
447
215
448
310
867
935
35
795
987
319
580
340
618
848
521
693
476
561
346
608
132
432
971
645
793
101
555
537
939
301
960
616
653
803
643
249
273
847
551
498
282
722
369
344
929
903
340
132
779
588
611
720
310
137
803
809
895
39
350
111
821
317
867
1000
631
216
414
710
500
433
342
686
481
720
837
291
328
606
356
22
429
730
596
969
343
325
508
700
425
966
19
906
309
219
54
476
837
490
190
489
838
590
941
37
310
587
554
316
454
256
96
313
378
761
923
304
868
492
402
332
621
521
801
906
364
62
181
869
803
133
156
787
854
862
278
573
682
919
248
960
988
370
707
674
603
17
192
649
322
244
638
228
165
663
259
532
171
210
146
154
578
879
138
48
784
331
412
564
151
736
824
637
893
435
209
419
392
483
72
206
722
512
848
159
584
801
798
771
829
190
330
589
225
301
127
874
938
737
637
432
130
306
589
831
730
680
594
383
793
132
907
985
220
582
83
231
131
498
381
440
402
476
480
484
553
297
574
996
62
558
376
110
429
459
366
328
496
147
543
286
52
390
107
376
269
63
535
24
740
301
510
271
815
596
393
972
936
248
917
234
53
974
29
600
794
155
656
252
876
196
971
756
559
43
679
441
442
643
196
834
634
647
958
635
968
709
392
498
338
341
574
547
692
185
550
39
637
550
157
63
892
404
459
143
331
438
596
842
451
107
30
456
704
613
447
911
583
453
100
265
544
275
391
444
815
171
118
252
677
653
59
580
185
993
35
800
480
220
156
25
796
135
753
810
144
711
752
4
252
807
702
368
324
763
857
707
285
704
265
357
250
124
438
123
201
471
286
255
147
175
358
889
765
734
199
127
867
715
68
566
385
523
310
422
978
109
238
230
504
153
506
954
71
964
564
204
760
475
277
860
307
303
895
717
607
725
824
907
375
783
969
175
843
305
891
942
217
695
23
73
454
421
134
805
129
881
249
205
382
250
82
272
318
183
545
601
974
467
228
779
177
168
392
970
757
570
350
304
81
776
21
203
201
655
799
212
175
29
297
75
724
843
613
224
821
653
468
754
342
888
368
508
661
142
759
214
373
779
631
494
856
691
431
178
599
621
880
751
710
512
628
204
244
595
14
303
182
796
986
939
344
125
958
879
503
611
850
960
551
176
518
876
802
450
771
107
623
571
786
850
780
762
848
45
291
926
677
844
864
140
239
323
504
479
875
576
3
488
941
186
623
927
931
723
718
510
669
614
880
920
288
443
307
459
571
542
976
885
886
535
187
847
166
871
339
70
483
688
784
139
617
120
621
304
248
584
300
38
510
647
282
592
896
433
835
930
652
203
351
526
825
870
884
404
987
768
495
344
930
173
219
784
638
95
808
109
846
568
580
957
992
955
102
147
319
273
92
258
10
241
852
188
637
775
685
63
569
213
931
293
483
409
707
758
599
772
15
957
421
738
276
883
572
496
487
842
540
326
673
155
201
302
506
324
767
99
583
248
505
490
140
253
906
325
886
201
736
586
479
137
197
303
610
101
661
10
138
718
529
509
928
157
380
127
723
992
192
510
324
322
32
270
438
779
848
868
817
444
867
518
855
950
890
463
969
708
641
316
83
105
871
695
353
813
10
441
678
592
223
910
970
247
32
847
929
699
65
233
758
162
996
837
201
197
333
121
57
491
287
280
184
107
349
107
338
465
648
626
157
129
238
886
583
713
281
669
364
804
129
920
409
776
995
31
860
560
217
984
651
570
157
105
817
136
202
98
712
271
457
266
977
342
867
994
19
760
308
110
283
838
778
616
422
402
371
924
811
531
154
733
557
901
319
463
669
785
585
861
516
103
25
155
222
828
487
24
166
791
800
510
870
58
242
71
958
590
192
164
276
421
733
408
580
969
485
114
903
652
890
803
148
921
826
471
629
400
526
403
165
227
103
659
555
194
771
302
833
291
773
151
532
933
939
462
869
273
649
236
116
886
218
908
914
178
51
504
62
211
553
247
288
49
873
879
845
585
891
112
882
980
714
347
747
867
171
461
175
981
110
520
41
62
94
461
593
21
882
524
572
70
991
291
923
840
258
228
819
732
355
473
795
865
814
587
395
620
322
841
557
547
885
332
379
574
933
955
624
386
785
445
361
968
296
642
281
540
193
58
311
591
119
783
523
813
843
129
973
63
654
200
500
822
915
721
529
891
916
259
334
356
715
170
681
210
376
554
931
504
987
531
865
364
464
711
808
838
985
585
69
462
545
3
851
990
177
204
931
467
616
774
374
653
608
797
464
110
438
220
19
298
963
467
83
507
267
496
113
648
524
898
191
509
659
673
490
97
999
473
690
936
150
283
781
912
294
961
582
790
935
17
524
63
23
820
960
709
177
657
780
626
512
319
846
751
739
680
462
679
261
673
667
33
704
469
598
557
517
858
648
405
238
448
168
252
276
818
903
356
570
351
234
811
440
954
236
561
64
995
509
43
174
197
503
736
477
276
906
620
356
136
966
757
736
954
142
263
554
986
279
889
457
28
985
741
575
845
529
316
807
164
82
979
879
643
218
360
160
46
365
672
724
149
146
491
160
960
367
557
660
260
762
716
366
43
686
889
541
173
883
824
593
715
105
580
112
966
882
789
94
888
251
978
11
675
952
410
504
930
289
865
672
352
352
24
676
557
4
582
870
559
915
813
660
431
519
861
868
133
181
334
937
970
451
713
199
283
374
480
612
626
842
237
195
650
889
825
255
801
385
994
996
80
884
785
240
915
259
629
532
5
607
390
289
677
797
249
553
411
637
511
391
328
644
840
250
789
915
503
112
992
560
521
110
667
508
516
322
132
915
211
242
499
68
337
853
283
213
648
947
508
570
25
938
990
166
171
444
838
692
816
397
81
486
150
413
760
470
63
664
323
411
46
546
888
46
467
813
949
261
967
724
243
887
799
612
65
33
737
407
115
298
600
985
880
343
340
13
269
890
485
566
181
937
302
555
503
99
442
340
351
699
193
19
679
345
117
31
126
594
86
461
970
309
605
608
394
623
794
712
48
56
844
935
314
514
689
248
542
881
424
334
763
460
553
221
818
649
103
231
241
841
945
607
951
166
518
796
475
897
332
608
954
881
487
321
66
821
573
555
246
405
963
369
577
827
108
674
639
542
224
374
519
489
931
3
41
632
514
61
302
978
129
55
234
160
940
769
273
684
152
446
610
985
65
723
392
528
693
448
79
18
416
984
819
322
166
65
359
402
384
64
168
99
914
736
270
621
28
448
505
549
941
478
212
794
324
730
410
899
163
19
88
906
306
29
827
504
567
420
98
792
554
796
296
572
275
658
214
880
270
178
475
24
895
788
286
15
150
761
455
830
751
530
678
830
919
105
250
861
406
88
834
128
795
763
407
59
198
736
238
44
352
846
794
796
373
993
769
707
631
29
342
116
276
189
129
151
628
855
578
145
575
661
163
316
195
670
950
189
852
588
517
64
986
50
977
568
465
63
463
686
278
171
13
309
34
381
409
446
769
222
472
907
582
432
413
861
471
640
207
117
321
778
838
691
848
972
381
102
474
222
419
440
860
464
905
896
825
982
312
176
840
7
163
344
605
472
357
414
305
862
436
635
798
881
938
656
930
607
714
624
410
927
273
989
139
255
842
455
191
878
333
506
187
529
712
913
379
764
941
530
373
152
514
764
208
70
35
83
56
530
161
903
236
869
786
769
14
511
442
223
347
175
29
440
609
151
559
13
916
633
638
187
214
679
841
715
387
788
724
582
646
439
936
268
906
407
664
579
547
550
859
686
241
461
67
170
331
563
988
315
52
866
172
696
424
854
264
582
10
529
601
174
440
566
836
934
177
635
205
675
769
999
247
752
152
605
52
642
927
495
392
226
9
105
686
249
8
80
388
224
276
368
645
583
529
129
821
222
889
699
962
544
87
356
679
975
521
35
218
475
712
107
355
458
101
752
176
90
70
454
392
890
766
487
473
40
947
896
770
470
418
485
886
642
687
750
849
776
779
896
258
836
707
407
3
98
483
676
599
622
379
177
436
767
245
771
376
663
74
885
687
644
738
207
83
310
721
311
585
378
344
261
414
926
825
486
587
2
297
399
891
60
926
450
433
767
417
826
337
480
932
535
478
413
516
488
756
665
822
403
58
842
653
176
745
423
421
941
709
73
73
589
28
718
354
266
956
878
850
421
900
73
608
318
554
793
333
710
105
658
6
863
675
324
250
146
157
109
689
816
176
964
432
932
585
732
27
412
975
514
275
994
236
715
259
290
580
634
766
337
793
451
269
781
8
403
753
899
843
319
225
856
488
971
793
948
478
15
351
330
636
134
200
473
819
541
789
674
177
120
573
615
383
15
745
8
854
964
119
313
22
642
386
940
867
928
436
134
779
144
475
493
901
927
860
627
639
761
687
681
689
365
159
196
481
104
598
808
915
691
444
654
599
358
956
77
492
994
831
489
292
970
520
520
915
226
276
187
759
990
999
508
836
221
133
977
600
885
846
765
859
948
997
317
26
102
309
885
821
411
361
481
497
31
601
66
206
105
64
172
942
381
881
79
169
762
537
964
584
352
331
806
576
667
295
433
593
427
942
588
908
129
385
332
463
707
209
5
881
252
57
754
13
721
753
304
987
858
789
99
288
630
608
985
56
695
717
861
629
290
439
152
638
486
558
277
501
599
122
723
531
559
89
911
769
330
126
249
245
757
832
810
29
57
865
308
537
412
412
733
198
687
622
364
203
501
316
871
310
181
984
711
963
769
34
308
715
744
516
295
988
122
755
573
982
276
70
642
212
869
596
592
434
823
12
27
327
141
959
214
141
520
666
629
921
791
443
919
124
102
501
177
174
680
708
882
333
526
337
217
305
213
724
524
112
708
137
703
904
122
148
579
91
763
211
281
801
932
199
510
483
63
789
465
964
527
106
579
905
392
345
921
227
3
532
106
249
806
803
652
254
775
662
861
653
606
338
934
589
910
793
14
758
690
675
230
163
362
495
879
127
492
980
297
959
461
565
774
725
753
117
250
232
850
376
489
651
998
18
470
205
986
689
118
661
284
321
403
967
166
577
600
108
299
570
85
592
161
988
805
102
202
421
194
230
868
739
24
283
11
309
651
410
188
981
864
250
46
645
426
635
982
287
687
477
778
586
220
408
111
125
440
643
633
2
626
755
549
298
99
228
820
119
997
192
816
161
216
577
905
505
986
186
220
71
132
617
825
519
454
419
957
392
193
123
913
368
581
600
504
827
163
866
623
605
610
858
183
220
483
334
482
411
794
278
877
336
178
701
743
625
395
502
543
54
680
516
921
35
82
5
743
681
249
341
2
70
963
869
764
625
400
952
550
791
957
581
85
560
446
583
293
350
768
841
769
38
790
264
814
496
74
635
371
249
572
516
633
70
453
915
514
398
140
552
847
602
650
155
466
372
647
382
171
916
458
285
126
615
211
92
163
132
710
406
612
801
109
417
459
150
729
73
222
413
575
379
137
181
852
445
910
344
782
809
417
717
507
196
948
610
930
946
1
399
451
132
770
731
407
507
322
755
834
199
906
96
653
959
185
565
139
437
120
721
649
169
693
954
15
198
928
303
790
693
194
891
173
409
819
481
541
790
196
562
147
946
807
762
441
141
61
658
530
298
597
465
574
919
482
306
229
544
672
232
224
472
933
546
697
364
469
180
808
975
40
963
850
146
788
764
832
939
533
241
171
420
320
310
442
509
617
102
180
460
741
755
923
770
578
768
493
685
97
988
73
735
422
909
839
203
796
507
985
428
411
820
224
554
208
632
261
364
146
909
847
414
261
252
709
61
807
19
981
344
978
50
448
916
265
785
337
461
226
645
992
607
247
552
77
24
914
696
130
451
858
391
121
382
466
340
253
796
143
165
911
637
174
779
692
446
144
530
128
9
543
974
18
830
876
921
703
476
437
131
286
415
653
190
76
366
308
228
165
508
256
947
702
768
486
352
524
528
977
882
451
921
144
141
26
766
777
728
810
117
124
967
440
595
438
129
807
761
600
440
228
940
755
362
6
24
195
185
271
664
250
292
169
589
587
177
911
888
540
413
596
764
578
266
146
920
644
258
662
783
611
359
227
172
154
574
330
413
187
805
163
747
333
561
559
199
480
513
298
550
414
399
879
776
579
181
820
892
365
530
479
711
812
971
598
611
479
710
855
74
631
842
350
502
491
292
17
873
271
988
129
31
312
930
365
939
442
325
54
859
150
578
885
929
651
831
694
134
524
27
632
59
813
52
930
719
653
712
718
176
700
724
856
515
293
968
90
494
353
958
481
715
173
693
22
319
735
779
274
431
140
56
364
183
176
980
87
537
275
653
639
31
47
729
686
206
241
22
393
290
18
897
10
278
590
754
887
814
923
273
461
553
846
61
348
573
927
840
106
774
391
219
264
442
862
920
134
755
779
779
221
656
885
427
701
370
961
894
581
179
573
907
208
894
31
713
515
806
303
133
774
998
357
144
75
742
387
846
179
596
629
414
591
757
457
956
747
464
365
454
282
384
710
303
675
971
551
640
54
231
197
65
159
205
897
610
193
102
118
797
497
667
426
414
143
337
28
254
640
977
611
457
127
579
998
326
60
677
510
963
382
457
35
987
522
552
877
370
786
971
492
794
558
394
464
260
930
57
792
641
938
572
195
967
137
722
40
786
695
161
463
671
773
214
86
410
265
13
717
50
936
833
530
780
833
20
509
326
768
636
377
388
718
769
83
869
272
573
261
156
783
53
29
882
96
27
488
975
985
142
967
586
921
494
155
214
169
416
633
604
959
201
581
948
448
238
711
185
749
946
405
101
180
377
864
913
891
829
564
39
665
160
617
16
532
171
525
715
621
697
388
128
504
984
24
765
8
378
336
774
99
153
181
668
490
579
410
788
20
55
94
649
917
953
924
351
536
775
831
165
326
231
259
495
333
342
701
726
876
908
905
989
995
809
977
966
259
119
513
685
962
31
252
558
503
261
112
686
638
837
613
235
175
407
688
52
935
886
881
803
486
778
488
141
802
359
864
998
386
605
68
902
466
343
465
774
244
975
425
297
501
749
608
961
356
498
978
124
878
757
585
170
319
538
798
229
142
553
174
446
508
801
523
389
936
820
697
520
122
209
668
932
81
233
184
757
283
140
175
638
623
157
410
8
369
72
313
34
624
824
818
430
957
401
248
359
626
197
227
298
892
929
971
934
429
22
987
637
252
250
218
140
865
53
578
712
350
850
734
318
380
675
720
363
333
311
409
79
565
717
195
199
74
777
420
203
572
31
57
571
598
696
809
855
29
380
336
574
852
372
624
789
455
427
524
252
694
315
284
587
20
931
454
876
622
970
651
970
762
465
803
565
18
481
155
161
212
424
430
536
352
393
241
595
520
818
762
99
804
112
841
879
883
268
966
481
821
102
19
387
984
48
122
751
940
508
201
352
378
304
756
996
65
585
831
789
310
192
156
488
224
633
322
145
69
255
952
956
536
251
358
266
297
497
338
666
226
18
234
411
200
545
596
662
670
561
160
375
665
322
941
280
416
936
961
32
661
576
775
742
489
744
433
647
78
506
993
841
196
460
720
454
997
855
755
51
228
483
938
258
134
255
216
700
673
231
568
269
118
72
362
774
297
171
669
275
559
170
335
981
457
30
325
435
851
453
122
673
391
170
543
1000
553
593
432
130
126
439
951
836
927
770
586
87
812
426
685
312
799
564
148
171
939
386
510
206
161
93
689
104
395
48
148
590
149
759
865
687
384
893
755
846
37
932
483
827
681
502
99
790
328
519
207
178
384
490
900
871
392
736
552
107
664
912
899
261
486
15
110
759
437
921
281
768
555
450
247
445
443
664
478
754
507
184
939
621
623
4
973
540
769
10
977
314
851
682
278
770
160
773
388
581
533
46
32
69
762
496
546
286
362
603
957
240
520
979
443
902
491
745
254
580
354
70
539
294
393
364
134
840
6
855
651
153
638
694
447
974
890
319
26
647
596
928
269
774
783
455
652
993
905
491
369
774
848
580
947
792
933
218
896
168
582
278
34
989
849
822
675
976
300
408
139
865
936
920
476
420
937
590
832
587
634
36
148
495
526
996
404
263
451
340
282
294
977
33
186
79
56
291
844
250
986
437
999
912
630
192
932
594
377
758
141
4
480
739
605
580
658
251
38
840
386
307
605
347
6
392
964
153
132
677
887
896
589
849
881
396
385
899
811
939
993
863
576
637
32
829
823
961
342
457
604
570
181
16
631
444
195
182
336
846
451
222
701
766
836
201
906
205
791
694
984
784
534
564
305
866
223
433
157
774
582
18
970
464
451
133
862
420
617
92
262
337
35
434
440
445
483
904
81
260
522
564
289
948
340
214
600
287
472
907
987
662
980
169
621
301
715
515
836
533
882
779
177
726
784
290
257
495
141
173
642
647
22
232
642
474
376
539
406
66
762
596
245
608
34
5
72
837
30
991
708
531
999
743
70
193
129
104
411
549
172
130
590
551
602
855
2
385
283
473
695
996
415
734
624
710
500
676
549
798
709
435
670
876
779
400
927
217
487
664
735
366
232
445
327
146
738
426
676
300
187
254
710
601
54
175
507
884
63
906
177
232
15
674
479
747
768
471
801
154
993
539
776
428
932
710
208
400
179
803
846
952
494
477
922
157
486
374
892
916
611
483
105
577
185
410
760
572
890
412
617
883
277
57
28
384
435
927
213
479
759
157
322
72
636
252
902
436
80
531
540
405
366
234
346
49
287
466
877
834
564
874
163
216
369
212
455
640
447
571
357
641
669
149
954
267
21
365
303
975
96
722
581
213
121
564
393
165
889
934
879
19
720
306
502
914
77
598
646
326
421
786
23
849
836
915
925
398
166
20
832
308
960
384
831
62
237
139
759
381
267
584
789
322
194
29
681
967
739
555
880
756
509
717
139
628
487
931
5
33
770
63
165
784
906
915
790
831
392
807
530
984
657
840
460
266
216
292
30
260
186
71
320
7
334
514
462
362
859
499
150
22
298
150
722
117
927
497
425
665
91
769
810
183
149
180
341
508
693
834
671
240
698
816
198
632
194
121
983
731
14
975
255
496
945
891
4
232
496
670
522
930
238
893
457
63
5
811
41
311
751
410
79
119
516
862
457
705
588
992
71
696
456
664
233
23
582
820
964
2
705
760
841
245
865
247
20
562
81
358
650
271
752
520
266
957
667
850
717
869
895
893
285
486
7
620
312
246
483
406
315
5
833
239
724
177
746
356
13
399
532
929
9
897
566
352
204
33
722
417
825
824
382
969
440
701
118
230
722
648
493
784
989
420
954
256
742
520
18
154
149
176
989
966
920
562
982
462
764
570
773
4
875
189
288
958
909
695
546
350
454
448
217
982
503
349
908
440
435
567
402
157
403
993
659
647
916
640
990
718
906
672
973
262
570
981
187
828
28
356
678
196
606
996
360
217
223
456
800
338
171
326
771
289
334
541
579
896
687
617
470
744
254
534
472
833
396
934
878
890
431
79
787
32
524
167
387
179
928
609
143
940
780
235
585
356
216
477
199
949
914
826
424
518
139
410
823
859
898
404
341
329
415
707
138
786
687
929
454
922
323
784
332
12
395
999
960
896
146
827
63
565
714
289
713
920
470
891
406
919
330
183
588
871
492
403
608
902
327
822
369
97
439
176
387
62
901
9
330
609
68
5
218
494
632
526
13
626
408
52
661
207
924
438
813
555
328
806
17
658
149
650
656
719
511
635
936
792
659
77
716
309
199
763
775
289
266
520
846
3
593
935
473
411
998
916
311
475
375
805
838
649
908
555
502
189
941
235
204
517
552
337
906
27
706
402
441
906
227
873
547
394
615
547
343
858
999
250
761
175
528
534
191
349
406
191
285
855
927
870
700
228
366
186
972
915
568
779
757
34
311
501
635
103
207
840
142
985
560
762
485
433
443
878
912
945
592
476
172
203
494
940
941
904
595
402
847
367
357
366
219
991
250
397
42
170
509
770
802
210
268
32
366
992
271
553
800
223
34
630
384
949
416
372
201
386
712
41
834
383
201
256
568
162
570
256
693
650
748
503
681
207
8
136
460
266
941
571
599
948
599
73
198
982
119
5
107
19
878
286
282
129
347
850
845
201
586
366
249
146
90
376
559
407
726
814
643
295
4
255
523
563
281
718
290
686
385
321
263
615
790
688
468
266
681
760
349
292
787
932
30
50
958
724
94
698
833
465
661
804
53
334
922
273
217
686
593
16
877
534
5
728
193
168
122
417
500
421
857
502
758
73
936
65
374
978
75
80
637
541
94
932
632
716
904
993
473
328
606
613
58
450
793
463
646
398
934
513
470
155
426
309
850
984
31
922
437
441
901
104
278
243
151
777
840
540
955
162
572
933
309
455
354
149
18
129
570
423
693
403
739
34
970
332
799
2
290
267
354
826
218
326
757
551
174
323
82
244
521
521
602
536
335
582
501
444
479
18
836
825
61
512
291
744
363
506
594
777
945
365
985
929
793
328
519
296
108
82
905
878
794
282
34
617
368
168
299
443
359
514
448
208
731
354
475
860
45
969
641
342
190
193
411
175
80
251
174
441
522
355
602
75
540
304
564
911
970
662
892
298
11
360
329
799
455
86
983
782
541
599
291
190
93
177
603
149
606
330
435
425
580
989
14
248
858
398
80
12
694
175
609
214
840
611
277
998
45
433
629
2
443
171
4
273
77
986
130
612
306
266
728
497
131
377
330
583
496
859
746
402
280
425
209
530
931
560
684
413
300
380
243
394
285
732
448
846
965
432
466
2
872
851
792
352
490
494
326
734
49
80
795
41
825
557
168
529
407
256
25
254
982
791
797
752
246
184
402
226
925
363
807
493
883
731
744
667
944
721
363
590
377
486
488
975
64
446
879
621
221
853
802
416
655
801
829
515
75
517
36
298
449
780
797
683
736
293
536
254
493
266
995
348
846
27
493
204
377
305
312
917
471
373
121
939
101
849
597
307
293
778
397
586
766
472
735
434
435
317
505
167
925
299
458
94
391
674
320
788
592
220
81
182
439
851
472
73
981
641
770
45
167
41
466
856
685
545
992
836
285
958
749
712
727
543
726
405
962
44
34
236
832
788
34
799
259
361
635
316
542
826
976
901
804
779
123
21
657
835
637
110
432
147
108
738
614
929
798
164
641
833
543
775
203
532
680
103
949
258
187
349
989
813
756
592
139
123
944
785
106
558
874
736
219
266
703
328
659
568
176
597
73
507
580
522
327
783
291
288
679
782
221
469
197
724
826
925
931
430
166
871
476
833
585
448
884
702
931
599
726
785
258
607
373
156
440
382
250
709
422
712
692
919
856
847
422
336
89
158
748
339
623
533
766
178
383
396
496
436
853
155
753
393
627
765
178
932
35
356
514
182
301
848
640
890
234
390
7
458
128
11
333
802
559
894
318
814
133
382
414
304
541
795
61
621
181
83
44
459
52
162
339
381
540
418
883
315
495
860
234
318
987
415
271
428
622
645
175
38
832
95
36
33
250
347
405
171
829
166
144
486
994
292
17
918
915
885
633
181
488
548
954
954
62
353
654
302
669
148
499
112
614
295
506
208
856
94
351
876
648
896
355
368
955
294
896
810
858
683
543
422
609
200
164
586
859
602
615
573
745
360
261
386
689
247
895
856
822
956
470
35
238
42
78
464
60
122
163
936
443
920
550
264
923
192
917
493
602
871
154
131
192
689
448
359
933
178
327
383
609
410
165
569
608
294
973
728
29
190
65
278
17
976
205
991
831
830
980
50
785
988
644
83
746
24
337
454
272
415
8
870
571
600
230
969
554
676
24
794
305
38
396
778
374
16
554
703
679
679
904
829
219
555
22
260
882
883
622
760
148
975
931
929
30
449
153
420
206
682
145
481
708
915
72
61
695
778
240
516
620
938
978
346
723
483
307
126
623
112
638
717
460
656
493
456
865
529
201
120
310
141
60
221
110
206
499
413
585
386
599
63
818
126
150
857
444
243
940
285
418
243
370
256
204
837
891
743
442
251
783
160
615
252
760
337
983
958
492
829
200
358
580
503
498
58
630
852
202
220
737
346
831
20
3
919
67
686
386
467
635
265
175
902
389
811
772
531
975
923
311
643
704
357
760
739
395
800
580
340
738
996
514
718
681
595
327
429
244
870
100
576
21
841
85
823
566
821
682
537
760
276
38
124
482
139
690
813
551
887
296
624
9
469
246
251
182
348
953
701
287
510
311
434
321
472
723
415
387
341
360
214
12
796
628
3
104
341
312
186
183
122
994
667
824
821
378
203
715
487
390
924
433
39
212
48
117
136
144
602
448
25
586
167
761
468
376
632
291
791
930
964
100
54
595
287
389
396
370
814
142
340
430
319
695
127
114
588
830
921
459
716
437
198
844
450
824
794
925
452
425
544
743
101
76
555
986
796
545
642
193
110
126
152
164
192
677
440
612
893
22
919
599
764
887
282
844
838
589
951
503
1000
13
449
186
856
166
765
297
361
73
171
190
268
934
852
19
970
141
700
331
754
692
419
664
196
249
528
24
242
302
44
961
905
83
706
996
746
901
766
605
846
164
128
132
819
397
644
78
113
717
125
543
18
728
390
712
380
94
483
46
460
437
398
232
41
505
928
613
168
730
641
687
292
964
15
642
574
283
206
370
857
182
89
688
910
892
291
924
679
778
966
996
788
261
394
729
229
618
811
457
218
149
681
650
984
807
69
457
221
282
327
434
813
124
737
446
447
56
141
871
357
306
977
905
46
33
195
396
832
953
519
554
480
809
427
861
48
66
485
686
198
642
73
773
721
450
423
785
840
454
92
269
929
312
976
58
167
466
314
378
712
222
556
219
624
99
486
256
229
707
766
339
602
713
555
555
892
137
223
949
334
62
533
364
766
88
150
361
802
49
523
454
479
697
496
954
620
186
257
277
872
336
229
654
158
60
18
230
874
636
379
727
839
537
37
606
92
515
634
93
403
364
728
302
359
870
130
101
754
690
653
328
969
936
982
743
862
660
106
589
751
387
768
297
376
925
137
842
48
703
808
463
275
541
877
294
404
647
850
237
514
286
392
255
325
195
320
320
574
275
906
243
145
197
655
236
448
155
407
707
752
259
139
681
478
184
826
277
891
19
445
919
442
212
315
712
611
359
70
704
820
61
918
238
825
915
987
411
517
635
372
440
800
571
989
535
186
343
699
600
553
77
552
823
939
614
203
61
283
6
430
700
396
463
764
685
745
681
172
748
481
767
769
433
332
297
855
123
743
715
588
822
74
93
865
246
751
657
878
820
414
538
386
31
840
856
921
295
188
467
650
253
972
926
211
731
676
754
493
840
118
331
728
433
833
9
575
220
918
924
552
561
623
255
966
767
264
340
838
275
51
552
191
165
985
438
616
403
988
224
892
955
766
408
898
811
49
858
386
268
996
930
352
327
499
477
920
63
489
508
586
809
664
21
665
383
494
602
863
220
904
645
881
960
564
150
772
560
723
286
942
485
734
148
669
883
472
496
647
803
847
575
626
24
534
413
48
396
149
89
57
132
402
956
401
676
855
905
255
706
14
233
932
44
317
138
586
459
536
520
856
874
274
892
415
449
16
313
495
537
594
876
951
725
954
638
229
751
707
590
98
360
937
211
418
644
562
939
362
368
142
161
156
558
539
470
673
965
145
47
223
733
619
838
597
346
838
987
570
178
578
386
745
244
760
851
846
472
802
592
735
824
642
726
456
956
408
219
685
779
302
696
538
187
574
160
987
317
547
750
343
285
191
671
480
572
408
234
102
543
801
488
600
7
173
168
89
203
383
228
181
720
291
782
529
5
248
882
534
445
434
161
193
356
403
876
297
550
805
52
613
226
708
238
885
62
729
271
129
6
869
402
938
345
894
514
63
478
966
508
468
552
195
986
836
533
292
796
432
230
507
741
203
434
860
774
742
716
305
466
920
571
584
960
424
394
72
441
891
64
695
228
371
532
755
563
989
62
422
21
392
976
26
154
420
997
874
356
974
712
405
978
480
178
748
955
512
998
758
393
118
439
478
370
58
425
632
10
923
327
480
590
741
547
898
672
995
473
841
83
654
383
899
784
225
86
581
54
389
716
122
224
942
514
667
601
493
925
671
539
245
749
69
270
564
833
823
115
287
114
483
166
422
870
768
137
805
336
402
650
255
246
279
196
415
281
622
226
383
677
722
791
886
622
888
226
436
823
67
616
955
907
62
47
580
783
540
603
420
797
64
910
783
252
97
484
275
961
239
971
197
771
39
65
954
403
337
193
328
18
949
982
534
603
327
187
787
225
969
408
363
618
397
175
260
72
111
983
769
741
554
812
276
823
853
242
751
28
837
745
991
354
949
187
372
197
572
347
589
778
835
865
983
576
58
627
747
312
601
669
698
874
420
143
84
710
273
869
979
786
186
374
321
464
592
668
10
536
381
740
947
74
989
295
453
384
165
749
742
414
12
717
999
53
81
756
727
979
769
157
221
429
552
298
668
196
324
901
473
37
716
359
82
357
800
975
247
712
212
356
517
630
411
159
749
246
949
378
789
452
105
922
478
122
966
751
411
158
253
916
708
305
496
89
726
809
37
81
897
122
438
842
161
862
388
303
148
869
202
961
51
66
768
949
935
773
597
698
729
318
909
36
468
242
141
367
890
320
650
190
62
712
815
381
308
559
573
420
26
890
541
300
35
54
618
532
543
477
52
936
550
280
192
818
489
136
224
97
229
478
888
360
161
795
53
885
499
873
568
306
80
348
5
715
176
990
585
444
527
638
772
471
807
77
889
284
923
332
813
465
217
979
361
948
117
191
423
341
232
691
871
856
523
657
242
595
443
903
676
44
101
758
368
1
104
78
780
627
298
430
683
854
632
602
972
620
572
172
211
288
472
731
390
463
793
580
314
703
158
404
872
98
674
161
388
804
27
229
240
256
618
62
780
972
781
602
55
525
223
598
441
519
847
991
822
609
311
844
919
894
546
843
231
920
159
600
504
288
205
546
417
590
446
201
59
410
621
379
516
520
404
326
780
803
444
412
799
97
373
846
598
66
980
458
473
387
342
256
270
753
70
153
18
417
873
589
48
474
636
797
794
499
291
413
467
300
771
33
330
887
507
534
188
940
894
602
968
67
638
192
305
635
70
334
254
987
399
308
224
122
817
442
191
48
947
784
700
527
550
128
192
809
795
580
79
642
475
431
758
439
709
67
693
104
911
164
862
78
820
852
999
635
999
791
446
67
48
53
479
950
182
248
523
59
733
386
297
343
679
949
303
852
374
868
331
18
927
534
814
217
807
816
851
280
133
109
301
800
927
341
204
360
484
861
134
465
664
563
886
284
491
733
330
571
16
47
620
204
390
970
214
203
600
147
155
200
259
754
958
44
569
550
120
37
253
98
9
156
707
729
647
260
568
518
669
943
833
668
60
542
434
28
290
599
958
135
189
70
163
267
877
883
963
662
511
142
222
990
631
914
788
449
588
188
140
408
395
898
321
982
373
47
51
611
375
451
683
364
468
892
509
982
685
315
652
314
278
480
406
942
662
708
283
292
469
588
666
226
772
988
628
994
582
92
872
650
217
318
713
483
477
237
86
933
898
508
936
528
314
837
465
473
574
728
781
63
855
548
686
593
294
229
300
750
471
379
922
94
398
145
641
788
162
653
246
439
345
986
998
715
24
31
121
671
417
495
479
441
467
667
296
293
529
127
745
797
980
188
710
753
378
338
212
856
611
661
502
431
16
872
616
796
705
391
434
822
981
440
438
673
962
553
475
487
211
723
41
316
529
547
326
768
285
582
605
559
274
544
464
436
820
261
207
606
11
641
240
614
294
729
12
666
498
358
362
341
382
755
832
532
110
266
803
940
126
976
577
97
876
898
221
311
586
72
753
685
427
67
706
290
267
761
422
170
387
780
726
545
474
965
280
710
492
44
869
315
313
991
780
260
726
199
790
3
727
636
649
235
630
661
81
281
29
539
555
81
158
212
654
244
515
274
677
430
758
388
204
705
601
753
368
943
156
322
381
878
750
908
872
906
878
235
624
469
237
307
554
708
933
83
733
895
654
656
545
999
790
456
689
819
550
197
690
46
749
911
357
36
668
491
396
330
316
379
972
422
444
944
633
746
61
563
448
162
666
981
870
694
285
653
654
514
113
489
570
750
938
553
566
470
753
414
649
583
559
244
542
1000
188
551
894
299
683
758
995
532
268
460
846
401
985
180
698
848
841
719
971
849
665
925
346
951
571
882
639
989
259
177
613
615
706
343
472
250
336
239
570
308
307
647
644
86
594
725
383
648
339
101
645
220
477
416
923
636
726
967
409
551
781
191
992
931
165
514
422
751
271
929
11
130
144
819
915
259
949
976
615
191
9
915
743
316
735
171
869
284
487
395
157
745
67
321
470
69
663
702
315
330
548
57
629
889
469
289
790
53
6
69
969
356
16
465
301
446
736
351
649
680
341
190
211
311
120
12
358
402
108
390
869
863
514
831
353
285
521
127
573
640
261
398
624
561
314
35
458
156
965
948
687
244
553
164
116
529
795
821
601
477
887
421
842
74
909
205
7
790
308
162
805
854
325
579
148
45
741
669
702
11
136
67
116
392
384
829
262
194
913
425
897
979
947
952
984
860
185
907
630
151
696
990
28
875
569
612
574
35
516
37
638
489
843
178
790
417
311
113
55
455
123
147
586
403
625
595
307
417
137
921
683
736
96
682
166
63
293
268
695
835
776
540
700
893
385
946
592
348
205
450
447
551
708
511
311
411
722
184
593
758
481
767
444
719
484
909
445
531
61
845
87
888
382
671
295
797
728
265
306
554
566
787
40
705
821
909
466
512
739
50
648
372
739
380
503
264
626
573
429
611
135
383
581
59
377
826
85
604
294
760
641
208
1
182
606
72
896
64
222
185
91
951
280
737
602
890
403
100
453
431
44
973
312
504
731
71
497
931
764
278
484
320
223
78
378
127
639
777
778
392
668
48
706
926
307
275
153
450
685
484
5
558
141
222
880
746
26
899
569
64
373
652
802
762
817
793
663
918
374
913
596
216
757
275
663
977
875
160
697
504
593
96
638
372
858
739
224
397
477
480
918
112
271
206
520
913
542
388
872
452
282
521
242
249
642
74
243
755
730
451
425
326
331
715
498
472
1000
197
897
626
311
68
713
525
764
626
210
623
435
33
413
855
806
763
2
347
258
553
651
635
731
468
16
238
852
193
694
805
42
328
456
295
422
579
224
43
794
709
121
715
38
319
754
391
181
663
372
741
749
249
196
57
210
736
886
833
976
909
416
747
575
337
349
666
821
937
52
904
315
36
437
100
717
635
84
738
999
105
703
758
185
366
340
96
924
873
105
602
675
503
610
442
938
103
374
237
879
527
661
228
895
602
202
269
798
446
248
687
856
411
342
90
975
348
936
931
279
477
789
578
796
947
166
394
571
424
493
834
233
147
513
933
181
696
447
32
592
385
451
825
709
730
216
765
696
566
229
711
68
422
948
239
53
487
621
907
104
71
892
36
594
123
648
626
757
453
5
994
688
835
336
262
510
493
734
433
115
18
747
459
722
919
174
269
72
489
61
916
35
423
946
547
924
271
850
299
186
531
366
239
282
788
765
36
962
39
670
583
997
403
839
395
782
753
366
427
575
44
680
503
324
946
285
106
127
956
828
43
866
437
369
361
416
37
369
620
961
637
562
508
954
777
409
694
29
320
768
14
981
317
447
660
208
475
845
429
224
624
682
780
665
17
48
818
995
314
753
147
102
672
941
603
287
866
591
848
819
461
535
49
498
178
38
134
324
339
335
724
186
976
711
436
323
664
419
804
273
337
661
899
451
848
308
240
163
564
858
571
335
646
770
175
210
524
105
905
315
964
296
703
773
944
994
892
935
252
566
842
936
932
837
2
958
728
839
110
308
954
522
836
824
515
959
661
156
196
576
765
774
841
833
372
35
305
77
407
74
164
387
252
323
314
464
704
343
636
557
561
734
870
69
75
655
866
951
745
831
38
330
193
332
749
787
227
319
609
302
727
451
645
659
374
458
761
436
669
388
135
961
183
621
19
836
754
204
165
863
866
75
292
862
735
419
156
364
243
180
206
342
254
225
668
237
532
944
487
798
130
976
781
761
537
345
995
344
821
146
578
786
61
408
884
911
61
59
807
189
238
158
184
867
507
104
786
893
977
207
701
581
135
646
264
422
403
445
980
346
327
788
896
748
374
467
486
451
509
687
52
656
675
813
783
256
756
648
733
184
627
371
692
202
372
781
197
879
613
825
535
503
823
364
546
270
744
520
956
92
716
32
61
511
136
129
458
773
406
173
684
787
713
716
547
644
509
552
270
801
953
245
348
301
851
360
509
692
430
459
690
574
637
455
791
914
495
80
475
566
548
111
854
681
514
498
559
509
712
467
677
877
943
72
358
31
273
536
415
419
427
106
661
274
194
606
999
474
248
826
790
917
267
68
579
242
154
853
159
938
885
535
78
987
560
633
146
163
835
136
540
91
89
97
737
201
901
242
524
467
128
159
439
2
593
734
377
286
806
621
126
47
541
470
395
965
458
625
759
295
212
356
479
21
783
987
385
750
488
21
641
369
703
885
131
348
172
38
11
194
624
469
632
29
790
877
687
570
140
820
390
483
652
501
388
167
593
991
96
789
247
933
891
392
41
359
378
675
592
448
387
232
799
671
671
744
289
807
267
83
323
842
947
385
536
77
42
725
291
651
142
491
19
790
170
716
725
917
765
809
824
195
533
712
369
876
740
871
812
610
608
354
389
698
75
752
496
340
429
349
434
562
327
665
613
316
594
258
592
81
938
960
791
785
790
341
735
929
139
883
707
55
724
56
455
357
954
327
341
671
341
992
350
495
172
880
649
284
760
835
616
275
847
787
21
510
955
893
124
331
177
904
456
231
522
157
496
298
866
59
401
625
855
974
502
860
726
764
513
994
39
338
367
558
868
570
721
258
42
46
860
463
900
99
879
790
734
609
176
898
926
201
13
607
183
10
443
165
313
59
99
460
922
135
230
996
111
269
875
117
418
703
917
505
797
812
670
468
395
846
758
272
808
226
239
583
255
211
521
996
803
567
693
392
374
119
599
307
607
513
374
562
34
473
420
585
611
984
280
491
666
414
730
997
661
11
881
310
537
452
187
445
473
315
335
182
716
625
145
766
244
529
925
295
839
405
265
696
789
617
114
347
169
732
449
902
525
265
583
359
761
607
616
310
437
916
911
774
889
107
723
860
117
553
5
156
367
872
538
820
633
156
580
120
202
679
766
675
457
525
87
377
324
502
41
761
650
340
349
417
57
236
468
715
916
507
673
884
302
564
679
616
431
21
870
345
710
239
288
64
968
99
272
939
423
652
183
957
610
868
372
757
762
168
204
834
855
86
661
235
649
429
531
654
501
713
869
174
801
657
780
716
590
367
521
879
658
855
3
599
10
562
159
845
587
307
682
232
588
32
591
836
129
328
759
962
204
617
284
162
181
332
495
365
495
173
583
793
423
190
902
271
866
836
664
638
61
398
837
785
436
74
167
722
46
744
742
463
7
420
760
708
322
267
691
729
216
370
774
771
638
398
180
118
399
507
469
669
743
636
828
766
324
952
939
569
615
498
352
264
875
127
547
415
204
405
754
490
946
547
255
388
137
425
525
639
233
881
141
647
384
978
739
466
603
314
608
955
709
785
973
144
923
517
434
128
326
945
309
394
687
212
64
111
55
719
887
218
578
335
102
428
820
131
463
414
513
685
844
190
148
140
744
277
534
693
612
335
610
923
774
970
43
370
46
577
928
1000
730
836
442
352
19
11
46
879
278
471
936
503
698
616
875
494
345
995
363
671
835
247
941
787
905
477
63
768
563
631
767
302
778
569
296
317
271
285
760
120
774
452
20
156
441
301
932
259
224
647
581
992
678
212
961
651
683
808
700
626
406
901
187
565
937
979
39
665
83
847
860
174
250
946
353
833
622
916
552
101
603
944
856
397
889
534
839
946
340
832
469
347
64
810
642
285
911
89
758
745
296
781
33
434
364
674
583
179
443
242
8
1000
531
823
233
303
790
923
376
160
590
219
906
127
231
503
373
950
279
677
259
781
158
446
146
531
863
6
873
344
108
151
188
947
91
677
636
468
761
823
476
597
749
615
865
851
358
820
467
803
503
834
200
237
788
616
850
499
744
131
122
793
534
339
720
403
201
386
27
409
438
655
27
621
109
331
618
632
55
253
119
706
934
683
823
105
672
540
910
891
914
220
552
868
160
202
653
314
674
872
196
264
390
18
459
32
666
319
217
95
665
426
124
279
540
134
813
113
384
385
779
74
570
17
378
179
755
958
224
130
504
572
27
447
607
561
135
975
280
85
982
994
63
270
273
525
38
865
65
691
510
859
458
201
742
147
385
31
921
639
624
335
65
68
664
16
514
887
688
322
388
805
100
824
539
375
482
482
972
110
652
343
371
11
507
495
969
37
368
8
926
905
761
353
73
118
611
687
374
962
805
546
853
461
177
58
164
613
444
586
817
737
516
897
433
469
279
620
722
398
241
384
317
268
734
892
610
650
344
288
694
67
753
604
574
101
368
88
767
878
902
260
596
83
479
695
441
415
484
608
615
162
120
574
674
578
598
477
399
751
123
767
790
553
48
834
370
748
599
311
406
287
431
343
746
682
752
337
982
229
885
290
483
744
586
866
232
430
866
723
440
908
315
653
919
255
715
500
909
941
757
571
216
896
21
520
243
831
720
178
12
318
288
13
890
533
803
871
95
660
886
415
689
890
835
850
471
884
29
5
56
529
681
701
77
227
517
263
846
164
681
129
34
784
737
706
213
596
587
769
667
453
346
694
281
251
738
478
217
210
846
312
150
755
558
567
229
255
646
491
83
493
989
83
22
971
49
339
316
134
800
772
239
250
191
243
500
312
138
76
835
687
574
418
576
202
633
309
986
129
780
982
448
375
901
742
405
168
528
619
336
942
634
731
410
555
951
439
73
518
192
672
872
65
434
712
942
747
415
564
305
718
980
672
842
860
356
275
987
741
714
435
889
587
718
952
554
254
889
407
977
570
924
303
661
71
202
430
487
276
236
130
723
847
196
639
89
792
34
425
214
901
228
589
142
643
307
194
426
418
952
5
272
394
878
541
406
693
843
837
900
260
322
49
150
93
802
485
311
571
932
207
193
319
201
506
202
183
302
805
771
217
79
911
274
57
963
932
672
454
645
249
371
252
703
854
515
551
320
351
844
555
848
528
979
858
989
543
745
583
197
516
148
5
892
270
762
686
415
837
356
809
115
959
149
572
709
469
993
966
422
547
948
476
754
437
791
740
294
679
10
198
135
544
613
456
432
590
97
5
939
651
413
931
556
974
244
721
726
730
407
462
681
700
367
572
674
507
992
890
460
597
958
237
64
899
460
910
393
321
761
40
62
274
89
571
634
795
763
857
686
545
839
425
79
540
539
449
243
961
257
747
113
471
52
537
325
504
92
451
516
415
44
823
579
101
583
953
257
156
90
518
888
429
999
797
245
875
14
226
256
175
321
150
588
15
375
436
529
801
425
193
115
506
520
462
632
290
399
653
593
925
841
675
711
166
515
99
139
522
724
25
877
787
441
425
920
344
314
179
696
11
732
201
492
394
529
338
496
274
515
657
559
736
835
290
813
332
191
170
193
556
799
733
837
54
711
567
26
706
913
585
176
739
144
973
388
806
117
767
85
788
277
585
397
579
712
596
820
909
444
99
617
680
574
962
307
175
873
547
351
480
348
450
410
548
891
492
939
241
25
647
629
419
373
490
899
147
561
138
779
684
726
36
144
524
948
269
931
562
790
359
791
246
264
397
108
686
868
259
814
811
60
303
997
310
91
978
557
601
493
622
398
496
547
860
685
126
405
829
850
769
100
426
480
701
772
545
387
561
829
410
578
318
843
305
407
256
871
510
650
660
330
408
972
910
671
575
141
466
507
993
902
204
489
212
103
61
483
452
663
576
28
784
736
698
551
5
962
305
144
530
875
845
44
591
647
473
827
942
27
150
872
428
838
520
174
701
913
540
585
418
747
258
885
504
825
686
681
165
889
173
573
283
330
177
473
341
107
157
819
453
588
136
694
695
398
917
785
722
150
733
679
373
116
114
729
331
519
198
731
575
748
180
547
502
450
25
623
984
653
861
820
708
458
8
882
692
568
393
333
326
534
656
603
166
520
875
678
929
297
175
708
34
948
565
156
463
724
853
886
808
75
701
169
260
909
25
338
865
527
466
831
858
708
972
934
964
207
700
324
816
71
310
948
995
761
74
166
196
574
565
822
512
857
790
626
937
229
544
189
112
689
103
709
442
623
781
210
696
790
275
682
137
705
324
590
635
719
316
356
774
285
704
699
890
74
97
694
554
952
836
294
181
508
522
826
552
725
211
797
795
301
153
354
454
971
263
550
172
654
851
287
335
653
261
199
943
828
658
511
122
282
172
796
995
271
980
470
102
557
440
598
364
259
439
905
91
894
61
877
184
692
376
486
709
557
680
807
511
308
284
818
441
41
130
801
977
772
960
219
895
251
806
9
960
193
158
101
379
875
554
348
230
330
520
323
134
546
890
260
470
577
299
818
540
183
278
342
256
686
617
35
616
213
359
414
772
472
985
435
589
329
292
239
702
867
103
683
726
160
189
635
821
951
766
568
427
469
355
148
529
26
150
92
637
447
680
986
501
335
202
521
140
517
292
997
856
968
340
839
634
860
860
919
314
71
591
971
967
900
10
269
806
991
418
537
362
380
507
77
888
536
424
74
627
901
364
231
557
143
325
547
780
640
413
843
967
457
173
726
876
670
999
987
396
753
217
173
288
492
424
300
737
5
909
568
18
375
459
551
3
729
677
599
158
991
274
1000
786
112
967
550
768
958
185
525
334
670
439
857
111
162
423
794
154
14
359
949
221
540
130
910
617
374
508
353
363
463
342
448
372
446
921
710
910
626
690
982
459
578
674
619
964
5
485
487
125
395
831
331
95
581
966
63
495
668
256
473
493
547
748
908
936
535
606
394
532
484
607
744
716
850
403
523
737
398
170
789
738
534
675
53
443
826
198
728
911
77
623
300
621
708
206
904
473
998
520
936
311
220
443
309
136
723
164
33
515
650
201
982
739
164
922
871
868
313
128
24
220
342
445
974
412
106
721
818
648
740
958
61
113
827
621
12
952
84
818
941
794
838
956
800
589
582
685
180
835
272
369
240
424
571
19
912
535
726
630
69
953
356
940
948
85
18
794
378
433
83
945
593
742
113
26
158
137
525
698
966
323
940
984
837
153
216
103
727
91
874
107
24
213
894
955
298
131
465
54
603
135
39
696
719
656
984
581
726
134
971
739
625
316
729
408
969
836
76
168
213
561
297
730
329
650
365
442
892
316
157
898
444
630
77
134
260
528
592
385
867
587
34
547
24
963
373
257
86
576
250
928
421
300
129
4
52
650
496
368
522
897
236
815
356
345
196
48
765
551
587
646
353
570
72
467
88
664
962
359
295
53
858
535
373
563
673
256
19
304
800
151
805
597
374
476
543
980
115
26
171
114
734
967
514
318
521
650
839
262
783
291
27
307
540
233
225
469
680
832
200
59
619
60
126
159
855
163
878
595
167
139
118
227
704
862
645
828
140
75
778
139
372
973
717
537
755
234
430
415
297
860
991
961
498
141
28
431
572
95
854
444
615
66
973
82
766
746
369
231
525
194
213
596
988
964
762
639
685
497
275
505
767
791
862
417
392
441
598
629
975
879
179
811
705
38
758
694
224
959
493
495
25
687
647
230
8
134
593
153
52
537
6
705
379
770
917
956
896
291
820
538
888
901
365
275
208
393
207
93
14
373
787
861
483
622
211
216
780
480
751
84
439
62
794
901
636
997
553
988
464
753
823
65
632
66
697
18
91
911
728
744
748
129
706
604
202
129
595
799
910
982
425
129
773
54
621
14
481
152
654
243
622
670
107
670
583
150
988
977
665
314
239
616
746
856
122
475
557
73
618
551
36
732
186
394
24
571
997
36
543
121
323
212
774
208
269
327
308
438
332
794
905
304
563
682
540
679
560
253
931
945
897
43
230
300
337
669
23
770
975
517
440
632
358
438
752
501
228
875
507
163
440
405
583
529
958
998
449
802
387
151
488
341
192
531
255
174
200
524
578
796
377
83
436
94
454
29
798
744
19
227
174
674
795
4
947
83
324
355
496
187
172
449
343
552
373
963
306
919
686
774
723
697
93
887
478
197
639
325
951
978
129
398
890
161
944
498
363
638
536
188
401
966
394
491
108
529
389
334
316
516
827
781
79
51
966
684
689
166
295
260
579
184
48
178
954
751
729
297
336
11
613
556
840
689
123
650
361
178
943
204
531
845
330
955
855
835
807
504
333
103
235
275
515
623
885
505
387
921
43
803
959
919
490
329
544
479
522
829
905
347
152
338
575
526
964
262
569
232
114
863
855
274
855
968
479
53
981
744
340
290
998
699
22
505
986
998
834
772
347
947
329
92
140
43
245
72
515
422
530
95
304
285
742
277
93
765
296
657
18
371
512
549
587
968
143
309
1000
366
369
976
637
792
935
551
105
770
128
301
939
193
250
479
42
262
807
781
253
984
499
607
31
427
923
738
288
152
429
521
505
983
524
922
297
963
221
604
459
262
295
787
454
58
806
824
32
321
975
281
981
78
294
673
163
278
578
485
720
951
7
168
931
891
762
621
488
953
657
244
553
401
616
789
683
895
379
602
713
466
789
784
609
858
643
356
447
792
128
923
151
800
91
652
702
813
296
534
260
559
243
455
533
12
141
23
52
65
173
575
736
397
177
105
585
743
284
978
59
72
580
984
67
263
221
970
372
985
862
984
83
358
621
676
739
816
169
323
974
330
201
425
164
316
26
404
366
601
240
696
252
636
893
378
200
184
209
556
451
789
413
792
7
935
841
24
229
940
276
432
4
468
438
134
791
248
241
985
330
729
750
89
432
457
352
892
785
462
329
277
9
543
178
172
918
359
207
83
541
551
852
142
349
39
279
997
140
255
940
776
42
889
905
933
900
181
290
719
31
52
593
274
637
601
638
912
30
381
900
631
355
437
303
578
993
597
647
693
518
402
174
462
627
36
521
645
397
844
191
387
277
96
195
912
710
630
824
808
349
827
769
111
155
484
560
801
372
437
799
342
994
788
146
355
668
801
218
5
102
792
167
348
302
410
738
524
207
682
173
947
376
337
782
39
789
152
592
603
19
288
261
647
551
244
263
118
81
512
767
339
772
459
214
914
312
159
355
793
707
742
745
850
591
745
331
536
156
885
592
225
386
193
232
218
394
645
930
824
997
519
222
179
697
498
779
142
222
812
989
830
656
462
285
790
179
173
795
297
970
111
183
808
642
494
553
604
388
390
709
335
165
985
770
469
86
422
568
230
105
861
252
485
85
937
360
993
210
31
452
180
80
70
518
624
718
111
827
862
874
120
791
679
115
234
160
995
809
257
402
898
259
346
123
670
588
824
413
781
226
643
585
389
968
180
50
145
501
705
31
35
1000
654
979
474
899
397
919
286
181
277
243
663
266
615
522
497
837
163
584
6
975
161
831
505
926
754
235
756
809
664
808
803
350
371
107
929
505
605
798
441
295
729
241
236
791
279
821
789
650
160
771
277
742
143
676
103
504
130
686
64
838
113
404
912
276
577
452
725
690
769
462
994
853
631
14
198
379
417
208
212
156
82
754
281
38
375
208
944
362
818
403
73
589
751
201
482
967
335
509
212
975
25
153
753
522
8
855
463
68
735
18
189
443
267
993
244
864
884
607
100
444
956
291
643
104
555
881
346
772
934
184
125
3
552
882
180
319
559
185
12
872
552
819
75
374
273
349
752
804
677
145
174
400
930
135
225
187
726
590
794
132
374
473
397
518
163
570
524
122
553
451
722
332
142
332
524
103
452
266
864
721
7
34
947
368
343
373
583
20
585
832
177
504
790
394
774
599
764
101
999
3
970
743
200
660
970
1000
183
733
879
642
560
965
868
500
239
650
323
249
635
644
754
306
156
942
83
245
925
722
337
665
408
648
114
515
907
852
222
963
717
722
862
253
768
588
882
991
717
283
362
29
323
232
205
398
489
771
971
830
738
112
164
355
258
995
75
418
538
693
285
337
141
369
748
177
470
177
546
774
463
997
350
653
305
205
409
224
488
540
614
94
954
192
202
836
222
297
467
803
369
740
677
36
794
516
115
916
360
444
456
963
990
575
442
848
769
156
53
16
935
456
268
756
630
121
623
873
613
842
114
900
366
949
257
551
575
573
540
448
188
677
347
602
41
702
341
563
392
871
337
400
476
245
104
650
906
829
59
441
444
844
924
702
344
907
728
598
159
959
115
91
724
829
344
317
981
458
347
879
917
673
484
166
758
332
453
82
585
494
992
268
733
155
610
762
499
448
455
906
98
705
995
784
225
758
405
712
637
321
941
219
167
810
251
800
516
103
67
295
750
84
461
945
432
843
105
487
84
918
69
130
189
960
740
180
154
838
594
741
981
700
992
636
428
575
40
419
264
560
4
315
494
127
539
796
572
101
621
900
124
389
788
782
999
867
714
21
217
219
699
632
384
880
326
163
813
217
642
949
598
745
732
77
272
100
936
354
59
206
569
542
363
292
374
7
909
836
117
182
59
112
205
148
824
545
748
824
386
789
739
169
527
871
187
661
306
586
839
636
527
760
917
562
854
868
351
478
622
67
317
347
146
393
626
547
562
1000
788
786
425
447
588
104
978
599
477
689
581
710
440
674
97
790
363
293
52
711
939
36
381
110
526
85
538
46
117
97
632
247
747
646
692
430
540
420
778
344
653
86
762
755
114
169
200
330
49
728
972
169
653
493
612
278
50
73
599
679
625
579
329
391
479
902
824
681
212
63
85
167
744
229
179
504
990
131
133
70
244
857
167
695
445
428
408
154
192
860
882
138
490
883
100
960
493
699
106
554
225
348
439
975
306
562
846
424
365
624
144
821
538
633
155
280
552
666
807
739
444
96
910
638
928
602
938
338
91
900
671
205
59
801
371
51
941
340
75
190
741
540
625
956
681
301
855
501
43
612
785
405
16
4
310
944
515
480
408
627
956
159
372
240
94
103
454
238
696
546
346
661
342
596
511
112
258
222
711
463
813
836
651
292
548
712
920
187
871
228
256
964
361
477
166
209
34
833
783
183
320
306
993
326
598
969
149
890
311
103
905
211
261
141
806
466
238
836
404
110
710
444
707
473
953
63
145
238
136
355
944
400
166
6
499
263
785
261
194
508
29
405
313
809
333
700
16
401
866
421
962
881
634
315
94
924
739
215
876
747
59
679
939
599
749
618
993
928
176
660
552
541
731
800
372
511
849
234
763
547
448
616
818
459
272
565
243
351
795
17
296
254
550
791
400
505
974
849
556
284
255
728
964
369
622
904
236
362
150
91
6
50
470
643
615
971
961
658
582
809
68
224
340
278
951
481
845
620
246
761
555
42
344
410
901
573
680
636
854
803
42
581
283
364
637
826
524
359
371
839
189
789
677
810
257
929
389
968
864
481
703
289
540
571
261
450
260
486
635
200
159
29
461
97
672
167
30
515
714
955
600
769
297
386
66
308
483
656
555
731
484
756
326
513
2
581
617
510
577
889
772
497
716
813
567
955
369
889
889
226
542
533
645
449
150
824
694
165
813
368
280
968
847
332
670
677
893
134
605
616
756
958
988
424
345
725
786
161
328
82
657
670
652
303
150
133
840
520
527
795
897
934
489
711
24
745
923
864
587
142
730
586
808
133
904
190
326
852
606
146
195
57
316
669
316
962
313
818
879
961
528
382
27
90
545
787
692
610
712
694
322
87
651
403
298
692
510
221
730
672
286
260
548
551
898
297
977
143
685
304
246
855
100
301
12
659
584
587
803
448
659
572
638
212
976
557
789
498
851
761
177
276
886
205
160
63
490
717
432
723
877
975
954
823
884
665
784
338
318
43
1000
700
251
620
881
155
833
464
80
388
991
903
838
957
500
120
223
424
175
164
141
322
639
662
419
758
672
925
170
114
505
388
520
439
24
456
671
905
160
689
385
66
325
134
743
764
440
491
717
278
633
757
820
821
174
316
343
929
809
294
514
823
544
677
647
211
933
685
172
207
69
836
870
457
95
243
345
342
678
196
147
659
225
20
1000
282
521
212
642
955
690
709
856
795
394
544
35
383
399
959
387
951
91
550
246
531
434
382
561
432
521
184
592
789
276
454
298
598
478
186
730
747
197
291
870
685
407
891
275
430
123
859
644
472
642
749
213
896
973
793
943
954
376
917
461
668
256
311
308
247
972
979
308
741
43
541
671
166
83
276
999
154
874
578
186
906
912
398
578
801
987
525
165
750
1000
745
573
348
568
425
991
868
280
146
852
502
98
382
396
514
247
447
438
260
66
477
251
478
306
440
742
699
272
32
440
424
370
141
159
913
854
881
568
927
299
889
271
234
45
562
807
983
361
238
431
985
41
620
895
463
642
811
853
406
443
480
627
299
820
938
992
359
865
943
819
921
774
231
222
642
144
120
476
352
520
95
395
230
350
250
831
912
416
448
664
203
388
413
198
310
816
274
467
404
833
800
942
500
300
23
953
615
386
530
417
130
654
293
473
323
769
458
708
776
728
808
667
107
636
964
921
689
681
315
895
235
478
44
904
288
340
867
379
271
565
434
271
456
905
15
379
798
532
770
496
177
921
333
737
387
382
793
423
554
844
663
155
975
911
35
110
766
620
569
292
543
661
374
124
801
951
878
149
150
127
117
735
101
835
597
879
618
465
103
100
86
930
156
869
614
592
501
37
713
169
336
329
113
662
616
703
454
296
569
156
155
721
748
245
272
848
441
633
596
7
219
360
47
29
828
91
710
487
625
370
648
933
587
20
735
929
638
646
558
844
622
202
469
683
306
192
361
854
556
152
345
747
279
112
91
775
346
442
94
987
561
52
758
135
467
852
685
469
941
325
153
293
992
741
402
972
903
845
144
374
854
269
200
699
292
79
574
454
846
98
495
143
507
97
21
137
784
637
730
341
354
730
763
508
338
111
379
848
206
831
389
319
116
582
184
430
536
675
166
841
124
204
566
326
899
385
436
700
520
807
220
443
187
314
772
584
780
708
492
84
301
261
403
916
349
912
255
377
105
36
586
763
695
643
502
918
620
416
152
231
744
195
253
609
172
441
625
706
442
36
268
797
207
506
886
400
692
705
315
791
631
339
515
507
136
952
194
364
836
747
551
69
29
401
773
574
688
326
329
616
38
164
681
829
573
727
653
60
74
85
618
849
517
882
256
725
29
43
679
655
51
997
962
386
774
359
174
39
87
963
39
916
85
657
773
405
142
178
470
571
276
385
42
543
515
308
455
984
73
449
428
489
796
264
708
484
300
639
325
162
548
51
977
430
351
227
816
278
468
751
304
52
260
466
180
810
281
545
315
379
808
213
264
849
666
215
236
793
704
863
34
739
904
303
710
778
968
609
412
166
446
275
549
53
265
443
609
804
199
902
65
567
793
266
414
654
353
873
406
216
651
923
494
856
631
30
830
80
374
228
377
87
475
157
423
98
713
315
208
219
299
253
532
569
843
406
480
598
425
641
323
889
333
995
84
494
52
939
169
447
602
125
652
344
871
193
206
94
397
390
83
483
721
469
472
986
216
391
8
759
745
937
491
511
374
667
604
267
661
753
209
631
870
296
735
65
460
173
298
729
192
842
607
867
497
452
895
950
908
981
627
99
690
822
527
372
87
517
112
824
218
679
758
990
837
82
950
126
440
817
269
624
289
20
901
285
909
866
681
289
153
155
511
301
530
127
166
471
735
721
865
194
747
23
180
397
619
402
612
397
927
686
453
19
414
889
81
619
424
43
457
949
381
128
797
761
361
578
385
895
943
404
33
309
209
927
975
398
74
300
613
389
713
314
551
753
912
437
7
844
941
667
267
528
544
908
395
504
701
779
392
215
67
249
837
293
788
738
315
304
53
727
177
53
113
476
823
422
172
802
600
404
41
807
887
567
673
150
209
543
871
294
348
19
55
878
979
608
362
913
818
321
98
698
857
889
798
278
18
414
471
367
827
507
605
77
101
941
878
76
768
232
344
884
14
880
555
412
503
272
358
182
46
582
642
319
333
561
926
419
348
348
353
745
990
360
618
265
799
148
828
278
757
159
712
198
184
59
439
290
907
841
622
218
244
301
451
494
731
51
990
256
514
706
826
907
117
636
239
137
746
914
278
751
135
85
242
956
79
331
365
571
889
341
225
401
899
118
788
80
328
763
169
810
383
670
860
584
276
853
669
287
341
390
254
828
800
824
801
598
80
316
487
403
610
951
69
737
333
755
722
189
261
221
899
465
952
900
219
903
936
352
322
562
113
904
821
539
641
903
542
222
178
21
755
95
976
413
736
608
726
701
469
30
219
799
508
808
143
673
774
312
153
787
359
73
345
171
290
364
722
263
628
245
405
886
517
962
954
491
221
416
147
160
561
561
902
208
695
351
816
870
716
190
273
828
210
802
40
297
599
597
899
664
949
497
945
161
593
11
877
284
735
603
405
741
446
965
877
79
819
498
915
217
336
679
622
735
556
126
398
656
386
704
598
310
693
981
613
583
656
497
512
299
29
188
217
121
371
649
887
623
642
753
60
901
778
220
941
406
519
604
332
136
323
355
341
992
732
630
796
619
963
340
976
647
752
665
626
859
250
934
122
91
792
757
150
23
703
15
355
628
804
181
896
857
498
80
235
872
1000
350
125
25
148
805
882
948
890
658
683
563
298
194
968
476
350
516
591
355
590
39
297
712
310
11
593
644
863
789
210
577
260
865
17
29
631
42
185
43
170
826
349
797
34
263
497
919
549
773
169
558
866
979
352
509
820
361
223
544
230
430
632
16
38
201
199
306
970
933
96
798
558
847
694
209
158
954
194
998
805
527
250
108
489
140
74
411
541
64
831
76
310
730
398
648
442
65
339
379
925
258
422
517
617
490
369
322
479
475
12
675
498
232
55
815
69
242
623
423
778
912
877
104
743
583
65
758
430
331
970
851
46
523
512
54
778
621
267
860
816
573
305
834
771
671
983
939
388
606
289
413
760
394
26
736
383
968
756
144
377
802
71
396
158
345
519
20
495
779
661
710
440
832
85
410
615
424
436
411
983
105
154
533
548
725
5
276
304
300
12
572
81
247
233
979
761
272
546
614
863
807
738
752
462
30
728
250
854
560
239
954
439
651
324
721
286
727
847
983
238
204
705
306
883
406
174
529
648
524
458
970
136
850
917
545
268
257
741
764
658
614
296
952
760
366
95
512
799
591
509
793
680
236
879
587
959
866
524
807
355
54
817
354
573
574
18
963
698
541
574
142
768
463
522
541
664
532
437
914
63
603
763
191
796
402
566
424
214
712
706
712
875
157
919
451
308
869
185
625
147
73
268
279
395
966
114
975
340
825
946
669
488
972
593
567
119
54
17
534
325
697
609
878
746
282
572
771
863
275
614
890
90
632
65
3
97
314
454
124
465
823
213
939
496
921
108
919
920
37
760
634
380
373
693
317
341
751
643
803
604
414
831
300
484
465
64
534
570
763
526
515
402
68
205
461
421
578
558
460
92
593
815
942
72
593
478
561
67
146
723
713
563
916
660
493
268
317
735
980
928
319
109
988
484
646
441
877
202
130
448
421
802
182
344
34
268
826
611
429
776
234
630
374
236
644
548
661
295
506
899
847
213
818
228
156
385
151
736
660
657
688
246
893
691
90
403
674
83
183
213
52
754
299
57
532
344
271
907
508
550
143
343
890
751
923
751
585
704
775
609
607
71
847
749
499
746
643
752
536
308
949
760
693
263
691
934
90
236
14
320
210
828
274
283
904
366
783
346
895
512
860
349
724
940
555
597
317
696
452
528
739
427
682
484
219
158
650
866
662
161
13
375
617
455
1000
840
835
823
664
929
522
638
416
258
393
892
917
470
257
831
209
679
117
96
215
425
803
972
171
526
678
352
245
586
215
282
547
872
277
754
349
311
846
607
266
783
715
466
578
956
880
750
591
377
587
673
407
509
495
125
501
559
272
607
283
97
443
804
233
535
696
899
811
18
968
666
577
131
500
713
989
770
808
741
404
951
945
910
961
974
70
9
788
64
686
487
585
583
169
476
530
590
24
52
174
624
467
719
615
778
976
844
406
731
463
844
691
442
791
49
542
313
630
982
95
207
912
834
656
713
528
248
616
597
754
328
623
626
657
192
404
210
232
831
648
485
279
323
24
38
668
367
727
190
251
569
736
73
621
313
338
835
507
489
349
185
46
248
353
518
135
478
492
914
11
960
893
454
217
274
446
85
622
464
695
654
822
68
394
314
916
171
713
311
872
747
238
152
784
568
485
186
422
294
755
714
664
833
105
196
201
716
117
446
807
110
807
130
918
409
4
172
528
805
286
478
624
190
472
677
736
503
886
453
175
772
496
845
858
788
154
759
32
454
243
41
145
478
197
409
538
903
824
833
908
944
425
659
147
56
754
206
87
944
253
824
313
463
535
852
479
718
83
157
29
170
159
642
629
269
415
76
966
935
429
606
996
79
139
993
666
939
53
178
215
450
7
328
969
999
821
502
345
820
724
725
164
91
725
503
69
525
871
654
445
905
299
462
259
351
842
479
918
844
230
638
312
771
453
471
57
251
85
87
107
407
882
240
953
476
784
223
883
890
95
775
761
371
55
210
432
402
108
610
754
77
153
69
605
471
854
978
811
34
202
628
686
135
385
44
192
497
180
522
872
690
104
829
382
304
442
883
171
194
818
625
222
608
609
629
786
828
654
853
440
607
4
964
107
779
664
520
816
189
538
980
497
265
507
456
415
508
537
938
804
729
944
104
49
920
235
279
333
401
32
419
27
574
673
180
368
110
430
491
680
19
618
49
569
486
799
562
416
699
544
472
725
310
428
376
842
655
986
988
732
294
660
428
63
553
802
894
467
740
118
154
678
524
614
537
526
706
120
213
438
624
618
583
455
600
234
487
312
660
999
330
83
589
881
33
67
422
623
224
901
710
46
442
849
178
295
162
972
164
758
876
806
36
339
747
527
871
804
690
158
777
712
611
571
378
902
962
633
700
744
230
898
113
13
860
100
128
848
575
539
233
665
605
777
798
25
600
57
469
726
6
72
492
925
284
390
860
988
426
919
583
104
687
80
853
158
170
65
871
681
485
763
849
395
917
376
767
550
503
998
918
677
962
865
289
834
871
989
347
3
369
811
876
775
912
701
267
260
764
422
605
810
178
268
688
892
842
271
834
276
236
399
96
842
738
121
503
779
207
1
548
563
947
667
583
918
161
790
228
700
641
371
970
262
497
933
333
412
901
820
130
865
359
552
174
923
948
361
613
572
759
698
647
514
568
736
351
668
770
594
744
443
445
872
480
928
592
936
376
9
26
771
514
342
28
47
957
694
8
448
572
986
962
615
756
830
985
814
291
3
113
714
617
788
523
906
620
637
370
238
850
768
670
535
700
425
622
495
413
103
811
865
148
156
895
444
535
213
714
650
640
620
789
204
765
857
478
134
357
289
411
923
213
720
32
633
318
252
760
317
728
38
422
205
367
41
383
314
77
225
614
493
366
875
453
122
367
528
249
949
96
695
971
258
920
929
246
190
859
315
668
926
299
339
535
389
796
54
281
169
650
379
488
333
633
214
911
48
191
268
793
894
641
188
963
470
815
551
796
666
791
408
307
946
76
899
381
458
945
52
875
635
300
184
513
75
792
452
625
855
398
565
575
869
255
770
797
945
515
991
682
981
322
58
513
395
518
342
49
491
876
360
348
933
379
181
8
476
179
282
239
741
156
143
531
110
323
80
66
192
687
21
363
666
199
535
623
64
328
680
931
412
80
866
678
605
685
480
904
853
977
982
987
119
33
815
304
837
212
574
228
210
53
634
503
953
571
280
584
828
682
590
978
605
988
483
250
363
41
242
695
323
198
351
474
510
300
805
17
149
849
64
281
975
270
733
209
532
879
924
911
932
479
161
893
17
169
686
794
39
957
859
310
878
760
920
388
753
661
728
128
47
913
557
180
462
621
116
82
963
618
239
922
168
924
525
878
89
740
494
663
794
146
457
908
554
79
122
799
366
219
630
433
666
448
119
527
188
744
232
25
8
792
903
543
248
570
47
586
858
661
75
162
797
447
362
851
257
48
220
846
790
535
527
243
964
58
230
615
280
371
944
725
374
320
107
365
483
81
657
633
794
239
701
659
433
413
771
167
321
56
173
162
758
402
728
645
881
693
163
1
622
361
750
959
884
593
938
533
700
982
428
81
298
953
479
236
751
407
861
368
184
77
852
936
735
565
325
307
610
302
118
752
204
768
935
356
861
839
802
730
618
341
12
250
667
865
982
728
236
208
894
57
842
610
387
927
992
473
561
724
345
667
584
235
307
936
443
283
849
283
139
755
234
436
194
341
393
671
365
637
320
191
771
714
658
495
737
839
655
909
745
641
61
863
135
129
806
562
793
802
820
898
754
119
29
594
294
614
126
913
846
525
375
852
333
803
81
941
325
751
153
496
615
357
265
106
421
798
508
440
161
166
861
276
139
630
262
699
824
572
192
745
525
90
528
207
26
982
672
425
451
467
526
328
922
866
751
402
705
629
101
377
424
393
114
518
396
384
37
715
389
846
997
723
89
821
729
679
513
796
124
860
845
213
668
552
233
771
933
416
546
412
250
505
647
136
175
785
926
620
75
347
794
870
414
993
682
84
838
854
90
713
856
580
385
823
312
432
390
141
486
218
109
816
967
877
795
636
875
82
189
826
200
269
390
725
578
800
742
592
210
357
947
166
664
446
459
971
367
102
159
323
268
258
726
725
723
818
474
735
705
495
141
543
290
65
100
101
37
887
88
650
95
986
306
441
53
415
181
684
245
502
421
693
426
427
349
250
147
52
974
740
625
544
907
292
601
155
477
863
954
447
455
87
414
252
506
810
297
321
351
585
479
644
856
232
493
71
329
524
593
654
861
718
496
405
561
315
18
442
45
942
957
715
808
631
223
952
572
770
587
679
323
944
592
731
46
166
79
63
413
294
713
898
619
7
405
204
472
622
497
67
879
552
630
85
352
664
187
176
591
597
691
377
566
752
36
110
384
473
450
729
469
535
801
902
392
834
200
425
9
231
522
97
150
222
242
703
926
611
333
745
295
76
235
771
237
801
450
955
377
883
90
858
674
133
262
103
549
395
203
392
69
838
152
488
94
280
837
442
695
964
180
675
221
898
63
927
359
391
1
423
85
786
40
601
793
83
886
528
867
318
29
330
422
313
66
4
787
671
67
384
387
148
358
644
269
501
142
17
647
348
771
795
822
491
345
224
437
995
489
698
870
706
298
993
540
637
740
793
972
173
269
930
268
537
971
561
553
214
646
152
461
800
289
874
881
972
874
519
290
714
733
440
328
416
286
705
890
216
258
798
252
864
428
549
824
636
540
458
796
641
715
229
715
473
537
464
875
61
646
544
275
627
174
19
136
81
64
968
736
655
336
65
620
361
995
105
891
207
760
994
655
328
730
619
538
105
872
757
762
342
328
566
965
749
295
844
346
127
640
434
322
724
515
641
510
232
234
950
641
480
527
325
874
361
917
670
303
887
988
990
741
37
391
18
954
810
243
152
79
179
68
290
48
174
297
373
727
583
406
487
64
593
147
647
833
168
309
356
868
621
365
601
512
917
46
298
775
315
181
125
707
280
93
505
118
167
733
864
196
833
338
603
275
428
513
705
322
816
338
362
169
137
800
625
48
839
321
843
634
387
31
353
76
278
744
848
89
674
796
273
696
970
131
866
761
657
928
770
829
456
121
46
544
841
19
154
210
316
288
227
211
585
648
65
728
499
744
290
439
99
94
995
912
474
915
608
648
383
723
790
170
608
216
661
304
898
267
427
461
835
181
378
238
672
756
926
498
441
633
381
92
119
157
820
26
265
604
780
341
950
152
857
68
743
948
79
252
644
270
940
669
414
858
100
933
389
161
573
845
757
83
864
586
203
245
314
219
404
867
585
245
136
873
574
740
690
754
162
372
604
815
229
254
263
812
397
226
550
21
824
74
634
843
18
315
442
34
108
64
306
578
679
436
688
237
587
261
992
712
623
132
675
794
158
410
574
841
717
645
366
373
138
430
245
44
65
601
178
263
987
827
97
621
147
406
605
8
897
353
662
376
413
390
16
230
28
292
295
730
546
774
168
566
813
491
806
738
493
903
24
580
61
281
102
113
889
476
196
274
811
485
468
206
624
551
789
203
334
928
906
738
505
931
639
920
271
346
714
511
902
339
249
214
707
316
52
348
29
580
172
514
21
457
781
525
592
315
68
364
397
583
744
250
782
324
225
686
30
321
466
510
426
262
297
254
956
47
287
873
264
646
964
872
688
131
361
991
165
484
134
376
399
507
902
340
273
309
192
807
13
864
692
364
405
466
937
843
593
864
481
871
600
181
358
100
516
385
796
999
927
623
228
760
345
152
401
817
517
646
591
450
154
90
336
334
813
789
582
437
195
13
159
269
536
261
420
34
902
253
772
116
400
621
90
258
466
516
868
955
760
68
470
953
177
991
640
463
118
952
396
27
203
533
160
344
821
592
999
736
863
126
733
767
5
62
60
831
731
186
80
16
252
891
973
522
815
58
593
427
998
647
768
1
261
6
87
544
90
295
151
581
959
475
438
348
466
485
635
623
228
960
129
213
247
478
400
580
997
978
365
83
169
15
385
834
285
634
558
773
416
395
808
892
322
614
791
285
497
625
803
402
417
401
439
899
130
81
513
391
338
761
3
396
354
53
858
825
802
113
747
607
332
867
366
249
167
898
288
583
872
994
475
147
532
142
795
614
960
221
67
497
86
334
393
512
705
800
580
966
736
83
35
82
604
367
533
269
273
754
873
193
799
197
271
53
410
687
816
42
126
206
783
595
705
647
174
748
988
571
217
315
990
697
479
300
527
903
698
50
139
663
159
419
678
512
126
853
305
647
793
106
857
177
406
232
446
192
834
752
551
247
522
187
385
397
811
352
779
94
108
512
232
291
444
338
738
43
734
27
868
128
554
24
941
327
518
405
615
83
437
125
216
953
838
378
762
930
625
975
336
224
284
715
497
147
949
454
670
208
872
579
451
124
782
105
846
889
753
884
278
335
43
561
928
907
262
231
207
90
290
404
681
519
932
116
144
153
15
21
532
17
230
391
710
382
778
198
381
655
293
364
281
678
162
764
553
374
463
57
494
774
48
124
208
731
425
518
555
93
857
401
519
97
401
831
105
260
964
139
143
222
690
184
469
799
718
994
558
883
786
952
284
21
653
761
568
28
134
563
631
638
582
558
315
545
37
883
225
16
273
980
73
886
119
961
135
688
595
936
195
880
234
885
995
249
728
237
560
823
553
669
986
660
811
150
969
318
964
272
172
185
661
573
68
724
500
969
994
336
153
843
78
897
482
296
960
227
939
19
6
361
263
440
283
525
3
197
361
117
604
110
536
925
443
902
265
393
376
489
77
16
764
185
987
87
260
949
557
878
303
637
805
213
420
298
191
468
5
659
888
313
929
461
410
956
893
106
597
745
53
839
817
490
694
891
965
372
910
73
791
360
477
915
932
192
36
306
211
559
318
49
579
190
139
602
106
448
456
678
667
194
813
244
101
774
386
843
24
260
111
708
666
920
100
308
219
996
108
960
289
871
12
892
924
908
494
594
792
841
138
688
892
152
458
24
592
1
233
778
512
423
524
258
151
454
689
565
903
483
826
868
284
175
547
870
57
476
216
804
68
595
916
715
390
857
570
679
266
995
950
900
682
259
458
928
3
797
726
50
448
778
394
620
432
857
859
772
821
243
469
572
776
964
38
667
654
222
369
407
981
51
197
531
940
961
532
458
910
977
784
158
700
882
672
124
686
745
893
230
221
198
435
246
284
474
180
814
444
425
249
324
316
671
628
536
359
691
406
570
361
130
861
802
752
770
433
493
108
487
818
160
629
182
485
504
855
507
201
712
202
631
993
199
562
366
687
28
619
376
782
34
852
450
35
388
263
84
401
644
354
831
77
380
712
832
91
999
34
839
98
755
28
327
578
20
479
353
520
587
467
937
508
712
629
978
258
857
897
859
804
193
700
14
573
927
409
726
422
166
424
363
39
395
814
927
671
833
54
241
526
398
740
15
285
3
512
601
40
370
669
996
274
186
203
24
297
483
985
781
706
99
946
464
984
16
699
87
699
790
210
886
211
167
876
600
25
763
744
540
182
483
877
135
760
129
730
370
970
424
524
842
47
411
407
648
176
867
732
902
792
879
257
87
936
193
273
315
907
515
77
35
743
627
687
862
231
364
893
118
659
669
314
560
790
627
684
691
403
963
589
118
542
887
630
287
898
472
191
404
329
588
951
976
803
285
736
677
772
956
820
953
292
659
750
702
588
126
297
533
161
267
964
54
278
413
903
885
544
867
163
831
973
553
374
78
648
936
688
170
344
797
822
447
244
660
863
51
76
741
322
103
165
311
755
143
792
450
445
896
475
587
122
891
292
42
559
377
303
288
425
222
219
785
775
525
591
521
325
760
383
765
514
542
430
326
869
761
487
258
997
854
292
498
794
118
874
682
621
60
125
893
253
486
125
869
377
484
90
73
141
475
561
354
546
339
135
265
990
7
968
168
314
463
967
87
873
515
102
584
509
106
818
98
643
486
683
971
290
223
231
118
577
456
965
521
786
541
943
781
165
484
166
418
858
718
720
175
905
780
701
596
976
464
296
992
350
628
308
506
340
849
447
373
838
832
613
545
197
383
238
542
831
59
314
722
617
83
66
394
190
287
837
589
60
193
410
514
976
485
598
236
100
146
586
64
653
280
710
368
692
418
559
95
780
103
298
490
359
111
478
350
69
592
823
669
133
688
639
249
280
655
390
72
525
922
221
315
733
928
88
850
471
361
26
743
211
962
691
658
465
482
35
18
715
726
535
65
782
160
423
930
249
249
339
84
385
899
297
891
326
350
974
418
356
846
751
358
156
930
453
629
316
988
863
144
397
906
731
8
826
947
123
326
839
203
667
801
212
244
426
973
981
683
519
11
954
691
128
751
530
608
973
955
898
997
763
13
419
95
123
81
988
565
564
786
792
81
814
247
552
185
799
247
723
755
655
218
400
74
151
732
266
152
508
681
770
141
432
162
384
487
498
422
867
916
65
410
360
413
551
57
627
690
237
469
223
660
253
624
839
471
505
1
948
297
708
97
632
86
719
180
829
576
561
18
638
859
697
834
177
917
104
44
89
729
197
491
342
548
43
708
282
956
232
371
709
570
937
405
817
17
855
881
423
261
887
333
572
294
390
711
96
343
64
637
691
429
524
1000
666
763
825
365
539
30
828
126
135
280
553
929
267
76
255
619
981
520
309
438
233
945
917
359
656
822
608
855
926
64
437
342
390
629
515
193
58
837
662
384
712
56
456
168
596
707
522
805
969
561
335
204
877
702
409
142
978
608
925
302
70
351
405
432
183
879
588
851
850
267
64
172
765
345
981
10
549
784
258
623
525
393
910
476
979
342
550
700
650
215
326
56
336
786
372
882
362
952
287
3
222
447
640
940
964
787
634
584
64
936
200
366
792
565
54
489
135
438
70
979
813
852
397
843
765
600
468
906
316
438
316
344
595
945
429
456
755
126
62
50
170
906
259
964
697
243
695
29
222
697
147
415
628
942
874
974
875
845
53
542
473
732
242
647
6
585
893
305
982
554
219
90
386
180
498
110
643
423
221
410
881
249
921
39
786
323
376
793
124
906
501
227
164
841
87
755
571
76
433
810
60
948
509
671
672
817
743
443
791
764
49
610
820
25
264
116
904
290
88
39
946
390
981
456
949
139
403
543
386
885
69
107
851
391
647
335
447
259
739
151
114
827
195
345
245
735
68
923
648
785
455
520
860
619
32
800
488
109
832
540
527
24
8
215
461
996
418
800
684
15
998
397
74
203
614
542
535
199
661
404
605
510
863
6
633
694
128
93
533
99
595
858
638
268
573
923
811
498
152
779
847
897
748
474
667
198
521
201
955
324
647
278
481
375
475
425
519
60
731
775
615
42
282
611
383
97
331
777
156
859
992
714
9
202
724
514
208
104
616
875
590
967
747
572
82
816
493
935
24
945
73
412
752
732
855
188
389
417
287
194
446
183
198
70
289
249
787
530
388
809
735
851
537
131
988
687
866
918
860
841
783
478
970
906
482
656
27
539
863
58
34
848
788
524
830
705
361
435
434
391
560
51
687
336
216
378
895
906
451
784
55
384
91
5
966
925
444
508
723
783
398
94
810
559
240
482
485
291
528
900
698
468
596
673
210
11
125
98
841
435
699
812
517
234
725
652
62
700
404
649
134
745
472
479
595
347
206
332
951
697
377
832
642
928
879
28
470
671
216
311
695
260
787
674
380
516
665
962
85
565
629
713
302
528
204
655
958
717
947
171
864
899
386
419
80
313
131
264
156
137
643
934
258
507
165
595
892
683
656
363
914
892
692
49
984
337
994
377
290
406
342
562
544
396
991
959
317
878
497
47
392
738
617
525
621
322
831
741
124
974
355
654
250
200
421
980
450
789
488
574
601
935
575
753
185
147
787
279
955
874
956
363
659
109
976
550
95
277
647
522
633
278
573
48
221
85
326
194
506
399
23
904
226
378
896
420
425
314
633
107
247
134
351
1000
194
276
668
295
538
524
156
820
371
378
851
431
914
976
910
65
24
723
47
720
130
259
702
911
886
904
868
97
57
592
572
768
170
390
890
601
886
793
636
299
68
660
359
605
521
319
83
817
405
501
624
691
389
623
36
894
106
922
519
50
951
108
495
338
276
583
588
712
45
239
644
826
64
594
395
415
987
601
376
771
236
519
542
404
157
188
858
893
579
554
374
476
412
750
396
736
969
473
324
912
245
847
569
651
21
48
346
182
308
473
249
46
730
128
434
708
115
596
444
366
870
950
490
292
599
718
407
623
249
517
379
538
150
143
15
967
410
972
950
942
738
813
314
40
974
674
708
228
51
213
450
538
568
996
145
200
209
799
313
242
755
430
611
928
368
530
566
871
686
905
73
887
564
654
632
901
870
197
102
962
953
849
791
128
344
665
945
138
405
892
934
505
791
712
914
267
685
942
711
623
204
849
471
243
793
845
663
95
710
94
284
860
89
882
268
194
547
695
818
190
276
62
209
109
23
603
370
618
695
196
628
588
277
901
965
20
789
524
840
134
361
241
66
961
370
287
788
434
230
384
91
675
528
31
641
689
72
46
131
214
861
575
643
465
436
562
457
288
535
594
664
488
655
449
843
203
975
121
616
789
809
554
776
983
448
351
247
183
94
516
220
158
886
586
933
230
260
753
44
874
9
248
133
851
260
940
755
268
132
218
460
959
201
656
917
221
681
591
725
578
298
86
694
22
89
757
110
460
402
6
450
444
16
266
482
277
213
622
125
439
844
520
87
945
146
63
229
941
545
930
553
97
154
163
141
612
78
414
869
379
264
354
108
836
132
65
220
556
759
245
566
952
87
388
951
845
286
361
531
609
690
200
168
573
656
203
224
734
715
545
406
689
212
738
407
381
978
819
116
659
234
314
769
178
781
98
875
544
748
873
209
662
562
818
294
957
17
7
364
156
112
24
156
216
753
578
468
62
80
179
976
99
240
546
2
442
755
30
639
389
39
863
529
565
327
949
17
818
910
754
254
198
162
203
271
231
459
853
986
984
798
374
691
542
164
323
714
896
800
253
935
751
624
654
230
599
904
86
295
815
435
954
4
620
887
984
730
110
723
946
129
810
340
916
710
420
766
373
827
698
903
436
331
439
57
332
952
104
209
162
869
547
22
774
553
189
540
140
93
910
917
303
36
830
346
926
457
455
845
288
518
972
335
902
275
821
105
821
3
733
435
905
294
686
894
842
638
14
386
247
428
595
728
848
173
498
389
817
708
178
796
11
904
397
860
832
493
103
355
652
279
370
77
447
986
166
214
275
950
592
921
440
349
191
700
583
687
301
86
36
706
781
546
861
814
679
795
716
816
368
753
319
417
224
133
979
163
505
915
479
450
125
37
535
627
218
821
155
683
23
458
990
783
375
699
969
652
546
874
208
578
943
893
843
106
275
360
353
649
647
996
673
607
270
888
233
798
410
62
300
718
491
79
245
999
54
89
823
923
591
619
105
778
383
562
81
551
795
38
672
525
982
494
984
442
6
850
846
351
645
698
224
102
9
804
896
542
750
385
897
503
908
640
713
221
673
525
721
385
314
818
601
454
379
602
221
945
304
955
541
891
376
669
665
414
421
531
531
229
993
673
317
428
513
956
414
761
275
94
84
177
831
207
850
242
820
119
345
123
688
901
940
885
427
9
89
304
744
404
555
872
446
397
536
116
160
663
325
151
299
313
577
236
479
343
964
289
467
63
372
351
902
197
361
957
101
813
966
336
511
150
21
10
284
846
350
949
853
652
595
725
231
667
332
584
679
285
733
36
632
26
80
975
939
466
468
625
308
296
982
1
787
427
200
708
769
95
459
745
419
531
829
877
942
774
978
165
958
507
293
744
883
780
50
269
424
229
858
735
619
173
825
752
726
331
463
583
256
610
964
995
395
698
996
856
998
112
301
816
712
68
119
361
307
483
441
578
240
273
698
163
183
199
934
464
80
654
760
483
267
373
868
742
590
644
15
116
258
918
516
213
83
846
884
202
766
72
873
821
826
888
834
736
833
251
828
506
660
358
753
740
911
639
190
624
532
760
756
409
197
729
69
384
820
199
305
522
562
370
822
250
344
86
232
594
239
949
140
939
477
616
416
685
396
624
794
914
810
240
396
350
920
28
606
334
780
228
102
381
447
845
779
835
818
197
739
603
755
873
201
750
842
268
471
419
686
286
780
978
777
439
17
112
406
537
578
355
663
309
165
788
292
490
684
647
719
147
894
40
924
104
182
866
675
60
609
690
649
514
279
569
940
34
930
997
400
775
329
509
995
855
715
995
991
803
634
306
898
45
291
294
312
229
708
691
493
186
786
249
71
87
354
8
238
665
101
517
802
828
541
659
59
220
17
780
618
184
894
377
434
121
972
233
786
400
468
899
485
949
300
837
730
45
654
82
121
705
210
790
809
383
506
270
433
803
684
262
91
303
400
118
572
567
646
377
914
586
88
326
114
602
720
498
270
43
499
413
490
719
501
763
982
577
493
87
515
631
942
469
209
571
217
528
533
102
247
539
645
328
488
875
258
162
139
517
675
673
813
163
998
9
858
416
960
373
373
452
935
555
368
449
225
836
202
377
124
915
483
367
609
89
81
710
196
552
85
203
583
768
709
943
676
573
34
551
76
449
805
813
883
116
221
89
176
184
176
335
472
313
194
399
467
131
63
54
265
241
756
780
286
647
304
769
883
97
310
227
824
377
233
36
345
881
954
478
232
680
248
257
565
712
740
345
226
709
593
71
366
992
82
16
280
988
810
188
976
942
467
922
219
416
190
558
500
449
703
443
737
757
257
724
767
633
755
406
845
318
321
889
622
730
290
181
275
97
36
857
118
694
45
801
397
842
620
762
66
156
342
48
797
122
71
670
707
86
449
361
460
57
21
783
64
404
819
928
263
191
304
363
35
810
518
536
336
202
3
304
378
339
22
847
936
199
875
859
515
550
50
847
510
761
229
898
820
182
725
325
685
549
460
25
401
916
222
51
725
577
385
213
94
981
263
770
106
659
412
493
692
436
695
849
5
773
301
867
244
648
60
430
340
302
43
861
275
731
903
956
720
983
17
519
609
261
480
87
347
985
449
790
167
806
55
998
119
599
961
579
693
767
6
466
579
29
85
984
952
487
65
399
765
237
911
535
500
860
647
618
828
453
908
454
481
761
49
383
926
958
778
615
245
247
767
63
705
607
707
230
455
946
781
326
248
376
213
767
645
114
949
191
22
892
232
766
505
709
11
780
313
748
644
512
342
646
420
171
415
933
50
387
520
518
191
467
503
311
976
865
437
291
196
378
796
675
415
988
27
569
374
590
641
574
932
923
823
298
571
798
200
610
714
523
788
43
697
187
670
401
537
937
6
82
397
877
969
688
135
138
61
571
581
182
168
173
839
177
6
714
755
835
929
60
792
431
989
628
833
415
172
407
751
393
388
764
303
172
26
97
637
375
591
310
378
147
852
936
272
863
843
589
307
833
192
493
186
698
527
923
960
868
536
830
570
255
935
582
748
548
879
626
39
196
268
476
221
646
851
525
136
770
836
142
913
987
120
974
251
568
407
700
994
654
853
677
714
392
160
646
905
670
422
786
784
389
970
190
36
330
185
359
806
148
101
231
963
323
585
700
668
237
708
883
397
562
898
198
453
761
792
919
577
594
562
240
592
486
563
352
334
198
37
712
474
743
30
634
114
630
947
967
732
511
209
130
650
972
899
87
616
169
878
988
379
167
267
228
150
157
998
125
78
154
732
364
724
372
725
394
667
487
56
116
515
233
702
75
75
504
132
146
301
720
118
492
151
595
815
893
980
747
532
966
722
799
234
810
166
417
687
870
297
89
400
94
371
871
366
483
504
743
879
69
969
28
470
526
765
138
306
591
865
121
966
241
669
822
301
6
375
721
129
182
706
780
42
160
906
371
957
489
107
375
205
690
434
936
628
998
5
443
799
700
530
197
381
758
481
242
260
874
882
36
169
385
820
13
490
455
173
250
858
4
595
676
43
248
207
673
393
819
513
968
813
525
39
842
988
110
559
403
274
616
540
902
330
303
497
40
221
283
356
276
980
827
651
698
708
97
938
938
433
213
725
126
530
196
587
932
313
158
502
344
568
530
558
894
720
537
250
164
58
322
530
297
473
164
743
144
512
289
585
200
957
200
141
766
126
558
754
208
855
858
26
440
318
77
56
290
723
74
398
850
122
999
203
811
440
852
940
794
691
424
327
335
624
297
477
588
870
12
574
342
952
573
101
748
117
200
969
155
505
837
633
37
693
636
646
952
880
494
214
365
170
990
797
383
27
720
572
157
448
59
626
548
563
83
196
593
861
989
568
81
104
878
357
977
261
461
657
827
446
707
362
477
41
273
677
419
155
337
917
598
976
599
805
663
384
345
564
96
448
654
682
502
675
19
614
949
261
72
346
176
145
243
896
488
231
290
376
169
572
712
809
292
218
626
621
938
669
159
497
417
814
289
487
442
759
96
269
460
209
21
326
337
126
827
190
439
795
548
853
98
157
957
973
296
393
740
434
712
435
774
816
494
177
790
792
981
875
229
444
570
446
880
694
34
653
754
609
495
676
88
827
702
7
952
459
576
990
230
527
618
616
580
981
34
403
290
826
221
181
341
369
2
947
805
644
392
907
162
539
54
682
429
422
748
454
652
847
854
285
237
351
678
648
411
760
807
513
48
305
570
919
623
775
582
878
541
935
921
243
813
622
500
296
893
933
198
340
554
962
997
308
634
900
734
17
710
3
172
36
43
812
423
486
914
759
594
405
408
776
485
657
479
265
341
180
41
935
588
512
320
803
32
81
94
455
744
121
637
842
823
603
32
435
971
351
404
903
806
857
452
996
185
847
379
217
987
17
963
299
924
528
298
451
466
168
63
37
945
494
621
488
885
976
147
92
496
818
206
994
688
888
590
506
458
809
383
815
571
929
1
424
596
174
416
282
922
22
438
794
888
847
582
570
174
780
551
706
119
747
117
680
755
558
686
631
3
113
946
398
459
386
840
763
408
220
303
605
460
101
259
838
604
591
724
102
96
340
842
563
453
473
248
883
998
275
687
813
816
67
102
923
924
737
38
42
164
111
303
169
804
950
27
271
865
482
509
808
653
628
833
469
921
56
519
183
544
449
591
869
154
389
123
170
781
651
502
831
508
381
529
315
434
91
973
729
109
255
274
674
476
692
193
219
299
440
359
579
897
309
185
657
975
305
37
153
494
237
153
864
21
1000
251
242
905
88
141
38
361
842
199
479
788
790
684
8
394
732
99
422
788
94
904
894
765
871
508
43
465
801
394
914
565
779
372
864
446
616
376
138
507
877
787
82
557
574
532
466
336
769
894
511
983
628
671
543
577
754
194
163
594
232
193
637
349
622
389
357
179
205
466
105
384
80
739
629
880
588
694
893
999
40
758
77
319
711
664
486
900
744
190
528
591
423
242
335
97
239
810
683
119
529
875
833
235
267
469
464
94
44
661
351
387
766
503
96
18
51
89
866
39
2
171
227
574
898
653
896
464
73
48
878
91
888
518
943
959
339
107
733
832
757
33
325
514
426
285
659
886
580
61
930
139
373
993
164
809
685
819
5
517
145
582
740
430
824
144
480
630
812
961
312
653
115
324
730
923
340
670
955
648
493
418
750
678
889
678
880
566
822
647
355
388
334
278
61
299
16
564
75
199
572
182
767
873
715
760
311
312
607
499
590
282
310
910
358
49
28
365
655
605
739
632
879
478
380
733
486
703
425
197
991
759
240
555
618
568
567
203
713
632
315
404
533
375
586
30
857
977
686
603
286
881
625
712
137
354
376
640
364
118
371
430
627
292
655
2
71
305
831
879
584
490
877
137
753
262
453
453
452
217
381
492
427
682
666
323
395
450
413
191
404
322
966
168
439
389
146
947
596
845
815
941
711
529
796
555
461
999
746
940
174
280
967
109
662
525
732
736
128
395
477
131
531
129
47
949
254
608
768
2
535
34
983
367
328
505
834
560
559
129
449
315
627
641
334
163
926
491
216
778
566
919
500
259
618
911
349
807
60
177
870
748
111
541
165
917
436
520
576
162
783
225
128
547
390
437
678
507
83
997
30
958
966
567
602
658
109
589
565
29
894
693
281
972
672
243
810
813
17
249
341
558
225
673
433
198
195
741
233
260
290
904
326
666
951
988
662
334
584
62
640
177
682
924
720
569
707
744
443
529
568
213
436
979
402
465
456
493
968
765
432
731
518
445
798
537
273
719
123
222
364
708
123
976
332
937
527
336
529
743
729
501
59
68
286
153
196
103
80
656
968
664
962
391
246
273
267
373
476
163
595
31
254
46
932
177
175
728
904
917
425
128
654
120
81
829
385
897
96
872
363
223
645
114
878
969
884
476
234
320
85
820
533
210
289
843
732
83
364
835
495
220
530
330
518
598
968
667
390
308
799
820
34
134
222
961
888
804
411
338
78
617
606
24
148
168
775
958
343
390
926
222
718
390
64
401
709
376
816
871
428
522
389
300
184
484
13
80
359
994
138
898
425
441
365
743
681
929
53
863
426
304
117
537
745
162
80
938
891
601
506
646
477
63
549
573
553
806
891
890
17
167
52
41
164
457
742
536
642
144
636
207
576
752
945
492
243
679
540
611
903
83
239
230
988
968
660
781
88
156
846
234
595
941
349
65
366
632
424
780
890
342
971
493
537
344
46
483
818
902
72
249
133
711
841
344
594
841
654
320
417
18
646
597
45
732
295
545
232
807
923
255
167
372
995
231
577
205
873
618
34
998
200
672
331
634
833
685
466
794
947
909
356
172
877
356
266
243
682
724
940
546
526
66
859
306
415
493
329
717
703
758
318
520
338
660
608
444
40
929
799
345
219
715
153
316
986
270
895
161
713
505
518
663
443
898
139
850
24
298
18
721
638
287
397
351
583
91
808
252
761
887
23
59
535
106
666
537
431
935
669
392
769
818
804
645
536
471
336
933
214
865
396
947
680
341
793
415
445
60
609
22
381
918
932
355
128
964
877
864
164
589
80
135
592
689
312
840
213
488
173
795
98
999
922
255
306
887
713
304
952
300
360
721
543
204
750
228
165
372
369
818
633
988
743
421
647
280
473
269
669
316
134
928
847
985
243
958
786
827
337
824
734
862
575
140
794
447
50
687
441
747
443
109
598
110
722
780
661
752
238
460
602
452
315
898
581
101
189
209
582
76
109
495
277
523
453
432
332
697
354
573
63
166
892
490
17
346
174
67
698
455
938
924
740
265
597
335
874
442
55
567
335
119
146
831
32
332
754
869
971
195
797
897
826
601
943
810
447
755
548
681
233
847
162
23
958
537
932
960
354
404
960
745
954
737
774
224
493
953
29
869
938
744
144
681
320
528
814
468
224
246
214
122
434
689
276
933
720
867
375
100
624
276
655
106
153
448
793
985
456
325
307
278
569
243
439
833
481
794
316
202
851
698
290
45
873
667
755
315
348
518
151
369
570
721
135
600
640
340
424
553
116
128
106
539
494
640
590
832
420
424
930
894
897
655
275
256
156
582
565
137
163
449
530
435
353
812
709
191
28
342
643
138
900
971
394
480
975
948
290
888
221
661
43
954
258
975
133
896
835
245
737
324
413
610
947
849
618
436
871
842
844
342
149
295
510
568
113
271
411
533
15
922
127
86
955
811
761
504
476
788
118
374
200
839
715
888
984
656
985
301
981
109
868
156
636
572
152
122
706
399
597
88
236
402
448
788
696
174
629
351
504
663
117
802
138
12
103
629
284
284
988
219
584
232
581
740
58
475
595
622
837
555
396
534
948
146
959
471
443
850
65
214
353
51
549
628
544
323
737
859
951
439
360
144
70
192
476
732
763
523
466
388
597
466
627
901
332
630
859
14
851
825
140
887
987
725
380
633
83
409
657
621
83
80
662
509
536
749
304
494
257
209
775
745
370
896
289
50
18
861
50
74
886
183
937
474
392
690
466
416
63
539
845
273
864
154
333
184
135
607
107
200
187
202
305
593
562
590
600
888
576
89
394
959
198
300
929
518
590
82
75
622
254
470
994
32
990
705
658
440
107
423
615
919
76
203
876
159
860
42
488
541
331
759
234
60
456
802
29
215
3
33
208
802
507
198
107
889
50
284
215
238
74
278
633
595
276
757
528
807
314
439
226
249
541
766
681
971
203
678
367
88
22
815
805
803
849
258
848
352
213
424
952
824
48
381
178
788
412
799
86
258
833
541
549
491
475
364
765
487
555
502
264
160
58
530
409
462
479
601
730
546
990
649
676
392
337
439
10
685
118
331
764
924
538
14
636
565
870
23
216
916
667
89
70
148
574
170
964
3
445
1
141
913
924
558
898
289
500
510
361
824
436
785
693
168
491
668
117
476
1000
958
209
253
59
670
39
1000
101
282
987
428
163
907
827
151
575
257
127
591
875
953
619
253
894
116
386
938
675
117
142
696
119
916
201
881
546
912
144
43
865
389
529
294
30
586
763
680
136
485
471
875
88
491
256
728
908
27
757
49
460
783
487
229
24
520
825
174
757
963
7
535
519
866
386
348
796
555
791
191
717
23
361
548
216
628
863
116
280
481
786
274
213
791
246
820
903
406
984
2
409
924
593
828
387
636
331
644
10
932
467
985
392
514
492
656
204
787
305
717
679
972
155
384
354
382
897
599
110
443
471
552
161
312
544
585
11
570
750
202
675
383
613
643
865
408
510
783
716
187
738
586
843
14
178
598
943
179
924
814
245
593
23
870
101
67
586
786
800
82
66
902
434
863
762
244
796
826
742
75
759
375
976
280
176
672
144
518
895
745
833
622
708
973
342
469
592
948
805
860
956
404
950
39
523
682
339
860
475
440
530
194
591
450
220
791
794
36
423
159
4
996
240
222
15
505
345
480
215
309
599
257
985
265
937
647
879
852
328
897
807
781
317
451
225
194
525
636
815
991
324
992
321
90
756
138
865
822
942
164
356
340
873
358
592
382
626
333
606
340
326
297
956
689
619
722
241
449
965
541
160
121
31
348
87
434
973
315
990
707
608
43
111
492
202
199
728
703
44
190
873
688
75
281
243
703
930
890
120
339
590
302
249
313
245
499
42
567
417
779
47
618
362
623
895
275
366
102
612
203
709
413
530
909
60
895
42
339
783
674
431
899
767
909
669
98
430
95
866
161
470
509
668
502
291
786
674
208
297
365
805
275
955
151
65
310
907
646
395
673
897
219
40
126
925
843
349
661
886
598
100
13
497
502
855
631
242
788
708
653
279
981
742
68
402
266
103
780
250
609
333
609
726
269
693
410
189
95
830
742
472
731
129
795
338
278
963
124
930
123
492
284
455
381
371
538
979
330
465
419
996
259
164
884
125
48
18
175
364
910
257
321
936
74
22
320
906
43
593
518
739
180
450
793
426
230
704
828
639
506
558
971
283
310
843
567
60
120
64
525
759
994
406
449
290
770
489
755
862
498
823
862
693
279
686
239
944
283
516
63
88
470
529
661
68
652
153
246
164
549
971
957
988
943
379
32
13
804
700
613
502
837
696
280
118
424
978
795
911
691
614
6
920
919
868
152
913
235
582
178
75
427
541
487
255
26
832
888
503
760
418
913
183
823
601
26
58
819
238
290
223
487
619
627
892
711
305
50
302
132
513
950
66
124
70
545
365
324
518
123
654
519
138
738
615
643
700
820
428
634
408
586
237
708
272
342
51
311
301
899
661
660
768
223
152
320
625
731
57
874
817
942
62
127
935
248
692
638
794
422
580
551
357
530
50
209
205
18
960
193
861
386
244
101
837
838
331
309
204
882
686
511
603
350
226
156
279
278
325
706
42
456
595
225
413
514
561
363
348
569
502
44
536
737
906
619
778
587
851
518
773
734
113
242
473
577
525
225
843
420
211
415
860
90
163
225
492
777
708
458
620
853
790
527
953
11
308
715
413
277
379
531
684
707
379
662
454
608
683
385
228
726
171
496
369
911
183
779
749
428
668
266
78
664
605
256
327
604
513
526
161
263
614
966
744
244
525
977
27
750
225
175
172
618
660
530
229
842
849
454
733
103
193
720
697
321
946
278
306
794
793
747
510
154
72
543
928
294
182
452
915
628
879
854
242
96
479
731
527
400
836
355
776
519
877
210
300
573
285
995
629
585
148
487
338
84
266
275
913
657
864
903
281
438
126
209
534
174
111
185
865
839
540
258
376
831
876
939
969
203
336
148
821
440
724
907
792
657
708
423
449
410
362
598
10
274
469
347
473
776
263
78
540
982
795
113
302
139
273
385
331
24
558
636
745
647
392
210
607
971
432
289
676
793
486
232
474
942
434
499
176
9
376
380
116
574
855
976
406
662
498
550
618
914
869
32
173
28
591
218
417
779
905
758
918
227
41
108
835
975
460
976
746
638
655
22
262
658
204
189
648
624
653
285
957
679
422
23
474
524
161
76
818
830
891
856
370
196
293
54
387
939
170
947
14
874
771
770
202
510
865
691
151
209
648
695
524
486
503
447
144
504
365
970
323
763
956
547
735
260
457
654
545
595
533
353
49
653
177
320
634
104
406
113
549
466
908
834
872
842
763
547
841
356
929
205
994
600
496
772
664
571
751
235
124
864
990
499
377
313
47
26
457
577
160
419
183
733
405
43
38
940
880
365
184
649
127
441
666
290
838
331
618
868
54
392
482
324
208
189
198
598
448
597
932
252
649
135
219
899
656
87
283
399
918
190
544
116
389
741
358
32
857
525
918
535
860
500
170
402
846
233
600
131
117
180
439
371
625
64
917
59
446
631
953
800
81
351
694
796
779
384
455
712
915
453
427
880
449
296
812
872
658
621
585
128
820
1000
552
776
969
980
606
24
141
295
200
272
33
745
574
3
505
22
513
261
424
503
724
373
343
640
670
725
255
915
248
992
183
142
93
681
985
586
85
183
94
747
178
324
740
688
838
37
161
524
224
798
941
566
575
658
788
204
88
535
148
884
405
54
85
143
252
588
448
472
724
954
916
583
55
979
18
523
255
717
73
489
647
261
647
986
207
286
215
408
98
112
189
500
654
22
288
635
857
811
996
67
714
100
699
388
342
700
988
234
396
622
451
193
216
65
803
867
175
958
375
505
221
492
771
395
2
105
672
367
273
203
715
136
117
932
473
640
404
881
507
768
699
99
359
628
288
196
561
989
60
386
119
836
342
419
703
364
307
436
780
622
525
878
116
454
494
880
264
577
758
415
636
387
906
381
915
552
211
512
535
781
862
573
473
762
924
45
41
779
251
878
6
892
629
84
703
440
732
133
859
538
497
977
810
32
628
188
57
689
467
341
436
318
98
676
291
460
470
86
345
169
562
604
786
795
727
615
882
213
209
875
997
937
108
90
860
820
867
171
452
540
705
844
253
558
859
278
883
859
652
384
773
55
27
370
348
864
710
794
199
570
253
26
628
693
834
284
816
389
20
4
968
403
468
520
297
750
365
296
148
508
578
400
837
465
675
148
690
711
448
28
894
637
33
809
373
1
898
657
815
349
879
772
83
226
374
650
586
290
197
489
942
678
227
315
756
996
991
822
883
623
129
657
431
819
443
733
432
281
844
747
981
620
481
813
769
577
136
594
22
588
637
371
767
603
532
351
822
797
189
995
636
769
508
876
341
307
437
764
483
992
611
542
643
379
475
5
751
712
237
789
205
440
945
840
292
496
475
71
46
763
654
411
818
253
821
760
779
756
570
484
45
994
620
725
864
222
893
430
551
525
720
479
649
463
177
59
425
643
345
155
643
889
423
22
17
920
74
351
823
695
707
286
58
252
964
398
779
663
449
324
296
709
571
426
760
185
722
497
699
457
339
753
903
677
303
96
167
258
375
275
58
492
734
394
134
435
5
938
107
724
128
995
977
986
768
351
371
137
118
713
371
912
500
584
722
746
461
245
928
786
939
37
69
691
361
359
725
505
425
41
111
541
176
249
493
258
272
951
255
810
44
593
90
876
925
824
170
128
285
883
105
930
401
739
76
738
597
36
27
206
712
390
829
569
132
351
425
494
516
166
798
349
525
123
100
29
757
487
229
208
443
413
961
399
146
555
34
10
828
913
559
244
747
676
528
50
581
678
379
495
142
871
13
833
206
868
280
916
618
914
121
745
859
215
798
739
854
201
6
565
402
787
546
114
569
115
492
404
766
541
305
790
918
556
905
742
783
869
192
702
898
876
20
768
60
672
620
676
155
686
307
292
599
961
676
24
74
909
897
959
212
707
203
576
385
571
72
782
208
412
506
603
189
151
952
81
458
722
120
27
563
466
724
109
643
158
642
50
530
884
57
379
710
807
248
834
647
232
953
726
840
524
383
209
467
672
831
382
490
978
691
615
950
449
313
558
845
634
878
740
676
577
168
697
59
261
475
884
528
359
660
148
655
132
713
427
278
69
54
210
27
423
475
537
254
412
416
750
893
95
449
362
183
297
790
565
785
901
904
562
393
615
774
386
100
109
789
27
614
27
464
190
748
634
390
785
706
229
316
901
251
790
631
75
493
500
419
36
23
574
775
581
572
400
442
611
129
194
984
470
73
151
346
438
735
77
389
56
469
164
32
508
249
906
356
321
829
562
733
332
329
227
46
594
633
760
578
240
25
499
408
743
366
332
577
289
45
391
142
936
286
322
240
33
754
615
697
878
288
67
781
36
547
883
654
862
629
754
599
141
299
23
366
777
559
573
90
961
735
142
247
823
56
18
821
657
781
512
119
101
339
671
563
278
514
487
709
289
691
77
294
584
263
886
99
581
876
12
801
338
299
573
465
753
782
887
119
83
894
362
110
844
587
243
907
687
614
435
512
804
701
434
996
128
508
227
778
390
532
458
816
818
884
612
760
827
936
580
356
141
807
912
193
421
294
800
680
662
771
725
506
624
226
378
851
766
749
376
792
133
23
892
362
556
987
863
164
997
408
50
85
442
819
148
808
555
426
651
770
333
620
807
743
146
393
111
732
788
295
677
394
805
900
322
111
139
380
650
954
764
156
972
857
203
558
863
671
937
629
124
138
277
744
654
457
546
298
465
278
699
815
255
148
102
397
340
677
283
100
539
77
284
348
780
541
61
317
459
345
181
514
402
8
546
630
34
105
86
906
540
240
131
752
334
838
6
365
724
309
310
100
487
717
629
906
925
269
427
454
830
426
663
282
881
302
870
338
173
86
996
60
354
171
916
18
811
646
752
900
800
74
253
546
113
231
84
640
894
451
116
448
992
391
143
81
372
594
190
262
994
129
607
611
182
808
18
31
407
76
713
916
114
342
945
644
906
733
244
197
550
968
700
231
562
88
611
653
771
193
441
740
259
624
638
608
418
549
891
512
670
662
904
777
890
356
296
446
515
264
327
683
623
686
825
824
952
893
985
139
827
335
951
163
683
289
721
18
667
996
405
452
601
573
450
450
430
131
4
800
91
258
762
498
65
99
47
807
639
518
981
179
370
169
850
405
823
453
220
421
135
481
267
12
416
882
785
534
655
255
322
671
851
494
951
134
318
553
475
723
520
670
601
714
400
372
991
428
881
759
71
556
999
174
196
466
76
204
292
724
672
202
289
227
818
944
43
41
397
639
639
125
808
675
861
437
279
403
618
156
477
60
102
576
871
443
259
349
104
516
68
17
91
368
647
383
845
105
664
445
396
545
969
594
145
748
438
242
586
398
293
231
802
400
133
294
9
57
523
581
714
126
41
178
84
517
59
668
481
173
69
133
996
553
236
314
582
639
662
862
585
167
81
910
626
469
551
787
690
370
394
455
450
331
663
836
805
608
160
594
984
1
383
303
782
959
4
472
568
456
462
737
106
761
931
701
668
402
416
187
119
976
553
522
822
720
397
839
114
174
808
386
351
894
408
52
652
231
45
207
586
499
244
1
290
570
898
723
14
131
266
576
351
22
256
838
375
300
596
121
721
185
510
148
706
879
120
104
311
71
3
185
947
333
777
639
438
547
278
483
841
181
567
511
115
527
417
467
333
453
588
42
691
533
960
385
777
604
727
842
165
888
535
148
401
897
722
688
108
949
22
884
651
478
728
767
74
706
564
509
376
728
263
824
488
839
53
829
823
954
693
643
158
61
200
29
3
175
933
71
327
974
956
783
834
715
382
707
771
139
643
244
373
738
74
780
767
929
712
148
665
712
9
82
124
668
363
935
3
920
345
600
948
905
453
142
380
393
522
323
23
135
898
451
963
98
738
324
889
4
555
979
58
110
398
118
808
647
413
994
243
405
351
790
577
272
819
367
742
740
225
794
842
921
570
677
24
493
245
509
90
295
89
867
135
989
204
209
49
302
142
679
370
585
758
132
426
760
743
258
131
150
871
51
495
719
681
66
119
491
487
98
841
61
851
392
479
467
47
113
318
892
469
75
892
948
231
188
857
274
404
441
897
184
562
540
148
136
259
71
333
255
145
339
62
930
194
352
489
853
990
996
883
115
677
405
623
498
856
185
693
822
856
335
663
224
212
498
394
509
633
61
676
64
512
104
377
394
621
144
640
735
832
493
456
942
469
815
90
656
113
376
21
460
349
979
717
879
524
317
750
817
255
636
819
343
857
448
483
122
881
549
95
709
709
691
848
300
548
351
506
558
689
609
856
905
56
769
438
258
746
830
241
534
346
473
262
372
175
991
568
56
158
989
769
153
118
365
842
252
530
110
420
403
643
174
40
81
237
457
473
614
44
376
374
651
608
35
320
95
385
996
253
31
557
496
756
76
865
151
160
793
620
410
887
686
330
848
410
377
303
420
472
262
962
59
496
841
79
720
961
838
381
914
874
197
93
636
356
132
103
308
470
996
128
816
233
974
383
706
780
39
997
588
746
995
970
467
285
669
283
437
495
621
34
61
187
504
102
917
457
480
512
247
975
243
871
756
581
931
352
740
482
479
83
337
763
697
170
930
963
164
45
580
815
32
627
500
875
617
332
459
390
816
650
929
53
72
62
220
752
223
180
711
776
315
326
953
40
721
935
27
247
982
225
184
468
363
661
248
66
471
130
921
324
939
101
296
357
111
41
408
728
913
750
937
332
986
545
130
624
274
371
845
864
361
964
798
709
628
243
841
918
357
880
977
484
589
168
408
915
27
218
771
981
708
278
410
366
926
306
945
95
700
513
230
385
502
668
149
957
846
284
771
932
269
859
385
88
931
337
622
481
547
455
327
75
927
679
145
179
319
60
31
311
600
148
231
646
559
45
152
612
539
74
847
315
108
490
428
93
489
208
274
79
668
167
61
723
61
165
16
511
397
431
894
918
729
657
815
858
565
481
426
762
6
161
305
234
708
927
876
835
744
661
79
348
845
293
612
151
717
372
825
88
517
904
581
126
931
650
147
237
459
259
656
846
68
806
106
46
194
185
51
161
855
872
328
498
862
588
635
481
508
722
758
308
479
306
77
938
658
254
53
360
26
466
323
103
888
95
774
275
960
592
975
304
436
648
598
458
215
650
89
408
916
817
440
649
98
847
436
416
67
299
833
704
531
489
152
598
429
822
181
56
104
457
415
79
747
276
666
859
668
629
922
902
466
309
775
947
136
151
279
182
933
880
32
414
510
675
746
599
221
927
100
473
489
478
157
282
560
15
838
334
314
754
181
414
497
228
274
109
121
459
405
220
549
479
127
647
292
788
15
166
512
521
683
669
34
212
572
936
45
314
62
658
413
181
278
229
969
182
537
392
607
626
795
915
532
322
419
836
418
590
22
101
259
234
777
746
30
942
354
901
727
446
983
159
93
777
91
96
170
983
898
739
192
365
697
633
996
771
991
476
773
404
538
787
415
324
53
814
963
511
759
534
474
974
254
951
118
732
999
878
885
582
208
8
815
641
759
827
546
558
845
569
245
385
576
56
417
212
49
925
81
386
690
351
904
563
491
445
291
602
264
821
555
486
149
396
529
644
978
675
286
352
177
665
439
463
156
522
393
372
184
161
92
67
773
473
156
138
591
634
677
536
995
829
188
742
315
689
203
785
570
643
319
155
193
47
728
926
867
355
638
782
188
808
510
580
998
888
787
449
945
454
104
758
976
204
826
245
890
693
252
599
274
12
141
578
918
26
81
425
518
11
281
788
422
924
559
758
346
862
510
479
802
518
292
24
869
144
907
561
678
692
230
899
779
322
558
376
524
465
464
205
851
187
652
582
548
66
104
394
849
599
579
183
70
933
373
923
756
883
622
53
405
911
408
934
377
522
29
275
599
87
659
712
412
360
778
162
442
459
5
427
483
224
411
177
590
237
865
926
685
209
602
776
209
925
515
381
115
256
142
852
20
860
300
208
913
786
694
840
616
370
887
726
253
449
625
319
992
961
857
201
128
638
528
454
845
643
874
384
275
940
413
642
813
619
893
375
623
617
163
781
120
684
734
511
908
485
271
394
487
51
228
970
236
417
393
337
966
715
737
192
512
307
969
578
68
887
83
238
909
940
541
860
981
995
203
60
554
525
834
866
280
384
546
635
196
847
108
464
965
123
169
965
985
852
109
681
489
545
743
453
449
393
679
443
224
329
832
660
360
490
148
877
388
887
76
499
850
794
334
752
628
679
49
808
824
670
272
697
870
517
861
805
618
806
440
840
36
490
722
320
677
425
621
101
451
241
231
224
850
935
834
868
539
285
983
605
440
588
383
229
47
686
512
800
89
715
72
130
525
208
810
763
489
231
810
667
423
472
491
609
993
622
262
963
342
673
406
257
472
942
230
91
910
304
701
786
601
85
572
265
885
658
666
996
368
980
507
239
42
505
673
521
47
521
433
269
434
773
308
685
753
297
825
835
122
581
894
361
766
288
522
425
3
141
864
451
299
483
885
670
374
89
212
520
902
557
875
131
104
906
11
63
955
497
747
804
556
552
616
287
971
898
498
541
250
247
988
98
718
869
700
503
738
501
223
78
225
514
188
179
487
792
203
924
832
601
277
866
274
808
73
896
276
334
629
209
82
602
288
482
601
44
425
170
879
596
455
617
579
161
136
132
566
912
758
538
379
589
963
150
820
76
201
449
568
349
367
589
147
573
258
414
868
826
194
357
678
371
93
355
546
886
625
65
13
689
263
773
338
953
783
352
936
158
96
594
990
979
108
613
620
451
68
619
775
720
503
64
754
137
27
57
750
934
902
941
440
44
829
213
213
386
477
320
374
579
53
933
963
785
490
815
181
705
51
519
741
193
422
898
222
622
62
336
554
167
420
55
233
289
404
949
930
499
988
254
825
229
4
320
999
397
257
644
953
204
589
854
634
504
637
483
335
728
308
782
387
63
606
981
657
934
897
274
438
423
459
656
825
641
863
327
486
20
26
476
58
341
563
341
985
358
759
798
419
496
139
171
532
209
745
175
736
804
401
21
460
7
410
898
641
963
256
723
917
621
545
342
18
363
695
546
757
696
33
675
336
277
860
108
762
183
892
198
685
685
232
401
962
578
710
776
392
369
364
41
406
778
244
593
148
32
920
872
447
753
630
406
470
158
82
462
689
1
114
227
380
248
30
367
55
765
735
413
376
265
106
724
832
186
200
966
397
909
626
83
906
649
238
517
812
383
855
242
8
743
519
207
322
485
690
160
215
186
953
965
594
287
324
968
214
537
402
532
315
939
350
416
825
804
546
978
509
747
595
445
407
50
63
738
71
533
968
776
361
785
666
203
830
889
29
497
120
854
626
922
75
935
421
621
564
702
829
26
807
843
884
343
84
746
572
495
700
175
396
900
558
582
229
787
507
424
635
479
32
761
785
908
4
503
164
69
437
656
571
769
712
119
109
896
364
628
702
228
53
620
424
941
184
478
875
986
635
336
632
780
672
330
358
372
994
208
660
795
327
151
366
848
943
347
659
854
415
426
651
867
798
766
148
451
24
272
167
330
917
96
407
714
39
85
963
841
889
182
494
304
406
739
930
351
542
40
411
887
330
222
134
799
854
216
948
340
915
900
750
90
999
153
793
90
937
47
86
183
41
675
62
463
37
523
619
513
650
891
431
548
980
107
172
284
827
394
490
951
79
769
664
412
172
527
296
559
322
454
353
138
50
820
200
44
178
431
20
115
951
132
240
828
112
745
79
379
741
558
306
485
68
684
160
494
420
343
712
834
16
629
975
79
538
940
885
896
872
259
736
978
651
771
120
259
340
954
756
672
514
932
824
839
707
233
938
701
189
643
589
672
512
467
89
92
967
224
557
147
110
205
731
278
226
65
22
988
920
2
62
667
593
800
155
12
308
458
544
831
66
617
891
213
364
533
360
670
998
572
292
632
427
151
112
748
955
972
20
961
656
737
394
529
620
895
895
66
391
623
670
913
27
246
570
90
85
855
520
553
785
794
592
485
78
591
606
506
168
5
34
583
140
269
25
149
934
681
221
384
829
127
64
81
540
592
160
961
669
194
833
99
490
864
794
884
185
269
745
310
467
409
801
346
954
110
827
342
543
524
749
607
870
179
273
331
878
365
851
391
154
779
832
72
814
36
255
197
479
973
135
342
439
145
444
252
887
322
747
228
460
602
951
23
829
658
731
200
200
119
94
459
629
777
735
835
451
783
997
419
846
44
103
947
760
721
713
891
107
568
882
398
449
211
274
104
771
393
763
8
245
8
826
102
493
687
350
880
768
682
735
627
15
395
795
356
470
238
223
925
848
615
741
676
897
539
19
757
63
445
613
123
936
975
203
438
383
713
911
522
846
154
267
14
341
793
690
589
579
176
80
593
126
699
889
888
128
213
903
555
836
228
211
867
476
672
672
469
915
882
511
624
147
385
336
516
203
967
601
342
749
258
263
645
695
706
940
902
203
767
393
343
420
135
238
162
319
89
194
815
10
76
794
806
956
205
146
83
3
182
180
10
629
4
865
792
984
678
134
161
271
612
570
351
82
195
884
492
618
497
284
258
570
880
413
430
363
649
995
870
335
164
823
745
68
744
722
165
570
817
290
215
506
482
290
971
685
42
925
503
743
216
144
37
316
397
633
135
445
159
598
400
201
634
167
203
141
652
256
284
609
285
884
567
258
933
202
181
84
935
540
569
135
2
740
72
347
276
199
665
488
561
924
888
475
230
2
936
183
587
323
366
586
896
596
543
486
730
516
249
707
29
974
860
326
486
347
375
115
48
130
633
772
165
546
729
679
477
108
41
145
927
669
928
481
584
785
478
285
453
947
192
800
335
774
456
681
440
884
452
573
69
909
708
129
193
767
61
295
654
471
423
607
97
273
469
851
627
705
824
55
65
438
348
95
91
971
745
402
945
523
233
292
305
339
642
309
616
953
279
880
685
96
810
16
811
290
596
354
387
612
403
471
284
388
184
894
221
48
732
572
869
68
716
152
782
665
482
697
793
979
471
263
976
961
819
341
594
105
963
774
737
58
479
789
682
609
41
947
618
506
246
152
863
445
447
840
987
782
259
244
721
969
414
934
517
568
461
613
386
8
995
347
294
359
158
624
756
631
995
817
913
282
668
474
137
787
819
968
25
806
4
318
900
345
873
367
398
407
918
978
626
326
216
508
773
954
941
344
228
800
103
579
203
78
289
191
237
781
398
838
416
434
617
462
832
160
100
221
980
485
879
15
943
299
645
905
327
869
356
904
582
572
701
392
653
7
610
193
346
160
75
72
905
744
866
509
426
553
589
828
835
409
291
619
492
246
944
330
432
415
459
830
895
102
563
165
133
715
568
723
947
687
823
525
363
838
440
216
819
157
618
241
548
873
660
135
201
445
47
711
382
255
901
31
254
155
572
240
606
403
223
322
456
433
280
941
610
909
7
282
833
865
968
607
240
570
788
688
180
307
463
452
187
651
107
664
295
225
153
843
680
379
272
384
4
43
84
511
622
262
994
343
451
190
582
391
170
345
207
191
176
297
106
469
260
716
322
455
876
797
649
250
216
611
117
312
141
719
523
241
116
332
783
883
881
414
318
903
180
16
747
887
136
47
543
587
748
264
162
243
334
837
839
526
409
750
895
678
379
592
626
577
610
424
499
194
671
222
260
209
589
60
87
365
95
366
904
905
732
999
423
48
901
656
4
519
383
237
835
914
218
233
266
234
968
577
400
620
994
293
442
307
232
571
607
133
845
716
872
378
606
315
72
359
826
867
62
71
825
844
231
315
849
753
828
516
902
871
945
930
982
360
423
382
310
255
200
584
132
135
628
901
276
614
789
422
716
613
830
282
646
54
867
533
311
253
637
160
792
581
592
625
198
1000
472
384
149
273
116
911
46
585
635
221
377
233
780
889
134
376
960
445
133
679
174
603
451
94
636
290
837
945
390
365
526
693
970
494
109
228
548
642
683
270
239
885
981
449
748
624
543
821
261
490
743
614
972
501
781
698
121
979
196
208
167
736
915
301
996
489
302
370
723
422
569
495
725
969
173
829
571
417
357
465
144
23
468
375
395
978
673
346
961
114
16
530
703
149
76
10
635
195
52
601
613
174
530
811
859
490
761
444
673
867
300
912
815
884
590
981
120
568
390
672
736
547
239
100
305
571
53
356
921
870
371
306
146
939
238
519
801
31
684
166
549
372
533
882
201
938
879
873
913
443
315
462
930
610
511
709
119
939
506
294
934
998
554
825
189
671
929
365
146
343
32
339
707
392
81
972
120
967
672
599
640
820
270
867
510
708
492
620
684
761
27
897
285
261
203
119
917
171
947
78
781
537
440
103
437
477
642
942
797
708
71
168
664
760
626
414
926
346
155
147
232
243
937
395
484
245
609
83
517
920
956
981
376
992
724
219
219
303
907
319
601
849
396
509
543
635
605
691
187
556
3
482
480
51
675
471
624
920
762
497
884
628
540
139
480
467
457
870
446
647
618
181
262
656
871
828
868
356
557
147
461
317
528
344
190
605
854
608
61
256
900
687
160
607
414
969
512
826
568
621
10
133
445
101
796
683
627
434
833
362
91
337
791
99
801
78
468
999
882
866
804
502
187
135
641
270
773
927
211
104
939
522
744
117
898
907
553
237
777
387
668
76
337
996
594
205
101
947
991
241
919
466
64
702
784
419
237
267
961
971
151
449
703
458
496
4
669
637
733
681
127
30
447
837
879
592
918
44
754
62
139
577
194
319
42
374
449
675
248
584
735
915
265
259
774
375
396
923
618
156
695
360
256
331
704
655
995
449
838
749
105
708
279
816
690
149
836
999
589
67
502
873
343
331
169
624
818
947
322
655
118
373
978
516
599
206
904
82
111
602
725
749
298
225
704
606
702
304
931
821
889
406
253
960
25
984
103
273
320
943
496
84
890
516
30
723
685
921
423
998
575
392
18
155
11
871
842
848
450
944
2
279
247
510
962
575
792
348
19
384
351
203
347
937
840
323
995
381
457
790
490
328
577
772
733
680
876
38
825
169
621
514
218
763
572
519
96
818
510
736
878
539
398
919
158
116
773
393
755
860
627
4
382
895
731
41
107
318
746
760
264
979
906
455
972
216
876
789
993
798
168
270
995
265
615
315
145
666
399
183
90
425
569
77
546
371
88
82
654
80
587
10
883
432
970
906
588
743
356
401
105
881
11
105
130
97
857
805
148
858
399
924
949
863
407
346
759
637
315
55
326
150
637
32
490
415
543
432
979
205
647
217
577
929
119
825
510
538
23
417
251
260
840
641
943
931
234
88
902
360
8
927
539
301
535
109
972
506
729
994
238
576
615
178
534
556
698
642
557
915
597
244
642
478
387
477
96
61
923
835
371
937
123
166
795
628
321
293
120
224
848
818
333
309
30
3
515
59
691
843
881
860
501
218
892
239
611
512
91
560
759
246
814
323
162
242
313
227
197
866
259
501
915
119
23
482
318
611
474
210
177
531
424
604
732
66
509
824
259
502
158
276
382
830
499
423
148
451
191
831
200
746
694
59
247
855
769
239
144
476
868
170
801
972
535
643
548
974
416
197
972
733
473
683
403
268
939
907
763
70
273
596
502
398
691
675
927
431
891
689
401
305
264
944
787
633
842
222
312
368
388
954
571
742
504
311
699
420
142
669
781
540
995
642
104
752
591
28
581
716
450
528
456
990
665
600
598
114
820
984
213
285
198
557
722
640
603
490
674
914
556
490
889
601
747
111
923
4
163
567
129
547
171
484
543
223
852
40
119
275
359
446
966
311
519
89
478
757
28
237
462
869
31
663
740
58
362
264
112
74
465
642
357
719
687
688
447
158
769
870
79
600
321
603
348
864
287
479
758
235
808
220
688
214
322
461
728
519
63
547
231
801
966
624
364
525
381
894
584
421
428
681
794
488
128
407
764
114
147
48
382
998
130
224
502
545
379
415
276
122
576
854
702
2
969
806
435
337
599
1
15
187
244
699
779
891
253
317
692
222
885
65
260
575
351
385
19
449
992
876
446
678
343
57
286
399
42
609
535
277
94
980
328
782
534
547
319
939
375
429
194
654
388
327
984
175
960
817
883
229
196
225
264
636
431
846
630
103
310
582
766
249
199
481
782
200
519
545
82
191
205
601
139
690
488
483
559
122
688
473
989
482
657
199
127
190
186
665
947
441
184
885
372
100
187
129
644
866
115
675
696
890
578
774
554
140
256
315
852
346
854
677
790
881
253
818
18
78
125
927
437
248
69
327
89
767
699
353
160
539
986
454
527
247
46
323
38
485
648
583
134
656
77
322
387
487
890
506
443
429
28
819
861
356
677
299
537
896
606
498
43
463
193
459
750
776
280
961
251
797
410
527
838
302
425
276
387
338
645
342
1000
191
982
915
455
162
356
507
456
156
807
161
544
176
97
235
993
418
320
309
190
174
797
903
421
149
519
661
660
202
666
195
521
760
498
456
184
316
323
620
20
493
865
590
941
692
98
211
892
571
217
586
731
298
932
864
440
528
256
347
290
526
98
974
488
51
392
21
796
15
527
463
374
169
242
733
631
292
630
940
783
400
557
427
191
267
331
604
306
807
745
1000
137
854
944
520
115
126
83
329
274
874
555
2
86
372
639
999
464
371
553
734
133
671
5
548
577
544
531
766
389
567
991
516
20
642
186
5
455
824
998
180
964
676
118
523
764
571
505
5
651
924
792
126
735
324
630
71
236
87
121
446
676
37
476
756
867
837
578
525
277
293
215
741
94
712
943
989
673
936
987
281
995
572
493
844
605
998
600
999
938
630
101
495
342
814
706
555
963
108
626
273
518
398
515
229
602
554
454
389
298
222
726
205
119
506
181
46
879
376
269
910
464
502
973
913
691
375
265
346
834
687
173
974
915
795
953
276
950
289
533
448
939
911
373
328
504
954
687
356
167
373
29
914
434
631
765
458
682
927
34
110
466
255
552
408
37
261
171
122
860
234
761
469
195
619
906
984
466
52
507
149
698
979
994
358
247
586
732
686
592
703
53
54
911
102
305
315
733
234
667
104
796
623
296
410
907
510
409
931
243
845
21
482
802
621
383
675
765
185
102
598
413
474
629
221
492
65
610
514
375
988
17
230
235
669
951
565
445
849
309
259
546
483
901
528
211
234
638
28
458
330
745
358
686
366
70
830
975
900
36
586
85
857
844
595
858
872
883
479
151
717
775
275
95
310
118
773
351
322
255
628
949
20
25
155
114
607
338
103
229
279
551
920
205
736
669
46
949
505
611
192
898
201
488
73
15
809
633
76
15
118
967
712
559
386
930
181
584
809
497
177
581
318
390
58
558
92
823
64
144
448
600
523
129
958
806
63
387
203
877
279
370
265
369
30
337
838
296
852
102
699
605
166
107
974
512
286
837
620
227
557
164
957
695
470
369
866
473
838
819
85
341
39
837
900
951
838
376
789
114
655
508
938
908
123
726
300
760
811
486
628
122
884
510
557
345
927
666
879
761
364
676
59
527
465
776
19
537
390
554
904
125
141
532
27
777
705
28
953
472
559
44
841
378
388
203
909
101
564
166
411
401
428
722
311
475
605
283
776
778
396
451
953
331
787
247
504
194
19
423
936
12
555
576
519
691
83
650
198
205
668
241
129
387
190
698
529
904
54
216
31
130
897
587
19
835
576
906
188
252
84
457
868
908
248
422
609
126
101
215
224
694
592
244
40
397
570
463
966
35
944
878
987
852
973
965
86
329
164
792
189
721
220
877
367
940
457
224
981
532
122
312
445
684
394
420
755
982
89
280
263
553
347
212
158
136
25
900
471
869
568
154
298
392
209
865
162
817
601
811
105
734
162
309
933
320
792
471
286
784
977
456
926
869
848
873
689
929
580
225
171
650
377
926
906
266
348
781
874
335
94
387
64
983
940
132
433
209
248
594
253
293
780
245
899
840
985
264
556
858
800
190
959
644
931
649
520
540
884
216
13
51
66
521
947
772
99
189
39
405
100
97
980
183
136
133
604
449
307
7
740
332
435
503
150
399
560
978
988
744
301
949
501
44
282
976
25
788
41
684
767
503
752
630
842
264
218
628
270
607
532
209
476
357
215
186
865
200
660
988
230
9
17
484
393
251
645
406
775
815
965
474
911
598
803
944
258
151
931
894
184
167
836
590
736
424
226
931
189
117
288
77
690
514
296
831
988
209
14
826
661
45
941
505
49
192
968
315
787
838
497
1000
962
208
756
344
430
583
578
607
88
363
528
574
184
401
813
921
36
908
248
576
463
480
94
529
685
742
938
132
791
885
522
86
589
209
618
890
785
361
885
94
316
388
350
516
975
696
198
981
896
973
450
684
368
989
870
785
128
171
509
535
458
187
567
732
600
315
25
733
505
995
613
17
439
488
389
255
268
776
63
10
59
73
392
862
454
495
728
449
757
583
797
403
534
338
858
733
836
38
925
769
264
559
706
211
955
744
63
953
825
203
745
791
2
344
744
829
494
351
244
182
887
239
244
783
277
930
554
493
988
765
666
834
539
530
152
329
618
883
371
170
36
153
7
787
251
867
839
215
716
557
961
886
972
667
401
420
277
478
833
943
514
559
268
497
831
666
826
642
941
345
41
404
892
795
308
181
736
425
978
646
999
649
72
36
736
871
353
522
300
194
463
584
702
543
508
201
48
797
964
947
918
882
859
24
739
38
564
141
805
850
794
796
981
378
347
123
633
298
841
151
753
325
943
128
357
532
672
880
26
153
517
196
433
646
189
76
131
253
477
163
357
507
419
491
651
917
7
124
699
977
426
555
171
655
579
827
680
253
764
729
881
681
525
959
473
242
455
799
799
822
520
957
102
566
923
414
600
524
631
428
155
282
430
416
888
101
439
448
170
58
634
67
961
709
684
77
844
742
766
895
380
206
322
988
967
414
149
664
574
966
244
840
140
325
427
202
513
626
599
914
823
433
345
146
382
313
969
505
843
681
1
972
7
297
273
422
982
693
705
899
78
455
936
120
595
551
300
609
479
884
971
316
714
860
45
398
727
267
175
446
772
315
859
218
166
989
698
766
772
672
799
27
721
776
294
956
208
22
172
839
377
733
938
803
472
895
558
567
981
162
958
378
46
291
985
290
955
441
982
555
301
690
403
474
991
283
454
544
352
766
339
98
911
70
413
113
308
259
474
718
80
274
57
533
440
365
509
317
342
157
343
778
153
923
818
891
638
688
894
574
246
674
490
758
783
79
514
567
1
95
299
685
559
142
82
74
689
998
916
812
509
294
89
268
293
981
422
730
596
858
364
795
725
900
221
605
149
876
519
523
880
107
281
638
583
143
326
411
779
760
440
633
186
635
373
629
584
883
18
780
206
868
868
799
531
758
200
702
158
182
662
395
193
354
340
876
938
221
234
981
263
370
17
791
878
220
607
637
673
26
58
713
136
235
390
576
203
210
583
512
987
461
485
747
304
265
159
530
490
256
7
588
356
759
739
208
126
615
69
383
619
555
265
867
799
459
166
481
301
115
505
9
547
37
149
422
119
968
488
700
956
859
710
65
811
802
629
880
778
291
811
96
594
500
976
767
828
194
451
435
257
64
244
244
461
857
681
728
254
340
59
796
769
728
718
691
956
688
136
260
740
956
21
714
940
26
877
279
542
926
313
375
19
886
599
241
75
626
358
940
146
256
715
701
586
177
255
348
451
774
304
145
903
930
635
958
751
856
78
442
602
527
720
364
131
81
74
174
217
621
27
862
186
644
472
390
880
986
396
384
833
206
640
295
585
434
424
135
963
534
42
518
952
940
34
33
290
581
591
194
366
204
998
127
896
124
593
77
849
176
27
14
753
753
46
819
366
399
811
747
294
35
712
574
56
473
549
245
69
635
551
737
628
169
961
346
50
544
701
684
337
134
918
755
213
451
827
317
439
399
291
924
988
900
277
450
40
253
48
432
333
170
808
214
912
801
349
783
676
306
449
178
759
381
645
59
574
227
390
922
394
69
945
801
292
494
959
778
418
984
518
901
358
567
980
698
66
827
532
753
320
407
349
667
83
70
934
663
446
564
987
183
400
814
359
377
784
31
577
323
190
931
899
698
593
988
21
663
164
715
914
42
276
947
238
398
159
541
554
308
915
360
403
697
899
844
323
402
870
482
964
381
564
354
435
717
119
803
816
575
306
349
651
825
94
651
251
389
63
968
456
257
591
948
145
204
672
115
274
898
712
274
748
904
802
660
377
114
226
267
222
651
608
935
169
539
784
731
785
745
285
764
274
36
455
740
467
932
896
743
628
228
505
990
253
741
509
265
312
100
990
526
661
835
154
999
756
402
557
351
26
496
27
721
168
832
499
563
668
620
298
754
864
410
748
49
639
742
787
642
871
127
757
1
717
572
92
340
578
133
874
570
950
661
371
359
332
269
384
360
772
600
581
986
743
743
225
265
785
743
989
195
628
949
444
403
585
538
161
33
989
499
260
975
475
228
252
207
647
742
63
838
88
85
395
789
593
748
612
495
850
830
253
625
947
297
222
739
188
388
294
966
537
282
764
501
5
357
611
65
677
776
724
343
634
850
754
333
123
367
653
584
989
734
414
452
959
78
456
273
341
236
127
584
568
146
736
94
345
195
785
965
752
960
517
700
472
497
456
288
459
586
793
617
354
38
404
123
830
633
327
185
995
662
905
532
85
336
422
26
564
3
134
41
342
620
601
614
924
886
659
901
599
387
398
316
1
108
202
612
339
475
260
424
887
954
925
839
151
788
979
557
933
682
257
981
89
510
655
866
190
171
274
430
429
947
566
27
826
454
198
747
872
497
300
700
822
484
332
848
335
932
105
859
721
173
148
346
643
680
759
869
287
871
889
862
568
455
38
707
88
746
320
703
804
385
995
411
849
962
176
714
248
56
615
341
784
27
244
734
546
849
939
454
57
661
798
44
233
510
909
249
272
478
898
673
892
39
908
525
660
253
906
692
530
345
208
276
896
687
751
821
884
269
97
844
778
114
952
685
929
486
6
376
614
419
186
379
635
939
399
579
749
207
419
744
97
61
84
109
950
354
93
275
443
604
927
889
940
956
549
932
533
408
983
500
241
289
563
319
3
209
359
665
375
233
792
547
412
275
295
809
341
516
58
994
561
894
335
8
355
975
693
717
773
533
685
881
665
133
743
606
673
29
93
868
660
710
195
697
114
296
761
508
92
343
155
619
225
42
837
86
716
191
791
638
929
758
897
167
703
900
957
428
73
704
478
918
535
612
224
223
514
727
102
524
93
667
6
645
281
154
362
940
939
223
627
198
328
786
455
921
230
682
593
626
531
673
641
337
430
123
319
12
653
268
640
926
839
550
441
237
256
130
149
300
974
840
828
199
708
617
859
114
772
323
243
278
662
400
441
471
391
329
552
158
963
158
653
124
241
21
697
757
325
513
180
802
822
432
704
731
97
371
250
307
415
91
577
106
330
701
728
283
632
171
865
950
747
631
205
839
347
751
722
30
35
38
51
3
406
251
581
232
547
318
968
513
217
89
905
415
238
303
410
721
302
210
683
988
845
51
647
916
677
265
86
630
709
966
707
650
348
145
45
153
792
676
140
678
224
841
124
978
730
220
71
295
113
725
136
209
513
174
14
158
337
972
382
80
298
902
781
527
133
234
647
799
927
314
770
158
353
297
224
921
245
949
991
235
84
991
42
986
787
450
201
439
146
808
516
255
133
421
425
447
299
94
240
440
975
963
672
626
723
724
791
157
322
675
630
289
268
967
985
966
15
989
771
973
17
13
862
596
317
921
623
761
43
103
518
270
153
175
194
158
414
387
579
16
544
757
246
370
952
742
72
577
190
611
559
726
407
818
948
264
328
490
426
297
639
332
111
892
518
577
293
75
264
467
930
611
130
707
940
186
965
623
538
367
455
241
57
634
57
446
29
540
346
951
150
21
461
881
426
795
74
308
208
82
771
578
648
99
659
947
362
451
105
478
6
135
591
14
966
192
233
314
141
21
124
789
511
330
280
415
167
852
254
799
91
967
546
267
344
783
787
167
453
376
569
876
784
101
343
146
694
607
444
324
907
430
255
483
531
728
573
460
600
605
797
786
494
698
287
670
921
45
531
422
127
879
670
64
381
368
884
209
446
222
234
900
331
989
120
824
158
720
799
646
270
644
667
310
238
922
718
943
889
755
132
63
222
93
295
171
433
18
208
439
25
683
907
884
126
646
543
642
222
165
80
301
887
61
552
281
133
445
395
359
52
146
560
844
860
243
345
35
776
539
228
588
207
275
491
862
126
485
123
347
128
84
212
174
87
111
812
858
151
842
67
899
972
294
957
313
569
363
689
463
217
366
986
315
290
924
298
807
763
618
162
962
795
714
387
153
78
816
270
427
615
700
790
581
184
565
242
902
418
15
891
804
532
303
804
985
681
12
261
136
807
616
860
218
532
442
750
993
632
393
624
181
328
280
600
678
855
813
797
790
628
367
578
590
780
693
112
655
551
748
536
620
955
555
122
12
593
463
620
176
563
158
898
523
380
381
720
918
441
296
990
242
826
379
155
638
35
322
819
707
562
949
856
132
596
234
775
670
928
962
50
334
509
800
365
107
369
921
748
243
663
917
854
592
811
363
673
680
188
206
410
840
596
393
879
214
18
784
650
644
548
363
657
452
698
381
702
780
472
560
535
751
228
32
907
979
508
226
106
602
38
258
943
682
818
549
710
807
772
317
131
451
698
510
564
283
289
38
888
816
883
281
891
642
212
166
496
704
785
320
891
969
330
736
631
690
831
607
672
509
92
64
99
418
668
68
938
14
43
812
350
38
772
676
642
375
484
216
734
873
650
789
550
843
256
490
426
292
927
963
839
51
896
188
399
714
392
765
669
70
706
656
32
363
975
918
644
633
548
90
283
169
830
544
398
645
337
359
90
238
582
920
590
255
485
579
840
580
23
158
813
994
748
892
136
309
961
123
918
503
484
977
535
682
509
14
395
33
911
112
407
331
45
978
938
360
908
864
250
156
918
822
85
339
172
386
698
132
209
898
867
979
988
32
89
450
956
169
41
26
263
995
392
163
257
663
940
140
752
216
595
669
519
920
170
567
289
361
58
828
437
111
867
180
94
926
482
219
414
525
207
109
161
219
148
920
690
382
18
303
97
567
30
767
981
961
56
761
11
237
330
602
222
146
220
179
432
395
536
865
147
193
205
602
81
526
98
623
213
893
591
613
246
167
937
600
64
983
116
436
500
685
773
216
510
70
269
610
369
836
279
354
784
424
119
320
252
105
469
482
589
328
281
740
817
879
804
734
722
646
91
879
288
936
321
451
408
259
191
2
165
70
87
613
312
598
109
309
41
602
880
238
873
737
877
776
21
211
500
802
110
955
787
396
258
940
100
953
461
253
692
675
995
157
501
695
587
832
448
113
825
307
504
349
778
326
982
915
750
588
865
937
762
566
893
415
16
23
591
69
397
398
679
399
87
705
301
401
971
484
588
639
292
695
203
406
799
548
981
480
270
671
776
800
974
772
416
434
132
600
401
951
29
156
669
743
438
98
544
375
151
68
273
225
625
426
965
194
205
733
950
77
679
543
179
982
18
312
979
335
203
513
608
252
930
145
327
687
432
809
81
347
1
616
826
544
944
222
727
401
140
475
570
501
463
208
813
330
153
845
765
630
894
997
301
713
708
553
957
406
184
926
820
552
53
229
442
587
367
634
676
624
24
588
650
5
546
671
634
662
244
774
122
397
763
421
117
553
417
545
347
969
993
531
341
592
818
548
813
464
66
31
900
435
773
201
239
569
13
462
959
518
879
696
819
66
979
933
172
553
147
456
453
844
966
55
705
21
445
479
577
610
848
627
832
57
445
683
786
168
891
719
71
32
263
58
356
60
122
342
802
811
717
536
986
404
745
475
624
426
58
209
531
737
668
331
292
491
912
992
325
485
447
602
531
854
34
652
229
869
115
317
754
893
287
692
454
848
969
386
944
202
223
514
701
517
194
979
493
314
31
197
41
623
871
749
985
284
194
785
377
562
745
896
685
680
166
598
40
58
296
497
701
289
24
612
126
232
47
807
856
199
489
766
170
444
479
808
981
839
321
54
611
923
632
192
537
195
832
79
280
958
831
494
626
211
493
985
809
642
63
314
994
446
126
126
410
291
677
532
889
691
675
551
780
168
317
316
204
528
687
521
91
68
209
736
81
882
211
873
153
657
212
426
983
651
566
937
745
211
3
782
523
1000
219
519
93
204
360
634
178
824
792
864
196
349
967
124
976
816
535
603
19
914
239
220
226
438
884
76
168
14
169
821
907
103
45
572
139
910
559
922
486
111
47
207
911
215
290
252
613
629
3
952
489
608
579
15
409
568
781
971
643
180
662
774
847
458
997
969
684
507
171
716
510
182
724
276
541
722
752
360
4
366
586
603
532
844
484
823
110
922
829
728
211
489
114
265
237
942
605
243
568
436
286
303
13
377
918
891
506
975
715
716
263
375
575
615
370
527
140
813
407
10
817
27
491
811
268
41
587
186
536
310
518
810
840
191
350
94
539
823
173
317
31
141
398
656
459
305
997
17
539
893
513
701
284
817
658
532
173
206
726
990
327
743
880
302
985
892
715
794
196
127
905
675
771
881
570
196
401
393
629
223
845
602
274
594
86
690
201
718
7
880
453
538
773
720
760
914
330
191
564
67
4
735
980
715
867
854
265
660
898
285
426
924
458
202
976
816
365
807
62
188
35
362
413
75
82
980
391
852
146
877
662
448
640
959
587
380
202
656
610
900
236
470
666
15
691
188
262
512
357
64
449
607
836
790
513
750
715
496
659
712
275
470
616
860
687
302
260
227
461
991
349
366
641
578
616
693
441
195
44
932
643
758
600
921
778
551
627
17
305
962
423
483
330
734
679
944
666
493
360
733
854
830
343
288
821
764
380
654
52
568
186
161
554
581
822
773
570
107
276
246
991
153
832
767
883
914
623
209
255
515
442
489
547
12
352
2
119
353
914
377
96
684
285
635
239
418
574
925
635
208
395
299
546
866
843
975
822
844
615
404
336
454
82
461
287
584
668
805
582
96
670
511
894
90
167
449
463
345
368
807
186
715
442
670
282
402
621
611
490
514
363
942
709
761
409
431
597
958
601
319
177
559
613
483
149
37
317
136
610
466
433
543
764
213
875
253
531
218
369
193
121
260
516
352
584
570
956
391
76
717
976
460
691
508
316
444
547
541
31
502
797
769
410
610
833
731
182
602
833
667
432
619
498
129
256
11
667
987
855
717
848
865
121
854
829
838
65
421
55
984
964
663
455
871
840
583
619
948
563
710
527
106
293
753
770
620
293
136
883
23
795
469
842
282
503
353
802
755
726
236
629
571
95
672
569
120
374
240
751
272
948
66
170
40
696
86
537
864
306
472
58
941
946
502
244
728
713
663
443
953
456
713
119
315
37
81
924
684
323
770
479
870
729
64
708
1
99
590
374
615
92
507
740
611
593
716
526
919
452
454
197
632
947
972
315
482
662
231
128
868
177
35
432
916
570
463
502
475
727
169
702
869
197
483
559
342
287
20
11
429
632
319
602
659
616
188
448
867
528
608
423
841
832
708
18
592
434
269
115
484
711
170
31
57
67
968
831
792
121
924
171
6
43
131
145
543
919
113
894
598
631
231
597
877
47
554
1
257
100
167
518
295
895
780
925
226
685
585
452
343
980
747
575
158
526
307
149
47
124
361
428
394
34
668
381
940
382
226
900
741
757
300
583
633
635
906
150
870
644
675
892
274
129
841
120
54
516
583
339
236
871
816
428
179
387
790
977
443
151
921
311
425
943
734
789
104
678
132
55
103
453
608
543
502
305
1000
561
355
842
27
328
190
561
251
276
704
724
330
174
230
821
909
535
155
332
620
162
750
53
242
648
966
785
659
660
762
801
332
309
240
654
131
85
855
670
695
17
516
551
852
82
221
264
763
538
886
228
432
806
921
924
248
965
646
643
211
321
956
480
134
97
873
691
731
45
886
949
191
745
725
606
492
273
859
331
542
702
985
426
868
300
741
158
879
40
4
583
105
56
664
736
647
134
752
549
104
29
741
200
756
14
592
218
330
872
408
122
830
851
880
782
779
994
216
146
282
838
851
245
695
463
877
193
160
448
677
901
140
664
428
653
938
134
335
310
811
411
757
431
447
372
228
464
26
12
145
391
604
822
936
368
347
490
658
213
739
506
679
372
605
247
347
553
644
610
654
597
576
636
641
326
190
38
115
810
570
508
307
620
598
385
967
217
950
755
876
422
867
325
231
904
378
186
327
623
302
847
837
609
430
593
185
399
933
239
919
941
442
910
953
671
354
250
789
796
558
369
601
430
127
337
891
991
153
622
681
178
839
173
941
431
948
943
824
242
999
387
37
777
651
696
712
510
35
464
22
673
720
577
658
734
455
894
43
549
520
629
335
355
152
803
135
634
550
967
318
401
960
456
268
235
943
42
69
562
948
684
155
256
190
886
659
879
11
553
863
992
706
774
476
937
799
136
993
330
340
601
399
682
98
920
439
979
478
980
892
685
137
389
79
309
297
698
913
70
512
482
125
738
109
79
595
665
480
365
955
179
600
332
35
195
919
483
415
121
4
330
959
557
204
257
426
690
820
461
422
28
252
873
256
784
127
503
736
861
58
600
672
961
213
348
443
184
35
903
102
852
59
50
585
305
7
577
378
196
795
766
549
401
216
180
897
832
600
341
6
874
504
945
964
884
829
285
865
156
3
240
24
98
642
726
55
795
332
122
96
94
93
792
916
770
268
122
843
513
877
87
630
39
821
426
618
373
607
22
539
256
898
877
866
310
147
548
633
711
892
956
774
853
504
58
643
251
588
271
121
851
595
367
294
401
660
41
760
628
234
528
644
891
392
906
980
705
359
272
321
341
269
727
640
945
49
233
816
714
661
88
97
927
920
278
468
529
843
110
604
726
83
557
250
456
173
215
596
640
73
879
661
246
954
431
440
57
228
267
536
415
344
794
833
783
229
918
315
408
291
697
5
237
133
928
844
460
452
301
692
163
114
347
700
7
569
556
456
32
380
882
726
812
507
339
380
478
733
189
543
696
621
215
532
894
133
148
42
876
987
546
498
583
61
198
246
163
843
271
170
445
605
363
450
804
835
976
347
649
119
644
42
54
285
481
961
558
202
517
382
883
489
850
106
134
209
244
396
226
170
666
94
200
287
38
439
876
437
889
354
627
246
354
851
947
914
458
328
150
924
348
952
408
783
148
214
812
965
820
468
98
336
574
151
231
240
390
505
783
444
269
899
962
852
567
660
463
245
760
184
909
503
858
789
287
34
644
891
465
34
273
649
156
742
460
5
645
944
845
72
22
862
633
448
343
815
14
204
470
657
860
663
677
21
585
916
880
711
19
164
159
701
836
60
628
539
592
621
589
978
697
778
670
969
135
799
847
674
105
121
769
205
595
205
647
184
639
977
650
771
244
352
575
449
890
743
820
565
948
479
557
976
757
949
582
339
794
189
216
511
137
735
168
219
366
419
408
485
942
418
234
203
410
494
2
461
321
6
993
319
96
429
795
534
536
661
586
781
486
724
149
825
392
625
591
799
407
621
156
845
226
37
747
349
374
699
486
334
142
29
325
500
856
659
572
1
310
3
848
333
209
570
159
164
446
748
668
572
88
242
66
813
633
346
763
709
839
801
576
947
806
439
125
807
207
804
445
448
185
930
893
348
145
526
652
961
395
231
174
751
868
271
759
875
664
951
675
250
601
896
902
28
573
420
261
946
232
607
563
974
236
134
760
457
514
426
719
281
844
295
349
571
892
811
541
634
881
146
737
176
906
959
248
408
936
845
551
681
610
645
880
753
372
724
24
790
281
147
226
964
613
53
512
716
516
555
137
400
371
739
375
264
132
44
242
581
220
455
97
173
563
581
769
36
825
150
381
366
837
739
158
514
2
177
685
420
832
568
878
833
206
825
823
919
843
630
372
508
326
215
480
373
57
248
143
791
468
470
319
619
284
671
435
801
228
684
686
193
798
938
313
813
693
67
736
233
300
598
467
376
380
337
634
727
289
72
928
878
986
113
305
447
279
43
691
321
303
442
945
260
374
324
105
268
739
18
372
829
975
869
513
114
672
65
998
636
131
65
401
113
276
979
340
395
812
968
808
213
717
751
428
110
108
433
625
579
57
600
131
511
334
294
74
999
600
311
671
527
351
609
598
522
821
494
953
797
100
194
363
824
314
19
943
702
76
667
325
338
235
393
829
246
296
229
572
139
116
489
627
456
171
995
21
632
594
520
624
364
251
317
15
985
118
812
8
851
977
979
194
403
429
523
578
365
600
176
328
241
63
604
196
233
725
725
680
820
375
443
881
852
764
329
795
540
443
880
139
852
648
525
427
850
945
37
945
889
802
676
14
674
573
60
716
663
465
859
97
746
831
500
809
281
908
542
461
472
358
535
990
36
70
444
67
520
477
270
204
45
554
375
263
381
895
155
617
884
47
364
662
190
742
965
897
416
372
941
10
400
825
162
653
260
186
570
438
262
578
834
82
943
927
898
386
489
499
921
209
522
386
380
145
628
468
602
970
179
470
758
296
37
841
11
633
425
251
27
960
52
470
52
605
720
157
97
727
660
739
59
61
29
94
311
600
908
909
286
178
55
767
949
849
202
753
680
848
49
692
906
402
415
388
452
527
296
911
792
910
568
587
779
665
281
545
406
986
561
769
803
742
418
121
85
176
366
77
276
966
606
203
397
301
658
274
598
185
922
184
197
536
584
135
728
689
935
91
507
694
171
673
78
759
497
286
380
471
432
494
815
968
898
274
940
101
853
229
395
685
665
24
417
189
938
958
948
219
319
402
489
649
816
147
628
981
825
153
363
284
277
256
186
13
695
393
554
706
220
138
183
778
607
598
928
108
711
149
394
474
819
932
151
863
443
290
649
822
61
535
457
640
386
474
577
684
414
662
944
853
773
266
844
332
839
701
781
281
218
701
290
202
166
877
579
155
247
382
544
961
470
817
912
335
851
195
114
63
177
631
233
214
86
777
609
374
515
439
812
26
919
341
59
487
403
717
788
378
309
667
76
723
663
623
867
12
863
714
61
340
621
779
263
881
517
466
818
283
818
1000
673
356
215
530
53
142
358
972
463
839
781
849
326
676
667
578
312
150
718
491
118
846
703
483
663
242
828
749
668
954
933
970
466
628
867
856
567
259
576
431
807
1
979
566
413
284
462
103
100
213
529
917
641
387
584
433
947
14
674
538
937
478
812
51
416
363
108
428
103
373
126
519
913
121
829
430
668
323
946
743
138
424
952
127
446
117
875
689
846
101
265
582
459
544
644
903
580
576
460
50
793
817
570
918
212
156
830
246
406
95
917
452
198
858
87
50
310
324
132
360
417
536
25
4
228
737
199
588
531
706
61
772
758
397
999
41
700
207
877
158
925
603
398
656
415
768
98
70
426
309
837
968
116
250
873
661
151
866
503
399
564
460
25
614
874
714
205
210
57
514
92
923
33
780
668
891
147
983
280
371
655
934
530
682
605
940
77
706
586
343
134
530
198
664
860
151
204
151
946
309
556
731
778
214
598
752
501
836
886
771
788
412
453
993
282
830
284
553
474
82
938
170
313
330
62
398
586
96
688
8
465
79
201
189
359
65
332
826
575
412
344
890
429
96
860
192
488
914
179
301
600
252
950
870
82
501
217
237
436
889
35
872
277
227
888
922
871
952
209
835
248
518
995
994
103
822
327
116
203
442
203
457
196
619
709
420
908
617
563
547
276
806
452
775
983
828
595
252
679
330
777
277
309
611
415
700
753
725
58
120
188
945
662
467
203
775
134
533
418
131
57
462
665
925
672
542
759
338
777
864
926
307
654
536
451
460
911
901
67
704
711
354
405
727
717
282
390
821
718
824
757
65
262
503
950
900
25
664
616
127
955
502
179
552
700
152
985
327
709
346
518
373
368
310
587
601
710
256
118
450
403
295
200
74
586
61
353
679
601
738
179
926
895
382
43
924
450
828
380
738
867
259
37
601
786
549
422
506
324
754
467
106
468
218
44
81
990
858
575
710
143
889
71
806
971
772
708
619
368
224
757
841
208
567
311
778
298
15
560
623
838
1000
314
806
437
545
915
238
484
701
45
285
798
509
741
207
481
93
268
998
383
681
119
825
259
772
238
972
904
784
503
596
824
477
690
884
412
550
612
284
686
412
159
111
570
783
861
207
78
100
426
18
671
421
362
334
902
914
135
881
961
44
482
419
671
447
30
816
328
85
381
141
380
876
549
924
252
38
41
549
151
657
80
267
563
485
27
183
681
652
518
696
551
885
27
679
623
892
623
451
974
131
278
821
65
225
835
134
878
541
167
718
627
500
376
255
654
492
33
133
312
130
33
932
931
257
726
152
388
557
472
551
816
104
712
512
722
669
618
585
483
808
829
981
913
888
539
778
407
163
232
420
56
837
959
260
63
594
925
237
384
202
212
811
223
988
149
381
716
730
564
164
439
230
73
381
444
424
636
971
122
451
3
953
6
69
310
464
415
76
620
714
828
83
912
347
227
108
398
948
288
409
834
674
853
896
682
974
499
805
584
195
958
803
632
467
925
973
152
114
754
715
978
465
93
845
525
588
19
101
88
992
661
546
118
941
388
88
630
867
791
569
208
405
482
222
509
895
39
934
123
327
221
91
851
265
817
692
753
168
405
883
235
166
217
914
882
86
719
115
548
200
907
342
597
82
561
692
476
61
772
155
771
855
900
377
194
862
888
838
550
849
291
688
672
769
915
449
566
592
839
162
409
223
116
745
465
883
441
579
93
737
40
191
129
451
344
599
884
967
351
736
531
945
256
491
403
503
925
103
206
616
901
677
23
699
334
321
274
819
167
424
691
174
974
776
450
815
652
510
453
160
975
116
404
535
136
556
371
488
434
32
61
871
257
635
946
368
604
371
737
394
934
665
599
583
812
871
416
832
91
763
848
725
340
391
366
554
956
702
516
403
86
560
23
318
463
917
62
879
248
654
918
357
676
366
885
372
575
92
269
323
274
701
669
656
961
438
715
524
89
700
247
118
305
225
705
549
211
343
39
738
331
740
751
34
893
63
147
60
728
833
775
696
692
373
860
715
40
173
617
418
237
241
109
970
178
515
962
629
634
880
673
365
344
416
598
327
474
446
358
915
627
373
875
920
644
314
593
501
194
956
695
630
678
246
128
202
855
781
824
964
509
264
492
402
931
590
488
383
598
312
563
7
506
126
157
87
627
16
8
518
800
876
837
148
112
21
681
826
727
382
790
511
813
607
66
867
639
144
299
577
153
699
132
925
420
262
752
790
261
784
437
959
933
791
484
305
731
901
753
51
520
321
47
9
326
229
318
767
897
585
140
849
875
874
776
736
316
549
342
365
666
336
731
944
600
911
457
636
822
941
844
848
40
988
25
520
577
776
43
278
193
759
78
552
235
374
185
399
410
113
269
121
148
584
378
999
871
933
880
229
588
127
295
150
389
315
135
827
402
195
662
643
143
805
694
678
607
451
854
632
633
497
730
856
501
174
111
44
379
717
802
747
798
396
460
61
960
347
338
339
311
523
365
283
123
488
732
860
70
695
515
355
591
1
836
468
797
591
277
767
726
912
707
386
857
110
700
298
500
170
623
662
683
581
121
407
214
925
318
732
864
799
692
908
951
796
160
722
836
483
204
782
854
510
967
98
897
135
423
804
969
662
96
410
559
506
622
156
417
336
172
279
497
341
175
762
244
665
710
997
319
390
427
426
349
26
254
210
963
23
667
270
551
936
765
334
830
611
293
408
450
356
195
531
431
456
345
656
61
631
591
936
457
620
607
247
58
47
11
571
102
116
753
880
516
5
40
52
882
902
900
574
458
753
797
600
750
282
169
97
386
393
12
656
223
714
87
136
874
462
604
485
193
991
347
262
501
474
113
619
40
269
3
288
175
994
786
110
984
37
934
315
376
127
729
580
368
303
539
649
152
677
593
151
427
57
864
150
450
762
152
219
228
429
793
992
702
183
209
734
549
515
375
526
439
377
901
13
515
223
852
814
720
765
503
534
60
986
448
782
845
24
629
300
490
746
728
494
342
560
666
201
175
611
861
199
123
889
832
688
33
428
660
74
232
811
619
623
213
957
941
731
876
33
547
899
630
479
571
145
478
275
510
304
933
96
78
838
358
159
65
269
356
719
566
789
878
111
482
299
666
611
215
921
230
42
564
805
290
814
100
414
64
516
836
751
486
545
913
490
68
662
106
541
874
274
174
71
95
3
259
890
903
715
755
187
287
778
326
710
521
391
280
115
87
662
867
607
594
816
201
884
662
272
604
6
622
38
14
77
922
564
421
370
200
324
327
894
945
904
730
52
225
979
543
851
432
883
799
90
940
903
329
323
233
771
250
302
529
682
452
639
497
151
861
252
310
251
641
753
219
253
707
773
254
812
289
318
952
238
117
708
68
262
745
72
670
555
483
125
231
215
360
479
738
858
575
609
3
502
588
898
7
669
967
709
658
977
574
641
840
883
179
819
316
886
715
889
327
926
563
570
886
41
248
216
286
460
131
41
193
608
781
204
572
967
893
152
395
7
880
659
355
276
958
740
884
440
724
607
354
144
690
222
668
594
77
104
131
308
179
826
452
421
738
94
501
397
499
819
756
900
813
84
727
923
28
160
475
221
723
913
636
332
476
358
117
504
452
982
871
652
11
621
947
769
930
738
728
526
909
509
747
123
129
495
436
151
916
531
65
142
528
858
739
654
860
776
887
275
279
855
759
435
875
444
79
872
827
320
818
858
766
63
348
222
149
666
419
726
84
612
135
626
854
486
323
918
558
453
416
305
301
983
387
835
309
513
49
655
522
855
604
286
834
57
190
48
541
867
175
654
513
359
468
807
738
957
594
938
360
468
112
562
54
93
330
653
668
378
177
61
226
274
311
831
261
986
938
978
427
961
717
48
253
682
589
452
803
60
753
138
286
380
31
159
893
829
952
368
710
649
242
279
531
681
564
483
196
876
250
698
144
633
880
224
142
606
20
200
495
786
155
963
558
660
669
3
453
51
639
607
164
584
328
26
648
799
753
730
492
287
741
383
277
937
410
929
281
690
674
109
126
219
10
371
456
50
446
33
360
284
469
552
105
476
569
448
643
690
119
335
6
514
509
883
945
314
973
371
42
915
404
870
591
311
516
215
504
515
825
871
587
13
42
508
72
129
682
76
565
756
416
844
588
970
696
704
629
887
811
5
593
61
140
409
368
777
161
607
410
218
365
108
646
123
104
249
631
850
971
919
139
209
710
994
826
996
933
60
616
163
598
166
480
565
969
780
443
588
57
196
506
339
987
925
477
958
19
771
827
818
878
153
938
166
150
904
755
183
755
416
898
298
15
149
920
676
719
463
914
343
70
121
596
821
163
772
241
511
298
157
532
348
960
9
431
325
404
269
769
241
893
196
832
471
660
39
638
749
595
753
324
286
590
781
346
153
719
14
591
600
881
727
876
545
544
387
453
758
61
511
128
128
174
999
473
105
762
161
444
464
947
661
527
747
75
38
33
161
405
420
835
193
709
286
537
67
227
353
697
279
59
414
599
398
468
490
532
556
984
487
107
330
94
841
408
433
930
514
352
814
965
144
947
7
263
764
887
250
537
723
986
626
163
853
715
647
880
574
357
564
497
877
851
721
340
306
674
201
567
323
496
722
397
739
15
625
182
571
895
68
800
758
650
292
862
324
436
536
9
73
167
593
630
548
971
456
516
743
558
215
661
760
165
993
778
114
247
702
532
598
146
357
575
585
985
653
770
572
675
814
975
414
490
620
136
729
568
680
443
364
982
898
757
537
341
419
250
753
751
886
726
775
92
719
700
984
113
539
205
225
72
506
353
109
308
208
512
92
341
159
77
750
549
621
677
783
632
326
371
445
231
676
190
401
929
807
474
178
113
244
562
907
274
622
618
199
356
545
637
401
860
590
607
968
620
464
264
981
165
629
837
349
652
736
469
738
170
112
772
338
703
893
993
30
487
920
148
923
465
827
63
196
324
415
361
269
17
925
314
230
842
653
299
577
350
541
959
253
66
911
844
8
22
442
411
741
246
779
750
735
113
731
114
867
21
821
984
622
23
480
700
793
616
889
650
816
183
471
323
158
823
461
840
503
944
491
939
280
663
309
266
627
308
983
133
678
465
163
7
371
521
550
119
273
231
210
705
287
30
295
15
526
281
582
160
416
820
894
194
994
521
203
443
384
762
11
98
668
163
120
624
500
465
676
738
388
469
663
48
341
965
85
1
446
117
817
21
168
188
551
497
752
843
432
533
179
221
539
573
485
379
644
869
89
651
556
324
578
730
372
871
248
613
829
480
152
436
610
740
659
904
921
506
360
311
513
746
508
309
618
650
904
387
543
817
582
199
768
281
299
80
715
344
31
747
586
982
419
496
702
837
892
697
64
386
628
957
475
68
442
190
276
169
51
523
439
869
265
549
491
169
56
963
857
462
157
442
639
259
504
124
335
80
674
670
329
667
815
998
368
821
408
433
571
238
831
442
146
690
588
449
490
79
175
440
478
683
250
793
658
334
263
275
288
860
480
557
134
963
542
679
888
157
741
40
353
51
643
742
313
661
910
373
600
523
236
900
417
148
682
963
774
179
827
113
197
158
131
700
209
812
184
597
250
946
363
487
899
789
409
389
615
173
162
698
266
855
489
211
172
413
10
444
501
475
211
873
539
996
388
606
955
120
841
696
235
191
267
763
676
223
369
816
904
582
574
401
413
933
443
293
536
232
22
70
271
698
110
53
903
341
64
637
603
791
726
753
682
133
481
297
522
491
314
253
37
618
410
333
860
804
892
344
951
755
913
702
55
409
399
529
264
831
928
384
119
614
920
470
949
573
364
241
131
155
518
513
407
596
328
619
674
978
166
875
755
767
487
618
442
956
388
877
404
945
759
441
383
662
479
203
473
368
84
250
166
656
586
196
121
884
723
779
757
386
959
457
674
779
930
571
216
701
298
35
842
290
546
905
425
640
772
229
580
235
92
592
261
407
861
325
276
387
967
763
626
200
310
690
657
949
36
451
194
949
465
999
699
301
977
298
932
687
97
147
275
596
240
600
535
282
598
695
505
983
47
779
630
813
138
629
984
853
596
646
844
91
973
971
895
189
183
34
70
972
272
404
264
256
123
304
267
953
187
857
551
36
782
966
379
12
659
243
282
538
217
601
857
768
932
482
129
590
916
62
393
222
804
574
433
260
555
589
175
71
949
396
6
931
561
327
717
623
297
641
610
745
334
486
763
582
205
904
264
718
520
245
598
620
851
184
515
94
893
948
384
639
137
572
411
917
349
755
540
152
274
171
767
828
547
330
445
434
71
363
339
439
640
62
160
258
780
277
337
656
183
488
186
897
657
305
352
674
77
244
947
83
861
177
922
19
104
145
797
679
991
34
435
650
433
338
234
543
772
503
406
680
406
568
96
323
436
999
515
402
924
230
993
674
762
604
907
307
16
644
156
372
462
109
547
344
593
144
874
228
109
444
776
593
330
505
181
763
756
212
757
166
394
667
492
771
729
513
969
952
518
628
121
852
786
632
689
478
267
495
971
405
568
810
920
865
20
914
7
810
947
323
275
416
753
237
692
441
335
387
158
503
900
409
818
254
570
389
904
462
708
207
575
64
292
231
172
418
173
508
480
619
609
196
695
151
969
50
181
109
56
452
59
568
312
200
382
64
301
774
225
547
263
304
622
846
298
515
650
54
838
886
425
557
634
261
404
617
219
895
610
30
125
401
489
577
140
119
354
1000
395
67
806
773
520
23
5
618
513
382
349
941
269
853
243
397
513
302
71
247
306
363
839
938
141
455
563
955
669
710
283
101
994
131
579
939
127
682
515
39
609
146
240
305
239
679
396
247
38
191
565
802
83
623
386
282
842
879
33
817
103
502
237
703
208
913
310
942
332
309
42
351
476
154
344
619
774
569
228
750
901
230
488
893
386
573
523
93
631
171
412
565
119
14
836
890
136
60
226
817
713
820
204
507
838
806
568
466
326
868
997
274
710
42
521
569
792
340
218
790
344
941
781
705
809
591
217
520
586
981
953
886
583
539
784
615
96
183
917
452
923
970
718
393
198
351
213
192
624
546
372
68
164
87
403
685
501
643
872
602
810
51
963
562
461
557
607
14
550
183
19
514
19
469
108
520
470
444
533
684
567
737
643
130
598
256
434
706
744
487
800
693
232
53
943
899
777
51
933
990
669
512
440
191
46
230
860
874
44
268
188
530
298
512
469
205
331
456
241
275
504
936
53
489
235
438
56
348
509
898
472
190
516
558
839
18
732
395
745
537
22
198
154
124
795
451
191
550
590
474
524
284
205
594
460
281
869
3
594
722
683
867
709
141
106
462
52
788
646
453
287
571
546
836
909
630
390
430
997
456
788
468
237
355
753
973
485
687
646
310
700
682
398
660
672
650
751
507
11
371
144
336
366
780
469
844
424
120
499
39
114
567
560
801
832
665
777
955
197
555
592
104
312
374
360
194
930
241
122
609
10
100
309
952
965
742
696
758
793
287
246
360
555
852
703
333
886
793
890
9
196
313
888
136
421
185
624
910
867
965
199
374
335
937
306
575
684
801
909
30
536
275
881
613
469
502
820
482
260
446
960
620
263
967
373
973
640
528
327
531
249
327
739
545
935
415
632
195
161
79
782
167
551
724
586
153
924
367
91
492
581
15
584
687
2
488
681
4
14
776
945
388
958
328
832
653
164
465
186
100
4
772
633
191
763
36
947
543
919
216
634
514
1
333
116
797
967
667
374
791
510
865
40
629
447
381
195
71
419
774
907
7
947
311
462
54
191
10
589
950
320
413
249
686
162
898
477
208
680
89
399
219
590
434
856
480
812
39
504
729
373
298
725
78
652
176
503
240
460
936
56
110
503
669
315
979
616
124
485
956
82
557
117
722
444
336
72
122
909
653
767
948
376
385
720
170
578
346
711
527
96
784
950
170
592
259
944
792
688
210
200
564
699
402
690
955
247
119
383
701
919
701
820
466
866
294
886
309
905
819
827
233
494
14
68
178
924
55
53
640
60
651
288
480
868
165
855
371
820
729
30
724
473
543
794
532
630
800
344
826
999
65
902
442
949
131
318
813
227
827
645
888
310
185
775
858
730
612
138
431
391
848
799
545
995
198
634
992
825
493
568
167
69
848
653
862
858
622
261
746
239
883
407
681
371
842
438
521
408
53
840
148
82
437
320
980
721
390
643
639
179
596
226
793
269
779
374
445
851
64
902
592
475
781
872
615
784
777
441
569
86
406
818
640
43
709
590
683
182
600
990
721
754
629
614
394
264
307
561
996
107
388
685
133
997
734
140
101
617
5
612
359
17
947
38
93
76
703
217
574
865
961
223
479
999
305
586
817
952
600
365
171
789
929
734
733
949
751
903
167
723
964
162
954
610
332
873
902
369
331
908
265
112
225
959
512
682
192
960
703
79
895
894
398
477
651
917
441
602
207
583
744
380
152
169
631
222
429
206
781
556
611
499
160
225
361
400
52
713
558
553
900
573
820
659
696
179
690
478
479
753
475
330
302
41
891
613
210
973
873
281
63
556
447
952
424
470
216
823
232
109
182
212
678
279
777
361
541
296
591
266
18
806
238
615
765
899
439
972
787
945
185
26
820
393
313
724
960
103
155
342
67
191
786
873
262
646
162
912
394
943
835
8
556
961
773
568
799
107
433
554
859
914
469
131
556
901
219
247
933
59
863
899
182
212
746
733
91
338
365
604
325
182
787
320
426
525
932
378
82
689
298
15
477
412
770
466
348
478
817
496
649
426
766
481
215
684
432
753
583
157
292
912
812
287
334
162
987
882
267
642
259
685
940
762
811
787
939
221
38
532
447
998
306
742
457
13
610
535
823
353
531
649
121
787
931
362
371
517
841
989
580
66
800
685
958
142
740
480
100
469
625
677
685
349
732
594
445
362
857
972
975
202
205
632
617
599
199
296
672
834
50
336
335
892
370
214
61
9
892
876
414
614
626
907
345
46
173
284
323
79
765
968
218
424
915
923
567
127
342
863
456
112
697
810
286
340
714
451
775
589
9
396
784
491
620
255
479
667
133
371
363
614
83
501
571
411
508
710
850
173
402
145
488
282
680
635
723
863
259
432
598
141
966
772
392
416
432
54
596
264
313
256
516
942
423
452
32
758
115
595
346
639
344
565
876
174
294
426
477
650
396
69
864
800
621
421
747
419
533
115
768
65
236
369
328
871
26
968
147
354
758
915
359
203
136
422
658
111
94
574
217
794
745
977
837
107
275
16
576
371
978
341
325
132
991
369
500
216
554
773
797
158
717
292
11
326
8
824
163
802
220
875
165
203
288
807
187
485
245
500
525
405
838
478
359
343
252
461
204
718
665
395
341
579
526
868
115
685
466
8
443
476
479
998
861
390
899
307
99
732
761
372
260
518
786
645
668
946
688
931
567
54
455
538
798
428
36
567
460
674
60
465
675
695
845
408
544
719
674
118
351
598
35
527
415
333
837
648
564
450
801
188
290
43
481
900
759
477
158
251
453
162
531
831
818
20
854
561
863
188
837
778
220
180
619
14
698
697
754
827
235
928
254
724
288
524
718
982
441
430
582
216
713
977
446
541
861
485
247
218
71
641
270
117
576
881
561
302
419
268
340
675
820
87
631
427
510
951
789
401
548
174
838
783
726
155
877
447
749
969
622
130
237
709
955
153
515
213
12
225
767
146
736
577
567
990
498
272
336
566
314
890
740
752
6
500
588
766
70
685
557
911
622
398
620
847
979
406
908
684
462
835
367
428
983
36
757
362
410
518
574
506
978
648
205
98
672
54
764
662
528
935
525
53
465
432
845
39
880
841
717
957
806
547
9
958
919
871
802
666
218
272
460
924
198
350
390
373
484
198
286
520
524
965
827
741
165
185
774
763
784
655
502
303
120
893
988
9
576
810
770
516
969
273
208
662
778
881
662
794
343
731
579
682
242
368
745
603
728
675
317
348
627
590
736
410
189
329
544
338
963
122
231
447
475
4
344
964
661
207
216
902
582
598
605
822
711
223
444
559
48
485
205
264
282
806
479
125
795
16
607
776
828
369
980
275
165
548
432
162
952
126
26
222
161
9
139
222
441
749
680
755
198
273
649
279
369
262
59
455
257
184
628
201
450
503
82
881
669
411
118
959
348
402
342
79
316
112
462
211
949
614
322
414
294
994
652
355
828
458
327
77
670
305
991
125
186
42
628
49
839
913
762
832
470
865
126
179
995
114
156
535
172
933
622
575
701
846
569
437
866
154
864
433
719
979
898
48
122
769
139
246
838
672
660
499
735
436
504
741
106
753
563
671
153
631
837
604
675
788
967
216
782
387
836
562
680
610
250
929
732
775
768
98
597
436
623
781
822
869
821
244
847
12
798
284
722
466
142
728
621
259
939
461
147
923
345
14
175
786
805
625
230
569
420
923
730
147
260
667
824
802
303
177
614
262
749
324
513
884
413
430
204
513
556
405
745
631
370
461
777
330
164
924
442
545
833
454
25
777
907
633
690
725
288
929
619
344
633
314
851
568
671
146
314
620
672
975
407
720
441
201
941
763
305
865
720
2
884
766
312
228
397
647
327
710
154
326
313
697
947
879
440
95
13
228
110
368
405
615
158
698
670
506
539
496
436
990
844
462
584
232
564
56
561
446
594
541
410
742
377
587
336
657
876
327
500
557
586
706
685
480
671
155
148
524
404
29
887
4
213
531
40
530
952
886
810
426
222
92
312
873
678
420
349
150
255
894
368
821
546
152
890
232
187
208
478
168
263
725
932
952
322
714
591
979
717
613
817
409
684
326
530
623
722
586
120
327
212
680
270
4
817
70
599
209
860
929
582
669
381
361
571
61
16
439
270
985
86
615
674
792
847
605
461
434
37
820
908
720
418
100
956
547
699
757
647
791
248
839
885
688
189
214
43
599
397
839
915
440
79
587
259
722
131
99
381
250
933
625
848
844
198
649
68
277
317
660
213
707
95
523
843
221
295
979
158
660
528
362
805
21
53
19
786
812
354
146
557
606
510
719
149
620
828
38
996
510
511
693
957
676
73
269
52
504
487
282
638
119
439
910
506
11
621
240
562
474
18
348
991
467
293
160
119
692
640
872
264
522
649
925
575
385
377
160
421
996
433
398
739
256
513
196
499
711
275
152
32
397
570
244
561
821
587
94
840
89
674
371
412
1
228
935
431
846
346
347
405
665
385
433
483
583
977
299
883
228
517
82
995
420
301
395
806
588
899
863
670
811
102
706
336
820
237
87
304
177
967
747
288
310
603
807
301
108
291
91
144
833
372
241
704
854
344
622
809
883
835
784
126
665
772
19
17
742
223
403
427
203
793
373
435
787
499
616
128
397
55
329
794
424
842
502
621
794
470
44
776
830
334
432
876
325
294
730
112
549
523
371
818
2
499
993
850
889
512
971
970
880
420
786
701
736
737
495
116
852
546
388
563
633
531
582
171
105
452
397
382
223
72
947
417
719
171
271
590
983
616
882
416
405
949
722
749
620
948
268
28
894
590
918
709
925
814
185
702
456
522
538
436
304
127
736
781
857
722
103
859
802
598
349
279
816
292
682
687
757
788
860
742
906
631
342
816
271
314
341
605
21
621
559
480
86
70
425
87
147
771
589
663
567
891
184
183
142
104
780
795
701
380
845
732
47
506
299
211
1000
34
688
739
370
903
840
551
501
60
312
72
525
342
723
149
194
200
240
229
803
16
853
255
201
734
746
642
203
737
257
307
736
883
706
729
382
684
896
768
380
16
56
497
362
882
304
333
544
485
486
743
181
346
240
816
285
168
468
686
758
292
152
66
60
274
329
511
569
119
88
25
564
843
58
491
732
562
848
466
422
687
616
759
446
259
893
550
858
816
343
158
451
755
861
702
158
625
70
856
786
537
285
360
596
970
514
274
552
9
655
921
255
502
516
985
772
766
48
610
719
316
777
641
621
249
967
293
157
438
866
806
262
28
951
557
467
92
480
148
878
432
557
18
728
637
333
164
143
559
608
990
253
697
283
830
991
692
30
317
906
512
435
468
668
667
856
512
771
993
309
432
343
907
742
318
529
151
965
852
47
246
200
120
257
993
959
576
784
246
406
172
441
823
348
993
235
354
696
756
714
708
317
899
447
615
151
453
905
989
530
142
906
581
224
336
504
927
952
541
513
815
818
387
342
454
746
255
19
732
140
79
232
972
323
296
273
435
40
584
691
768
706
593
945
171
623
972
828
744
499
229
804
692
528
585
373
250
729
511
679
700
873
997
665
908
462
318
714
556
828
408
205
480
214
538
647
107
433
103
725
427
22
772
165
977
363
858
195
943
811
762
972
458
754
195
159
732
743
869
851
542
788
513
150
9
342
855
208
626
389
123
752
916
341
392
995
603
627
878
338
897
965
774
745
571
525
729
198
838
31
20
925
445
734
476
574
479
716
528
585
695
838
59
383
506
619
374
885
545
734
308
826
20
465
961
457
562
636
508
362
306
638
356
47
144
887
357
655
703
849
284
703
49
534
101
34
89
731
711
820
310
181
514
316
861
535
170
750
22
152
283
471
467
853
219
780
533
774
391
92
425
672
548
914
550
931
890
992
359
605
621
605
797
290
489
158
550
257
162
396
74
867
349
485
205
515
643
153
219
570
839
253
316
145
995
325
191
779
823
884
760
214
864
887
925
17
580
717
801
339
506
96
506
521
796
385
546
473
378
394
844
535
267
427
939
637
290
902
188
958
227
268
581
266
556
222
969
866
873
338
717
609
637
308
415
855
160
954
153
221
651
911
646
621
269
464
559
464
686
872
546
43
418
564
635
969
243
896
567
439
176
584
563
189
405
98
71
557
759
822
4
47
279
130
430
45
496
425
126
791
591
216
656
380
216
28
21
489
344
238
230
913
689
367
736
768
125
461
329
760
196
830
508
350
413
770
736
837
419
161
807
16
693
83
583
717
20
489
71
210
759
772
92
351
450
884
1
741
793
718
822
228
628
489
896
411
204
16
926
234
219
348
842
65
761
387
727
61
703
306
804
325
487
993
682
177
548
67
211
749
779
659
84
721
841
703
516
691
446
637
360
56
278
213
182
545
777
302
351
470
314
547
969
35
808
310
317
475
655
100
513
133
169
145
970
579
653
821
359
238
466
810
898
421
523
137
579
474
925
644
484
89
412
78
963
910
140
137
726
512
178
179
454
193
944
893
999
879
630
41
756
220
255
879
61
642
57
97
821
511
119
573
590
900
431
841
980
206
336
18
872
341
352
710
508
361
229
545
645
297
627
38
615
305
800
259
545
124
468
443
923
392
84
234
556
565
305
5
766
19
374
214
383
662
71
331
723
990
16
352
630
940
99
186
167
531
284
59
181
799
219
551
284
174
827
410
172
51
876
910
246
385
160
289
414
343
533
942
860
778
747
940
677
519
64
117
48
374
461
312
34
85
393
271
683
751
739
720
978
470
52
809
567
51
809
431
902
34
340
95
282
927
25
646
848
928
942
627
695
914
206
535
396
599
798
992
32
240
906
209
206
19
747
871
495
259
103
93
570
826
909
34
476
413
892
76
97
503
560
654
445
59
382
472
361
436
505
231
648
601
642
333
946
372
172
869
358
286
432
753
924
967
391
312
841
561
248
808
435
482
226
777
95
544
812
595
734
724
603
486
703
620
326
499
697
40
196
326
937
735
617
346
899
976
203
120
65
374
659
572
288
851
722
378
881
733
282
985
117
33
692
513
487
459
596
435
567
30
994
914
701
902
201
600
722
622
225
258
43
547
755
226
858
989
740
250
637
538
408
865
856
434
417
564
371
799
609
324
270
49
45
290
883
824
399
18
49
737
770
736
236
11
887
832
340
251
976
716
99
277
533
931
444
932
931
645
499
923
517
27
472
18
982
559
329
330
459
354
897
196
562
209
12
912
829
199
915
248
347
569
861
145
321
426
900
543
613
273
938
993
163
136
170
432
125
910
31
855
930
594
580
109
369
852
820
870
670
300
541
477
274
764
365
956
122
998
912
774
856
720
802
392
888
208
387
482
892
713
819
538
589
340
87
371
829
593
518
868
737
135
517
411
72
158
633
648
218
911
629
734
993
888
321
426
526
21
295
339
964
325
904
622
989
974
197
932
680
127
85
517
277
261
77
55
792
625
623
75
105
463
127
913
740
468
950
342
908
877
963
47
643
324
850
83
605
81
109
903
3
437
649
318
944
7
322
242
325
753
288
735
432
233
157
881
930
120
465
15
617
670
323
536
560
273
911
223
717
930
983
642
780
127
930
758
977
276
365
879
709
300
689
56
213
530
448
847
870
266
668
836
924
151
222
325
338
987
493
318
369
585
693
969
700
259
866
800
293
117
701
377
923
410
210
39
803
781
458
48
486
625
506
536
566
879
967
409
695
9
997
266
662
252
336
810
287
966
164
924
410
236
933
261
44
295
214
324
597
632
146
59
518
840
748
797
174
950
977
266
138
448
562
89
941
603
415
617
401
110
818
592
750
230
332
680
742
795
521
593
285
626
916
474
838
966
305
765
49
171
150
741
547
475
220
972
571
362
682
995
769
270
890
454
841
741
593
636
748
44
299
127
673
126
15
147
249
979
370
35
505
796
500
284
29
986
541
379
210
444
916
449
518
741
586
320
406
446
5
415
437
722
613
654
670
17
715
44
786
584
74
666
573
718
340
749
96
279
820
191
602
409
33
499
862
657
934
405
944
559
526
657
40
128
593
918
379
171
981
899
461
68
513
231
323
840
250
868
930
859
673
723
70
928
74
355
433
643
377
612
538
848
539
34
346
473
265
729
822
37
996
522
298
861
83
933
530
576
242
707
182
49
594
610
134
965
29
929
382
624
11
191
164
942
565
472
479
789
749
488
212
102
465
761
808
752
339
339
404
914
754
733
491
733
135
871
391
827
786
671
474
434
184
82
57
115
751
428
221
116
514
742
931
917
144
84
6
499
119
80
256
271
397
751
944
8
107
742
210
108
412
405
677
128
799
120
136
940
138
671
803
546
728
688
713
672
508
88
808
408
628
933
735
485
861
824
601
926
961
693
14
7
578
568
475
947
20
16
611
188
902
120
264
993
253
297
443
401
963
272
976
869
533
643
770
339
927
75
154
708
675
33
40
861
931
111
211
998
573
613
608
62
726
804
659
3
600
211
170
352
918
619
826
308
867
109
600
661
990
338
747
881
546
735
636
157
920
598
589
948
724
336
162
51
799
624
154
448
242
268
340
499
943
120
593
857
236
708
690
645
858
282
847
375
250
290
914
34
532
24
901
686
745
565
512
532
663
114
236
518
74
702
589
233
778
739
578
954
798
281
217
508
932
875
633
801
768
725
556
114
785
55
475
796
45
951
795
86
500
490
839
652
311
310
962
606
95
597
483
188
689
753
495
20
298
492
132
145
709
888
875
512
531
781
491
577
347
641
517
350
391
205
790
575
56
646
133
16
340
705
104
343
266
248
429
400
944
126
941
956
196
5
618
841
17
619
933
941
401
488
312
195
931
883
611
630
164
286
681
981
380
327
188
839
269
41
666
126
350
624
376
512
83
147
286
318
707
291
165
78
395
115
151
169
564
401
677
911
575
188
208
63
333
93
350
521
383
430
687
11
327
553
877
382
984
884
801
743
69
777
772
829
820
165
899
220
861
32
861
663
843
314
190
292
216
227
661
22
412
919
839
350
213
158
63
800
973
454
125
453
8
807
200
259
430
391
30
229
975
327
235
529
917
697
936
520
617
612
477
548
617
392
257
572
554
909
201
520
683
882
747
777
124
910
415
47
855
453
860
301
886
430
865
863
152
372
342
684
171
57
987
696
61
154
411
415
412
533
487
969
269
321
488
758
584
397
884
707
68
811
194
317
625
211
486
955
662
451
909
40
246
304
228
644
286
459
516
908
35
877
991
361
971
361
478
420
667
515
10
741
596
851
235
200
10
610
817
376
695
691
998
914
509
330
848
989
924
747
920
216
212
575
596
765
933
560
198
90
632
209
608
756
272
914
379
378
262
740
632
80
683
932
31
89
77
306
242
924
92
534
671
849
142
358
288
994
208
636
873
775
410
691
516
815
885
312
652
802
719
577
408
829
143
176
164
833
743
758
296
350
578
669
307
474
134
130
411
450
942
163
372
473
518
177
924
611
368
711
533
849
725
139
318
860
359
477
351
841
762
565
836
578
877
402
643
118
429
437
810
444
826
871
330
232
663
371
306
339
846
306
225
148
333
599
86
538
988
50
177
758
724
949
917
271
243
467
993
13
510
146
930
43
926
297
437
374
340
562
316
489
164
196
272
521
752
919
122
574
461
491
804
495
438
914
38
365
658
744
868
793
935
243
765
358
100
950
406
583
760
530
446
439
153
201
998
179
692
901
421
924
684
704
896
988
967
624
73
516
244
4
661
775
757
402
967
273
439
185
333
403
313
456
748
751
961
681
162
751
424
801
544
446
499
382
709
538
877
673
161
936
436
498
224
6
366
137
247
950
155
906
254
575
229
552
861
560
235
704
332
251
616
400
528
518
455
990
840
258
405
503
616
262
733
916
886
772
425
499
359
984
366
988
510
497
568
540
952
26
205
846
99
811
1
816
939
622
353
294
773
489
106
562
831
988
453
280
836
967
680
1
469
406
95
943
216
533
712
806
724
915
588
140
378
886
532
884
995
964
283
564
936
185
434
703
356
997
945
63
857
392
672
309
927
748
635
148
326
616
350
821
122
682
831
184
234
552
626
478
533
199
466
299
708
139
937
709
834
453
561
368
625
775
544
608
293
156
434
589
234
89
305
915
965
659
159
485
310
432
41
206
81
812
203
57
406
791
676
386
344
333
55
914
910
832
70
171
223
223
454
50
919
596
79
597
951
716
751
500
128
7
29
358
326
800
855
513
35
48
196
576
65
217
715
524
542
977
603
552
235
456
328
334
912
692
987
467
65
475
448
181
708
146
707
774
539
971
153
426
885
289
90
676
925
59
510
48
646
63
194
208
208
832
498
762
722
81
233
462
885
989
372
13
764
112
980
73
15
901
119
690
359
995
495
453
276
642
756
785
29
821
814
617
262
803
639
97
746
722
916
302
190
121
715
454
310
170
288
993
911
7
695
194
822
469
224
268
729
227
869
448
318
496
273
217
70
986
592
709
900
712
428
251
958
823
264
639
449
417
333
9
822
13
346
811
781
909
515
513
990
737
635
879
788
278
554
1
910
164
905
762
232
938
431
791
267
881
83
809
928
265
524
508
29
780
898
124
754
171
822
375
382
249
415
732
405
722
233
910
171
425
738
508
420
206
280
891
964
840
135
874
559
387
321
791
143
691
8
560
939
209
182
515
103
228
561
295
18
993
666
97
551
814
720
801
854
281
101
169
966
471
230
866
257
556
990
285
628
977
864
524
116
331
828
92
468
113
365
37
516
885
533
624
696
921
708
136
158
106
585
182
13
117
255
42
259
41
706
417
779
100
805
944
487
19
363
398
177
816
263
564
353
522
717
759
270
498
644
382
815
605
146
307
707
455
482
975
528
677
344
541
753
324
779
182
442
424
887
802
973
734
490
163
68
638
964
703
554
362
57
884
91
212
938
209
175
617
525
734
597
40
552
45
493
760
923
633
813
89
26
561
661
69
901
689
622
908
322
329
10
55
915
6
168
977
267
460
981
493
201
463
690
722
846
738
837
526
726
500
940
85
360
398
674
304
738
294
930
432
697
958
723
499
962
326
877
24
202
696
722
178
120
445
235
973
941
376
230
219
123
60
704
206
30
606
612
692
935
693
325
285
764
69
505
219
566
521
13
867
712
1
805
833
185
505
457
820
1000
333
142
66
376
758
661
350
746
132
264
609
879
355
489
834
849
261
462
123
707
164
905
170
326
648
653
346
386
654
623
254
566
263
211
506
268
678
24
505
530
354
807
655
373
303
631
728
331
649
432
999
783
713
590
939
686
79
836
427
865
506
295
855
140
177
605
872
882
313
822
604
611
628
4
557
971
999
403
255
79
799
407
968
710
149
28
873
493
461
412
736
19
189
833
136
273
323
740
966
993
16
529
863
385
969
834
660
617
759
658
834
965
8
372
199
234
483
527
96
25
166
673
934
186
364
309
305
342
601
698
668
251
432
175
943
727
882
26
696
689
699
808
309
679
155
720
247
27
510
872
513
563
807
592
359
766
21
456
201
988
282
370
509
862
217
125
404
890
623
936
758
701
237
885
706
567
207
208
867
37
120
522
304
276
426
272
53
206
397
907
925
182
799
190
913
564
65
901
668
884
784
274
886
787
523
615
609
478
212
243
281
702
963
394
595
840
529
981
819
830
628
643
237
187
736
102
4
907
371
226
468
220
618
205
740
545
960
484
327
540
303
426
940
169
259
819
365
526
516
197
207
840
928
75
939
460
330
497
140
293
228
926
646
401
479
594
6
875
337
176
330
779
221
178
777
98
289
341
372
594
769
141
636
4
417
579
231
713
476
683
422
796
661
598
501
488
797
865
328
452
291
647
79
931
764
112
858
138
374
81
641
604
745
920
329
427
575
121
619
894
484
129
943
715
258
296
59
815
30
629
902
874
289
54
696
936
94
180
594
171
46
155
469
997
261
371
737
485
36
844
542
256
286
85
129
273
619
4
215
474
993
679
806
109
904
195
431
445
195
589
953
212
539
970
758
561
50
261
871
163
77
434
669
539
236
467
515
426
932
777
198
994
652
406
136
725
572
480
168
793
919
322
836
364
251
292
573
211
639
137
663
880
332
948
292
557
812
89
967
305
49
367
202
68
560
785
194
133
381
536
531
304
521
872
50
683
78
99
83
111
72
314
559
214
884
947
759
20
546
358
922
233
910
892
405
904
131
502
300
299
851
100
213
970
908
990
426
421
907
849
928
885
985
591
107
819
319
314
217
257
888
160
680
652
691
974
17
175
860
511
198
739
350
820
416
136
316
873
351
429
341
996
467
459
744
69
391
448
353
740
220
630
928
284
571
502
783
781
729
283
139
863
831
942
805
101
697
256
577
662
887
169
647
820
18
854
201
127
66
992
920
588
10
970
281
727
657
600
35
856
555
655
785
165
944
807
537
122
842
402
73
205
212
173
95
592
149
385
380
41
915
147
151
198
98
833
531
553
962
912
235
225
601
984
453
96
404
734
673
992
589
440
578
396
695
806
301
119
933
916
880
916
657
734
635
981
592
759
340
659
950
361
11
487
518
537
829
336
882
347
329
604
427
196
972
862
819
547
777
607
299
359
362
46
137
743
421
957
975
1000
277
668
754
931
151
254
625
128
181
371
486
371
243
918
287
193
972
363
983
783
660
912
298
955
734
204
931
175
78
219
657
794
668
696
660
174
22
97
352
468
999
574
699
253
672
718
906
131
306
206
864
963
489
931
837
63
536
273
130
627
514
228
119
997
641
796
216
984
660
119
637
675
853
311
78
93
192
260
163
950
772
717
423
316
996
618
93
129
505
197
61
845
988
561
207
550
935
923
129
938
761
239
441
947
604
451
742
418
384
434
673
439
858
623
141
25
290
730
562
368
258
877
644
797
477
919
139
890
698
628
180
460
241
249
429
969
663
326
325
609
239
935
478
323
686
928
44
730
187
718
409
560
43
27
263
972
26
260
138
50
261
650
557
875
160
57
944
108
51
670
530
81
797
313
161
57
602
518
462
31
165
555
443
835
635
414
187
285
228
303
40
170
443
584
696
335
999
912
662
333
505
935
608
929
371
367
834
776
56
826
178
549
181
359
330
254
407
997
590
749
639
59
916
935
633
537
872
170
566
867
296
709
866
272
632
319
634
284
317
883
197
102
68
248
855
966
171
947
247
801
406
8
885
84
637
106
70
728
788
798
783
720
56
499
797
344
293
230
739
203
620
792
438
764
973
530
748
681
398
104
159
420
363
381
122
393
347
610
560
475
350
681
393
230
451
845
494
121
604
85
104
930
17
209
880
868
692
815
122
377
783
892
265
442
324
425
862
982
589
153
52
442
454
523
952
165
758
471
222
185
648
522
186
315
62
921
831
60
669
187
118
369
524
107
328
531
531
169
407
52
619
816
508
299
737
856
532
23
959
535
494
274
816
360
202
210
378
402
532
897
925
379
464
93
311
182
929
766
15
78
883
236
67
474
566
646
674
223
884
536
447
850
725
776
361
946
310
128
931
441
596
981
243
80
189
333
187
639
549
185
373
434
857
120
607
958
514
779
215
227
462
686
905
571
670
665
680
415
739
685
572
208
18
655
439
963
811
434
40
944
971
703
132
307
319
364
777
869
252
767
294
389
327
456
436
439
102
95
180
240
475
204
290
660
319
524
593
41
610
3
466
922
153
593
101
325
759
205
243
434
181
353
168
231
636
723
396
986
684
716
757
826
645
105
802
163
456
392
845
824
139
320
268
694
736
164
670
363
470
823
694
807
592
717
926
735
621
596
130
644
116
194
460
662
98
790
314
875
10
557
28
269
481
178
996
215
667
38
494
187
324
658
24
696
592
257
260
530
787
878
331
425
227
824
62
559
2
12
448
660
543
920
499
811
113
970
234
405
488
831
840
802
679
150
810
750
362
704
251
637
361
821
759
275
230
131
220
18
946
654
202
18
181
937
825
902
214
662
337
661
945
499
450
633
701
877
644
762
369
853
235
25
7
379
867
176
733
717
21
395
611
156
941
895
906
266
984
223
936
245
70
618
583
640
596
436
692
524
515
773
1000
917
622
766
220
79
640
502
652
279
771
1000
258
920
311
879
475
394
665
107
939
869
824
700
666
488
488
851
764
3
381
878
462
331
263
224
415
967
715
177
347
280
976
98
499
515
234
877
507
910
466
552
666
256
358
656
698
649
538
309
289
352
754
578
673
202
807
283
123
444
969
287
991
186
61
277
502
849
337
630
770
563
551
931
20
364
302
324
283
625
747
658
558
362
289
978
988
653
908
629
227
230
655
471
196
826
373
817
376
964
621
436
94
267
455
881
726
489
905
561
365
199
503
526
143
324
262
95
853
493
845
470
205
468
765
343
31
339
719
973
828
262
255
576
997
581
183
992
529
489
730
635
46
61
117
313
191
838
409
553
63
529
129
186
686
964
588
670
820
79
999
652
238
780
738
492
986
3
713
394
103
984
384
832
682
187
186
452
931
907
658
149
679
829
128
34
941
680
426
857
594
373
320
1
121
525
300
325
436
244
459
524
810
322
262
399
492
986
150
583
258
620
800
672
711
245
720
182
168
842
190
337
766
139
797
630
436
720
618
903
19
203
777
50
39
328
546
201
593
846
997
13
567
767
416
443
166
658
270
17
65
271
271
412
161
811
337
256
524
637
782
167
932
767
381
849
722
587
793
725
102
236
185
263
73
150
388
242
448
974
163
722
404
180
221
506
46
55
207
449
645
713
682
493
631
295
486
400
522
249
811
420
259
279
313
711
675
291
229
737
689
352
909
940
552
363
750
479
410
446
998
740
792
505
155
56
865
875
477
49
544
133
555
371
540
640
992
367
239
237
237
305
927
873
678
386
921
166
95
10
417
164
244
663
571
590
243
697
851
850
741
989
232
992
810
131
474
65
751
561
522
667
43
394
271
248
751
771
575
168
623
593
259
203
195
902
176
14
377
251
173
172
712
355
15
465
936
807
218
915
628
50
154
839
664
717
364
913
656
116
624
965
700
675
328
344
373
775
491
808
218
452
906
780
415
649
710
189
582
750
448
92
137
470
252
44
339
700
40
676
678
829
973
803
168
966
614
667
382
952
127
11
814
9
970
196
273
603
88
218
99
596
424
234
861
495
24
969
717
697
146
165
928
248
948
881
664
230
92
285
802
101
871
792
179
324
816
764
874
54
406
312
631
70
211
336
770
490
135
260
67
713
840
114
788
91
188
26
9
63
939
510
590
724
606
408
661
14
145
41
35
707
371
682
335
266
708
137
816
640
896
93
488
324
833
1000
619
663
121
243
701
742
147
67
587
518
930
522
268
169
674
628
247
204
31
326
187
35
236
994
927
667
349
181
14
867
19
328
211
745
313
466
124
256
62
340
4
254
779
374
548
928
317
891
796
685
521
487
627
876
701
335
166
494
605
519
273
850
918
918
514
982
346
577
46
914
785
966
23
919
117
656
654
566
998
709
493
999
981
186
311
645
76
824
173
36
793
81
161
933
634
768
765
430
163
203
300
854
131
689
388
762
751
239
290
571
978
544
247
193
907
60
203
352
302
349
20
418
620
610
546
476
91
142
112
84
470
997
229
818
686
279
917
817
607
258
674
540
260
403
974
24
43
990
57
618
993
180
739
803
862
606
589
311
140
244
51
991
170
712
110
751
554
683
64
62
32
438
461
853
819
996
756
447
29
205
706
593
472
853
783
245
244
465
16
874
73
879
733
662
269
38
494
340
164
877
179
591
281
904
25
400
928
731
909
839
692
805
41
163
197
771
684
402
911
567
408
547
303
912
760
76
594
165
539
785
354
986
900
590
615
92
314
843
382
995
564
468
118
42
760
651
802
664
431
121
770
71
674
889
844
266
894
127
952
672
902
634
86
394
90
256
566
534
559
282
81
546
909
870
584
376
904
751
117
519
67
748
328
721
184
992
665
36
838
968
227
134
102
675
185
101
669
632
910
707
844
454
253
734
198
600
817
404
321
896
820
441
721
769
425
684
628
546
707
983
668
921
423
431
309
844
584
528
591
817
261
797
600
972
964
605
784
392
327
886
914
33
416
704
572
20
124
140
753
915
903
19
659
382
250
647
572
807
845
988
790
465
118
195
873
134
24
500
103
197
998
709
573
76
513
96
546
463
652
430
914
743
899
16
940
723
980
769
745
957
287
861
337
321
662
843
229
857
349
478
176
667
447
429
207
722
399
982
314
567
893
545
474
570
299
875
223
162
921
854
456
635
975
733
325
799
436
583
124
847
426
931
561
711
188
646
997
874
10
369
398
29
49
900
701
20
883
880
620
60
165
408
170
739
217
207
578
450
585
491
15
270
695
344
736
849
791
703
988
717
19
773
361
30
709
44
824
429
375
725
837
541
671
466
221
813
156
100
486
66
285
931
3
514
207
700
666
783
809
131
65
303
199
82
46
758
931
272
882
619
788
68
458
462
377
406
864
192
836
368
619
117
813
276
411
14
49
837
474
269
233
683
541
354
582
334
395
127
250
562
889
542
25
961
682
413
121
246
449
280
273
279
500
388
718
279
452
532
512
691
675
337
742
375
168
716
147
823
912
793
40
163
250
261
886
668
31
330
195
654
560
420
147
127
864
420
49
283
732
585
774
830
829
522
196
954
158
969
301
152
731
109
504
352
751
510
712
233
569
489
361
10
858
803
845
316
223
192
513
978
595
525
244
340
855
264
693
234
728
901
73
722
968
317
164
337
449
266
804
614
192
572
16
878
892
469
822
653
73
611
306
828
868
913
525
658
37
596
488
177
622
734
642
23
912
216
668
287
526
429
209
60
797
639
484
788
712
492
532
439
792
141
84
467
768
672
775
324
978
615
690
963
709
661
387
871
260
728
487
428
805
153
912
688
141
221
904
57
869
302
286
455
856
682
729
789
179
40
345
4
475
649
629
359
890
733
770
867
741
910
134
224
229
877
148
839
263
422
508
532
438
696
419
433
22
992
316
596
204
125
619
937
342
627
72
631
730
820
480
682
365
106
887
386
21
42
294
936
25
95
476
129
421
468
178
571
282
3
428
929
680
339
112
897
58
802
599
69
847
911
509
283
401
533
694
74
359
371
692
85
870
100
634
696
842
687
680
935
915
478
308
323
555
355
824
389
429
28
45
366
43
992
25
935
281
94
240
617
331
895
496
477
453
301
746
851
236
583
158
582
998
864
885
453
4
903
801
524
621
265
261
224
921
38
3
471
589
577
76
408
345
694
157
544
243
867
449
428
938
500
24
384
534
252
78
786
888
598
215
409
171
65
752
728
961
656
953
279
213
833
16
300
515
573
769
125
463
435
409
224
683
162
649
45
228
364
548
821
988
341
563
43
355
243
608
4
681
401
185
524
81
28
523
530
446
163
995
415
532
960
694
650
456
823
362
973
848
624
884
618
356
130
251
498
252
81
487
493
589
531
895
260
893
527
143
158
350
378
41
806
317
39
816
102
527
790
733
470
670
440
676
272
949
309
675
795
845
912
280
855
355
65
165
861
120
360
382
854
115
521
430
459
558
328
512
434
975
908
145
77
628
922
494
905
659
94
61
129
567
765
868
808
80
965
618
316
78
877
595
239
681
496
988
234
786
710
144
99
352
582
432
347
878
107
637
918
271
988
177
147
294
140
813
936
326
682
960
862
38
683
994
826
309
551
90
423
606
708
443
84
237
38
700
663
186
400
887
376
424
843
943
401
736
461
539
319
531
873
358
537
569
28
550
421
747
956
840
860
197
960
395
145
681
20
214
158
31
941
647
126
997
682
12
414
366
543
625
387
774
740
865
616
529
996
999
157
550
974
855
337
627
947
534
187
136
864
308
431
530
609
259
168
123
742
474
154
478
92
772
316
493
495
937
236
186
144
352
42
252
437
287
577
751
33
313
226
225
762
650
831
228
728
622
30
361
4
270
730
689
312
952
365
830
448
364
698
121
933
124
962
494
351
99
420
380
187
896
694
197
696
474
756
233
752
288
690
758
577
365
21
398
283
833
443
639
668
311
237
679
352
930
679
289
432
120
208
178
4
826
416
185
430
741
916
126
918
407
497
741
335
140
313
542
741
423
575
236
971
185
209
408
169
507
750
913
568
327
846
23
216
818
415
382
255
896
981
639
887
9
99
911
715
291
677
427
994
659
795
57
304
501
187
224
41
186
705
223
522
329
863
29
723
712
433
23
165
71
55
907
78
267
330
673
424
996
920
198
491
574
615
809
795
484
486
432
750
952
211
507
896
729
917
492
515
834
997
191
248
880
169
414
406
170
668
163
133
940
808
156
76
428
894
762
418
806
968
788
99
336
727
35
458
64
346
569
303
673
443
902
907
479
977
851
737
976
943
134
859
860
648
323
687
300
581
398
3
207
450
59
974
696
381
854
581
887
52
652
789
115
98
615
56
208
626
446
897
865
44
549
659
778
337
257
181
483
746
873
785
380
999
997
157
260
486
624
891
720
254
840
346
315
202
7
638
687
676
15
225
726
850
375
477
364
233
134
929
252
965
215
118
243
308
103
252
565
52
332
936
78
894
630
159
650
626
941
253
658
755
869
494
623
44
239
980
744
225
122
729
267
372
518
302
900
932
525
283
481
10
61
8
904
869
376
310
219
102
634
611
67
188
210
86
797
840
807
254
29
95
404
857
519
779
137
33
606
228
455
560
762
139
766
590
391
623
481
428
151
12
898
400
174
987
999
222
942
362
376
543
79
53
675
788
534
330
600
280
456
92
591
958
601
359
700
585
341
15
353
921
254
491
863
180
935
502
392
650
192
834
750
800
518
661
102
852
153
288
283
481
865
550
95
306
751
563
987
741
407
574
824
80
963
33
714
518
566
983
602
470
77
501
889
449
461
903
218
183
873
389
599
383
538
229
373
319
452
248
459
185
189
145
446
894
501
475
988
468
63
839
715
861
455
244
710
931
260
826
760
185
126
713
164
844
522
361
577
100
998
372
239
401
605
6
39
388
674
701
69
217
373
44
924
549
319
769
392
413
773
621
547
256
677
771
633
472
646
773
742
328
28
76
946
425
270
134
774
13
967
281
182
179
764
339
236
282
353
958
518
23
757
970
301
983
184
530
334
75
221
173
527
771
505
864
914
483
286
323
774
157
435
260
568
626
827
994
996
763
953
189
838
934
270
77
650
575
755
313
95
744
351
126
470
5
120
326
744
216
201
955
704
616
267
231
669
356
100
517
50
563
94
847
356
469
583
59
231
196
510
892
693
148
559
174
681
861
198
286
140
283
56
207
918
274
287
150
814
669
31
356
414
276
842
97
801
330
527
239
636
391
664
845
5
823
704
710
144
508
16
600
643
837
719
557
741
981
885
164
536
434
60
969
853
359
654
917
276
652
345
289
561
495
66
273
140
824
833
727
46
582
216
534
64
522
88
839
198
344
448
213
803
278
681
835
715
628
843
30
25
867
869
685
931
540
793
376
696
71
493
728
962
745
167
61
731
42
981
648
770
326
653
212
925
103
264
754
599
312
770
401
26
622
763
493
9
713
611
486
794
824
441
735
660
48
597
966
134
959
271
938
14
305
350
756
995
848
353
800
779
239
427
792
340
107
335
740
896
628
235
109
691
696
696
594
173
119
259
297
527
539
63
394
853
549
668
347
869
600
887
977
912
435
827
587
430
91
983
28
250
363
417
188
939
599
380
130
565
746
758
43
846
129
524
78
665
984
287
236
580
632
378
80
868
706
616
15
896
86
931
219
990
324
367
978
443
119
570
54
44
686
199
728
839
153
895
76
515
531
216
552
887
235
858
879
151
445
93
67
303
770
405
377
322
692
228
582
7
685
141
914
679
13
882
106
424
463
65
968
678
559
201
669
846
653
137
799
577
82
662
345
928
892
937
258
673
106
3
149
72
158
741
23
217
485
661
662
200
164
48
897
985
258
777
838
960
645
143
861
261
978
441
51
112
417
480
242
684
440
196
613
986
506
896
181
201
737
886
901
611
616
846
550
19
731
510
57
111
746
30
280
441
496
53
128
479
997
766
955
705
501
494
163
114
231
206
239
361
617
824
619
978
308
229
798
938
746
972
680
901
668
80
296
779
641
142
190
750
214
638
66
859
368
432
312
849
774
310
753
278
679
333
356
750
40
350
361
371
464
615
655
455
393
595
556
463
645
646
506
336
691
339
883
660
731
427
712
387
738
879
454
996
960
129
598
955
224
535
338
876
433
868
830
656
561
834
354
449
198
760
365
894
210
154
718
734
171
634
166
185
557
722
14
758
848
214
765
722
291
149
577
39
629
49
698
513
322
951
349
753
137
978
407
691
657
9
883
347
319
311
984
91
121
241
202
580
188
396
462
329
98
854
422
982
778
946
70
307
238
168
140
134
208
571
838
408
295
732
50
476
693
936
333
32
434
598
574
566
95
649
215
204
568
517
590
993
36
677
800
793
181
911
944
774
511
913
816
879
923
612
502
802
764
723
587
391
862
837
355
376
504
520
858
350
745
499
26
175
587
127
735
130
843
643
950
779
943
31
781
916
255
818
839
260
525
729
103
785
886
236
468
742
849
57
206
325
642
851
139
654
526
940
316
381
562
427
782
270
165
897
462
88
137
709
730
5
511
364
644
748
293
668
588
169
696
854
960
184
486
870
821
780
959
625
812
816
131
718
397
723
201
349
620
440
54
30
537
810
278
52
646
913
779
769
737
190
200
385
219
426
498
795
27
114
537
829
30
223
650
72
54
550
196
791
710
615
453
243
163
555
987
520
784
361
706
369
361
635
425
193
982
37
557
363
513
540
268
774
494
158
562
713
773
649
2
623
28
62
725
238
45
641
257
564
450
823
432
238
497
367
187
157
951
271
832
334
797
820
259
664
584
101
840
203
651
651
28
449
349
534
353
146
470
89
923
837
604
685
819
522
436
263
115
651
433
150
709
856
54
513
732
272
101
45
8
823
486
868
320
107
193
248
520
842
564
586
38
138
377
230
652
116
240
15
795
289
185
429
523
569
92
420
860
405
323
883
379
495
323
9
630
241
13
800
667
320
875
198
261
574
376
625
550
494
702
13
415
553
754
543
539
573
437
988
9
329
470
212
804
227
101
409
628
189
648
648
208
36
111
435
357
395
482
242
549
910
843
429
859
160
640
62
325
656
730
244
853
739
933
389
681
817
255
906
920
223
720
601
924
361
617
370
849
386
264
86
454
450
618
895
435
459
458
371
360
819
400
968
65
156
709
83
740
20
206
966
738
800
705
228
289
150
366
284
785
911
269
493
393
256
629
728
86
844
613
154
233
638
54
687
769
883
55
111
228
682
92
3
67
324
825
754
810
593
162
96
562
51
376
60
96
551
969
116
485
178
377
271
796
211
239
803
708
755
753
219
940
859
130
889
438
77
977
78
256
446
503
5
904
835
704
854
415
617
972
464
86
166
153
874
112
185
480
904
11
931
902
530
35
392
130
14
781
330
781
454
661
975
420
64
147
494
733
74
423
185
262
42
978
102
690
575
39
161
745
761
788
624
464
543
286
535
377
801
181
524
496
32
676
189
644
286
303
177
198
990
612
137
983
692
771
31
954
655
968
636
784
659
482
794
893
238
54
53
427
988
224
830
985
609
249
579
963
78
409
61
706
225
609
238
428
153
460
928
826
1000
75
794
499
89
186
972
114
831
800
744
312
223
512
435
340
464
744
942
158
662
337
332
720
946
217
589
278
134
127
607
141
570
486
574
169
485
705
486
671
275
925
83
186
884
554
534
860
763
238
182
635
256
837
603
644
686
396
327
954
880
542
664
205
745
230
337
632
87
86
890
456
935
985
180
871
938
390
659
441
204
269
602
52
502
939
234
632
792
165
112
194
480
129
272
773
672
262
906
59
929
496
872
880
151
539
66
632
79
759
262
235
138
160
220
188
340
13
568
293
783
724
753
667
175
93
450
979
622
909
719
757
513
756
645
401
619
671
214
378
919
173
173
965
909
28
422
639
803
745
757
551
143
400
182
272
713
958
169
542
697
763
218
605
303
281
893
800
475
416
508
557
619
546
62
188
45
11
529
949
734
165
265
26
936
896
747
448
368
519
804
899
782
867
274
326
718
265
372
303
381
832
413
53
809
698
458
518
323
636
584
629
891
410
179
110
276
255
641
853
92
959
995
417
387
410
392
29
297
504
98
620
797
936
438
868
920
641
835
56
482
856
309
50
91
198
933
999
204
606
69
800
296
26
775
776
402
721
77
605
766
599
964
772
448
390
131
949
775
145
690
100
188
678
719
84
982
117
528
980
361
580
938
631
233
418
206
888
486
754
329
293
531
382
86
653
28
103
999
883
958
149
141
823
656
434
955
369
105
399
267
962
87
413
952
350
406
829
687
616
225
772
520
1
953
877
454
864
121
247
689
779
942
804
854
867
492
528
352
900
595
327
124
679
845
73
382
81
803
134
147
547
175
13
651
172
762
572
485
760
207
149
975
467
805
338
90
25
545
554
115
420
514
390
691
803
456
956
504
207
278
662
30
191
511
529
633
101
636
954
593
373
359
924
389
618
865
463
958
244
549
667
662
3
961
144
937
263
221
864
812
792
447
755
751
787
581
934
42
379
891
21
640
808
555
753
12
982
517
34
497
693
711
889
571
532
233
429
778
736
929
252
597
582
970
695
932
750
284
989
36
684
677
943
448
886
714
22
618
984
716
367
772
213
651
467
703
295
344
984
496
907
971
465
318
754
3
410
381
20
786
41
803
178
646
757
990
114
40
659
798
907
321
571
183
161
197
280
853
397
823
292
252
587
68
233
3
618
513
348
873
884
809
918
691
75
651
861
265
302
310
611
186
973
624
787
292
391
740
49
789
82
387
220
742
420
165
714
56
386
79
401
885
224
685
829
569
650
113
504
55
33
409
119
423
843
233
595
95
92
707
478
495
160
72
748
354
137
470
189
421
878
25
606
809
161
530
160
411
299
504
92
803
836
712
785
443
728
324
656
595
460
274
463
869
226
277
363
906
816
525
988
161
736
435
821
924
552
462
863
751
692
129
669
300
366
241
609
134
208
787
205
347
601
105
572
318
247
360
571
484
490
115
657
407
241
299
141
979
259
905
72
4
602
18
809
59
791
291
519
264
195
476
75
72
747
150
364
450
543
957
439
344
189
321
677
991
168
891
501
247
127
651
141
296
849
941
355
920
767
923
930
766
282
730
267
141
313
65
623
193
348
527
514
477
42
323
344
429
939
43
859
259
800
485
904
788
734
431
478
161
15
1
665
652
328
489
501
763
508
449
878
121
152
938
213
217
470
566
984
958
636
255
428
2
128
431
261
233
314
547
711
111
432
215
855
598
973
213
172
956
59
915
259
9
564
436
24
69
758
328
669
624
559
787
14
494
442
726
668
140
844
854
215
441
231
430
992
608
10
512
266
444
318
816
351
232
306
812
325
47
851
257
744
548
320
840
604
154
902
255
961
808
675
542
185
466
441
457
224
936
911
642
155
728
50
516
710
800
108
798
5
379
374
927
713
955
857
605
29
2
411
617
605
49
493
355
619
187
37
365
613
470
865
174
247
133
659
419
641
445
310
497
362
914
982
207
508
77
495
561
513
434
39
561
615
674
735
791
198
916
699
518
28
146
637
307
426
774
521
934
777
442
391
509
594
11
457
729
63
429
663
868
845
153
773
766
346
298
297
473
540
892
54
516
665
721
910
330
216
4
779
812
611
576
917
878
569
345
375
55
817
804
266
181
198
676
296
368
424
864
643
50
431
543
126
983
402
552
456
453
780
7
850
130
753
402
334
387
187
482
309
562
434
545
982
521
615
883
53
623
165
652
65
103
292
363
385
757
87
790
719
393
699
325
84
461
173
980
126
257
526
390
575
481
20
62
520
7
312
613
542
429
641
694
26
545
944
758
192
998
280
406
954
920
762
55
416
928
645
185
297
941
485
779
374
554
733
814
406
543
163
594
255
80
313
354
36
801
680
711
389
78
743
806
462
781
995
241
732
306
575
805
713
136
144
643
48
743
431
840
599
732
348
106
73
230
539
357
954
138
176
633
364
986
558
746
508
894
934
428
67
382
203
284
818
820
557
348
356
195
83
615
481
865
472
43
417
367
489
502
587
750
367
887
931
545
273
86
83
797
81
810
251
972
981
554
787
108
57
911
142
432
506
371
54
380
711
912
486
87
352
357
594
557
581
833
332
447
848
141
842
288
76
208
85
104
912
876
171
383
804
653
298
252
773
204
589
689
545
785
831
298
99
377
571
329
319
507
64
707
303
304
381
57
573
398
113
682
941
196
297
544
4
320
898
334
728
448
524
659
870
42
688
844
547
627
841
557
185
382
198
770
41
845
107
997
38
635
694
980
668
499
828
932
391
38
284
795
11
98
812
959
919
928
815
610
339
946
327
282
355
92
294
365
785
306
303
929
703
179
599
867
862
346
425
865
382
465
776
562
290
717
161
496
501
570
186
989
612
358
667
728
140
934
864
970
535
235
815
386
356
888
190
791
860
471
217
53
552
38
795
875
68
473
573
531
930
177
875
127
811
805
899
364
785
469
633
569
265
169
1
122
123
252
331
67
359
536
665
637
494
9
287
507
398
342
17
139
78
776
621
933
374
157
591
805
626
620
851
991
372
563
890
758
961
481
5
30
247
134
533
794
763
924
484
718
549
416
417
627
724
114
606
729
987
365
557
857
61
548
669
199
16
137
819
434
543
491
493
102
358
683
876
733
614
903
913
799
588
443
242
571
543
308
759
739
56
166
817
355
175
332
189
151
652
427
823
583
423
915
558
260
414
751
167
166
604
72
567
736
533
80
261
911
923
468
691
18
105
827
386
449
756
83
903
668
809
762
916
180
644
335
999
302
444
785
930
906
567
544
214
247
598
130
794
528
521
218
847
667
925
750
391
825
552
123
425
215
25
167
942
425
473
434
646
227
209
914
193
713
706
820
995
984
460
455
317
895
257
202
253
209
126
165
357
800
605
718
628
11
58
674
654
500
401
471
83
927
816
935
501
91
437
591
49
676
413
956
890
493
935
590
387
777
231
455
733
241
520
843
672
80
124
957
640
652
2
345
23
234
990
645
282
977
245
618
718
258
211
841
463
900
167
959
366
21
5
718
928
575
682
21
751
487
257
241
227
464
19
31
601
685
128
848
250
634
834
114
528
585
796
696
621
353
617
40
12
956
579
242
435
28
14
189
8
894
540
604
914
558
383
368
802
497
820
775
172
850
352
635
343
338
673
86
557
410
335
190
619
618
327
20
89
285
76
466
951
350
659
343
661
594
403
962
326
82
82
138
817
233
173
125
740
496
405
340
377
298
370
989
139
685
343
974
513
22
896
532
889
699
504
483
815
464
430
280
111
874
238
84
278
642
365
426
174
994
827
780
380
132
362
710
43
151
657
487
281
176
634
367
807
387
912
67
963
486
611
468
395
476
806
249
681
120
486
52
202
217
214
299
890
244
927
894
45
950
347
609
802
366
369
656
575
825
802
269
144
502
690
282
25
678
668
28
527
984
319
266
76
116
783
370
931
568
332
94
353
119
319
452
743
115
531
359
509
552
930
909
591
784
288
423
917
463
19
569
478
503
834
139
76
164
843
579
77
149
881
895
919
40
14
925
633
81
289
27
65
645
362
437
366
218
424
106
781
241
361
694
50
262
909
88
654
203
366
890
753
155
120
376
174
620
255
750
916
604
655
392
863
124
543
765
940
994
836
972
10
644
603
394
871
958
476
513
723
56
980
402
720
286
763
414
567
624
707
365
900
701
355
150
790
58
943
978
662
639
863
85
366
190
472
268
761
58
914
870
328
637
473
532
760
275
286
881
165
670
863
471
51
182
335
444
768
96
134
675
256
67
415
865
963
256
855
481
527
701
628
28
127
694
266
632
98
888
732
524
402
639
656
332
409
191
134
827
851
908
272
832
778
507
614
916
427
926
688
316
602
997
826
160
61
651
969
486
192
27
436
418
939
91
914
57
10
827
482
538
542
779
622
252
358
970
186
430
447
34
215
536
183
375
83
309
798
432
315
257
804
652
151
585
816
867
719
672
564
188
374
258
598
537
737
660
700
177
46
19
480
837
247
473
108
155
795
244
427
749
266
885
334
934
471
820
689
242
204
516
701
619
808
135
147
222
512
771
809
868
937
38
62
378
991
654
369
326
924
875
997
311
79
144
382
322
129
764
383
848
765
66
625
171
908
791
273
108
676
658
322
599
540
915
286
614
630
129
885
548
285
651
418
771
740
420
54
643
800
100
8
576
744
300
108
137
423
285
133
263
989
304
882
374
584
948
147
21
868
330
691
756
585
663
983
160
236
782
249
396
54
646
168
252
698
840
404
595
889
794
452
349
253
945
344
272
192
680
386
145
993
798
200
289
116
586
214
626
497
939
914
642
471
153
189
743
41
252
378
962
556
121
883
336
443
403
66
81
184
146
921
644
442
814
903
408
779
664
943
448
802
882
125
748
497
849
726
203
986
661
972
471
799
554
974
889
601
252
110
556
87
808
122
86
378
198
609
749
409
156
593
413
590
204
856
209
706
590
975
934
636
878
252
608
252
125
378
519
824
2
670
295
127
920
995
745
910
851
942
973
335
542
312
26
356
792
438
242
818
570
688
736
461
411
781
836
682
71
542
176
648
622
255
818
823
733
287
20
451
871
135
492
914
753
651
571
298
186
374
890
730
710
418
844
174
27
67
595
923
690
806
138
559
706
947
38
555
3
58
817
588
994
183
312
222
527
398
753
636
620
725
416
748
559
185
100
133
286
431
569
25
529
471
690
613
453
648
787
892
370
498
541
501
221
124
291
558
954
164
998
998
356
194
867
32
927
618
835
420
162
587
777
295
819
961
174
707
627
275
896
139
211
8
195
556
974
257
453
689
960
397
576
271
602
752
521
241
81
994
420
600
4
840
529
898
953
942
788
776
858
694
51
922
275
39
143
757
17
170
747
595
448
218
251
138
679
531
745
179
949
395
932
979
326
995
140
418
220
671
619
669
625
817
638
343
652
348
824
129
818
180
886
114
564
873
466
825
775
648
766
284
844
655
38
262
958
234
565
530
70
79
498
792
168
228
191
996
784
617
952
771
886
970
244
218
395
129
463
624
483
859
867
610
268
420
79
36
774
631
365
396
518
512
292
925
177
504
645
374
230
909
351
311
999
60
665
203
208
362
176
896
749
16
966
822
377
542
775
934
731
935
112
400
981
465
277
642
51
589
782
210
333
488
664
622
566
973
39
97
570
810
513
178
768
353
316
929
122
642
565
790
390
962
670
811
276
129
889
983
592
430
272
809
553
274
930
75
242
603
675
839
445
497
593
867
610
58
947
913
996
399
868
361
961
475
4
424
387
328
1
56
601
985
243
92
707
175
850
521
730
622
695
375
364
820
341
170
128
705
680
905
978
334
245
807
891
899
412
824
637
1000
768
618
955
759
877
317
812
804
609
180
777
794
276
911
638
950
54
172
905
471
458
707
328
601
66
316
936
567
545
776
766
91
408
826
579
955
258
732
440
668
255
620
801
608
191
467
52
103
578
667
852
289
731
774
358
376
847
920
704
444
805
30
567
697
242
155
359
270
168
11
674
529
168
59
79
977
521
723
311
538
805
131
149
761
498
741
621
502
859
159
796
581
180
273
931
796
819
50
169
500
894
465
397
223
249
22
195
315
926
53
491
375
258
344
23
958
50
238
2
737
521
48
658
573
970
267
204
834
260
661
48
513
685
83
957
583
493
25
97
518
537
229
594
321
794
509
863
531
208
756
635
242
766
628
688
597
928
928
794
37
451
213
889
156
55
557
122
454
75
252
687
704
250
464
666
952
51
413
153
569
866
944
839
388
686
369
40
215
842
1
787
702
895
318
380
153
961
60
361
364
973
623
331
174
949
140
933
948
341
501
285
909
698
756
394
340
587
933
386
33
452
472
142
30
36
909
622
476
632
461
772
654
123
502
679
728
651
544
378
968
208
995
882
459
179
91
281
37
801
220
805
208
540
894
681
849
766
527
261
868
177
452
311
478
946
628
788
240
865
192
684
42
287
403
259
736
353
207
750
711
83
871
496
766
395
480
613
454
523
694
30
905
152
695
62
13
554
987
748
525
310
718
55
410
50
497
105
621
576
180
129
22
502
374
717
919
608
411
320
516
219
919
523
950
849
718
273
787
317
838
466
762
116
314
790
513
80
745
220
74
589
523
224
942
754
531
144
661
622
199
841
870
650
74
608
920
101
825
264
536
144
707
596
9
758
761
930
291
917
98
513
441
569
189
358
97
867
159
909
972
470
578
94
924
630
272
997
620
891
743
271
398
268
555
605
560
34
155
773
704
328
11
392
923
76
429
114
811
782
340
775
361
554
770
454
993
427
730
482
114
435
104
20
612
611
119
867
96
647
220
767
454
110
342
689
32
148
970
516
731
229
115
869
174
322
286
624
915
290
249
868
966
916
896
207
444
487
774
165
883
265
243
764
548
605
421
657
440
630
95
774
702
488
775
33
168
932
147
519
160
294
812
389
944
703
213
509
274
844
177
848
689
411
290
272
524
138
224
203
356
693
371
527
524
14
882
607
797
564
685
21
700
755
767
758
339
945
353
647
652
248
239
668
852
728
991
241
671
906
176
144
936
621
429
951
848
290
465
200
598
565
990
89
709
985
420
579
131
498
695
234
26
295
513
474
929
176
39
909
541
13
608
485
446
818
595
478
948
607
198
778
948
752
471
722
446
8
461
838
263
689
760
504
27
911
442
895
897
450
196
463
398
508
236
598
539
912
243
699
186
410
292
197
575
421
34
786
300
359
332
682
212
622
441
889
288
310
331
591
335
765
934
586
451
920
434
96
112
805
760
994
416
240
863
52
560
213
739
851
113
443
249
582
960
306
10
337
551
6
662
447
811
742
19
966
497
722
104
1000
932
191
61
780
1000
154
589
82
389
582
36
865
652
820
193
505
702
922
326
22
535
649
211
555
103
541
92
791
563
557
567
213
521
384
362
367
13
11
497
891
446
7
668
268
784
659
904
980
589
102
549
71
372
178
143
101
529
122
603
48
198
662
420
948
811
396
223
609
316
874
866
840
682
347
748
346
501
928
242
893
352
773
834
972
997
149
296
376
617
213
465
748
485
116
562
509
641
308
482
228
631
344
179
797
525
234
660
155
427
323
351
782
320
376
235
892
708
202
120
877
807
965
872
752
42
737
699
960
808
680
302
527
773
318
484
266
812
525
416
640
773
698
254
320
819
540
756
344
196
732
965
817
750
700
116
295
798
379
329
540
454
470
427
567
688
629
481
687
858
680
561
46
759
684
708
245
842
831
807
75
983
914
902
55
203
707
303
792
106
536
939
194
173
122
991
507
260
689
269
508
271
139
983
844
234
553
161
668
937
975
576
385
413
303
3
750
232
998
810
382
630
6
314
657
903
743
973
157
319
356
119
873
301
204
131
859
913
339
307
206
65
65
476
95
655
691
478
590
130
911
508
965
621
870
224
940
166
303
636
395
260
189
124
807
53
914
653
917
857
554
374
619
108
617
222
921
193
768
462
882
402
346
539
513
897
611
27
470
682
867
861
588
974
98
52
665
629
406
451
417
713
796
72
113
518
140
315
370
574
30
674
424
117
830
506
485
849
674
742
513
178
426
836
43
944
232
102
39
968
533
46
70
185
546
372
135
496
19
646
535
404
873
828
711
801
743
595
323
523
809
272
992
720
347
631
256
554
434
762
819
713
811
558
457
350
787
490
150
569
192
7
644
924
800
84
970
258
130
581
116
853
300
235
515
167
171
954
90
796
120
546
971
588
620
524
747
361
231
593
466
448
492
994
487
155
851
373
299
56
485
727
280
122
683
795
419
347
590
3
183
453
100
425
480
319
197
492
680
285
507
948
880
235
218
157
419
647
130
268
822
319
488
350
531
203
735
640
38
750
688
321
843
359
93
537
645
200
420
989
517
744
581
785
305
784
5
7
609
120
202
315
574
897
290
569
285
594
812
745
277
324
950
95
137
876
409
1
891
779
201
259
530
420
76
695
140
707
572
992
697
677
73
536
840
763
603
483
5
870
974
616
566
477
299
572
53
529
316
694
724
583
142
48
263
1
745
901
495
256
604
702
432
766
709
768
797
738
859
780
312
957
801
822
14
782
519
601
574
421
430
309
161
759
302
943
934
342
834
748
397
481
178
427
293
776
859
801
348
888
488
230
744
62
220
652
67
582
392
813
140
639
864
945
428
825
693
959
524
789
499
572
30
72
358
530
52
688
20
927
811
826
950
415
225
908
938
424
348
587
10
781
513
788
111
456
463
21
212
274
23
966
39
837
978
899
310
517
126
191
243
606
418
921
744
975
749
825
833
818
379
190
64
864
346
764
487
453
302
845
382
220
817
484
653
369
244
678
293
737
676
48
568
418
208
554
603
293
804
195
706
770
715
648
114
206
333
95
985
704
695
445
481
100
439
566
232
73
253
171
509
933
645
351
653
762
365
365
551
449
642
668
494
741
281
257
47
576
327
966
403
919
488
459
888
191
749
96
807
112
808
281
257
124
84
112
675
474
310
340
910
807
898
821
799
964
980
768
910
421
875
572
16
986
709
914
629
718
201
27
260
746
547
281
637
658
654
239
829
730
93
358
676
118
671
404
669
981
615
894
264
948
275
771
349
449
692
70
621
694
653
599
836
467
443
899
878
344
215
187
695
773
278
457
357
865
254
566
810
556
723
697
843
353
101
178
44
372
290
497
167
1000
417
17
440
253
856
762
618
444
329
462
421
472
550
493
492
834
131
604
530
465
790
898
730
627
153
407
11
473
845
870
115
331
615
686
430
365
56
685
414
477
390
732
474
639
334
583
913
145
996
60
466
75
164
541
498
65
94
673
837
860
866
681
242
478
898
247
997
567
314
69
120
678
219
958
753
404
62
354
366
900
741
389
380
665
981
530
982
261
814
2
235
92
752
661
444
697
396
222
79
166
426
844
962
470
312
1000
960
954
442
18
475
148
767
304
844
192
106
513
710
257
36
101
140
120
914
345
290
418
131
565
741
600
210
949
252
470
966
382
797
744
212
415
317
785
550
820
692
928
578
708
29
521
363
552
215
656
823
499
32
519
563
476
343
54
356
698
468
797
396
855
741
232
33
154
263
306
531
488
850
744
800
445
289
394
398
665
646
467
607
660
267
933
122
746
274
149
407
360
244
560
732
524
228
253
148
865
696
129
877
447
490
956
372
130
240
645
997
862
671
915
214
111
970
837
784
693
342
124
623
251
677
661
545
706
817
36
806
528
862
811
715
724
120
745
30
350
258
11
643
501
952
171
456
506
466
683
558
549
935
595
71
37
51
722
476
227
604
595
139
679
896
762
885
472
378
555
103
745
575
817
457
881
983
665
420
718
741
571
95
610
307
678
680
474
830
243
22
821
207
589
485
130
382
805
425
255
665
636
800
569
403
285
778
34
72
89
327
865
731
50
231
367
487
389
295
210
986
750
109
132
961
388
941
318
986
95
801
555
481
857
959
213
338
491
207
521
383
773
439
395
776
857
232
751
534
409
937
579
476
930
209
440
23
655
855
785
513
586
758
546
708
813
440
236
127
48
759
559
959
433
956
682
12
832
577
605
754
250
182
879
420
652
648
877
853
217
286
356
28
309
73
718
416
9
252
538
777
587
243
630
488
934
80
592
676
962
727
333
179
607
651
325
265
736
553
232
742
446
649
551
400
568
455
638
112
360
293
9
832
710
285
598
500
95
914
73
13
414
285
377
509
292
99
195
782
51
61
403
692
90
114
101
319
940
500
73
809
615
463
655
177
67
692
753
340
966
542
980
562
261
280
819
268
877
501
368
966
236
679
906
302
616
328
473
506
489
891
230
787
269
635
169
719
134
173
549
89
555
321
436
384
888
316
76
911
628
309
328
263
925
970
133
964
858
77
307
505
98
576
801
969
955
599
139
324
523
703
18
654
958
279
876
999
206
160
120
499
335
992
649
75
125
760
372
184
457
718
703
361
397
851
168
352
423
519
614
988
41
363
598
103
311
103
376
215
653
62
905
809
954
682
955
631
899
819
203
91
103
646
209
246
689
324
240
864
703
647
343
190
232
103
181
453
18
578
55
516
607
619
913
333
46
19
919
394
770
451
868
163
749
358
492
576
534
408
885
458
56
910
812
682
524
998
123
126
968
871
9
767
520
459
507
671
315
572
752
763
18
446
512
288
93
358
429
49
500
836
903
831
43
489
745
458
608
159
594
872
710
995
315
937
936
967
861
22
422
937
738
172
286
824
328
311
299
987
759
691
325
926
708
420
949
132
579
984
335
589
146
369
583
225
355
319
168
574
320
879
482
134
221
371
252
99
687
184
607
276
486
249
798
999
552
127
19
707
243
417
958
802
794
768
828
749
544
680
565
277
172
819
339
674
127
583
683
608
446
990
802
792
347
670
4
560
116
234
560
156
154
720
775
959
476
602
42
390
733
416
569
174
326
731
872
162
1000
424
551
538
700
93
216
507
999
139
698
952
322
300
345
765
74
544
924
603
714
428
969
26
773
604
74
741
623
918
177
860
913
206
712
534
387
792
363
250
123
221
317
667
137
548
208
227
493
735
347
48
915
814
631
930
218
508
705
6
580
302
916
480
216
47
972
659
331
118
419
594
472
679
443
784
965
690
184
117
158
192
518
567
394
715
26
461
147
154
678
421
737
126
570
724
318
528
746
250
179
631
428
124
924
419
226
336
168
646
584
623
994
591
877
587
197
415
791
518
204
246
767
624
102
443
674
939
360
205
827
26
412
311
913
638
485
190
916
977
516
400
963
60
560
416
321
724
763
681
588
701
133
955
408
387
146
223
303
606
350
223
861
932
472
321
763
830
999
634
479
117
643
949
763
497
955
2
385
888
126
57
913
383
453
137
112
411
166
431
962
588
468
365
927
317
198
708
343
257
389
44
612
725
680
662
895
332
610
870
638
211
55
589
283
913
571
564
115
758
951
742
925
819
377
840
596
577
533
689
222
173
228
190
663
517
852
68
32
747
72
427
206
809
345
51
691
184
319
788
676
390
540
260
531
400
896
74
663
526
368
673
925
772
368
513
191
880
533
996
458
2
878
270
491
607
903
972
126
162
206
501
764
108
800
758
10
245
820
152
698
464
752
936
192
295
805
842
910
997
302
548
497
385
305
230
502
763
527
608
869
99
526
467
462
601
784
123
421
440
906
323
48
337
822
481
339
983
422
1000
433
5
411
937
431
882
80
577
773
515
181
580
499
319
58
146
9
831
520
737
626
776
848
287
596
189
413
768
939
206
703
763
406
193
53
578
877
878
804
323
258
184
691
208
528
925
89
698
83
972
461
883
950
219
915
689
404
248
861
30
239
639
269
107
691
911
115
953
220
188
646
422
451
129
635
36
599
519
147
466
336
934
332
308
19
582
503
821
541
395
757
447
56
582
852
974
538
229
223
176
498
581
470
390
477
792
272
753
908
849
296
723
495
404
977
346
596
796
727
705
645
737
769
235
575
771
775
636
638
197
295
120
528
101
940
116
130
651
437
472
15
243
744
532
517
492
807
696
582
52
684
709
197
947
539
135
711
125
249
339
40
957
295
988
257
51
285
439
764
366
59
630
275
558
66
116
296
942
739
404
625
726
866
499
497
117
169
83
874
507
379
736
937
116
83
770
610
497
389
914
66
977
443
6
200
167
829
624
205
566
705
811
144
254
170
590
484
471
303
458
508
780
1
907
88
739
263
358
869
912
960
477
438
680
955
823
995
468
153
74
386
617
399
292
808
597
17
550
574
723
653
56
467
308
383
514
884
54
236
453
376
969
31
337
636
893
537
363
40
862
985
692
775
260
676
167
924
414
926
860
980
337
11
316
29
204
343
5
12
676
862
959
304
627
361
863
31
521
48
226
800
774
671
816
289
384
717
71
61
169
188
514
787
785
376
323
539
601
255
757
607
415
889
65
334
112
856
539
935
312
908
971
951
709
683
92
668
875
929
917
711
50
135
774
932
349
18
649
17
26
216
956
101
441
53
594
205
928
257
745
396
735
624
45
370
73
875
528
416
454
156
88
562
882
241
573
6
526
223
285
767
754
890
255
635
739
580
95
842
98
628
764
833
271
68
380
420
540
449
391
243
257
217
275
849
473
35
202
816
699
958
472
899
92
998
666
271
975
194
211
734
419
926
240
358
18
107
726
727
758
564
995
169
944
502
863
225
214
454
553
250
713
957
391
817
670
665
533
834
100
463
261
102
228
442
784
508
575
72
824
500
938
659
517
806
105
569
165
888
189
129
384
676
8
781
997
846
648
678
313
346
886
9
580
844
410
191
706
885
356
403
494
62
464
652
706
498
281
721
266
967
158
82
799
43
276
209
868
449
549
935
735
908
864
125
579
704
108
610
812
271
669
447
545
315
966
56
89
330
524
682
805
375
936
403
989
665
679
824
744
327
295
964
701
956
862
66
683
336
533
852
926
478
384
974
796
324
146
504
875
304
813
571
977
901
17
639
533
699
660
94
654
742
855
869
326
426
3
720
895
367
566
348
481
559
237
870
11
863
176
778
371
252
275
555
976
423
980
69
655
413
673
607
845
624
190
640
441
694
775
668
386
818
508
44
979
502
516
806
715
321
807
566
561
599
581
318
633
525
86
728
786
802
304
206
317
400
997
251
998
246
293
74
779
561
784
251
515
809
815
570
647
363
707
906
443
298
837
152
997
966
971
160
803
506
196
44
168
188
797
39
800
104
727
355
708
117
967
709
667
102
41
711
838
542
459
59
48
182
607
372
621
613
608
645
863
228
955
761
345
976
642
820
828
732
266
874
721
694
23
274
60
806
718
387
943
334
474
651
483
324
427
672
261
832
860
119
886
72
725
889
949
389
916
508
662
755
963
337
77
312
678
409
835
235
955
266
161
183
574
932
507
130
303
197
705
81
557
97
635
480
557
974
940
637
473
634
898
520
684
436
492
391
814
287
804
590
71
809
769
332
626
685
474
540
165
197
685
904
999
540
895
370
380
520
285
525
841
352
41
918
251
713
292
601
322
779
488
642
390
276
775
92
267
765
713
846
349
721
163
230
420
968
257
269
558
395
46
37
286
243
797
994
908
60
130
178
634
534
82
384
932
903
991
497
579
9
58
3
772
748
347
621
775
355
643
132
723
83
587
573
288
871
487
702
980
470
302
44
136
304
436
390
614
683
462
296
668
312
632
233
953
484
411
119
415
147
65
961
892
88
682
847
162
158
731
9
8
131
527
519
301
781
31
920
477
591
855
190
583
957
320
176
995
57
505
895
999
83
831
462
464
836
217
480
470
170
784
899
403
801
535
769
482
773
222
327
49
259
576
249
557
766
789
857
819
124
799
110
487
377
296
167
567
282
329
187
739
973
315
954
12
332
828
666
171
60
477
931
910
475
972
150
451
350
753
32
471
689
830
828
709
53
959
76
411
956
248
335
765
482
383
881
48
476
896
47
517
806
496
607
902
48
62
57
121
226
500
568
24
710
258
938
569
916
893
99
303
761
28
625
224
486
579
745
351
21
577
212
473
515
403
932
722
634
585
335
194
779
848
228
333
874
226
972
986
484
105
566
807
598
775
21
932
210
363
17
926
653
688
12
139
209
647
18
825
286
912
183
397
52
99
148
872
67
168
334
993
712
121
820
103
587
493
619
290
700
16
154
275
896
75
608
300
102
342
917
96
72
841
107
787
770
682
137
753
877
484
210
41
677
676
218
465
351
286
988
867
737
226
637
54
345
937
588
532
593
674
604
249
461
374
625
546
912
168
817
860
775
293
118
960
814
650
457
851
280
6
742
616
822
302
689
292
635
694
745
535
928
345
46
604
769
477
587
581
30
128
616
787
334
568
962
996
453
896
663
909
961
694
148
885
50
525
860
781
240
375
271
785
421
626
91
257
525
521
690
11
312
248
576
796
123
213
735
408
382
42
791
139
482
992
358
462
280
650
678
534
602
138
392
414
669
728
280
149
292
46
975
106
556
235
91
395
165
383
744
471
367
633
687
945
972
190
241
575
270
662
529
437
993
802
485
17
108
194
76
169
102
394
80
764
894
361
48
474
608
61
496
108
159
746
714
68
743
722
758
896
66
109
535
22
22
942
753
697
576
789
602
933
384
696
337
475
595
904
43
317
616
781
948
953
80
799
106
743
431
327
750
932
939
681
583
755
484
928
77
417
871
165
880
499
999
532
495
983
982
430
511
514
400
211
805
703
171
903
193
10
827
268
101
7
568
971
266
819
903
896
998
889
375
569
30
924
715
362
727
592
214
711
213
36
255
895
344
290
693
62
189
8
342
383
674
126
463
446
559
505
691
684
515
291
471
370
902
973
909
497
627
632
205
509
576
942
338
601
886
96
373
810
46
952
688
426
348
429
102
67
676
604
917
583
192
258
538
720
19
789
731
18
7
549
729
842
926
793
934
410
17
304
493
724
848
868
939
816
907
29
676
183
613
632
785
826
315
540
904
117
645
135
161
112
362
311
920
595
694
453
394
698
739
958
509
889
859
180
664
781
204
274
421
581
640
526
298
776
363
164
829
240
799
475
884
644
38
539
858
807
37
989
993
954
196
935
99
87
943
357
369
651
986
843
412
555
994
464
261
925
135
153
756
308
792
703
844
704
480
326
542
823
608
667
817
457
509
861
493
976
586
104
609
780
391
432
334
466
419
477
74
585
333
333
54
936
411
760
634
188
391
811
265
597
860
735
449
588
273
56
939
500
75
263
225
41
478
826
810
332
10
798
852
777
122
598
918
459
661
983
418
924
834
350
551
866
255
487
64
828
68
648
595
785
670
956
575
230
145
649
318
835
484
858
475
614
333
300
356
210
273
785
832
644
661
98
897
442
740
98
642
158
792
774
343
654
64
671
753
592
960
323
87
744
610
234
194
205
152
182
262
691
821
308
321
269
308
624
713
137
860
478
103
424
223
7
557
115
396
93
247
922
135
827
785
278
529
960
142
92
719
446
634
343
432
447
290
915
926
732
147
862
212
2
442
562
404
787
812
728
965
171
109
78
910
293
276
567
926
660
145
514
991
607
31
120
738
947
406
525
497
824
998
230
938
766
361
941
658
252
999
32
272
902
742
117
962
18
426
159
49
701
615
416
801
439
222
671
840
763
364
289
544
160
261
152
675
376
110
61
18
216
591
48
522
916
658
501
483
545
655
821
393
637
872
177
747
253
22
907
239
506
502
437
653
143
266
552
626
550
912
161
640
9
929
690
228
190
718
746
899
589
621
270
287
566
744
256
94
802
469
520
180
191
69
944
808
24
886
259
655
290
340
870
598
256
640
500
817
68
7
638
172
477
957
229
695
698
968
410
325
137
464
454
146
264
985
500
261
222
881
945
146
338
625
232
911
881
281
884
623
293
338
350
902
439
340
785
192
462
641
643
981
678
125
841
666
58
143
407
128
208
139
902
419
145
986
753
391
778
26
318
790
174
347
91
227
193
826
665
544
344
800
653
201
936
554
131
666
120
831
542
530
323
752
999
943
311
361
477
518
919
595
265
6
105
663
754
541
163
60
487
807
209
56
663
97
608
890
231
869
207
77
359
317
145
893
511
791
802
409
437
977
395
465
168
455
162
752
612
438
915
40
556
433
217
9
226
367
128
219
639
975
896
503
429
968
658
655
600
501
949
85
884
930
470
706
748
421
263
230
152
780
81
519
944
805
827
962
890
921
623
233
410
726
761
886
692
844
226
417
261
475
500
959
1
661
883
862
673
565
940
773
785
592
778
297
569
160
485
38
895
63
187
813
810
150
438
405
864
12
582
757
270
953
730
363
296
773
108
531
181
579
90
59
935
167
844
606
889
387
718
193
680
782
290
691
402
304
134
238
676
60
37
315
871
826
87
997
241
252
809
559
359
919
518
240
276
508
763
468
178
497
577
410
270
448
866
133
984
656
557
92
377
302
642
921
421
132
724
75
242
417
346
760
661
126
995
536
957
400
556
970
505
339
640
434
92
670
872
115
626
417
468
913
290
796
663
550
864
155
435
320
585
870
266
337
983
829
513
891
903
672
864
595
277
375
15
466
599
696
849
713
717
114
514
819
14
891
521
18
975
583
890
609
669
557
660
434
490
437
994
265
651
28
461
973
76
586
297
870
928
603
909
469
451
422
963
860
178
153
710
384
657
615
166
126
186
869
84
736
340
723
258
144
595
165
264
818
161
775
42
375
353
113
732
777
75
752
896
320
880
824
194
139
654
215
519
892
154
396
140
544
60
746
622
568
452
254
697
407
98
653
20
224
922
86
891
103
46
355
666
745
636
497
688
739
91
964
60
348
175
162
674
335
729
594
915
733
50
554
586
635
855
605
468
474
622
526
942
894
245
232
569
800
538
566
957
305
841
716
12
410
563
213
531
264
674
837
161
331
189
255
416
650
384
937
863
282
589
13
790
433
760
1
183
142
697
627
235
57
6
821
708
107
426
47
944
885
186
804
875
831
351
773
505
48
466
334
525
26
293
74
759
642
449
255
418
635
484
686
378
969
677
185
75
195
677
721
625
698
726
521
881
444
924
63
337
157
648
400
431
312
786
353
532
339
48
16
807
695
599
510
347
629
926
689
366
651
784
494
680
182
452
629
155
134
121
415
794
980
745
240
166
631
335
517
978
173
2
426
51
74
974
845
160
366
160
636
877
687
438
10
347
780
250
801
213
670
72
824
407
970
703
457
514
645
696
392
237
51
31
579
383
142
280
237
313
455
226
983
57
648
323
954
200
414
319
802
240
848
948
68
73
566
758
431
277
533
993
96
785
412
199
587
377
501
189
200
607
92
653
220
417
705
770
209
819
250
785
759
806
908
893
899
5
134
883
299
603
828
493
659
331
780
306
968
771
135
228
246
605
734
54
431
716
657
424
180
912
520
748
516
91
860
271
48
132
488
856
614
246
805
498
804
838
144
801
723
223
589
388
522
425
351
242
345
558
401
908
158
280
557
619
447
919
670
913
410
231
567
211
684
925
815
711
440
360
820
777
269
103
476
924
701
810
515
601
495
908
423
777
452
722
237
736
519
513
217
729
561
496
422
251
666
799
512
93
381
940
90
489
702
519
230
714
393
167
996
850
595
743
697
686
839
978
140
631
994
130
712
407
740
525
835
978
453
237
358
563
75
300
993
972
207
822
568
671
173
259
449
228
313
249
915
924
223
907
714
868
285
13
914
961
1
265
181
240
435
908
436
286
147
400
528
49
876
8
852
756
83
778
461
898
732
491
623
396
485
302
53
905
548
438
813
398
137
953
697
774
919
266
270
217
739
888
406
255
296
11
26
958
856
361
953
15
843
127
821
68
258
888
769
60
666
998
296
708
718
149
894
667
30
3
5
335
917
348
412
352
746
693
986
915
540
630
578
721
899
170
463
781
622
910
658
961
719
455
362
23
85
328
802
401
18
682
739
730
615
92
275
697
250
667
665
973
577
184
886
151
635
417
809
359
786
127
96
987
21
389
332
851
654
586
358
414
863
523
25
473
33
725
403
545
849
686
969
813
526
385
910
25
438
411
266
525
516
404
77
240
56
835
38
107
911
155
322
856
746
618
255
315
704
942
585
571
15
800
277
249
616
679
126
934
615
323
710
23
861
922
371
841
627
748
513
569
47
853
40
431
53
158
373
778
123
272
871
507
483
890
455
617
915
498
117
736
650
328
118
97
6
609
384
651
497
687
517
433
438
186
394
339
818
493
67
232
148
644
145
201
633
842
764
352
853
694
386
703
832
22
912
909
834
819
469
594
160
43
218
728
154
24
334
409
909
44
184
178
220
764
709
201
544
540
220
28
815
543
475
697
72
685
265
885
467
358
18
92
15
771
707
282
85
948
789
147
100
404
911
407
373
625
790
575
620
945
741
352
350
828
35
851
530
736
234
18
239
185
685
161
36
116
477
900
202
589
965
415
292
393
47
729
743
550
557
190
234
275
361
926
674
121
672
234
453
454
638
977
941
392
210
436
604
431
218
244
806
356
759
93
750
616
727
570
367
985
695
83
662
42
405
180
624
661
868
661
542
618
127
582
3
120
487
773
29
35
694
209
161
317
291
561
54
571
148
135
101
614
205
990
159
1000
352
485
86
636
339
858
837
123
86
517
481
731
718
176
12
253
638
388
373
918
115
542
321
615
670
181
648
568
524
770
149
86
567
382
322
855
65
31
820
796
570
757
154
259
908
783
826
890
299
546
609
865
31
865
185
871
266
130
844
864
320
932
526
877
517
269
245
484
596
915
903
607
194
628
753
74
590
781
360
68
921
592
311
298
209
115
420
247
171
668
811
33
577
888
613
283
986
184
650
112
636
95
827
976
15
81
398
777
788
564
931
10
196
752
661
14
265
546
130
205
164
53
172
182
46
805
745
836
666
312
863
422
509
51
26
839
996
338
488
447
440
34
582
613
474
180
80
470
669
848
625
479
495
990
456
421
956
932
879
651
156
94
156
29
930
427
145
791
391
298
920
877
880
613
565
992
84
577
724
900
321
481
843
940
363
752
767
334
509
780
68
717
265
262
693
389
464
86
97
266
897
134
817
998
968
876
843
87
163
642
501
552
118
587
525
81
310
673
895
948
58
876
720
677
514
676
376
209
500
957
519
570
566
7
16
107
583
539
121
151
948
631
153
363
714
880
198
257
447
385
985
667
970
789
534
62
186
771
621
502
825
536
962
377
348
881
530
215
301
360
392
248
913
596
92
610
944
151
418
711
595
561
197
149
914
893
568
5
624
647
869
316
343
200
121
540
275
592
694
102
959
485
204
529
553
678
368
859
136
1
584
771
337
952
548
807
865
409
227
119
483
561
497
726
863
458
412
881
331
575
478
463
673
502
766
189
516
962
556
812
991
818
129
526
545
680
17
516
532
207
92
247
868
614
518
4
547
256
209
897
681
937
673
11
738
48
99
632
607
378
526
586
278
999
993
230
970
743
290
159
966
784
291
422
349
253
632
513
276
470
279
168
57
424
868
86
790
325
684
872
895
874
920
242
391
822
107
902
805
600
822
641
872
349
186
453
630
886
512
191
419
740
130
882
834
334
923
865
156
467
589
656
941
47
163
825
344
774
269
894
164
224
165
39
263
648
723
29
339
573
954
311
622
896
459
566
493
394
53
427
316
179
595
914
947
73
24
823
29
35
777
819
458
193
248
650
577
406
773
268
72
658
26
737
135
220
313
315
53
97
538
750
75
13
376
301
864
574
345
218
187
310
558
70
465
34
435
643
477
176
429
429
607
823
157
154
39
517
154
472
82
651
986
14
76
495
13
315
357
387
469
909
920
472
965
861
484
96
787
987
901
629
467
318
106
596
964
429
885
991
481
983
936
121
940
408
847
997
861
234
905
552
480
535
55
712
752
758
175
151
853
611
241
968
460
941
256
924
851
61
885
895
942
483
687
352
479
715
185
217
784
70
767
684
521
953
388
253
922
909
792
891
37
831
997
149
129
734
112
627
708
746
201
497
725
155
443
161
32
950
594
89
896
327
864
391
74
242
936
598
394
948
133
427
525
791
804
306
741
830
545
572
714
134
825
674
226
647
405
170
648
66
591
308
841
737
445
272
496
851
675
838
668
266
229
620
220
354
222
769
771
911
830
71
210
139
534
81
323
826
890
33
231
317
406
219
363
536
623
727
376
913
416
803
444
791
247
500
935
436
284
960
62
784
684
670
742
61
497
904
398
802
329
867
694
332
834
969
826
859
378
928
213
380
406
79
821
498
589
779
378
658
646
193
857
947
926
457
278
216
566
34
566
546
793
353
275
243
639
392
532
348
834
888
805
368
115
255
109
410
387
647
386
176
540
768
733
23
821
263
81
437
532
610
180
808
260
386
23
556
765
436
77
117
522
33
238
968
205
275
659
698
443
178
328
508
553
633
314
525
443
561
139
568
738
495
584
297
235
239
29
320
410
732
686
418
403
112
934
780
14
845
457
261
528
757
915
924
666
41
743
100
965
63
520
950
500
461
658
798
861
300
177
128
958
820
516
896
324
560
418
672
8
452
918
367
853
306
858
398
726
957
100
817
638
448
197
593
306
643
633
866
972
911
843
499
826
671
276
221
586
76
166
779
402
949
672
578
781
856
899
289
434
379
67
425
670
40
39
541
939
59
656
652
313
668
137
496
55
316
566
584
122
325
887
896
11
474
211
956
740
956
529
704
340
851
50
584
692
344
46
575
661
723
703
430
446
348
451
911
298
341
96
215
869
568
998
784
668
729
280
275
789
967
380
889
468
199
380
918
541
463
36
808
842
399
598
447
598
417
317
51
563
612
706
139
835
549
283
885
973
198
25
641
499
274
62
237
686
115
552
821
151
252
562
709
159
865
486
947
559
208
319
448
753
509
388
103
292
365
764
688
921
942
114
754
165
301
401
853
520
964
799
768
351
314
219
799
510
410
675
634
578
419
859
544
314
480
896
199
14
802
840
617
675
688
328
740
14
791
188
75
507
301
855
377
818
515
599
491
28
363
995
561
664
821
712
443
733
8
33
464
887
284
823
665
354
512
194
992
868
277
140
124
410
622
748
686
125
581
865
637
136
376
330
171
819
882
84
221
294
198
193
49
852
683
598
467
736
261
411
277
598
470
377
816
384
264
436
258
313
421
670
816
47
525
395
123
159
501
4
475
303
414
814
511
553
291
807
502
121
801
213
633
961
951
55
750
363
640
794
789
499
531
889
487
530
124
404
896
544
60
477
826
557
993
796
127
108
381
151
829
657
694
568
91
864
929
220
135
630
447
498
163
679
905
238
931
45
370
181
315
153
910
260
920
72
498
641
719
675
370
852
48
613
486
572
951
963
102
347
102
229
771
850
83
758
92
274
747
585
997
909
944
812
975
560
736
150
788
987
377
512
467
255
948
382
404
491
486
563
900
897
866
956
805
849
267
913
923
123
465
896
856
583
566
1
306
905
803
938
904
903
392
823
726
6
78
140
209
973
611
612
804
167
213
612
532
166
509
636
521
705
954
130
242
479
555
953
542
850
281
720
385
217
468
1000
676
529
156
391
838
990
554
178
509
906
976
205
21
332
202
924
4
330
150
633
961
853
236
367
48
926
296
887
643
757
541
740
719
547
709
577
913
375
298
515
331
919
694
523
843
829
993
660
513
542
502
871
856
992
284
377
308
852
214
439
30
903
600
907
295
546
607
590
828
989
355
926
307
594
117
559
998
31
516
147
411
100
44
739
210
281
547
967
854
762
330
338
592
285
411
906
224
899
672
60
473
1
221
912
938
873
709
570
834
111
96
509
362
781
25
825
704
635
450
14
990
62
354
95
241
357
272
747
11
607
314
94
476
838
364
66
824
965
111
625
509
205
489
247
92
23
746
29
770
17
62
107
412
157
318
569
143
90
623
296
78
279
150
415
971
745
534
944
790
480
639
74
758
518
730
160
448
536
770
408
685
867
729
14
19
429
437
85
114
286
514
703
717
45
331
594
185
122
867
886
659
435
271
255
595
474
829
32
323
352
522
967
452
878
138
118
686
661
383
778
322
958
740
887
509
266
343
408
839
480
667
604
366
310
226
998
210
892
292
343
212
441
963
932
289
678
757
710
49
249
764
107
514
848
234
711
376
413
475
624
186
140
606
974
773
513
322
34
45
374
223
11
856
74
379
238
616
425
235
608
729
771
249
736
443
883
635
509
837
62
64
137
221
200
958
543
159
969
241
409
654
531
863
961
22
417
309
862
342
133
927
517
355
805
505
217
716
962
595
647
402
598
990
147
45
438
735
793
25
382
205
99
50
516
320
923
349
762
41
253
446
80
698
226
127
445
4
622
520
779
654
3
635
728
670
118
954
309
76
193
731
181
534
408
293
142
511
703
868
648
806
165
272
224
449
663
431
318
3
952
499
690
40
751
20
456
382
209
454
209
720
624
430
119
537
838
615
992
366
460
68
241
506
699
267
103
978
888
212
159
861
543
578
140
131
851
218
522
296
21
835
6
641
621
249
715
610
587
958
652
666
27
159
701
648
753
483
6
577
29
416
278
280
244
121
857
317
413
453
9
758
699
239
169
167
731
922
522
946
233
380
147
437
996
22
314
534
425
999
563
897
590
345
844
570
277
230
296
348
383
155
994
736
721
399
136
203
498
301
290
315
338
989
951
647
460
349
531
535
808
207
516
533
496
912
787
907
607
16
310
806
758
272
238
160
751
144
38
746
191
916
188
263
966
562
175
610
253
219
710
344
180
704
577
449
441
737
615
258
527
797
327
598
464
963
175
515
216
260
71
371
440
744
18
617
738
502
718
907
593
492
602
290
944
495
577
22
291
496
765
389
689
835
88
743
331
750
318
17
465
281
471
150
877
646
535
832
299
909
560
395
425
735
422
594
542
337
786
289
798
582
598
229
957
84
319
148
248
619
799
859
217
510
164
976
597
451
572
406
126
797
890
37
875
92
966
18
903
815
551
500
745
528
93
394
288
490
82
221
191
98
137
942
323
897
751
285
689
797
613
257
763
199
119
289
661
41
366
73
382
601
903
769
273
433
211
509
986
339
218
302
997
840
820
52
842
577
267
259
892
416
433
874
97
687
128
964
199
527
930
219
811
381
845
749
554
937
487
451
799
420
826
207
931
940
974
213
28
157
431
86
815
31
20
170
311
481
620
965
790
456
78
52
718
399
699
438
961
613
306
506
240
622
970
264
617
351
512
215
608
891
326
387
144
813
71
770
903
343
903
519
295
992
704
226
509
581
284
160
491
91
305
174
835
451
457
25
683
218
957
602
377
580
753
6
823
369
81
226
304
771
517
934
683
432
476
418
844
288
654
365
677
254
259
893
738
44
631
204
68
77
480
877
759
328
184
754
290
466
202
896
578
996
26
66
652
993
354
164
402
932
171
630
566
927
279
976
49
107
786
541
338
800
540
65
622
614
630
558
573
62
872
405
167
374
616
75
136
219
140
951
783
122
368
481
137
337
68
360
623
386
892
97
604
682
573
160
649
878
660
116
474
943
786
204
131
869
577
374
116
896
926
434
762
258
345
853
807
279
498
241
813
478
183
266
152
757
891
76
464
902
425
523
575
706
188
251
896
184
59
820
173
491
57
285
401
503
170
103
40
55
229
31
464
783
990
36
62
657
892
349
473
533
302
290
807
895
930
161
622
418
908
847
888
334
582
734
400
217
78
50
520
706
926
614
735
739
85
910
976
590
642
986
968
213
918
826
18
953
818
486
732
924
868
682
989
209
696
74
425
624
85
923
282
71
455
253
805
631
587
107
18
546
428
152
810
573
220
828
551
200
99
437
524
458
817
904
737
572
838
259
691
780
45
52
480
916
55
671
263
167
131
786
507
564
504
922
839
942
169
748
497
628
677
776
990
894
148
12
4
722
464
663
110
43
361
990
939
58
712
831
594
854
34
228
128
628
628
63
626
293
516
671
708
847
76
247
119
748
844
644
674
116
966
859
713
860
729
654
300
129
98
483
90
465
928
266
56
9
339
10
92
616
472
130
599
484
698
565
5
665
604
737
710
576
513
889
378
175
251
695
959
729
854
201
89
700
26
864
175
541
229
657
546
897
688
130
758
252
200
142
689
267
49
356
876
84
244
875
125
501
216
78
318
143
967
758
527
761
560
505
710
630
191
572
145
106
78
711
626
706
847
31
488
962
879
319
508
829
720
575
114
888
580
748
202
609
15
204
630
704
252
192
498
547
478
254
113
441
843
981
552
973
799
208
370
427
717
699
577
256
997
952
415
489
882
202
997
669
51
462
3
601
826
863
799
435
96
828
761
899
896
251
476
339
505
232
279
943
661
459
648
29
418
704
581
211
483
488
19
572
908
205
415
512
134
330
720
794
685
248
294
422
285
876
592
22
561
726
776
298
395
483
766
36
375
252
114
812
614
276
315
382
434
775
45
9
811
35
880
736
121
165
368
215
974
531
309
934
286
518
375
746
132
695
486
288
257
13
236
422
968
265
486
244
615
817
426
845
589
101
211
707
264
585
803
39
212
357
126
826
224
879
372
3
238
174
203
254
676
551
679
619
24
349
779
813
231
549
613
862
744
365
94
793
872
189
328
279
466
235
982
938
886
345
669
335
612
619
326
191
390
668
811
58
1000
887
76
261
903
576
638
188
288
935
766
932
93
209
334
830
597
593
278
803
560
746
146
112
638
368
301
424
614
815
809
495
881
99
410
67
874
974
978
217
401
98
974
558
689
769
140
8
766
919
854
64
51
654
387
374
112
835
862
312
411
429
440
316
457
601
776
462
196
944
312
474
108
952
31
207
160
120
563
169
693
534
618
762
134
537
179
305
428
111
419
192
378
487
485
630
616
777
920
481
536
233
970
172
574
583
701
600
79
707
940
771
800
541
725
151
734
448
282
311
610
827
601
367
853
484
687
692
327
723
875
856
232
180
744
740
952
883
232
298
311
644
51
475
32
239
855
297
74
109
759
568
48
646
981
381
812
438
283
512
844
530
120
426
366
460
848
944
173
506
822
686
463
924
645
983
85
109
520
185
445
260
3
208
404
895
335
282
225
518
755
257
581
146
27
610
510
98
990
337
502
124
844
456
551
271
498
843
383
135
501
146
643
249
925
248
94
821
775
784
177
579
714
633
718
487
384
487
252
850
321
371
581
12
532
560
649
758
222
948
70
704
451
44
199
234
907
757
260
422
273
86
959
659
975
365
226
309
127
214
420
612
648
151
592
156
492
554
654
594
899
339
582
103
256
986
983
500
93
267
664
251
354
537
809
987
376
607
7
178
819
728
627
151
1000
646
451
216
879
278
206
869
808
190
524
330
804
817
432
936
687
337
559
966
352
993
505
163
313
68
228
208
291
921
926
313
769
441
673
814
486
475
521
535
797
582
665
223
510
580
100
283
321
256
645
252
705
911
534
85
323
271
333
663
206
725
165
115
770
618
308
71
446
23
314
21
590
350
460
214
846
429
548
629
277
732
912
157
610
346
32
515
418
634
248
722
794
829
80
827
656
626
995
674
517
971
639
884
566
714
270
887
162
5
625
165
877
249
406
273
829
371
411
617
81
340
251
861
83
70
184
176
968
323
815
87
161
806
30
138
570
646
987
491
874
891
511
522
369
695
753
930
185
425
736
845
545
3
689
349
591
476
581
215
539
507
599
692
25
659
590
291
39
780
46
187
206
408
475
118
4
552
47
722
582
250
56
31
727
294
509
923
161
797
663
70
318
421
82
780
311
960
146
662
801
797
904
80
665
389
22
925
546
966
87
996
245
942
743
880
405
914
147
504
158
846
681
772
470
511
997
808
273
405
400
595
289
253
912
756
949
752
474
644
432
207
287
862
760
674
290
767
538
721
879
626
261
824
51
723
931
94
390
237
34
192
53
757
459
457
657
20
628
701
563
649
18
847
833
607
939
215
551
905
809
958
214
355
635
85
769
69
177
612
891
993
620
972
813
59
737
413
918
268
836
823
509
294
768
791
113
133
996
266
29
874
206
550
764
623
12
992
432
234
492
148
662
645
473
508
336
524
598
159
335
373
493
38
938
477
7
492
451
397
721
570
580
232
691
308
313
384
159
793
260
13
130
651
950
409
143
152
292
631
137
871
737
587
538
433
299
172
111
305
694
374
256
340
899
590
925
762
761
808
630
533
758
236
393
921
637
392
754
545
413
988
964
348
503
266
172
523
236
658
565
660
193
989
942
967
688
58
957
993
837
781
609
91
532
965
238
203
729
84
468
260
373
492
130
975
536
275
111
2
532
43
968
187
226
44
346
453
544
703
185
219
614
962
811
296
235
220
570
447
954
695
648
856
23
797
61
216
211
94
938
233
401
324
586
238
425
250
370
145
6
58
840
647
117
741
710
749
588
822
510
628
837
687
630
256
967
684
210
384
837
792
479
647
64
634
984
305
215
968
422
923
923
8
558
334
135
112
775
679
816
598
779
889
46
671
354
644
769
996
866
979
834
442
103
857
646
341
837
20
119
28
663
533
351
656
131
524
571
146
315
617
959
738
749
256
218
145
987
570
639
629
211
401
350
177
342
760
721
570
926
375
82
852
596
898
857
730
726
611
282
790
251
614
572
322
821
940
519
812
512
778
323
233
835
835
134
219
242
286
80
275
916
301
561
94
618
602
28
953
487
137
488
204
33
402
606
37
173
676
453
748
157
907
271
393
744
386
781
44
165
290
872
187
562
433
251
569
185
827
653
636
786
201
719
222
625
220
720
584
21
982
884
865
510
362
31
644
752
743
658
261
472
554
988
622
121
727
406
245
544
723
691
456
325
376
426
601
152
991
236
754
101
544
768
172
930
300
999
661
944
614
474
352
231
582
643
832
580
431
159
317
899
989
382
930
777
350
570
879
44
762
168
916
81
969
854
247
156
605
975
958
774
493
395
249
649
801
690
640
427
440
327
54
909
245
253
693
913
865
312
906
341
769
311
385
577
524
312
194
448
63
835
807
219
777
979
533
614
576
662
499
989
526
691
810
379
605
211
638
300
390
947
227
280
874
92
483
657
570
341
680
916
376
451
637
218
1
818
498
935
319
2
432
138
85
844
356
832
500
330
605
240
527
197
424
858
855
801
981
991
567
819
45
684
748
367
648
232
712
908
419
93
926
734
788
601
147
84
589
23
628
127
476
661
408
614
860
413
993
636
334
135
800
713
346
529
520
701
482
120
239
790
442
83
153
231
911
270
755
277
428
613
665
4
121
818
15
8
995
691
55
785
897
439
70
837
648
308
817
781
901
824
702
812
426
919
362
416
677
990
167
548
604
521
446
478
960
254
635
501
187
828
867
195
4
454
903
882
167
5
175
14
252
826
952
142
100
621
424
501
336
178
897
325
934
486
742
714
96
765
740
265
947
485
196
960
155
64
446
212
177
691
520
508
497
368
523
580
373
436
246
296
736
822
598
256
902
939
510
353
3
714
563
513
395
676
262
26
819
584
92
633
297
705
437
608
996
177
613
263
599
34
146
628
688
556
9
131
403
128
246
59
707
849
785
915
346
737
634
686
805
835
909
417
531
501
480
225
552
536
578
15
819
293
448
141
305
658
433
899
734
153
665
943
637
605
874
279
683
83
652
818
7
769
551
142
660
261
73
364
653
638
676
41
173
941
499
279
303
268
390
219
320
533
104
863
475
651
154
675
13
279
769
864
618
921
541
929
775
633
557
149
343
386
650
194
561
300
328
461
972
455
485
748
568
160
265
881
350
564
291
684
364
20
215
52
160
273
367
120
112
579
696
210
342
408
76
730
327
509
955
652
491
48
322
278
656
430
906
819
46
949
258
311
499
871
856
957
912
569
482
365
105
393
789
70
548
288
164
875
958
707
99
582
897
720
411
223
250
203
155
947
269
779
48
929
556
121
960
586
917
438
266
17
286
957
827
391
78
35
978
562
590
604
652
934
310
574
644
201
676
281
425
866
446
328
942
161
594
455
341
464
354
661
112
742
975
482
842
677
172
821
27
464
417
885
646
747
880
38
23
303
800
847
83
306
912
825
647
942
288
856
442
70
714
725
912
160
991
684
103
411
5
688
306
299
579
968
525
931
455
594
802
803
997
282
643
533
601
273
917
52
254
86
978
836
46
802
784
116
943
372
864
405
253
410
358
198
124
359
755
832
556
878
393
611
778
996
618
365
548
344
198
623
971
601
315
936
391
579
426
288
463
162
952
457
940
107
544
780
351
100
660
366
572
466
959
110
911
413
985
251
503
861
694
222
365
182
668
159
256
577
787
66
777
189
995
804
739
298
909
980
184
581
718
510
258
292
473
987
577
263
895
157
892
784
252
109
3
14
288
289
714
97
907
90
25
299
608
213
447
690
876
344
173
820
805
314
236
954
976
299
860
739
646
107
191
517
609
68
539
857
885
202
758
132
919
340
28
946
797
364
818
874
831
825
373
328
190
789
919
622
479
647
533
389
177
415
258
89
104
275
688
937
101
239
531
724
443
828
904
982
466
561
319
265
264
292
677
349
302
62
352
450
405
894
602
150
703
858
573
678
506
898
767
903
652
113
674
710
352
531
424
438
563
502
868
88
918
904
322
807
826
554
460
254
881
267
3
838
641
67
692
739
285
362
195
203
890
986
926
755
618
793
62
482
218
287
359
966
946
73
942
862
542
992
466
801
380
894
95
498
932
145
302
467
705
454
619
142
698
800
854
611
984
802
156
772
514
673
506
609
99
602
257
330
467
774
287
532
5
115
964
989
299
649
913
97
108
612
294
223
169
251
699
132
862
1000
118
123
7
426
693
324
964
929
270
985
635
429
719
295
552
21
806
633
594
127
388
760
551
574
257
550
57
421
435
914
924
861
329
823
744
96
521
768
865
195
532
345
38
977
252
722
119
210
312
905
295
16
273
681
966
710
800
362
658
977
338
527
524
858
703
829
351
326
939
53
881
482
716
935
394
518
289
310
948
273
505
733
166
802
805
307
6
980
617
96
980
456
675
935
223
707
89
215
441
956
355
602
329
512
340
860
476
21
330
430
415
259
309
15
877
84
259
278
377
507
579
336
142
693
636
997
194
36
636
92
523
97
634
200
683
679
419
74
52
839
526
612
877
293
221
533
501
859
344
998
665
771
809
618
307
314
638
602
710
928
843
985
7
620
596
207
850
720
730
421
774
119
601
139
689
524
471
959
328
114
861
137
948
765
888
682
852
903
480
376
326
12
514
459
976
231
751
692
651
823
84
127
101
189
271
664
612
15
538
140
992
884
808
108
601
367
216
712
631
823
740
611
974
748
482
524
523
439
615
832
148
433
775
370
968
272
13
836
127
24
455
554
974
19
951
207
115
933
683
945
202
381
320
667
459
63
324
237
374
38
705
557
784
272
573
619
267
312
373
643
450
606
454
526
376
976
560
281
510
283
962
272
667
396
437
918
859
730
793
239
994
508
473
706
902
431
943
484
610
336
319
860
245
637
618
152
482
717
459
704
294
935
366
406
839
302
250
536
393
5
523
208
860
155
129
812
440
187
571
921
203
168
405
461
745
116
890
50
774
800
910
305
878
524
994
229
366
184
502
629
990
356
760
956
347
329
730
270
714
716
413
826
14
38
269
384
782
83
309
539
947
883
973
34
848
198
173
563
286
70
129
209
383
844
361
427
740
121
569
293
406
247
610
113
299
528
550
483
504
28
668
527
646
485
414
493
672
965
317
362
844
527
987
866
496
504
540
558
536
510
642
526
697
905
840
489
552
737
187
52
656
156
164
728
817
970
351
152
516
343
802
594
475
887
171
568
47
744
539
468
223
255
693
803
500
842
287
506
724
374
767
167
6
132
287
356
509
316
45
591
424
572
86
122
320
671
771
309
800
769
375
7
386
398
36
504
663
777
150
141
450
637
705
481
90
409
102
721
971
784
756
815
701
851
540
261
909
646
836
881
887
839
425
483
470
167
718
319
692
780
777
651
892
810
742
96
198
365
629
319
200
61
401
143
709
3
646
247
153
846
583
345
106
708
172
764
720
945
941
435
28
261
377
413
30
875
757
522
764
238
852
331
140
234
907
391
250
16
386
83
821
471
362
846
643
850
393
863
872
447
139
83
494
747
281
935
526
44
520
709
501
530
308
104
23
701
131
232
465
625
42
298
25
777
819
131
103
904
11
785
808
852
383
178
187
808
926
338
663
795
77
471
446
38
995
40
949
228
437
536
865
204
523
331
240
667
765
783
478
739
688
790
501
26
302
311
371
140
584
387
594
670
750
621
362
520
119
556
779
299
408
540
63
524
353
901
793
841
429
832
806
906
622
927
264
760
373
828
679
625
125
885
465
277
630
695
238
82
111
683
752
536
157
657
190
192
677
582
618
225
106
765
60
266
443
405
171
649
171
56
500
639
20
678
754
318
432
221
65
383
923
399
537
940
209
563
428
147
245
146
230
290
363
544
787
823
627
723
999
290
614
365
177
141
990
818
479
407
336
741
41
801
937
48
145
124
166
993
483
44
326
611
418
943
600
269
2
947
546
968
891
247
647
83
294
149
688
684
560
631
649
915
285
593
641
46
3
248
315
721
137
945
388
76
184
368
617
862
174
24
870
822
807
956
719
313
881
800
257
295
188
832
10
149
276
5
409
934
290
221
953
624
318
524
453
919
165
431
24
193
188
895
595
884
870
292
734
453
472
926
930
462
858
459
578
498
677
580
599
465
971
596
210
537
853
867
882
230
746
783
292
656
28
605
953
464
756
77
177
755
569
244
754
901
849
150
773
926
488
804
857
391
607
183
151
360
304
57
744
452
74
906
242
286
825
66
904
155
727
159
234
602
349
926
196
34
268
467
569
630
350
236
351
25
420
586
776
302
758
33
673
349
522
828
468
687
742
632
97
846
989
515
880
20
433
159
323
461
567
870
992
911
818
491
910
868
613
751
979
615
109
889
513
666
135
16
896
158
267
964
722
225
450
13
170
581
455
857
586
501
406
908
508
583
508
169
778
330
708
337
525
156
700
462
710
244
230
898
609
780
624
807
996
210
42
126
250
424
362
932
761
614
222
211
220
550
897
79
528
177
288
700
736
335
332
856
923
856
168
820
916
826
104
983
655
524
532
785
769
381
782
102
628
456
811
929
345
351
277
653
968
6
946
903
529
138
961
708
470
512
710
534
170
414
591
744
575
847
105
488
846
183
981
696
347
348
984
176
781
376
685
763
19
549
934
296
596
628
117
801
740
681
227
867
796
114
513
626
395
108
852
790
560
295
984
859
466
146
379
595
997
96
824
847
433
826
747
226
471
717
234
326
385
417
158
345
839
515
657
308
999
534
795
957
597
628
335
774
231
349
966
870
982
831
180
578
151
338
172
77
725
752
128
28
390
811
442
559
985
739
344
10
630
713
873
94
677
44
750
422
59
492
154
716
197
81
581
334
373
208
525
643
641
80
58
458
401
778
316
504
868
294
836
855
265
2
906
205
431
328
67
948
595
581
335
169
812
30
726
576
248
900
338
906
945
747
890
416
776
346
989
754
602
462
321
680
188
859
984
510
539
888
479
868
150
785
122
868
504
664
162
623
842
266
396
755
659
526
264
647
936
707
935
357
358
896
661
191
203
891
610
116
637
747
837
569
144
778
854
640
972
17
606
735
689
807
855
969
929
947
453
135
264
591
85
706
357
341
1
506
188
635
459
108
716
117
739
302
533
256
228
932
264
867
433
153
911
684
103
970
758
524
80
238
870
382
144
972
202
980
180
362
207
678
646
746
364
480
86
981
74
100
650
462
616
513
909
473
327
589
819
516
90
855
171
422
356
599
608
519
690
178
444
832
404
745
844
647
649
466
367
718
183
928
690
359
497
479
737
84
687
988
50
432
36
272
85
725
594
279
412
340
502
44
662
806
585
513
634
678
949
631
969
401
263
723
934
212
159
242
935
32
672
536
148
602
552
14
159
664
559
823
332
931
529
524
571
166
641
816
826
83
321
722
979
586
881
585
384
970
304
324
532
846
230
302
838
930
117
211
887
16
372
873
698
230
730
96
645
421
882
321
247
493
541
507
521
842
729
37
189
677
764
642
993
57
131
702
966
405
232
356
96
162
512
236
188
100
274
256
795
638
271
241
824
409
441
837
681
265
827
180
133
609
169
634
269
881
706
246
894
246
949
688
215
514
76
942
234
479
779
299
661
757
638
458
737
314
306
397
674
125
460
380
410
1
399
358
604
369
358
313
207
162
826
212
160
618
693
338
109
899
415
328
784
621
599
152
211
927
19
149
908
358
415
586
855
635
472
124
754
652
94
27
817
540
734
27
759
502
459
829
128
35
895
720
199
395
877
582
807
180
323
129
256
755
371
159
520
339
954
78
278
196
285
526
809
12
514
483
571
354
444
624
901
593
481
55
617
508
794
703
739
742
426
803
211
337
382
377
527
36
786
54
234
559
270
416
826
293
477
43
590
453
733
555
349
587
704
643
628
472
553
195
992
13
764
173
136
843
286
709
103
707
269
510
445
163
120
459
654
363
75
939
361
431
485
134
550
873
951
689
443
362
397
318
954
665
404
965
786
418
662
79
21
923
729
856
24
526
291
558
27
713
472
338
938
783
387
692
23
81
998
527
915
299
338
200
102
179
593
219
605
2
213
402
943
575
544
951
846
447
720
263
312
187
877
400
929
974
608
815
540
828
955
289
671
838
191
468
499
534
112
144
532
814
861
141
17
909
638
727
711
846
29
467
247
547
941
334
774
388
325
522
239
14
789
780
803
446
827
787
165
100
833
14
604
657
925
502
368
174
526
132
871
560
232
772
410
864
622
31
898
490
456
317
741
506
375
679
426
134
521
423
133
363
713
927
508
636
595
220
50
903
529
456
315
621
104
287
852
663
544
46
265
170
989
5
770
445
577
998
836
719
930
498
68
211
160
667
375
852
94
734
246
303
510
302
17
390
857
755
634
106
309
810
592
855
980
820
246
30
680
884
938
436
215
456
604
964
979
503
163
98
419
371
96
894
900
615
378
270
928
339
379
182
203
223
65
454
488
506
8
750
747
827
316
263
530
759
981
74
702
638
346
404
669
588
319
284
667
597
509
789
194
754
934
723
979
419
529
739
127
657
982
13
693
913
585
720
281
754
844
300
531
180
916
338
614
622
675
331
102
595
172
941
698
845
505
165
634
314
161
729
31
785
276
137
846
571
333
836
464
65
97
847
102
291
420
612
52
898
781
172
784
444
826
666
717
312
626
330
529
241
725
339
622
91
614
669
985
901
113
705
579
874
804
723
890
114
174
409
193
882
702
354
308
261
544
327
355
328
399
228
526
407
622
349
691
846
3
23
139
738
319
900
38
76
523
818
692
42
722
971
341
502
699
974
623
360
410
857
59
735
881
205
936
725
710
236
844
283
661
639
586
615
133
854
455
328
816
977
595
815
64
660
813
946
824
159
741
991
850
895
845
228
191
247
209
950
287
714
934
624
384
205
519
650
96
550
734
889
403
103
967
723
199
404
604
275
395
560
710
779
970
722
842
5
449
889
382
219
973
836
19
613
146
860
225
718
222
131
40
813
707
970
705
825
354
810
882
670
964
567
955
734
331
737
172
134
500
881
241
176
117
495
250
278
958
281
281
868
762
901
242
332
913
839
46
711
610
134
263
504
809
826
515
352
392
122
470
457
931
15
569
538
13
594
267
155
733
886
596
905
247
897
370
132
882
596
366
633
21
464
814
107
891
710
67
350
314
949
343
15
385
374
224
317
678
810
226
683
107
885
421
672
785
658
738
763
971
756
574
323
413
429
570
844
303
763
838
302
802
264
662
451
460
194
337
170
506
86
940
169
328
953
314
972
962
444
606
896
607
372
563
628
162
686
899
24
861
117
918
761
288
384
4
769
585
863
130
383
800
150
468
114
933
788
16
31
694
85
761
764
660
843
435
345
516
137
107
190
766
421
50
892
526
251
357
838
225
270
303
659
908
593
242
638
497
115
968
547
123
789
522
866
527
773
494
124
681
767
974
215
577
287
158
729
861
786
788
585
26
342
77
798
190
414
899
402
84
940
915
143
64
788
759
573
164
486
217
589
245
193
192
472
683
399
262
848
915
452
459
890
28
570
171
806
810
170
528
930
903
967
958
895
226
830
121
977
90
172
876
432
870
392
887
976
420
169
361
252
357
813
703
344
57
592
406
215
41
839
830
560
999
53
523
568
27
24
323
247
491
848
109
688
560
25
842
9
748
876
376
195
510
536
674
323
401
520
758
396
348
737
597
581
895
3
279
923
216
631
220
477
458
548
67
9
360
203
427
270
655
438
518
114
734
515
136
429
173
709
117
686
337
462
651
922
202
944
250
844
262
600
83
351
325
295
696
753
772
13
158
362
515
634
111
879
271
577
660
547
889
316
65
366
918
925
50
519
674
696
54
4
20
169
576
780
121
112
114
328
709
237
665
523
726
67
190
413
76
215
111
138
602
723
472
449
771
304
138
440
651
425
203
48
696
429
740
891
785
523
657
360
285
451
552
117
938
588
722
531
780
846
927
812
10
967
856
924
318
934
2
899
799
730
454
620
823
121
648
548
803
352
111
209
257
844
626
526
509
632
304
834
98
887
522
677
426
652
605
596
790
197
673
307
372
212
490
345
19
480
213
956
70
236
899
979
855
157
931
428
365
405
671
851
681
787
24
156
341
561
22
867
720
935
342
607
220
317
723
740
343
860
972
163
675
882
319
401
881
664
713
951
523
163
243
41
834
463
888
191
484
790
501
91
579
621
891
133
772
530
773
23
742
469
756
768
535
791
753
919
491
221
204
966
749
129
69
777
28
686
89
580
941
170
615
540
790
299
940
532
268
655
703
447
522
538
722
786
682
57
696
878
280
324
904
461
583
829
138
691
634
279
951
648
474
546
503
872
576
220
448
433
906
826
960
197
968
658
259
703
587
563
55
649
185
926
307
293
267
20
419
794
688
450
180
124
703
361
931
623
170
845
706
996
117
696
340
380
584
268
762
511
6
284
371
447
526
796
75
888
191
10
376
11
498
506
327
367
382
79
210
315
863
665
221
640
328
926
466
113
718
884
43
75
967
300
352
576
201
132
884
184
493
800
35
336
912
149
216
245
54
472
198
305
276
482
788
182
422
58
53
675
430
232
329
448
781
182
635
574
337
38
887
144
548
81
503
931
558
648
578
562
72
669
553
462
852
38
156
128
548
655
782
881
339
153
317
340
794
834
586
374
388
724
110
997
757
999
926
848
844
334
580
482
773
914
779
794
543
208
255
578
527
274
855
142
609
769
467
274
979
216
110
643
802
167
664
25
970
823
952
804
756
433
831
55
543
382
893
416
599
9
651
722
18
398
679
105
239
387
825
198
735
555
798
428
729
897
907
221
364
611
646
5
626
214
911
322
379
14
852
787
64
568
67
826
758
90
613
744
195
267
200
545
167
853
854
751
501
669
245
487
63
327
376
888
355
907
502
565
423
683
468
350
142
637
70
715
47
975
922
838
926
185
786
230
975
274
291
96
603
862
301
330
69
669
16
81
277
62
565
186
690
880
302
495
571
220
517
114
583
375
160
624
150
26
545
721
933
232
135
593
211
646
186
666
91
235
315
86
208
887
813
527
913
97
98
269
847
731
12
191
458
259
484
157
121
483
381
481
400
371
577
375
286
167
765
432
832
168
900
896
385
975
551
535
800
605
41
313
518
525
257
764
911
504
963
160
373
787
285
549
370
280
100
240
111
700
691
787
538
292
859
697
816
415
895
139
790
713
567
415
887
900
914
916
341
611
236
925
966
90
93
72
639
830
47
60
876
37
211
535
304
340
658
90
502
668
494
692
525
764
329
909
914
116
433
125
361
237
629
937
197
942
71
82
973
92
207
142
673
54
912
814
110
532
434
264
355
808
123
880
535
680
800
294
194
10
780
487
366
439
323
732
611
594
833
679
602
913
34
25
298
832
107
173
430
767
928
466
771
536
863
871
273
838
489
217
804
131
310
604
160
950
651
374
741
965
547
965
759
379
544
478
781
490
873
281
35
107
547
102
327
489
962
141
966
358
549
311
951
604
842
354
470
652
340
520
73
461
190
417
846
473
527
801
825
946
871
37
204
824
152
709
280
369
279
338
208
53
410
282
508
104
74
938
832
336
12
538
828
53
410
964
979
885
300
499
219
972
646
735
55
267
926
33
842
125
582
176
408
847
967
956
963
244
698
238
832
719
23
926
691
381
954
579
470
558
680
787
97
627
823
486
235
795
472
368
658
873
420
267
129
466
417
66
308
504
827
177
881
342
347
431
885
630
864
571
207
244
661
810
417
12
980
146
942
285
445
110
112
309
450
571
796
174
872
84
484
153
40
16
514
532
790
818
955
364
54
167
97
562
782
935
948
127
78
254
214
900
261
441
511
156
863
408
867
455
950
933
588
617
630
857
296
57
448
310
226
981
340
914
831
110
38
760
240
861
597
734
393
143
77
738
182
992
903
129
421
145
324
38
7
330
356
190
613
658
792
91
81
178
543
422
713
441
126
718
354
343
406
653
818
185
515
68
136
222
213
95
709
776
979
770
482
276
131
198
138
107
713
138
382
275
555
164
356
808
306
235
280
951
576
981
612
758
139
430
249
999
206
631
716
218
792
489
369
158
662
544
409
758
275
492
867
992
452
811
538
926
584
146
249
675
220
294
279
954
745
420
703
412
894
575
378
182
768
835
303
855
308
762
708
149
488
826
44
32
581
603
590
938
779
441
369
42
935
484
52
508
779
165
472
253
756
524
231
957
334
155
691
658
856
127
819
371
388
593
943
276
397
167
533
944
229
957
107
144
168
653
802
706
904
540
679
313
782
825
612
538
567
183
346
371
702
936
505
823
693
448
621
698
132
616
895
868
600
319
360
703
243
581
473
679
923
942
471
559
133
295
627
850
306
82
788
297
753
551
484
415
113
84
780
276
386
297
461
151
198
245
675
617
91
542
241
690
158
165
501
813
869
236
625
492
86
228
359
425
978
545
828
54
200
639
927
964
936
745
319
487
497
78
401
946
536
356
9
225
26
826
65
236
384
525
707
628
745
750
882
483
191
79
303
40
841
238
650
346
838
247
689
94
609
433
730
651
321
332
585
201
745
499
262
793
891
257
350
215
194
530
272
680
721
586
127
503
792
954
215
43
998
73
619
355
16
681
854
576
619
993
655
205
519
179
573
364
420
497
708
648
44
50
452
913
526
541
748
54
886
513
405
445
248
545
872
77
886
196
329
507
706
430
764
97
748
528
168
231
346
702
180
153
805
377
212
529
776
995
358
935
85
422
852
416
175
778
42
242
930
883
409
176
424
958
2
99
406
590
210
522
752
941
167
191
288
412
383
13
24
301
881
697
713
944
619
956
791
258
247
87
725
766
783
990
243
389
333
828
917
230
310
391
324
674
909
523
574
538
87
454
356
933
860
288
785
44
765
421
661
436
230
413
964
119
92
476
330
202
7
46
302
74
177
776
648
8
574
648
786
487
604
18
465
732
70
947
3
930
831
786
216
271
135
954
42
75
277
704
846
757
476
509
658
870
325
202
547
563
783
386
934
29
778
273
934
694
518
702
871
723
156
246
370
17
958
488
447
514
358
532
115
104
157
265
390
826
756
190
658
125
21
25
526
247
839
842
71
491
30
605
210
852
482
702
901
665
417
227
304
460
976
35
996
389
608
164
801
283
832
228
359
654
515
968
165
434
867
67
339
990
725
982
681
319
788
361
946
959
736
94
481
925
250
334
750
735
658
538
27
288
484
992
247
364
109
12
106
772
663
639
278
987
481
445
825
285
723
480
520
978
455
786
530
984
211
176
302
10
208
674
620
806
549
129
578
770
427
757
717
619
859
374
837
753
266
349
382
103
457
658
401
628
87
600
786
37
58
797
603
86
121
985
909
469
732
36
630
718
351
544
916
114
349
972
336
883
719
507
623
171
580
693
224
527
842
332
240
642
43
555
222
173
198
84
245
537
400
997
374
243
921
385
629
776
959
148
532
262
537
462
562
823
321
713
644
898
906
139
309
824
180
806
732
730
530
303
800
860
598
924
581
567
466
182
952
12
699
560
796
450
235
27
781
975
2
642
533
489
534
851
563
105
674
209
791
372
939
348
102
565
681
510
962
308
888
663
573
380
338
659
785
791
82
395
772
425
230
350
647
960
178
358
759
214
768
549
252
253
451
657
772
522
936
300
90
68
447
792
41
682
930
310
45
727
257
606
8
958
494
361
378
364
161
823
772
970
988
771
614
693
736
512
926
961
957
105
743
24
655
491
614
815
57
56
171
173
843
972
341
549
462
519
156
601
975
52
660
877
519
479
433
998
274
816
514
785
525
127
626
84
886
549
496
719
294
446
943
659
525
13
361
336
38
218
278
90
177
158
394
836
569
264
729
132
993
218
264
411
657
524
396
679
999
835
515
196
74
972
496
15
465
924
680
1
958
377
181
437
974
719
905
396
506
316
314
741
61
379
941
824
347
728
963
570
38
950
900
302
923
166
786
128
127
665
996
292
581
942
195
1
495
967
924
805
415
875
635
678
87
263
211
426
376
227
556
9
30
152
681
968
113
596
613
465
900
573
432
818
589
428
10
203
734
360
460
649
674
425
779
469
591
393
251
315
476
970
471
562
552
399
531
920
949
589
71
142
91
9
91
156
149
69
799
822
146
261
211
783
412
572
424
44
486
653
333
721
874
219
310
42
289
104
280
467
665
618
41
980
724
673
116
517
671
121
473
883
718
643
663
28
657
93
570
485
848
363
242
488
165
703
562
260
567
467
314
863
414
323
271
362
561
167
216
304
295
360
591
407
119
747
696
917
201
605
222
236
91
2
763
957
597
78
115
942
572
318
42
151
884
313
933
669
776
869
695
316
26
36
893
907
719
722
821
684
188
305
813
811
502
647
257
561
253
907
676
526
821
745
102
763
843
220
450
304
194
394
814
254
527
178
667
336
25
108
257
922
26
455
641
120
702
117
812
761
454
239
748
736
418
745
291
681
845
294
86
205
868
301
841
198
422
941
308
852
430
878
993
296
201
875
190
715
122
180
510
682
507
131
719
299
360
272
824
105
17
964
704
927
62
170
183
358
993
492
218
236
439
665
658
948
136
657
296
986
103
617
576
759
142
798
939
359
430
850
374
809
440
290
653
606
543
767
512
919
549
56
517
254
220
364
187
636
370
373
620
44
312
727
751
484
425
195
692
831
646
581
577
748
68
21
909
890
291
977
106
435
295
914
502
654
279
674
869
67
115
830
514
428
538
325
429
79
533
300
451
763
790
628
522
985
403
986
410
760
984
388
39
16
323
767
895
411
154
282
311
119
638
777
685
141
797
67
93
988
945
462
684
613
874
909
308
839
569
411
516
771
261
770
638
811
124
217
304
821
560
119
318
115
856
960
742
90
19
458
870
766
363
815
833
263
458
802
223
742
346
782
346
722
188
901
297
176
360
291
614
458
620
836
439
413
727
247
417
9
24
58
965
242
483
74
287
833
719
808
814
135
724
387
598
537
669
687
907
455
59
778
680
789
389
870
153
503
682
591
213
580
3
727
796
134
849
1
392
911
12
755
753
946
523
191
54
246
580
952
645
193
72
980
438
439
948
439
812
757
668
230
558
752
646
588
301
522
895
73
49
751
329
980
356
229
363
915
996
862
978
761
724
588
130
979
119
392
52
202
248
939
579
82
33
744
682
323
55
741
477
642
32
253
759
807
115
810
519
211
137
661
262
10
525
655
310
478
781
484
142
950
729
376
988
906
561
805
244
667
23
159
141
336
935
363
580
286
167
110
855
90
684
153
638
182
57
449
884
912
758
160
65
973
455
980
562
508
369
71
507
311
711
508
54
867
514
207
226
936
116
918
392
565
222
144
289
479
243
579
818
996
355
523
702
845
130
653
272
888
55
631
731
23
442
750
399
72
459
21
1000
131
156
646
598
845
516
861
476
859
481
257
445
568
316
341
676
68
980
150
462
432
257
482
627
836
686
645
527
745
2
407
774
993
235
683
931
524
590
821
161
736
703
727
659
710
773
440
676
246
422
85
848
936
614
903
544
155
272
954
540
750
691
64
336
169
455
612
281
151
429
970
942
978
935
546
161
678
658
753
489
311
826
328
516
109
491
832
782
720
163
653
750
416
951
621
296
32
434
234
835
849
758
205
493
182
304
165
111
545
284
792
932
817
902
676
206
532
249
745
396
627
90
616
265
514
322
570
427
3
57
105
970
198
61
841
169
869
495
50
148
574
205
976
342
897
356
783
912
309
397
48
202
440
946
590
108
784
590
152
316
726
217
340
382
724
274
111
299
326
878
340
600
480
579
357
63
975
404
421
490
515
194
564
654
997
923
915
891
255
668
325
777
773
710
417
414
198
570
217
889
152
528
444
589
301
14
905
688
474
684
845
362
419
279
847
422
523
525
629
462
413
758
96
494
630
246
712
667
681
153
211
602
63
669
229
738
70
343
448
291
688
444
475
328
757
257
117
287
162
583
978
324
175
855
413
396
993
530
147
304
202
361
788
715
316
249
729
883
690
742
877
557
261
334
427
7
599
576
649
640
612
729
780
269
437
324
217
102
180
832
305
688
596
499
19
542
812
445
217
476
548
109
691
554
76
669
374
608
55
114
128
771
476
969
774
400
68
262
680
979
29
811
699
707
147
806
71
417
224
314
170
905
234
792
645
56
365
451
36
415
432
363
505
236
167
591
201
363
448
816
215
219
526
881
5
536
227
929
636
934
967
898
63
956
903
158
404
740
193
379
425
472
358
678
699
866
617
710
616
930
436
44
634
239
540
395
367
341
70
740
317
862
345
207
496
600
557
649
993
631
960
279
833
456
568
934
124
213
989
127
114
604
736
526
719
989
410
130
370
821
969
839
174
805
822
873
632
594
40
189
684
621
400
737
110
681
819
852
460
90
295
416
613
776
384
932
226
33
712
567
966
368
956
436
764
607
421
858
203
782
237
664
967
891
253
289
654
158
359
88
897
330
925
186
992
129
310
253
712
195
115
656
967
510
84
842
838
766
1000
718
755
340
589
297
528
938
396
900
409
989
496
209
147
247
475
984
771
466
634
768
667
72
426
385
308
533
886
449
79
174
98
885
579
344
864
457
550
148
533
475
915
944
573
432
692
171
130
189
592
334
33
155
506
820
983
487
826
466
666
583
548
890
864
615
526
962
169
307
337
133
254
678
847
764
988
430
444
48
951
922
111
940
50
778
805
116
492
909
472
357
576
639
75
187
383
640
446
693
371
427
575
566
885
791
268
584
412
967
424
809
540
498
798
954
703
532
819
653
217
347
467
290
282
334
37
398
790
303
587
743
934
391
757
759
559
574
742
29
499
443
970
515
488
262
728
655
102
773
512
574
29
194
504
335
81
987
571
355
27
870
349
857
932
965
988
157
738
458
550
613
877
24
834
960
216
718
26
556
480
545
400
135
433
417
161
461
57
112
808
559
953
468
98
876
738
710
166
78
782
391
856
149
315
458
558
729
375
481
366
464
253
506
910
369
569
227
269
176
542
548
604
667
67
213
205
23
351
119
544
128
930
84
524
836
475
274
612
733
378
76
705
366
738
882
59
890
552
327
712
559
902
996
168
860
945
338
561
210
667
869
590
42
418
653
652
664
958
932
952
448
811
398
417
324
9
98
493
321
125
76
976
611
490
429
415
284
865
262
67
13
991
329
158
548
705
965
732
555
509
474
413
832
910
189
796
930
486
594
725
754
30
482
460
394
243
429
337
609
186
656
365
865
895
835
119
682
299
249
558
26
936
100
492
345
831
489
338
622
911
542
497
458
341
697
352
267
165
212
323
82
960
442
873
487
427
869
228
181
184
544
169
772
627
376
986
107
807
500
819
55
77
851
859
281
706
117
847
197
242
560
756
653
830
276
486
818
217
553
38
242
189
820
124
750
415
815
682
928
580
259
466
376
979
499
488
841
127
567
98
124
552
630
878
545
774
203
713
599
192
493
560
561
125
56
143
845
923
380
186
281
962
766
191
553
812
469
754
673
957
677
251
403
36
263
99
26
621
936
201
878
549
71
572
650
759
88
942
75
278
111
261
599
706
573
67
242
962
164
83
300
647
40
608
887
79
68
640
288
577
225
853
602
64
728
916
625
681
744
335
749
715
314
171
850
405
857
914
794
454
503
63
779
142
504
331
526
383
688
899
532
284
356
343
643
189
953
683
368
580
980
138
297
391
844
847
637
586
358
291
446
885
416
953
441
366
565
322
292
82
803
1000
181
321
71
166
786
70
840
821
767
831
660
682
77
25
543
791
95
311
543
45
762
89
228
666
218
957
518
123
326
604
701
228
29
950
918
73
671
76
88
735
568
63
722
542
320
983
114
705
164
166
716
408
537
28
480
713
978
755
535
813
483
135
675
537
400
622
208
592
136
795
414
578
265
766
30
447
369
190
398
728
399
739
68
721
702
16
848
501
83
577
3
204
5
750
448
837
548
565
588
408
370
381
601
951
961
778
564
299
382
163
824
784
643
890
715
125
678
976
525
114
911
258
681
105
943
824
598
782
3
187
127
967
596
304
904
243
81
25
330
96
105
197
844
543
353
605
510
801
652
351
824
201
982
788
183
602
262
23
901
498
311
759
758
442
728
256
694
693
152
741
455
990
190
533
405
343
468
985
465
875
62
719
878
694
868
512
65
213
630
351
781
604
344
167
693
983
88
895
62
58
804
571
61
867
346
98
579
48
258
462
207
167
954
949
614
786
701
497
336
895
253
914
989
629
688
144
174
875
930
100
898
80
156
101
183
193
73
569
755
712
115
695
655
638
863
347
894
931
670
306
484
377
3
160
573
919
555
389
745
578
962
6
943
603
164
750
594
92
867
428
766
697
770
587
660
637
304
623
899
469
269
178
869
881
716
244
170
191
187
231
54
998
641
788
942
802
925
627
551
33
666
380
220
765
492
86
118
533
403
229
314
469
206
630
566
803
511
630
324
231
989
114
197
890
386
149
826
311
927
439
443
931
924
621
982
533
860
325
668
539
121
404
428
6
494
450
210
477
153
239
534
433
670
404
679
126
482
533
549
923
329
885
81
891
964
993
881
188
835
817
226
708
572
731
129
907
292
203
317
213
262
734
304
992
378
693
42
827
670
134
492
597
384
17
149
313
352
412
835
314
649
796
67
198
905
741
480
441
221
865
6
61
200
163
243
149
221
167
738
448
116
329
454
611
462
10
27
142
701
614
304
546
282
29
855
936
953
569
998
37
275
672
873
874
741
732
827
549
876
109
959
455
314
706
9
238
305
782
945
367
606
615
701
884
434
178
893
927
366
809
479
321
833
62
989
288
764
962
34
990
552
414
836
765
841
355
763
373
993
646
775
488
561
960
966
244
817
948
803
556
183
204
124
345
667
998
118
83
35
336
941
356
537
361
235
213
745
204
68
899
686
176
344
353
218
935
957
156
814
912
983
630
34
484
209
188
780
506
606
972
383
599
703
78
632
24
134
324
328
418
848
624
274
438
307
849
767
828
882
881
922
243
308
395
829
372
127
261
512
744
217
649
621
855
954
74
177
280
178
297
237
152
656
942
875
908
203
745
40
694
64
704
148
47
719
220
610
813
621
129
837
807
174
110
962
600
673
771
55
812
830
928
452
838
493
751
193
351
225
578
584
896
745
789
848
734
973
472
978
810
774
762
608
829
984
511
703
957
307
25
768
646
441
433
394
407
150
887
594
598
97
39
236
639
225
562
735
318
274
860
59
818
977
67
893
674
69
618
872
224
218
229
492
504
391
748
184
598
758
22
470
476
163
713
681
700
834
919
311
842
879
174
409
734
405
256
469
396
178
149
69
844
289
152
892
18
586
670
932
499
121
367
487
982
925
11
17
960
589
170
460
604
367
810
261
847
429
286
370
281
359
107
401
258
225
303
683
833
375
236
902
597
940
453
978
253
634
654
375
458
524
156
945
623
623
790
412
50
618
639
465
685
45
83
408
751
283
929
411
340
386
441
219
138
66
634
513
31
888
326
952
94
96
33
976
662
422
224
271
503
648
800
861
600
854
339
792
985
711
784
530
283
905
171
7
147
957
142
572
42
77
338
215
696
130
599
128
36
734
372
987
867
131
748
619
653
93
686
105
499
599
682
923
657
945
975
826
35
506
4
885
276
846
204
336
814
139
530
398
479
644
320
518
495
212
879
90
827
524
240
220
128
439
259
948
445
472
535
138
492
753
119
770
337
254
410
956
612
439
135
907
219
760
580
693
365
194
154
777
132
215
453
479
228
702
105
846
482
817
119
543
660
545
950
6
201
321
208
494
602
751
822
608
57
537
815
749
246
628
381
483
997
685
637
569
473
722
292
446
691
163
312
289
838
218
157
932
600
78
93
263
817
638
597
735
769
190
561
384
873
881
902
233
291
803
627
617
273
410
431
125
972
493
792
310
575
660
54
111
965
827
547
661
853
993
904
253
818
530
72
25
844
788
826
289
988
135
744
231
560
110
840
531
970
831
626
743
186
337
851
996
42
635
58
838
389
583
741
294
394
613
331
654
449
358
760
9
452
423
500
188
659
925
109
600
282
91
272
396
402
959
974
801
786
157
710
545
658
25
832
160
273
286
933
56
507
365
751
578
778
788
459
722
266
217
907
419
112
245
900
157
753
337
762
988
804
978
627
854
16
373
141
165
701
749
275
485
396
608
710
326
203
656
781
867
322
760
398
274
367
759
376
749
683
113
265
589
68
634
416
603
147
920
528
653
794
439
578
143
560
128
144
760
190
141
158
491
441
973
574
148
813
895
729
475
483
718
288
625
724
512
973
511
771
69
931
473
689
115
556
78
624
904
48
766
313
110
858
216
414
952
959
342
128
451
677
672
632
865
197
225
60
783
422
87
704
967
274
296
873
433
642
994
541
599
52
117
957
330
384
361
651
749
634
516
407
147
490
869
736
908
812
522
872
930
711
220
603
651
699
574
191
535
544
361
483
685
137
150
419
491
828
801
736
776
702
881
833
773
377
631
827
886
221
517
804
366
975
446
516
322
701
971
538
830
913
415
797
659
315
66
724
874
771
426
754
57
291
921
180
779
139
569
495
556
269
368
321
940
163
102
692
233
297
320
225
461
394
281
598
838
934
669
369
633
768
961
211
407
449
180
660
296
133
664
83
420
716
176
811
589
583
289
539
32
828
985
727
407
889
77
341
78
387
713
260
586
723
979
645
851
292
335
86
913
957
509
38
584
896
178
287
648
897
353
595
805
426
626
664
582
439
994
285
169
527
179
378
817
244
875
572
73
589
3
322
10
10
10
262
444
607
715
749
103
915
117
554
825
454
595
285
495
290
62
779
417
505
270
124
597
51
213
191
433
516
70
613
789
198
715
576
621
60
772
873
15
620
281
325
478
809
448
250
564
566
51
829
115
78
127
154
557
573
683
501
229
418
95
381
268
818
645
429
243
224
445
603
974
342
356
702
488
143
298
489
480
384
349
99
9
904
498
486
894
548
220
811
839
385
256
713
55
261
330
135
248
576
684
78
824
67
319
513
988
187
41
311
703
615
808
416
895
397
326
190
821
146
790
591
305
650
785
908
792
61
285
728
500
523
617
628
895
426
375
406
610
762
87
507
641
827
218
6
540
958
570
674
970
250
427
836
873
101
593
406
383
996
977
811
285
50
124
830
692
158
128
340
594
478
312
779
681
131
219
532
866
916
916
411
575
740
770
974
587
291
765
267
544
819
992
403
998
303
157
356
221
942
569
268
558
591
250
634
212
226
690
676
680
501
268
304
482
151
745
305
287
539
562
936
251
75
790
637
682
104
875
714
23
784
296
683
520
691
53
205
285
731
647
526
679
18
81
414
854
537
87
789
932
54
419
871
420
195
898
94
711
967
900
430
638
467
96
668
106
959
958
255
293
743
521
784
914
952
401
188
280
613
417
39
44
651
504
577
476
774
612
280
293
387
301
224
146
816
429
671
930
752
236
651
733
9
89
610
269
785
721
196
968
373
528
693
21
324
318
426
516
862
433
445
954
31
927
679
485
600
836
960
184
153
834
914
463
570
452
281
72
33
986
922
946
193
399
457
645
599
913
744
299
810
716
819
97
623
430
135
404
34
414
376
281
824
148
937
414
113
936
670
378
72
800
241
8
753
114
342
669
467
337
82
951
144
596
210
822
562
740
594
860
189
415
565
929
283
896
723
392
167
539
377
404
982
136
485
50
198
395
55
434
473
262
720
621
367
725
604
132
621
464
998
223
148
718
696
876
698
441
383
888
566
761
840
968
782
465
486
117
786
19
562
699
243
9
318
672
166
620
120
852
853
520
729
643
589
907
197
951
148
998
700
272
255
812
696
286
631
673
753
478
498
906
476
34
195
824
988
565
944
180
509
969
715
196
658
783
488
54
519
586
438
670
372
923
825
886
61
560
302
7
712
648
558
65
796
157
592
150
256
942
610
900
507
494
192
116
21
521
562
563
292
209
89
743
504
101
597
438
508
345
92
587
145
385
656
65
795
731
933
897
209
243
103
64
187
493
804
1000
584
983
155
342
980
381
267
11
177
347
580
177
281
521
653
265
75
638
978
397
542
426
992
959
394
730
848
393
946
979
668
806
785
759
689
395
328
626
449
427
838
544
807
820
667
24
767
521
640
889
803
566
786
76
399
580
779
911
420
51
482
357
950
183
387
446
894
946
931
589
884
713
571
62
386
108
827
425
270
774
1000
694
469
764
714
33
548
439
619
69
196
76
3
282
334
183
419
284
512
145
484
413
729
387
360
119
890
426
582
154
863
794
597
111
849
346
429
627
368
817
907
59
719
584
587
746
499
434
14
357
621
124
324
340
210
506
640
380
799
459
280
17
823
576
329
175
717
320
146
304
446
937
919
720
309
373
232
433
979
350
430
256
626
49
350
606
820
976
232
721
986
931
251
336
52
998
92
759
715
775
699
95
734
226
172
132
57
885
813
822
299
344
244
352
712
100
349
671
386
311
926
393
823
880
765
410
481
696
548
262
856
445
111
705
649
991
125
902
870
247
178
326
428
126
804
306
340
313
660
540
769
755
283
201
724
727
826
344
321
534
607
428
750
667
975
418
130
846
379
50
685
153
668
388
797
685
712
173
799
745
836
259
391
874
406
146
411
216
99
478
515
509
632
103
701
446
621
714
213
28
582
678
677
206
475
452
257
185
193
436
58
48
490
44
237
500
112
520
815
752
211
883
299
108
833
191
969
177
652
658
195
902
367
745
289
311
670
895
423
918
757
896
968
879
103
445
688
763
34
595
732
665
574
451
760
311
254
578
844
233
717
526
338
352
313
777
708
349
357
551
544
280
199
96
344
674
188
142
619
332
719
616
176
734
509
649
272
530
861
823
716
422
290
165
549
873
600
534
217
49
824
120
846
115
570
107
479
621
312
824
549
856
588
3
585
978
227
462
262
125
37
165
243
926
207
576
346
426
482
346
84
984
227
266
407
191
16
748
435
561
889
829
687
567
657
203
630
21
652
519
435
753
551
744
758
432
556
272
145
227
357
179
89
518
872
629
835
878
65
690
256
801
455
560
247
637
589
674
963
797
158
967
37
693
978
529
924
548
290
680
675
991
645
375
242
859
663
888
575
195
87
131
719
832
774
56
6
366
465
825
899
529
767
239
23
362
100
775
936
485
671
569
190
888
390
647
314
748
862
655
121
580
158
884
188
244
474
487
966
716
440
632
320
153
840
506
335
860
476
584
702
739
625
761
718
757
129
631
81
178
915
101
257
247
93
85
805
44
409
324
265
149
492
314
526
89
366
208
693
781
265
377
956
207
613
761
167
909
544
657
86
287
982
500
131
211
8
442
853
991
913
769
856
362
536
589
176
348
13
895
583
935
372
171
350
431
459
417
651
942
647
75
813
882
706
741
856
223
187
973
163
576
270
1
912
981
365
342
145
128
309
126
169
393
892
336
192
205
720
97
126
744
604
43
203
193
141
376
409
837
273
348
233
52
400
440
493
380
423
111
986
704
398
428
896
964
726
619
700
454
132
764
313
867
91
283
6
62
335
695
607
539
423
787
525
470
406
313
426
206
684
962
644
419
377
185
996
307
141
209
371
811
661
575
599
525
387
146
150
287
730
75
486
690
782
263
934
593
684
227
695
946
1000
36
836
525
736
539
647
427
67
511
33
724
982
491
553
699
994
394
879
738
95
278
861
884
258
888
393
966
180
781
831
829
790
501
598
554
275
882
951
4
598
165
464
590
62
727
336
701
324
726
756
609
907
808
719
90
732
254
759
213
67
805
672
489
504
600
226
153
345
479
394
560
406
335
807
843
860
952
956
498
873
610
640
430
305
378
456
183
150
186
665
147
3
380
107
738
519
198
363
223
929
937
176
355
7
630
798
161
109
118
415
744
320
827
729
694
250
350
535
357
682
218
896
378
456
924
967
45
971
78
174
120
880
280
450
255
744
322
970
340
421
834
654
503
462
218
108
222
599
775
255
404
955
843
200
871
554
99
182
82
507
356
995
817
993
133
785
947
436
736
932
40
416
3
5
789
118
371
622
742
256
330
375
728
668
211
923
666
809
431
160
732
483
439
445
387
800
60
207
218
113
379
943
347
573
961
74
785
878
657
584
981
77
74
641
625
477
245
723
52
899
954
592
903
429
121
45
935
394
381
831
542
445
430
401
598
265
906
963
443
611
525
806
351
759
711
924
761
77
320
828
183
467
612
854
342
213
946
504
557
317
592
453
309
567
207
967
145
506
787
196
996
357
169
239
763
428
298
204
663
386
607
941
223
888
295
977
643
789
577
386
755
302
554
800
97
658
213
308
500
973
338
371
579
209
886
946
387
21
274
435
577
194
945
493
81
474
99
917
341
764
519
471
454
616
547
24
294
802
223
984
518
700
590
58
458
426
663
399
981
668
145
414
529
511
957
752
137
691
536
168
511
593
42
463
926
357
232
96
910
735
42
591
219
49
125
207
290
57
428
713
887
7
929
7
535
249
246
16
31
180
187
4
135
749
374
483
33
177
308
251
579
732
393
205
2
790
713
349
432
341
661
880
235
469
921
307
361
597
349
765
294
62
373
985
92
799
888
16
217
761
526
771
289
853
593
386
435
932
452
906
50
17
702
866
951
63
365
388
102
850
351
374
991
667
886
145
467
172
799
646
567
304
993
492
663
532
220
942
440
980
710
224
673
518
823
904
791
306
812
479
535
567
284
696
512
196
298
713
918
106
943
821
556
110
826
36
5
186
28
300
429
575
165
10
625
685
705
237
242
333
969
170
363
214
362
402
173
419
902
857
794
83
635
160
636
758
900
859
607
717
310
369
806
757
663
963
8
796
56
981
177
884
530
266
786
668
862
890
590
855
500
698
706
889
615
451
162
890
675
773
565
14
782
460
427
562
409
699
602
1000
954
734
877
730
305
810
425
526
354
559
290
681
789
693
615
777
749
676
964
560
632
63
162
15
190
922
331
65
342
319
756
702
470
568
474
390
44
574
861
951
25
56
651
57
930
720
200
469
910
752
458
891
96
465
211
26
870
327
544
907
89
476
372
414
800
946
948
869
391
866
965
128
268
56
985
359
68
817
802
87
122
47
731
358
887
803
130
73
962
142
990
299
31
207
938
260
694
271
592
273
807
102
772
561
741
418
820
524
914
248
574
786
695
166
891
421
799
45
256
795
773
980
313
725
24
962
920
712
629
370
832
433
165
320
924
187
799
313
43
325
759
655
762
804
984
582
741
1
246
369
536
990
208
289
875
926
802
404
825
272
601
733
698
176
770
35
703
240
176
50
162
395
716
715
275
668
162
962
661
376
290
911
904
856
560
929
343
273
541
221
331
33
702
837
159
205
863
407
375
308
80
76
347
449
744
744
751
309
134
478
365
968
981
155
637
697
513
193
382
604
756
987
113
205
597
439
483
562
184
613
130
123
788
924
555
848
730
569
371
80
411
798
541
796
474
342
316
204
834
556
826
60
418
415
904
435
588
833
53
217
922
950
75
83
956
556
723
646
242
401
693
583
196
731
225
17
148
723
241
290
131
616
371
585
462
186
144
143
214
75
771
469
429
255
405
262
698
958
374
554
77
988
336
123
266
779
710
53
980
629
596
554
851
211
997
183
413
916
808
344
85
1
480
695
217
518
898
754
316
879
363
379
761
396
569
838
411
965
742
529
541
832
410
110
7
450
673
324
414
555
506
354
280
429
207
87
723
598
390
274
719
108
667
237
262
17
322
463
996
702
180
511
714
738
124
771
269
116
481
172
628
708
411
710
792
565
993
390
133
629
172
284
97
372
528
376
183
161
387
16
168
438
952
258
925
355
276
861
464
82
619
720
752
152
628
930
90
693
914
757
209
481
489
140
407
247
32
751
309
714
76
220
143
189
157
209
385
790
761
165
18
182
725
157
78
287
492
755
915
377
382
430
955
267
105
229
175
295
304
183
608
750
196
191
127
984
277
10
649
772
694
212
413
376
440
924
983
792
558
921
198
395
96
585
544
23
782
166
806
554
693
332
321
532
983
516
247
786
229
515
93
227
138
884
871
273
289
774
791
271
148
867
463
488
404
547
307
348
371
370
949
227
222
345
895
620
637
978
505
299
314
931
185
651
252
79
442
569
470
135
842
571
790
233
170
878
753
836
980
47
521
610
584
268
290
50
571
784
855
266
281
724
348
100
160
916
696
976
139
59
728
439
458
132
468
43
996
152
156
180
125
440
455
437
391
623
997
287
353
940
159
594
717
426
422
460
649
933
660
273
677
923
691
465
137
128
229
328
832
163
671
576
94
917
819
818
266
345
106
340
396
277
901
935
936
370
164
966
144
779
593
745
30
414
827
615
16
589
835
562
94
863
695
667
214
874
862
304
442
348
785
925
54
506
206
756
931
260
321
732
753
279
198
71
450
288
474
640
544
240
308
35
397
980
928
301
610
920
844
632
610
576
386
157
830
377
120
391
380
420
421
795
33
117
409
790
979
821
99
133
471
388
715
986
439
97
340
252
960
568
969
465
60
160
509
265
547
133
739
202
536
378
2
289
675
516
334
600
296
489
32
232
475
508
972
898
476
915
382
590
681
801
506
723
460
988
880
240
1000
704
734
233
531
567
698
167
795
128
313
129
664
938
795
872
56
482
803
378
481
284
904
286
384
196
302
700
442
777
557
184
341
668
923
416
96
396
698
117
961
278
675
968
70
121
116
5
124
56
610
781
755
578
584
640
344
920
695
268
899
585
632
24
389
790
677
658
222
491
330
92
861
577
647
732
555
106
331
203
424
828
235
22
308
643
473
718
186
225
523
279
613
131
574
387
301
814
823
994
568
505
795
560
269
445
38
688
985
778
382
502
642
271
488
144
131
186
613
936
274
517
275
184
748
233
452
973
375
847
985
636
833
456
229
672
407
288
61
560
998
493
58
232
543
604
813
857
930
151
427
19
695
205
586
268
162
791
89
316
464
854
180
815
120
865
801
581
940
584
194
669
518
524
993
360
188
152
928
702
55
470
470
423
621
213
236
916
283
279
254
915
548
260
824
353
578
544
963
439
607
451
25
739
349
275
218
232
269
801
405
963
294
787
597
130
793
343
692
629
646
142
700
534
468
747
829
823
714
763
202
183
903
57
767
611
126
843
102
551
754
155
459
556
474
69
815
45
858
545
506
828
687
738
27
78
770
22
722
984
392
770
875
644
433
961
418
1
865
423
576
916
920
989
634
430
92
13
428
647
973
970
332
632
262
254
974
986
558
178
584
817
373
727
384
913
939
618
674
676
836
520
912
34
616
689
584
375
353
386
797
383
359
600
545
740
260
645
982
167
646
272
474
622
878
648
447
70
572
7
781
485
328
1000
742
933
665
487
42
257
605
57
417
700
715
153
902
307
731
738
325
20
416
842
123
203
521
654
515
780
909
244
31
505
525
648
308
462
222
104
278
48
812
558
121
293
9
930
123
191
872
59
244
954
755
476
458
282
332
794
952
377
30
920
123
697
329
314
419
692
475
17
419
468
632
512
377
149
292
715
50
751
80
949
298
331
595
45
39
182
563
33
648
107
948
42
898
737
246
402
95
554
231
430
16
186
314
621
986
910
111
688
922
206
427
761
482
870
825
80
625
266
439
572
983
859
730
289
362
493
364
904
959
319
790
857
227
634
710
181
219
283
110
637
386
908
477
59
270
252
843
754
662
514
500
700
167
340
918
111
265
512
524
702
747
165
187
354
256
508
450
263
42
159
201
374
705
328
994
95
197
320
757
105
859
156
992
513
504
17
876
588
650
351
729
763
550
180
881
244
134
264
470
362
445
742
91
437
138
765
316
235
871
888
193
494
573
710
659
793
173
274
132
110
552
531
97
259
130
515
204
3
614
848
990
799
893
725
186
422
737
392
790
205
321
751
390
255
685
509
223
214
849
216
135
793
996
650
774
11
287
674
605
652
139
579
533
12
662
547
228
93
236
801
524
56
607
389
225
859
592
287
96
52
902
327
942
111
8
148
269
211
44
295
762
47
184
807
863
635
835
315
604
884
979
708
161
825
376
392
886
299
459
246
621
427
607
376
941
551
979
96
759
989
51
359
336
264
414
701
82
280
427
324
838
429
299
122
209
554
641
666
243
274
432
400
113
333
820
307
101
896
981
392
551
339
297
826
918
526
415
113
343
874
984
661
634
87
898
199
243
593
520
136
441
242
670
14
520
430
163
245
814
998
827
713
59
103
977
512
242
953
737
930
426
123
180
59
728
136
355
256
458
148
485
671
656
865
339
730
757
298
449
854
560
475
180
842
399
764
607
446
135
179
167
500
184
935
108
937
24
523
644
902
184
876
363
212
45
124
830
649
680
393
336
932
229
699
300
159
370
484
565
774
765
79
201
93
445
876
403
630
154
703
434
963
970
415
513
750
922
113
989
618
49
198
716
145
658
987
714
108
668
451
616
152
168
269
723
44
86
685
135
748
135
914
305
499
344
618
697
433
182
3
242
17
762
753
824
414
556
49
551
517
279
562
16
299
330
74
413
72
395
864
97
20
670
783
376
357
527
751
619
798
195
394
431
978
855
202
452
920
673
378
745
13
176
837
665
201
387
968
902
266
656
464
81
620
308
374
686
420
634
235
140
378
812
692
175
514
32
581
259
142
342
517
573
673
893
107
773
26
898
401
616
512
987
352
379
134
466
9
368
539
565
638
329
62
616
453
743
878
727
134
796
585
86
73
550
654
647
120
94
583
650
566
457
389
72
577
141
287
390
364
2
589
809
304
467
356
192
832
439
906
211
486
929
727
286
320
770
699
891
978
264
938
726
690
297
709
442
285
583
285
741
63
124
601
853
118
83
939
979
723
260
792
888
676
506
252
450
957
331
1000
570
305
900
361
133
379
49
94
365
507
808
69
906
488
796
434
178
379
80
296
684
258
563
467
304
237
766
855
930
582
216
884
970
480
595
346
64
550
864
795
140
553
295
603
191
707
93
154
481
773
822
583
79
741
150
317
469
878
183
72
775
188
765
175
316
45
734
740
662
389
303
447
423
735
936
538
595
838
409
831
940
189
551
791
617
55
446
158
733
177
58
157
319
120
835
779
302
838
266
621
733
103
262
498
9
518
549
70
701
6
181
963
928
451
25
338
507
921
788
838
923
605
330
700
705
129
213
585
758
340
905
426
408
330
18
753
410
334
673
98
538
113
921
124
221
381
388
298
112
363
452
946
354
59
946
97
87
28
3
307
26
184
13
417
430
505
518
369
659
963
793
581
73
778
434
746
278
437
286
139
537
108
771
389
314
138
623
689
968
432
381
441
528
119
241
449
953
453
635
377
346
485
288
341
452
457
255
899
406
800
752
836
902
333
761
37
674
421
731
856
702
233
874
534
84
772
238
800
7
90
789
288
40
2
174
216
54
574
312
333
933
147
321
173
726
305
700
60
671
720
328
272
441
531
47
976
536
252
144
542
557
408
919
455
498
43
774
625
407
298
892
910
521
286
337
50
922
686
751
27
13
935
965
642
996
668
318
767
68
328
719
692
843
635
723
497
411
396
450
440
533
215
433
206
164
625
813
179
972
202
669
349
304
646
680
406
530
287
611
142
803
863
384
567
703
399
49
125
855
781
362
837
426
235
555
42
139
176
538
632
66
136
544
933
558
151
308
840
995
964
818
761
723
300
783
333
385
335
720
209
556
156
871
582
76
150
695
706
414
743
900
946
770
914
569
662
942
306
821
232
134
425
34
137
665
654
776
717
204
559
437
539
668
154
796
310
747
41
262
345
757
930
313
185
255
749
55
433
29
516
389
842
809
891
659
240
501
991
386
261
843
340
681
137
657
492
756
529
55
203
483
248
956
589
411
568
111
891
982
252
706
928
640
723
765
283
62
881
426
441
338
30
498
205
398
789
207
563
364
459
528
451
487
420
836
564
810
136
833
216
660
153
463
714
61
232
393
22
615
679
28
209
258
305
358
482
474
929
300
504
600
717
410
686
925
36
643
242
228
701
207
952
212
863
503
972
558
902
15
67
914
620
305
876
158
562
719
814
65
289
79
176
565
293
272
698
931
500
198
426
951
299
299
79
305
523
984
944
355
14
548
648
387
587
542
230
188
574
332
553
884
935
837
761
347
464
773
581
330
46
685
497
807
774
653
136
872
914
30
361
172
340
870
636
807
800
670
401
171
150
146
163
379
701
555
100
792
897
478
622
178
252
219
234
955
596
802
453
71
67
50
170
444
517
13
226
811
810
548
749
257
561
400
50
952
500
687
677
200
305
801
810
6
928
691
369
602
627
285
778
114
568
986
894
232
601
731
857
302
987
643
571
904
886
35
709
537
66
810
740
552
314
910
329
636
415
81
313
621
761
122
494
63
715
374
607
519
861
66
321
832
496
389
279
352
204
980
209
255
873
207
620
767
840
543
188
86
166
445
901
90
257
39
521
428
40
125
911
439
506
325
3
388
651
644
744
155
43
33
591
699
645
386
525
728
3
491
647
892
635
570
60
457
838
958
57
127
644
741
115
530
3
358
918
441
687
244
989
868
235
526
368
507
115
303
109
745
647
749
587
390
482
792
477
559
451
590
1000
317
308
391
582
849
97
551
1
864
883
292
575
651
273
886
504
800
145
807
563
323
833
893
443
739
554
408
144
2
194
389
308
899
762
250
785
224
141
643
486
421
558
478
187
483
514
874
975
758
688
595
269
166
122
619
796
333
726
274
79
554
106
936
122
918
378
819
761
659
64
314
254
105
355
444
307
702
885
103
615
346
480
767
159
717
126
413
910
41
876
212
661
96
232
653
607
49
241
170
4
857
401
891
581
250
79
790
904
292
178
243
228
535
971
765
784
349
870
315
463
33
430
591
763
612
30
285
3
593
207
897
142
248
758
348
741
70
995
961
137
341
2
699
190
955
221
616
667
261
258
60
311
338
492
388
731
128
421
693
100
763
439
143
907
612
176
698
959
918
326
252
403
908
578
74
50
876
248
190
905
370
607
992
520
611
650
494
232
656
134
377
757
653
167
362
809
184
472
224
255
106
920
960
920
312
292
474
864
128
855
474
11
739
447
427
258
122
345
680
122
976
469
588
756
138
526
533
218
785
761
65
846
525
133
845
56
151
47
532
586
622
504
634
787
993
497
678
662
944
534
93
490
916
479
716
842
196
52
176
27
59
305
395
904
183
817
390
30
251
355
562
682
555
95
264
205
867
741
505
608
309
834
666
562
749
478
473
540
371
958
287
627
863
261
84
585
360
200
438
526
649
650
211
452
442
33
334
96
292
678
259
927
750
549
618
733
553
129
535
348
804
321
614
462
341
916
231
391
184
465
971
255
862
404
893
120
787
153
427
978
1000
736
242
470
959
148
297
766
570
541
860
381
328
261
113
839
35
945
168
481
508
541
91
826
56
69
913
386
467
901
866
906
224
319
470
973
225
469
477
341
921
395
740
517
140
479
727
428
690
524
844
290
936
655
902
487
629
341
356
546
944
587
63
291
732
40
22
829
523
861
851
784
809
568
981
115
545
289
367
437
572
521
134
70
705
955
228
239
11
962
743
337
734
177
636
901
288
412
316
770
424
97
510
731
723
335
217
742
893
733
504
19
1
955
712
980
99
695
18
549
207
762
349
7
647
46
443
92
763
931
196
556
987
382
439
31
331
179
119
409
855
743
283
688
396
622
567
204
83
254
37
184
111
175
323
10
146
594
158
91
677
97
732
584
611
924
845
527
223
942
321
132
874
114
287
670
296
61
7
589
209
760
839
511
632
290
253
724
314
884
560
255
885
199
939
52
593
989
746
387
405
433
404
224
623
403
953
902
422
185
859
848
604
20
838
445
819
747
167
678
469
365
390
768
308
298
557
885
761
433
489
755
105
27
770
161
121
980
901
669
59
40
733
211
935
822
588
879
510
484
387
755
677
361
13
316
965
514
32
249
219
14
484
729
282
170
667
747
899
765
462
315
138
761
74
68
982
788
128
616
208
450
575
330
57
69
207
676
822
836
894
8
224
340
761
592
629
181
217
70
257
343
75
87
465
292
338
889
48
832
831
533
905
27
715
662
296
984
578
563
199
403
971
399
95
731
158
478
551
958
526
925
162
156
303
735
624
95
500
171
554
297
93
437
289
418
49
1000
481
978
329
10
394
136
303
153
473
437
52
156
1
524
402
320
723
374
10
13
549
276
750
21
980
464
652
753
696
801
397
211
71
828
718
256
902
226
10
159
301
209
257
151
814
681
738
1
280
214
258
239
940
34
12
305
483
342
47
435
662
890
652
603
948
969
73
136
569
331
721
38
425
175
667
423
940
921
167
518
387
578
478
450
84
424
389
358
992
423
106
32
900
901
425
103
717
461
985
650
447
478
120
944
45
17
616
383
232
738
354
498
755
519
263
530
667
299
189
758
444
133
732
233
474
928
382
382
452
147
3
854
839
729
324
825
784
660
545
438
840
413
530
206
597
148
703
597
786
443
222
864
505
541
382
234
158
173
338
634
754
135
369
172
217
599
1000
798
270
84
553
244
386
301
876
875
612
198
124
639
819
524
99
565
202
364
444
103
241
282
879
984
512
784
971
214
14
351
4
857
929
95
60
444
250
126
74
910
159
379
976
744
844
946
782
757
456
46
53
486
509
155
62
146
166
420
110
995
242
890
555
555
656
863
891
840
841
462
221
338
202
547
843
496
7
591
733
526
401
495
51
727
323
742
867
449
66
775
812
685
7
234
106
799
984
773
792
835
132
131
836
632
301
750
584
446
193
80
423
959
291
579
223
447
522
733
640
725
250
656
149
600
157
345
74
657
200
556
978
904
265
178
644
803
820
298
531
454
502
201
99
917
749
539
743
944
115
643
404
277
385
187
630
770
427
113
286
861
885
675
232
351
685
49
547
493
280
444
850
901
749
119
5
550
194
772
726
635
184
834
445
262
568
705
746
623
648
381
692
925
570
540
320
252
245
432
97
688
486
585
109
459
2
294
326
784
53
411
953
667
970
617
983
404
374
220
671
88
466
326
429
947
212
368
782
865
247
8
130
844
951
259
3
305
948
904
717
879
355
340
117
232
115
141
83
451
857
9
166
941
668
281
858
785
147
429
84
35
493
727
725
971
266
18
623
767
997
46
259
85
210
174
777
521
853
592
881
908
530
765
500
666
395
247
497
401
268
196
311
508
362
625
739
898
71
981
831
584
108
667
961
439
908
426
321
71
624
660
255
484
606
59
282
932
643
873
723
851
680
346
910
566
886
917
54
570
543
568
172
39
459
990
770
97
772
297
46
12
143
95
837
625
37
422
432
557
789
918
938
476
390
928
9
447
682
56
276
753
688
984
543
597
484
820
203
782
718
102
545
437
534
693
547
988
953
933
322
684
114
43
369
87
557
459
227
133
438
163
585
871
125
4
738
887
495
626
584
922
266
819
82
133
998
355
878
646
27
484
351
879
527
164
198
533
129
112
513
262
191
667
780
258
8
604
432
172
673
956
241
396
117
949
233
261
330
849
909
452
476
796
403
690
187
979
922
25
938
845
286
778
659
68
585
495
668
70
607
197
875
860
388
862
319
27
8
382
217
569
79
183
121
129
829
913
538
4
926
367
418
452
759
930
744
501
974
140
531
917
236
22
793
47
483
190
511
986
904
723
281
526
673
736
594
463
289
527
554
366
573
84
261
336
801
425
300
966
921
777
124
861
217
769
5
271
69
190
502
83
262
18
343
494
864
973
115
841
473
741
875
498
653
714
731
631
313
647
775
686
382
468
334
90
701
531
895
613
91
550
971
952
386
829
181
174
751
221
287
675
658
782
819
358
229
807
438
965
298
379
806
425
642
176
759
793
713
703
720
122
909
945
379
881
490
578
107
740
690
716
137
387
644
420
573
484
949
155
984
562
779
388
20
741
839
660
772
190
569
149
810
696
809
763
208
699
780
738
318
233
923
844
415
720
764
763
67
411
219
741
314
21
648
783
102
685
76
355
173
533
635
943
975
247
171
647
27
614
470
542
487
202
81
238
228
645
622
299
530
486
897
188
781
16
218
690
734
269
718
428
753
433
367
977
283
497
202
742
615
318
825
83
489
894
584
981
593
201
685
689
956
297
733
84
130
739
780
582
522
774
79
320
138
250
386
820
563
753
875
712
583
769
487
528
255
592
922
255
835
421
20
871
88
152
844
471
555
762
426
888
754
522
601
412
178
244
406
451
488
477
722
40
530
609
620
265
919
695
758
103
950
498
182
959
249
217
750
636
58
19
398
759
340
880
772
915
582
693
460
26
460
308
853
382
466
146
371
787
494
738
726
733
137
936
943
116
230
968
266
236
442
172
435
725
975
9
60
130
461
768
832
649
246
673
885
728
63
499
490
639
373
535
701
786
834
279
300
683
316
458
49
137
14
214
187
982
767
663
569
578
89
630
965
154
919
468
224
198
975
908
454
154
744
81
977
888
865
211
666
689
759
621
895
759
493
149
916
981
993
540
600
13
353
306
37
965
887
507
9
591
242
26
648
337
931
679
99
713
514
445
372
484
737
560
277
944
274
654
235
802
763
775
452
870
749
244
747
149
850
782
270
361
901
708
764
322
389
460
760
216
473
393
447
842
161
961
170
291
665
909
774
643
928
246
858
196
115
783
592
625
889
270
457
725
13
216
427
121
509
734
245
966
199
174
949
95
5
34
657
355
123
783
572
539
510
558
756
684
255
927
181
715
455
210
673
18
387
88
397
668
565
819
370
569
186
760
392
948
977
758
564
993
648
822
858
397
594
69
65
19
337
577
825
321
190
848
193
315
691
204
815
489
547
645
812
57
792
623
74
188
288
392
980
264
934
872
982
972
34
952
292
319
239
293
224
758
247
258
779
720
328
786
937
108
698
611
841
756
538
447
999
912
812
31
501
274
55
661
885
539
536
7
922
957
61
921
829
792
509
177
876
834
803
765
936
890
222
595
551
348
252
851
747
3
507
618
316
512
38
906
725
218
352
661
656
886
673
667
847
743
627
123
485
853
361
743
587
694
704
479
606
782
732
410
16
985
702
134
822
29
94
636
541
138
633
213
807
641
923
104
317
830
378
832
458
60
866
901
122
364
715
455
731
938
667
584
595
295
970
47
982
44
761
908
52
487
509
33
673
861
17
845
110
741
931
232
250
444
216
174
617
77
64
738
902
19
499
27
670
863
16
730
323
860
57
904
686
753
176
951
693
896
421
968
678
299
22
190
424
943
867
348
120
226
758
793
421
114
739
790
904
683
982
726
635
271
736
266
435
96
599
605
48
233
459
653
267
487
948
888
280
251
767
62
499
51
511
844
771
161
780
953
605
889
968
990
422
656
582
138
898
81
713
774
774
244
625
353
625
431
197
833
22
10
350
352
240
702
752
696
360
16
877
91
721
431
256
296
240
646
21
325
450
770
986
224
594
393
896
422
69
236
362
506
347
155
906
13
605
897
617
276
276
603
525
844
842
880
313
190
356
66
534
650
475
506
12
648
65
18
485
88
473
87
449
969
676
967
784
333
119
97
335
300
311
407
312
915
985
764
987
631
374
498
109
701
441
653
574
977
933
529
910
347
409
486
213
909
570
555
862
712
636
872
560
938
995
169
679
501
105
303
631
265
760
876
609
616
395
222
715
477
248
241
52
315
632
724
878
480
549
311
567
522
174
873
360
885
466
685
727
442
997
625
117
693
55
897
67
330
486
237
64
382
243
334
7
766
849
196
526
743
707
244
139
492
335
570
512
932
526
217
679
257
361
809
479
629
868
343
156
666
253
839
285
421
234
904
586
583
426
138
460
781
498
244
828
228
558
677
19
819
158
908
945
493
722
53
302
244
824
885
799
359
39
712
603
423
531
998
640
783
120
221
342
998
323
104
505
503
160
506
515
38
637
540
514
102
318
737
309
847
107
826
80
404
420
52
920
524
177
221
47
343
356
660
992
168
19
628
104
542
560
403
680
595
931
287
18
462
294
948
646
359
706
518
729
631
394
754
699
615
246
131
830
253
247
354
280
14
94
923
855
780
568
943
836
951
677
860
607
261
330
605
843
336
702
677
520
988
720
428
132
501
188
56
796
626
438
105
730
342
317
458
923
709
248
533
968
973
428
423
262
796
897
30
245
639
470
110
294
128
876
27
580
417
888
714
177
140
960
427
701
379
303
239
28
874
869
14
269
632
327
21
346
261
34
333
193
187
713
393
157
502
78
212
976
623
419
916
370
328
175
786
128
16
762
1000
245
408
409
176
886
12
363
626
11
541
293
1
213
690
796
460
552
669
963
410
868
898
569
572
468
917
447
965
738
338
699
768
864
446
998
798
702
935
314
902
18
799
843
374
291
928
151
602
740
842
438
244
688
993
178
904
383
604
910
256
748
953
397
626
158
982
44
51
704
731
176
528
808
753
831
987
876
344
944
533
489
385
740
225
84
389
692
931
590
502
448
743
336
722
367
87
85
588
168
666
820
203
81
356
623
820
766
60
746
686
387
524
790
983
114
540
568
677
312
683
251
784
699
426
336
258
642
457
705
361
463
378
231
580
190
873
986
858
271
420
458
514
657
233
198
289
679
902
390
112
30
245
964
968
593
767
40
973
393
16
675
785
139
367
887
100
100
233
918
634
498
494
754
362
100
702
114
688
414
915
746
855
116
763
51
281
238
513
491
627
968
616
808
426
912
448
624
232
648
498
266
335
528
878
697
131
745
106
583
653
476
460
344
975
390
315
803
204
73
661
679
412
672
904
543
678
122
494
823
316
205
829
179
1000
634
243
38
346
558
674
204
833
310
661
484
731
757
243
697
646
960
880
898
216
181
228
226
326
377
707
4
515
830
249
294
352
594
938
335
553
885
41
950
695
716
849
824
75
101
412
374
337
98
942
438
774
662
617
643
165
133
196
856
763
597
22
972
527
258
937
946
30
81
388
476
969
837
344
955
269
986
163
347
429
662
94
870
776
8
301
18
394
979
256
116
561
154
472
1
324
112
305
183
201
757
979
197
912
950
897
315
582
530
773
538
553
242
539
965
848
399
724
922
609
520
388
354
826
829
112
242
921
27
224
509
548
536
310
173
690
71
539
784
152
914
94
54
168
466
739
376
135
87
440
590
54
477
344
540
775
98
421
366
882
840
908
307
594
556
932
636
298
935
131
321
544
137
330
48
414
977
616
180
854
189
290
851
767
498
452
713
72
726
268
471
779
135
844
724
376
405
489
634
289
598
277
37
1000
249
182
468
679
609
115
251
231
428
517
808
959
680
39
487
343
714
54
975
728
426
145
610
21
446
842
587
699
479
213
175
866
48
588
945
807
703
131
35
762
701
268
657
368
589
558
431
267
216
354
290
816
830
569
140
808
901
246
928
707
510
938
754
806
157
656
598
802
278
715
157
902
660
426
438
566
232
222
550
405
186
991
630
521
873
295
458
355
291
544
298
403
798
383
974
351
25
495
549
999
145
510
954
697
504
864
976
909
679
249
514
557
140
68
970
894
907
786
180
104
471
730
987
999
130
671
922
886
850
111
62
359
583
642
241
983
838
732
984
168
621
528
53
267
52
481
765
114
530
120
817
181
879
205
186
684
262
874
653
520
504
599
867
82
639
334
859
114
862
554
476
544
566
297
624
779
859
894
478
316
776
577
347
886
211
44
451
630
676
958
158
276
31
936
847
831
284
397
958
434
544
573
219
740
171
718
9
656
401
293
744
66
554
509
155
934
50
262
473
659
405
23
407
552
428
901
673
261
882
666
966
319
701
967
46
936
202
381
570
189
277
640
131
529
987
28
560
158
831
380
576
134
964
114
654
585
410
39
554
398
709
55
945
898
210
636
35
198
416
87
698
972
691
997
264
50
681
385
581
79
682
313
66
27
309
506
465
699
72
45
795
640
401
652
560
509
545
247
80
503
212
848
252
877
851
201
447
852
716
446
586
566
539
41
186
426
694
623
736
396
867
639
478
932
335
742
372
496
866
844
400
758
247
455
766
28
432
809
234
782
106
799
359
902
169
781
984
745
217
895
288
69
295
596
92
496
669
475
170
194
338
618
956
656
315
969
630
880
458
30
925
489
245
475
126
548
457
737
832
122
342
354
279
26
901
21
146
112
848
291
978
803
402
969
868
361
494
71
582
83
911
11
246
472
600
682
915
881
796
357
649
276
793
145
511
72
253
676
955
943
729
204
935
602
850
467
343
511
827
65
358
470
645
596
456
526
265
766
919
181
968
711
312
967
485
797
378
705
578
499
687
822
62
600
321
599
469
543
165
883
622
701
728
142
888
420
905
392
648
829
343
9
762
795
410
822
40
164
793
395
586
627
370
312
877
420
49
389
298
887
191
350
672
150
424
734
754
764
830
809
756
547
493
559
293
970
812
180
407
242
575
535
374
217
647
693
888
540
621
619
779
781
674
487
805
15
577
40
782
144
782
983
573
640
956
618
136
164
946
804
530
443
36
981
231
972
446
171
953
187
932
153
228
362
825
435
629
330
400
335
553
261
925
238
822
456
743
755
596
493
361
221
535
824
534
300
836
238
350
445
356
373
812
972
286
376
7
974
173
87
575
834
677
151
552
469
221
913
737
889
636
427
643
650
439
326
420
227
571
142
824
739
825
486
746
442
474
228
72
185
570
29
17
268
494
562
937
156
456
779
667
339
264
46
388
906
352
372
823
835
69
613
885
437
98
397
678
707
288
27
46
502
240
77
222
909
577
786
79
917
33
709
720
386
656
374
560
132
340
489
128
683
38
579
163
552
669
825
436
827
234
637
449
251
304
515
254
42
146
331
25
987
687
338
854
826
94
314
926
256
994
171
50
886
4
877
732
76
472
775
56
349
392
179
883
751
717
979
909
568
348
487
994
661
131
773
374
903
66
758
988
718
104
857
126
741
667
605
397
253
455
291
609
35
437
281
862
198
510
454
749
905
735
919
88
317
616
102
261
736
298
97
277
336
452
990
330
647
921
415
460
932
852
1
393
376
143
4
241
258
415
488
484
776
787
417
68
428
246
814
889
120
960
203
585
297
98
440
146
573
184
263
169
961
895
950
331
108
876
479
924
903
887
781
37
517
202
618
227
449
310
275
270
62
569
567
611
660
458
566
714
940
359
693
206
70
712
306
40
649
480
828
439
119
664
662
639
221
947
118
329
556
611
911
807
733
819
589
357
427
346
908
220
492
611
791
97
280
796
155
326
393
206
159
494
764
858
116
523
886
2
223
699
12
228
892
277
855
6
894
225
421
253
681
999
661
129
407
543
197
275
252
304
963
836
193
983
523
135
405
597
364
716
464
666
261
237
340
914
106
995
450
772
187
69
672
555
101
858
649
925
846
520
614
739
185
71
373
704
976
54
340
120
434
57
385
708
983
36
293
449
294
223
366
827
827
235
265
998
566
417
690
977
958
378
964
120
194
661
859
171
99
76
63
88
931
47
100
128
675
593
546
679
760
715
738
736
266
309
615
267
65
324
265
636
484
802
440
654
353
19
544
851
594
727
962
946
976
687
57
181
669
47
683
625
371
356
791
41
59
257
909
307
630
964
308
138
518
762
941
32
816
612
268
835
960
126
634
359
450
762
128
304
198
908
318
69
638
314
639
956
626
883
911
108
994
373
788
488
544
487
735
630
287
589
777
607
180
71
725
702
429
757
339
239
622
441
622
590
607
547
783
358
105
604
157
715
167
786
726
442
541
714
356
957
558
254
257
337
157
348
523
458
935
696
35
802
725
38
312
517
15
130
460
751
412
692
234
466
546
216
876
623
289
735
214
158
574
325
691
442
263
399
360
663
951
79
636
79
302
760
741
749
751
193
313
641
853
683
858
694
163
358
177
411
949
902
789
612
909
36
402
635
954
805
856
49
647
872
697
463
592
570
333
436
8
116
796
134
613
337
61
804
711
200
910
481
824
276
59
219
445
747
672
418
849
186
667
147
826
553
998
917
13
444
661
800
537
723
432
315
717
349
578
936
418
396
886
256
862
344
915
980
608
41
398
407
439
111
769
796
339
140
914
31
304
470
52
165
752
363
897
365
779
135
831
775
537
403
856
520
486
792
70
587
512
163
190
238
936
244
187
718
592
173
27
410
792
751
662
506
181
268
378
819
32
423
86
893
110
979
36
653
170
630
280
8
137
541
682
641
610
687
840
176
327
522
489
159
62
365
507
949
628
538
172
809
112
731
540
121
302
452
670
939
735
786
754
735
696
418
919
889
964
628
950
521
846
279
210
302
354
481
100
166
59
729
608
76
425
234
419
544
382
664
805
970
905
975
244
900
11
732
341
33
112
119
533
414
10
477
852
784
54
269
816
302
568
61
579
949
262
625
673
570
870
61
178
568
575
546
637
152
573
664
289
483
985
587
45
795
27
393
522
236
868
456
664
409
628
146
683
800
192
110
447
60
13
161
631
193
495
483
826
258
611
497
578
520
459
202
793
221
293
953
68
377
443
951
82
307
310
733
672
41
27
585
289
258
210
516
452
945
120
596
861
534
485
326
381
954
679
920
455
519
354
777
693
380
476
87
539
747
967
687
971
590
13
834
377
924
753
889
27
214
83
342
329
434
30
1000
88
530
532
381
363
623
219
504
267
751
374
197
996
10
997
366
1
625
94
16
712
62
314
350
324
495
135
884
482
826
149
816
696
332
984
883
427
679
280
896
820
698
460
902
311
906
529
317
975
75
514
596
588
163
595
403
161
306
633
731
966
962
864
16
734
874
203
442
133
986
288
955
886
862
718
583
631
157
867
149
258
321
582
881
129
519
672
597
717
524
523
844
241
474
439
293
420
398
67
797
465
90
195
882
872
617
806
997
623
841
702
226
230
515
696
305
428
866
551
86
446
107
810
308
492
212
490
994
836
195
61
280
668
584
499
639
887
488
911
931
777
253
263
703
73
842
495
766
367
306
596
118
787
15
576
991
344
310
594
21
557
91
436
17
349
200
140
269
161
614
815
597
263
136
306
784
876
847
377
746
635
155
448
89
150
148
23
558
722
515
936
431
99
670
703
167
144
451
952
201
638
471
6
284
802
805
339
503
445
521
329
843
577
742
634
82
445
647
972
470
47
121
735
952
691
80
805
600
102
911
110
315
42
630
913
654
397
105
990
640
40
632
80
900
627
141
932
706
509
652
943
461
513
716
735
4
994
518
324
980
360
514
556
647
102
867
864
926
834
247
23
712
530
862
466
450
566
696
658
593
377
661
744
292
676
492
247
90
569
658
444
57
917
468
167
995
605
821
829
774
723
345
670
116
761
897
420
957
660
286
224
972
74
672
873
396
39
34
540
703
388
723
56
625
205
858
210
379
588
589
634
771
168
123
588
554
256
567
934
683
166
958
823
138
624
967
467
655
60
398
824
610
647
520
244
59
95
811
298
24
27
729
881
592
539
76
600
200
318
524
105
573
374
646
878
491
333
18
601
544
108
934
764
88
326
878
619
618
523
338
698
800
664
678
68
17
538
179
267
254
95
874
172
163
65
453
324
343
11
353
345
427
648
143
763
652
73
553
707
114
337
35
411
932
595
223
680
478
640
988
910
494
487
554
602
56
208
534
581
952
123
943
917
544
611
65
936
131
667
231
822
77
593
49
646
810
543
375
129
246
369
393
879
770
381
24
844
610
959
604
597
263
226
162
441
501
68
812
77
372
590
488
213
788
308
274
216
573
580
962
43
182
95
613
813
845
525
676
961
936
880
150
376
943
617
511
246
380
786
887
224
569
489
726
946
134
919
263
131
853
636
454
548
255
113
610
398
290
514
900
17
566
217
5
127
13
308
77
308
459
711
621
40
652
987
52
425
204
633
237
619
715
188
253
479
791
189
834
669
221
360
357
337
815
946
401
830
632
744
685
981
260
456
982
248
213
891
401
529
699
65
517
40
757
94
484
50
468
443
613
67
321
549
159
323
227
19
830
309
680
281
471
720
655
703
475
928
243
822
749
630
731
218
571
106
138
95
232
220
921
740
326
207
88
121
641
195
754
763
287
165
567
212
168
821
10
518
673
238
726
473
138
935
359
612
870
689
963
720
102
691
704
319
356
55
475
582
102
644
101
444
91
669
627
699
31
364
599
842
549
110
427
648
947
280
759
643
949
518
869
570
884
657
341
863
101
759
203
463
903
418
639
977
958
264
604
889
382
442
263
727
955
762
747
977
863
178
693
258
507
38
319
180
655
40
149
9
637
733
693
630
125
127
637
278
336
309
671
867
542
570
341
833
211
710
501
539
62
147
811
157
416
396
730
37
491
12
261
603
703
846
843
786
534
354
10
620
433
339
261
629
175
358
505
582
83
319
475
681
693
207
490
923
275
899
158
979
800
118
782
705
596
939
688
427
883
340
759
552
154
655
348
662
710
977
311
817
304
602
226
605
917
636
760
559
631
430
118
596
893
109
763
526
228
544
353
869
312
799
514
700
329
85
96
45
479
560
228
861
300
333
899
237
583
119
725
609
715
828
160
787
835
776
293
753
996
756
346
782
784
538
135
559
164
561
667
581
534
109
482
492
214
326
135
679
635
607
515
829
151
476
395
611
735
658
220
360
85
468
527
714
582
485
26
873
237
13
796
571
964
232
697
942
948
663
543
397
881
193
109
513
241
463
169
457
143
586
827
338
9
539
216
156
220
332
419
500
24
440
529
403
72
286
612
929
489
590
521
439
652
87
723
986
817
123
862
320
857
821
360
236
592
286
833
518
633
524
989
205
921
15
107
920
614
440
568
763
989
537
491
529
596
867
239
996
426
18
913
620
848
644
251
580
906
937
524
386
206
808
577
721
504
378
267
322
278
733
296
446
600
679
701
20
629
537
407
895
976
312
464
648
889
949
631
124
174
801
517
753
283
948
520
175
172
679
662
308
733
532
277
934
402
88
64
478
251
684
403
680
149
658
507
956
638
685
426
281
827
583
847
686
620
427
418
839
740
67
174
275
661
487
528
894
893
350
291
718
768
902
632
768
537
650
339
796
839
664
843
318
237
460
965
52
823
439
237
228
776
948
300
678
199
106
302
750
776
886
247
752
928
518
673
386
461
794
706
427
961
598
819
537
575
73
552
166
729
651
88
284
800
685
865
310
433
527
577
462
570
849
751
437
441
512
779
420
437
315
328
88
271
742
856
150
843
593
418
33
305
473
595
957
623
433
591
699
874
219
482
602
795
695
51
237
484
103
595
982
528
576
261
5
614
110
635
34
956
549
361
494
988
258
26
833
327
417
287
173
674
334
858
57
354
706
386
628
200
580
924
192
319
522
816
174
319
130
155
892
983
719
504
395
209
654
69
436
912
924
815
452
801
614
738
123
77
873
809
681
998
754
359
627
709
31
118
262
280
568
15
998
250
969
47
903
122
194
649
123
540
223
839
772
109
365
985
878
529
937
635
822
955
970
529
577
406
475
521
967
389
769
309
715
604
277
15
417
515
253
469
400
544
785
778
24
612
45
781
504
769
163
905
321
91
677
7
644
861
378
431
852
735
697
796
885
998
808
544
636
149
965
57
317
234
532
635
604
242
83
793
469
445
882
750
167
610
916
667
183
865
374
853
494
241
33
611
978
671
387
52
144
252
824
713
459
872
454
641
52
432
321
634
849
140
611
166
7
503
377
790
315
412
123
246
897
373
141
212
689
966
836
898
595
16
467
711
316
242
282
894
234
399
487
695
842
369
520
118
183
79
157
640
600
310
858
692
967
750
414
939
658
873
725
357
969
725
118
288
801
96
538
16
775
350
413
843
346
90
609
858
177
600
667
627
484
331
535
780
877
445
281
108
536
993
552
224
54
821
21
882
821
532
351
551
507
977
239
763
722
505
554
803
341
827
165
77
190
803
884
956
671
997
566
935
775
754
289
895
474
114
330
237
79
580
687
585
483
825
374
454
127
491
795
238
74
275
506
969
592
683
842
683
997
624
65
711
388
639
400
368
321
855
216
553
192
89
567
101
350
191
861
83
744
244
792
426
4
605
863
960
888
524
777
255
316
952
431
278
830
848
545
497
363
3
265
125
469
349
373
138
410
616
919
828
476
285
636
30
133
353
438
451
8
189
234
755
213
444
999
423
305
313
632
301
579
84
724
815
745
792
400
848
263
272
863
107
645
672
586
790
904
154
972
327
780
674
208
874
236
716
145
800
719
113
508
255
454
122
646
23
458
662
417
352
721
953
611
454
534
152
763
454
602
57
534
307
548
283
804
250
422
302
16
962
655
817
372
565
255
75
228
49
827
186
881
671
101
396
515
841
332
63
680
203
526
699
41
934
925
139
838
247
95
652
228
589
17
769
542
392
494
228
909
420
30
807
512
787
807
204
327
51
91
698
361
143
660
835
561
335
341
628
408
608
873
381
32
442
525
523
183
486
669
703
141
828
241
29
787
419
723
81
122
991
659
144
684
207
274
391
183
637
81
774
917
716
427
702
289
178
270
317
325
852
380
822
391
294
722
527
605
622
956
166
350
794
562
215
190
555
581
885
172
766
310
456
447
75
265
411
997
287
28
561
567
149
9
784
1000
777
553
104
603
607
350
861
526
828
64
862
833
609
728
276
350
420
722
730
876
341
213
900
83
185
103
244
47
63
182
763
400
476
781
348
741
774
204
662
799
513
415
213
564
427
628
775
978
139
422
627
196
11
172
590
328
670
85
473
867
582
767
974
816
30
715
602
596
92
1
608
906
549
883
630
297
253
225
693
147
264
127
271
907
252
646
238
913
785
570
92
332
699
631
561
258
580
874
2
242
150
2
724
220
946
555
336
991
669
905
755
250
602
756
606
875
636
864
577
961
930
240
144
847
682
448
263
549
670
756
543
2
783
809
512
262
9
775
660
52
935
509
200
682
394
372
963
297
437
935
759
652
279
380
318
525
584
820
800
887
885
188
357
315
471
268
43
218
647
446
92
495
722
290
743
889
612
986
347
509
301
48
910
274
773
87
330
277
247
59
590
294
97
566
464
870
49
92
372
177
514
337
518
12
143
600
651
611
363
711
670
810
713
90
678
161
544
663
561
534
756
829
280
435
250
770
207
571
171
103
324
7
381
239
334
94
378
78
800
206
755
327
433
476
585
783
329
286
673
187
79
961
285
243
493
721
27
873
151
607
347
677
562
350
174
904
699
470
597
334
118
547
75
861
162
127
879
379
17
949
725
469
613
521
67
981
248
231
922
880
211
224
793
896
248
985
288
53
303
14
231
576
636
471
408
550
250
528
685
738
227
817
201
268
82
447
163
726
697
956
613
434
954
459
555
449
893
180
102
22
892
765
236
669
855
392
767
961
508
675
919
223
529
805
340
664
659
122
724
11
982
177
531
931
952
536
829
466
514
887
66
709
78
513
783
243
701
537
982
872
253
339
677
445
179
934
910
354
130
255
831
114
480
234
246
855
619
970
465
151
642
850
93
707
144
305
380
984
510
541
515
280
191
676
696
135
242
682
418
850
877
293
763
228
465
472
689
72
418
218
607
653
194
199
544
423
287
109
645
284
752
228
91
697
427
852
330
684
507
942
276
622
441
329
986
84
680
787
343
519
608
840
505
729
23
30
924
275
429
242
234
981
720
632
363
685
47
637
58
807
441
248
468
593
282
417
542
580
677
372
433
582
44
917
207
883
39
546
455
806
856
6
138
288
399
145
556
859
283
831
298
954
587
231
955
217
702
519
677
823
336
647
452
343
607
255
873
392
671
728
530
839
557
624
96
176
857
934
132
346
74
940
221
703
779
936
996
991
512
523
865
772
357
507
280
757
904
850
209
36
837
353
468
988
305
904
838
854
662
32
243
876
490
844
830
406
825
94
622
719
540
994
466
879
590
930
865
911
486
508
602
185
64
186
590
42
489
864
988
972
512
877
606
850
181
773
343
42
396
140
904
865
688
720
288
38
482
959
765
638
182
644
745
220
802
156
627
384
122
128
235
295
769
653
36
167
680
75
443
466
326
595
787
131
770
883
100
426
778
545
55
951
304
372
694
902
197
184
897
807
959
410
981
777
737
632
268
645
47
601
296
384
513
109
134
35
474
468
445
307
275
69
768
458
623
693
786
903
98
985
509
40
334
636
453
389
488
583
535
212
605
836
260
705
175
886
193
523
669
235
308
558
11
460
376
5
97
853
227
290
549
821
696
708
270
8
426
837
491
717
138
194
540
736
429
428
321
853
513
877
610
824
434
484
815
909
144
886
408
368
192
464
651
743
732
747
984
266
99
681
338
412
742
744
873
479
195
502
845
904
104
588
950
639
360
352
597
500
616
824
274
583
980
494
482
779
19
990
96
474
945
892
235
229
47
937
606
160
699
148
973
714
364
650
164
280
340
944
672
675
634
479
45
842
268
997
948
986
594
946
565
708
769
267
177
764
630
112
982
275
983
960
348
281
507
354
347
210
947
441
830
701
811
219
325
538
690
945
557
643
596
976
966
65
861
991
409
32
537
689
385
522
534
652
618
475
187
315
887
822
217
91
932
404
315
959
522
331
801
754
297
664
56
98
554
231
634
922
627
408
330
748
263
596
952
525
537
369
406
963
924
509
98
743
469
194
443
894
469
422
334
866
828
961
256
289
397
213
526
913
830
567
516
92
59
185
10
91
832
552
342
441
975
112
569
183
510
755
3
219
293
558
496
636
139
640
14
190
797
463
921
107
883
183
836
751
979
477
866
663
525
706
937
234
336
82
796
900
288
734
442
447
620
359
190
100
129
587
437
717
175
729
4
182
223
872
710
116
565
107
924
765
423
240
322
804
574
643
508
843
289
900
218
886
828
863
414
450
241
236
425
134
952
800
239
732
80
280
784
853
679
412
46
186
143
200
40
130
199
91
907
897
774
681
726
190
477
51
665
430
234
297
983
75
943
397
778
921
184
417
879
118
871
451
348
134
881
833
314
909
266
534
317
678
179
490
617
363
935
233
894
113
758
830
609
153
692
389
311
85
833
278
34
4
649
929
302
197
407
3
4
282
806
606
543
515
688
12
252
507
623
104
518
570
770
64
644
485
738
648
355
521
876
136
607
2
188
15
527
104
810
398
827
120
343
746
791
12
536
106
130
171
963
665
631
28
991
177
562
486
671
880
379
950
378
772
344
561
769
365
758
81
340
592
659
809
921
869
63
319
618
571
908
623
184
88
862
488
133
458
623
218
681
361
930
633
898
16
56
312
688
105
965
609
792
617
755
826
228
591
509
863
470
328
641
113
93
806
482
156
398
551
633
997
307
340
663
504
806
956
466
900
865
630
184
529
798
393
770
210
739
822
214
889
143
304
8
346
747
227
480
493
546
24
623
793
912
226
3
780
608
175
765
655
391
308
573
823
400
74
839
720
662
696
199
291
373
249
130
892
343
403
823
219
412
259
739
503
291
554
635
783
636
412
904
158
493
299
999
797
760
951
163
590
12
919
232
691
892
222
588
166
753
748
316
969
376
41
963
870
518
851
837
874
401
971
487
324
189
120
987
8
698
99
552
444
138
105
669
478
939
268
727
595
220
717
792
159
265
376
334
282
382
591
193
32
458
553
385
307
221
40
406
851
723
239
788
287
487
172
541
424
412
743
237
139
676
111
266
292
42
339
456
305
52
522
78
195
696
811
888
467
295
901
369
676
952
205
868
796
471
410
403
39
102
344
998
840
884
731
433
31
717
20
375
238
511
966
592
376
409
852
994
759
450
728
221
33
160
980
869
243
52
402
504
349
186
891
852
769
179
639
730
330
805
866
896
83
68
750
281
375
517
262
836
853
823
467
866
982
508
205
891
893
910
431
35
760
912
453
852
762
942
11
578
839
996
536
202
950
275
868
104
699
547
202
629
971
736
124
48
909
174
751
336
760
290
186
127
696
166
986
34
174
547
795
723
647
441
295
197
930
522
294
230
10
310
804
198
529
989
125
313
463
709
567
298
599
987
132
873
589
785
273
51
415
862
905
527
545
515
369
834
2
247
897
188
802
628
249
463
858
615
665
513
190
98
790
170
231
898
322
281
480
257
400
423
67
901
522
850
201
740
931
884
145
945
353
225
104
865
335
157
349
343
86
575
726
717
112
198
404
755
679
30
45
64
777
516
455
628
984
155
865
167
361
806
42
546
488
724
693
415
615
78
164
124
243
724
551
537
927
874
150
607
406
698
639
666
724
900
487
113
38
645
685
621
670
596
469
277
609
229
159
685
539
691
807
760
419
74
442
776
440
344
204
92
625
404
36
708
369
391
296
539
339
240
853
785
634
955
225
401
294
800
195
968
916
993
807
738
203
3
116
119
526
506
862
158
813
574
129
162
296
153
804
674
873
509
993
522
712
976
125
64
928
695
419
723
294
982
35
393
731
98
619
353
298
257
483
207
699
200
707
7
520
618
394
183
221
847
615
289
337
424
582
264
716
102
155
842
479
319
763
654
218
110
832
556
377
527
961
868
410
882
999
189
623
150
627
17
167
556
55
603
780
559
705
52
766
54
689
193
288
296
698
381
80
816
307
310
425
62
991
60
719
19
572
830
609
434
777
38
542
782
865
196
841
148
51
93
336
306
621
289
934
309
516
456
73
425
940
429
910
617
970
896
249
835
967
267
617
492
830
901
156
900
360
812
860
846
996
117
505
786
370
792
725
763
355
596
447
100
47
212
5
130
335
810
749
803
291
759
91
441
758
636
128
522
657
238
779
210
504
635
515
737
270
82
16
415
616
348
286
857
738
25
464
728
362
806
400
702
555
351
340
461
233
578
803
504
154
697
420
44
36
318
481
719
333
358
6
1000
220
524
173
709
161
107
539
504
82
735
482
99
830
454
493
683
207
545
984
479
825
629
637
623
81
877
263
671
881
225
995
108
586
153
413
798
195
636
531
680
921
922
504
560
295
994
915
228
146
653
946
558
464
46
634
643
341
518
78
61
229
190
36
583
60
303
565
13
48
978
820
212
976
944
875
506
562
645
159
551
333
160
28
506
878
339
212
899
306
783
348
166
319
499
635
18
976
927
973
572
932
596
795
142
141
824
28
461
80
811
962
649
389
285
647
305
758
53
562
781
391
106
416
235
608
274
188
589
519
354
14
669
250
504
469
927
87
669
92
647
956
566
646
620
944
787
799
142
24
625
891
254
623
783
275
198
821
353
882
612
11
772
86
453
701
418
537
173
668
600
646
626
432
981
507
762
669
554
935
927
220
374
422
63
587
660
94
787
632
195
838
702
269
221
733
412
457
917
629
614
552
374
838
944
64
591
553
926
627
562
128
245
457
614
11
244
252
802
133
876
719
388
753
426
416
343
733
741
257
435
465
361
351
941
61
167
934
726
633
301
710
950
478
88
424
83
460
143
823
122
779
458
432
513
67
203
877
629
111
567
481
870
652
725
928
119
485
68
616
869
778
962
351
67
557
915
988
798
472
875
880
640
985
159
202
648
325
803
184
167
191
51
568
115
59
129
406
234
17
516
919
592
152
64
551
203
121
121
160
164
160
88
476
549
624
738
857
113
73
632
696
871
92
203
459
291
517
378
906
271
101
422
908
544
78
564
486
190
388
274
880
891
445
114
56
440
951
888
361
374
623
676
563
236
229
11
448
83
703
528
952
142
441
695
915
7
302
636
509
470
498
988
824
569
584
656
347
217
580
298
432
704
165
229
582
939
108
202
826
606
844
86
774
839
827
977
805
251
34
522
507
619
44
185
979
41
859
192
6
140
533
325
408
780
739
502
80
357
523
182
199
158
920
238
367
286
90
659
473
565
921
664
224
435
178
199
560
720
421
8
751
424
437
697
684
499
49
361
501
174
366
855
453
260
836
421
128
766
884
142
75
375
26
783
986
391
144
42
750
799
936
937
33
394
340
455
304
570
137
789
82
334
954
100
719
434
676
559
684
783
322
772
459
916
936
473
504
810
547
690
284
198
771
687
839
179
363
554
473
814
238
343
625
150
948
966
734
547
384
658
348
14
332
557
740
478
972
565
898
368
402
433
715
185
872
815
110
253
768
580
705
967
893
620
361
31
838
248
414
419
603
979
740
541
793
324
9
267
476
970
768
783
999
710
521
345
539
598
967
211
781
918
469
973
749
349
730
41
846
213
604
494
139
67
522
151
435
269
890
184
189
83
724
273
514
552
298
493
556
345
526
323
123
498
510
45
607
36
697
613
713
366
39
446
226
166
648
527
678
730
163
697
960
731
484
224
681
138
228
131
926
182
562
754
265
271
348
280
404
236
466
585
926
67
505
930
489
196
151
105
647
873
249
885
667
346
909
492
99
685
252
58
892
586
912
752
63
556
153
103
458
455
467
592
229
768
939
416
579
679
761
11
315
732
443
195
424
519
848
82
544
310
158
974
694
542
210
293
379
81
36
89
312
855
881
55
287
754
377
409
6
572
518
534
639
890
51
32
825
500
513
225
520
846
43
875
347
726
173
289
954
881
366
683
569
224
514
913
575
345
268
395
197
460
260
516
611
329
669
765
787
745
531
631
181
237
87
290
24
902
70
36
205
569
784
429
99
982
984
181
764
401
598
378
193
560
85
372
884
505
255
447
702
22
187
293
279
696
921
632
999
174
516
744
669
838
593
852
274
251
217
226
193
193
67
602
603
278
370
277
772
226
717
467
329
952
597
222
271
878
514
499
76
8
261
323
928
662
891
120
403
132
189
296
108
547
392
654
375
135
329
861
412
464
203
62
801
700
76
606
232
933
572
557
366
839
726
44
502
615
707
69
698
242
97
561
171
254
686
717
479
379
446
511
384
929
581
443
478
292
830
931
417
945
100
710
32
126
606
308
630
545
225
555
572
615
197
475
675
546
332
91
385
12
644
256
675
823
535
49
699
384
166
518
145
522
198
381
887
569
392
709
523
933
767
42
247
83
629
208
276
838
77
828
379
439
904
78
571
90
999
87
575
53
938
131
367
884
482
753
685
890
515
617
934
577
417
558
74
471
213
374
550
367
916
362
647
578
177
362
968
452
725
996
767
33
258
581
307
821
343
969
357
562
87
189
531
956
435
804
901
745
523
378
49
595
994
224
626
832
947
384
304
682
79
906
928
673
462
362
861
439
68
468
196
4
606
414
276
361
733
54
728
861
405
364
58
170
807
573
902
402
937
206
494
920
192
823
737
759
473
1
294
566
539
220
594
627
612
718
512
474
902
825
695
70
188
235
347
299
826
827
303
527
869
824
276
407
101
905
689
979
104
607
415
729
600
676
134
510
605
222
563
344
839
249
112
838
715
653
378
429
638
695
325
196
855
192
224
612
170
725
708
820
960
162
900
711
584
267
944
3
290
461
762
176
596
774
488
375
715
315
588
307
253
485
540
320
782
173
589
90
29
911
368
882
895
556
287
10
709
698
39
240
320
689
940
78
266
507
473
818
443
298
132
796
641
146
44
887
408
703
476
830
21
520
561
873
810
502
315
231
276
397
580
279
666
394
822
568
418
51
661
822
200
736
742
663
868
85
56
102
117
515
754
690
614
33
604
73
142
320
758
572
473
171
947
359
152
487
668
743
438
663
721
773
24
696
668
696
383
596
204
523
669
42
272
163
520
749
852
194
717
247
516
304
968
678
855
281
556
62
855
57
751
740
517
955
3
759
561
498
154
694
591
954
652
780
836
267
954
335
926
479
939
124
502
788
458
275
634
669
996
804
639
944
617
61
927
280
679
550
760
91
340
393
801
374
476
160
994
28
106
176
19
288
193
827
526
542
571
679
261
177
90
205
314
394
759
258
62
14
738
253
930
756
784
737
10
774
413
383
397
754
225
564
556
378
96
18
775
788
586
257
117
709
507
229
227
95
492
663
671
596
445
806
877
309
148
764
181
105
513
760
649
992
678
32
441
213
781
170
390
350
191
338
860
635
899
821
879
294
470
920
806
661
598
490
942
529
542
984
485
16
432
878
801
387
741
847
626
473
767
292
784
824
652
746
164
634
750
230
232
33
485
922
465
127
217
501
264
398
609
415
658
362
870
874
781
526
30
365
85
934
494
824
136
218
667
770
194
798
254
188
414
554
152
947
348
490
561
405
604
21
882
450
144
162
4
443
709
595
243
502
422
36
786
185
640
637
532
776
882
857
506
437
532
683
756
39
861
518
265
908
398
654
825
205
181
157
581
858
212
730
937
653
286
415
103
529
205
970
13
594
544
652
465
475
500
8
494
59
663
549
375
233
625
174
36
222
669
190
67
975
695
840
568
167
726
139
923
794
517
101
958
534
130
168
100
497
513
755
817
959
697
692
948
666
878
127
252
616
808
204
692
853
816
290
703
562
369
105
367
518
694
990
58
777
889
674
927
474
719
231
66
253
262
628
54
47
766
367
262
218
234
296
348
282
17
884
689
193
85
224
677
915
420
983
216
902
794
580
714
43
734
352
411
515
925
58
526
299
154
497
64
557
765
770
509
896
885
281
360
962
371
420
558
771
101
250
108
724
301
227
36
902
351
135
995
135
359
924
394
301
533
767
765
333
702
236
817
359
479
959
999
421
718
692
56
582
475
680
423
143
805
413
952
456
579
87
988
306
895
268
940
50
585
92
126
590
806
306
660
124
621
679
895
297
154
395
89
740
59
776
839
280
350
265
932
361
660
159
969
678
607
140
191
722
820
661
909
583
755
192
485
4
247
84
15
644
689
895
734
275
437
929
515
239
98
275
933
818
561
818
664
989
735
443
373
345
374
927
365
972
589
147
509
321
956
204
812
154
684
614
35
52
238
128
734
278
337
398
486
560
106
101
900
681
512
862
732
562
286
392
250
388
205
97
626
296
943
676
699
538
906
116
847
699
845
402
486
685
816
462
691
969
511
498
310
636
240
275
15
958
541
503
932
345
882
377
374
993
442
794
657
825
255
70
751
209
440
783
133
325
409
579
507
426
810
199
945
593
356
46
204
189
281
904
489
249
418
676
987
753
102
992
495
77
654
190
233
170
31
359
876
877
619
522
909
986
18
629
582
10
178
783
313
896
245
217
63
557
6
259
884
760
366
938
340
830
643
896
927
32
42
693
343
124
825
99
786
495
686
687
465
254
227
830
322
80
850
616
604
940
512
94
656
981
86
684
154
365
452
44
259
602
918
230
307
692
891
84
184
492
542
970
157
88
231
96
611
803
818
659
59
848
394
707
516
395
913
557
371
65
721
287
841
761
968
760
652
831
331
99
527
728
965
526
276
372
984
248
140
435
397
528
583
623
480
779
339
423
657
307
172
252
538
606
986
392
376
817
906
116
852
580
576
714
883
744
251
628
398
267
37
891
899
112
567
63
968
79
557
436
701
457
916
810
509
480
395
79
201
702
231
56
814
229
75
723
587
192
288
176
466
8
628
7
790
594
649
424
188
252
255
142
395
298
722
400
354
573
665
305
878
228
489
16
53
57
343
861
35
626
58
371
133
446
751
916
644
792
660
854
912
55
255
820
16
308
447
955
795
598
10
94
30
927
56
140
963
951
711
409
177
918
302
831
807
36
349
554
282
553
441
262
518
199
456
452
910
256
62
626
244
992
896
655
60
157
331
364
89
954
581
620
860
197
119
258
824
770
694
26
252
315
512
172
307
283
872
784
295
49
331
681
813
166
524
516
830
934
288
295
700
531
335
292
349
787
740
489
830
281
81
533
470
535
927
956
761
891
766
345
697
445
889
450
50
399
122
194
299
912
767
173
938
710
593
747
933
687
8
510
631
504
980
14
771
342
764
229
479
542
237
73
509
128
893
672
240
921
999
233
424
313
818
430
521
112
708
381
164
992
198
753
210
650
117
592
939
251
754
518
628
299
975
982
693
396
555
406
122
235
754
25
385
581
724
755
772
971
352
817
203
206
251
851
963
342
673
580
332
34
150
409
298
89
515
549
260
600
233
239
329
158
379
18
30
70
950
601
650
413
820
384
339
706
724
117
329
908
454
730
931
376
461
251
445
862
937
873
375
559
670
597
260
771
350
518
816
972
225
124
82
809
176
811
795
483
671
280
389
142
615
161
798
806
966
902
841
491
834
833
25
126
787
297
793
395
416
498
32
693
504
348
593
410
212
834
261
417
48
225
35
527
403
146
373
700
155
309
945
698
816
149
763
617
148
207
530
1
323
336
219
528
62
376
204
444
464
604
919
715
570
742
101
597
823
735
840
887
778
471
69
758
140
764
422
36
569
615
652
765
557
896
461
31
632
645
407
884
270
173
249
934
884
158
810
536
6
271
929
531
651
694
680
108
365
354
394
185
470
54
30
640
143
286
461
552
696
216
408
48
588
851
727
183
976
505
6
330
870
917
738
40
763
894
657
168
410
209
570
756
193
669
309
737
370
48
939
525
675
876
341
546
582
939
149
270
934
792
650
580
987
732
283
461
322
210
777
310
205
623
680
88
831
787
538
553
249
286
636
634
661
428
914
832
543
679
270
20
812
414
240
8
268
538
958
741
419
994
430
451
550
927
589
191
406
989
810
695
567
538
674
967
343
83
323
152
179
306
960
406
39
261
591
135
302
40
89
784
368
610
867
200
307
142
626
39
955
470
909
633
351
363
43
231
619
830
559
911
715
145
281
348
494
807
933
350
644
556
147
333
900
694
393
977
308
377
545
822
81
231
128
867
933
745
795
62
663
124
384
148
913
251
690
523
615
942
933
464
760
710
852
284
562
958
551
706
407
446
610
202
840
494
846
346
720
418
911
812
114
773
917
427
335
249
475
373
219
294
419
652
454
72
73
269
211
35
345
912
329
660
80
493
842
592
585
746
216
799
347
970
511
63
316
103
634
27
894
15
741
236
868
87
234
81
714
210
700
360
910
392
294
280
912
872
289
980
892
17
516
81
843
358
192
194
811
432
532
427
668
911
573
903
686
359
57
601
980
177
557
861
962
824
618
849
81
816
713
797
105
583
894
582
540
598
485
931
669
736
687
498
187
203
934
386
961
889
656
612
677
407
348
16
263
77
866
391
116
870
811
425
859
679
364
339
577
864
649
63
822
744
873
699
430
113
44
820
314
466
161
129
488
559
661
430
339
776
666
871
406
339
307
554
623
343
67
917
925
229
471
414
113
892
135
201
805
299
662
890
848
639
638
41
854
182
105
312
743
89
296
610
917
217
78
232
746
819
267
951
597
809
840
669
77
86
667
319
248
436
860
576
648
894
489
731
826
957
646
120
251
631
90
118
548
24
294
477
883
483
149
587
291
342
641
878
799
982
626
538
802
704
217
245
113
916
918
420
744
220
561
913
691
826
596
171
418
737
194
119
172
954
286
429
662
55
333
302
719
663
689
799
560
156
869
150
674
246
272
169
590
223
194
686
992
48
468
75
947
634
547
255
580
500
493
418
434
250
561
405
678
211
98
434
523
438
573
203
63
19
622
923
911
9
646
528
336
956
759
971
125
284
378
569
950
240
54
712
210
278
85
524
751
138
935
452
606
765
956
438
843
798
358
330
689
623
23
445
921
493
15
348
655
883
675
260
808
497
619
500
969
137
576
645
941
243
610
369
276
259
118
200
191
111
356
991
271
162
209
294
816
380
861
546
578
247
819
615
948
737
74
545
183
612
281
900
524
205
119
897
166
170
882
824
676
836
505
927
581
217
597
250
667
294
657
59
216
596
217
61
600
650
937
409
514
481
760
350
327
962
810
876
884
429
777
384
446
50
838
905
924
214
838
940
939
78
173
478
215
550
406
436
299
223
38
713
550
60
149
92
849
522
358
807
948
867
160
76
737
794
420
504
275
564
287
24
819
28
517
962
215
19
577
782
223
834
356
817
480
199
282
652
335
318
674
193
142
914
41
172
753
842
282
966
800
957
901
562
83
107
52
852
160
190
590
311
42
51
59
308
918
225
146
958
635
823
685
907
66
226
712
833
62
74
162
997
396
883
36
892
459
254
803
439
452
192
733
688
733
37
80
301
323
587
765
429
248
145
228
198
798
576
662
689
713
641
420
509
625
786
673
571
468
175
417
554
368
339
948
351
794
25
886
810
38
835
127
429
317
570
129
905
187
170
942
704
98
440
361
216
157
732
415
391
487
827
983
739
924
519
683
963
919
520
833
921
400
310
298
497
721
224
328
179
65
21
354
99
570
137
716
467
394
313
273
601
656
814
648
432
205
401
204
173
700
236
688
829
464
661
674
918
460
572
679
149
233
7
228
630
245
351
724
420
680
144
669
6
245
206
654
316
839
939
259
32
248
502
865
699
626
193
34
238
700
90
948
313
485
316
292
17
318
840
184
887
301
883
995
757
176
541
167
5
312
52
937
76
834
966
937
942
220
57
66
284
36
842
505
417
556
470
18
66
68
103
725
887
198
540
337
385
632
737
566
769
610
322
113
418
182
163
488
714
653
353
215
488
120
210
642
676
162
383
964
692
241
636
496
977
534
343
113
826
966
335
704
293
961
322
992
945
387
771
574
392
938
245
581
46
10
444
736
519
918
784
143
385
253
697
356
282
943
25
278
648
870
51
60
107
619
667
289
525
766
170
490
450
912
920
781
512
702
573
29
298
149
714
931
393
657
209
422
131
979
421
285
420
457
996
754
35
902
924
767
968
83
660
789
959
908
779
201
378
936
507
414
857
379
299
153
317
389
337
28
685
536
569
902
174
124
49
88
461
224
414
859
10
901
489
716
491
644
506
551
141
197
356
431
112
13
140
467
181
933
710
952
349
148
295
603
827
87
619
91
529
846
344
84
288
799
388
957
35
888
22
472
570
781
675
300
160
146
470
286
377
989
980
873
846
213
161
663
514
929
499
201
60
710
572
640
46
682
879
403
925
372
273
769
744
132
126
253
149
900
643
785
367
808
638
835
977
732
774
403
894
525
276
445
928
292
42
739
254
806
992
701
800
529
52
265
221
34
333
404
745
512
192
187
702
315
1
206
686
518
938
613
299
82
111
567
827
703
890
761
255
834
657
977
627
792
34
282
135
627
592
213
928
110
174
804
377
314
55
70
343
632
721
305
686
644
985
483
587
165
520
331
165
524
996
604
890
241
416
712
384
208
995
574
773
891
495
158
226
785
478
741
701
293
516
405
864
841
978
482
301
677
162
457
971
86
799
301
751
631
367
582
33
213
223
895
970
82
568
989
116
368
915
357
910
351
822
955
270
11
77
19
406
776
995
559
494
971
57
550
819
587
172
135
891
645
679
247
11
25
316
914
832
507
392
841
325
158
839
310
533
170
254
843
961
705
651
268
729
253
581
234
321
320
81
895
16
944
533
346
413
445
411
63
756
13
262
850
320
78
464
737
473
639
776
817
928
864
373
207
662
785
829
673
73
177
716
447
655
733
456
237
955
978
43
190
444
751
482
450
261
382
644
420
263
723
633
904
323
853
471
129
399
76
389
478
74
645
910
620
588
64
70
484
584
839
939
397
737
222
358
440
325
636
674
301
564
627
68
164
565
113
812
205
609
745
954
334
154
296
767
375
148
969
566
59
881
759
406
159
247
636
689
161
85
647
280
134
860
840
678
86
885
979
551
828
686
622
198
691
677
8
756
856
376
690
747
17
305
695
748
627
283
455
932
745
540
876
228
462
351
874
492
464
492
422
53
541
697
725
178
785
435
330
184
827
124
844
639
933
243
768
485
369
467
948
752
12
941
471
386
632
98
161
282
975
680
247
370
353
269
760
665
460
863
521
358
587
624
788
191
610
967
78
653
908
197
737
23
683
521
185
946
134
108
855
744
174
228
470
141
445
840
164
373
10
216
752
592
221
184
384
273
560
975
732
448
239
622
158
836
76
109
465
277
970
849
232
854
884
153
955
508
564
238
347
25
505
58
936
964
253
487
768
43
433
995
300
515
949
174
286
290
209
405
452
944
613
76
900
351
692
663
686
868
368
748
138
624
111
577
474
838
149
77
662
290
890
394
919
365
907
725
351
881
655
373
258
151
199
142
765
651
797
943
636
944
554
901
589
593
655
732
567
765
822
951
168
573
73
888
491
593
364
143
419
924
666
817
238
746
187
482
831
648
626
295
212
794
369
568
801
842
837
339
477
209
217
598
168
462
721
938
302
840
547
583
70
964
711
987
605
478
231
12
270
779
105
808
592
686
462
744
159
10
769
976
114
967
535
219
795
86
229
91
888
974
363
878
335
805
826
283
255
871
547
381
541
832
661
390
712
271
768
321
797
155
903
326
50
394
813
406
741
325
532
802
689
111
226
50
984
944
159
672
382
86
748
971
308
681
576
337
2
554
365
738
926
739
337
540
281
965
235
126
481
48
51
213
352
791
551
847
248
527
48
792
235
592
519
641
496
574
588
62
31
604
777
109
29
78
402
489
376
786
115
631
346
193
776
891
306
317
479
215
624
966
66
431
433
164
286
478
975
536
828
388
462
168
978
279
119
6
594
891
912
367
663
720
210
46
354
554
318
992
894
207
40
583
806
740
586
179
327
804
975
833
876
389
374
527
285
173
858
503
385
127
655
324
991
124
346
203
543
715
981
152
634
527
255
486
122
922
63
712
897
120
598
952
281
893
224
147
421
753
412
286
347
391
130
172
325
223
444
871
164
346
524
238
970
660
865
371
371
987
292
780
176
460
975
564
554
325
78
789
767
757
195
238
554
469
258
592
644
987
377
149
608
932
746
224
966
28
186
967
117
354
940
398
562
5
179
892
724
759
199
599
999
162
492
599
444
709
572
116
121
508
18
169
875
771
803
127
616
181
4
974
224
898
602
17
802
810
814
485
87
750
571
73
834
300
546
882
139
543
214
925
871
42
802
12
514
46
494
944
822
181
532
450
740
464
880
205
381
104
398
61
930
484
73
482
342
265
806
341
14
183
461
839
700
326
250
975
526
514
343
820
478
558
484
410
893
991
262
173
347
878
589
78
374
667
793
367
136
989
984
837
946
793
436
785
311
302
88
390
748
351
274
370
811
143
178
515
331
967
467
25
775
113
501
644
34
507
632
793
908
727
416
831
952
266
9
738
134
209
362
796
884
58
630
615
171
662
937
781
637
207
591
584
533
788
15
935
877
895
756
979
657
449
727
743
357
30
239
99
190
547
379
242
608
841
222
905
11
891
144
955
201
509
320
952
619
498
821
332
802
608
399
298
186
165
399
169
37
690
891
654
585
74
786
794
721
968
613
169
326
707
224
317
469
367
406
142
760
153
573
615
542
576
471
344
389
563
108
449
820
134
704
491
576
208
122
374
369
51
419
121
367
53
647
364
123
96
494
542
227
945
715
865
924
683
966
951
805
231
382
260
96
69
627
479
896
449
997
414
916
554
979
79
536
208
348
647
253
83
469
706
39
311
965
646
273
656
124
797
239
176
592
424
476
61
188
114
56
883
48
824
45
693
547
754
780
106
700
820
658
128
446
506
202
417
359
223
798
677
649
68
722
730
190
759
594
350
287
861
357
504
782
206
415
828
849
212
384
635
684
775
751
135
459
384
479
607
351
950
758
901
820
986
462
535
319
608
65
282
322
198
475
856
134
893
132
819
695
793
420
33
922
258
443
754
826
231
13
671
780
585
681
360
944
926
808
205
420
298
657
679
767
617
96
276
286
720
19
239
143
995
238
245
56
181
3
283
511
501
739
463
273
36
870
940
227
927
33
726
306
954
834
863
180
572
908
752
198
55
313
855
739
896
943
904
547
835
229
910
808
55
822
699
759
332
96
169
112
146
451
840
411
863
559
156
867
628
300
567
263
812
293
296
577
548
216
55
496
486
459
60
269
250
624
779
241
805
92
237
251
121
917
378
673
322
449
955
91
937
276
838
109
368
507
158
106
383
539
219
724
804
827
75
233
873
414
487
362
379
999
327
38
670
944
431
231
219
682
3
699
108
406
124
651
685
859
682
169
33
491
687
562
978
788
80
174
837
626
176
352
58
724
875
299
630
272
208
931
572
24
543
489
941
600
319
108
579
239
681
842
55
54
317
803
872
128
699
187
416
974
912
876
543
484
682
28
116
717
683
23
383
409
359
679
81
6
470
869
439
419
492
738
758
281
443
167
76
180
418
208
736
197
574
296
656
268
84
554
197
7
277
809
154
828
409
627
682
796
704
210
934
588
190
361
446
999
762
347
932
573
548
403
866
344
990
689
954
131
813
195
750
502
405
965
900
823
627
357
661
822
871
851
726
519
91
923
959
334
403
18
442
777
79
993
967
874
188
2
653
386
344
72
302
922
111
112
580
409
222
166
347
761
237
656
138
908
485
88
565
148
222
876
134
456
887
168
134
869
807
592
276
514
593
322
313
31
580
677
676
186
635
200
405
989
800
348
849
325
542
324
832
466
153
758
923
53
369
196
8
663
714
101
119
262
718
512
879
746
645
976
607
901
37
735
712
386
190
34
81
706
714
383
191
573
150
770
617
661
35
236
601
282
872
543
103
308
410
31
392
210
516
922
700
770
547
357
546
270
477
958
685
444
825
133
134
581
550
162
869
931
583
548
373
3
641
99
833
279
298
93
669
946
425
71
928
682
211
352
977
370
146
516
616
910
397
780
910
70
515
334
916
488
645
96
724
708
733
997
720
429
979
874
240
28
244
539
153
985
679
572
163
988
536
691
617
394
719
864
267
820
253
841
363
773
864
954
515
763
512
746
937
947
320
514
42
315
598
345
496
790
916
299
290
575
679
730
458
457
723
408
131
578
604
925
194
852
528
675
844
63
97
454
781
748
119
133
236
493
11
697
889
276
958
245
441
167
31
716
145
778
702
455
586
534
368
943
260
965
173
488
753
432
718
282
36
905
944
909
75
438
538
205
421
577
854
998
139
570
302
508
661
721
71
766
359
41
957
828
262
361
623
368
846
503
780
549
278
796
176
599
444
953
258
795
430
859
764
299
45
656
710
759
162
982
495
413
732
879
484
647
435
431
357
543
194
958
965
329
753
612
860
707
221
519
190
956
63
586
49
777
821
285
682
166
81
126
700
19
948
613
678
202
893
420
6
809
340
134
726
67
805
643
720
464
811
715
743
817
110
270
763
877
457
912
221
868
363
73
116
486
298
486
248
765
98
119
494
173
585
480
115
399
553
593
751
833
238
403
391
904
46
449
476
1
598
422
926
462
126
86
209
919
291
89
245
229
72
362
332
237
466
487
369
37
914
574
385
636
916
925
460
181
920
673
658
703
47
505
1
994
888
333
412
259
924
704
826
62
202
922
144
837
87
520
29
953
589
758
372
530
446
436
595
20
154
413
533
844
41
45
957
462
295
208
637
480
8
929
642
332
735
530
413
240
457
535
373
141
392
354
831
72
868
116
251
68
741
349
913
488
291
433
714
321
808
730
1
717
998
396
954
654
968
737
528
727
670
710
785
434
837
660
702
110
530
355
14
801
514
385
241
740
767
479
638
617
642
60
924
757
395
642
296
756
249
783
664
503
753
382
703
526
857
137
824
887
322
477
170
516
534
952
229
781
59
140
296
864
998
256
570
645
390
144
961
261
636
940
306
200
101
530
832
896
502
155
730
479
454
695
920
235
785
449
913
211
239
880
591
375
667
818
724
856
96
401
653
131
179
312
436
15
103
41
193
40
492
294
697
248
472
778
567
126
563
314
172
228
711
621
303
45
875
575
56
213
203
754
579
92
686
661
116
953
634
80
376
442
302
148
189
689
997
124
278
728
49
637
390
791
793
683
65
495
472
140
624
734
110
742
583
485
347
729
531
788
556
351
578
946
568
73
7
845
341
111
203
223
84
647
909
271
736
719
402
563
530
216
997
259
246
900
373
435
612
66
699
524
174
545
527
530
504
582
968
730
59
223
807
480
998
17
731
534
442
853
293
606
953
793
66
176
897
608
331
597
221
590
454
501
157
654
130
961
164
241
874
940
560
720
835
625
40
910
993
324
519
997
91
392
970
638
140
856
119
380
992
57
928
993
814
394
49
88
851
297
736
678
687
97
117
601
891
264
1
624
689
869
512
318
263
636
257
644
566
351
238
622
878
212
741
122
241
877
574
767
219
287
489
523
484
932
153
859
712
655
966
71
16
506
619
916
309
34
391
849
6
189
590
613
32
444
135
885
798
427
476
919
545
649
548
890
112
400
215
858
679
488
989
378
22
189
777
291
17
195
281
795
587
916
111
789
400
609
111
337
358
613
120
374
162
781
463
649
210
689
663
345
186
929
823
316
728
503
592
539
792
795
950
46
805
146
169
342
550
528
543
430
75
818
403
146
752
838
488
352
124
169
921
614
75
234
840
741
552
316
11
669
954
429
882
13
963
711
458
837
49
896
16
556
597
729
195
582
596
189
467
281
818
935
377
978
439
358
270
286
225
939
906
290
652
241
262
865
869
213
87
387
236
146
233
654
934
387
760
597
788
127
487
66
886
782
530
875
41
862
129
529
423
124
402
361
994
289
221
6
841
695
528
544
429
907
321
729
614
61
150
858
394
372
959
684
860
498
304
502
31
790
849
334
850
843
631
853
539
567
632
134
533
126
193
906
892
607
279
551
505
748
357
278
401
345
788
667
818
245
583
392
71
199
462
698
654
631
855
139
878
676
502
80
665
632
978
675
995
938
672
615
50
742
794
206
946
929
564
40
213
391
488
38
768
296
423
744
89
364
471
789
786
110
142
477
392
530
75
824
493
452
821
330
451
833
645
983
857
560
171
416
67
832
491
714
587
160
440
803
441
65
447
571
276
468
67
24
480
514
790
888
802
566
988
223
85
970
644
638
841
297
320
677
209
385
296
402
637
953
703
403
93
175
187
545
461
242
40
802
845
578
34
504
324
125
607
27
14
133
630
434
304
792
274
476
404
320
827
894
197
863
157
576
605
122
209
345
816
516
750
793
123
650
856
546
168
588
996
550
536
185
469
657
184
844
759
855
287
609
88
540
230
788
70
628
821
674
408
379
156
707
44
603
733
485
666
597
390
682
193
613
316
478
929
446
808
957
694
559
8
171
463
988
673
372
69
521
145
942
440
476
656
407
667
243
568
30
230
345
485
78
23
9
61
911
897
987
116
913
514
124
499
527
873
710
451
562
298
266
949
931
369
234
212
584
962
394
7
729
801
635
583
983
539
164
517
884
840
542
796
326
721
669
71
539
865
13
560
880
969
926
588
319
164
114
366
324
697
824
7
391
631
151
218
414
78
908
351
350
230
927
339
558
910
926
771
477
640
820
892
246
703
904
105
838
937
594
408
689
773
443
305
386
63
168
234
358
663
895
342
559
548
448
677
867
757
432
54
125
178
120
700
221
275
42
659
530
139
553
383
639
136
750
6
711
809
219
833
561
150
29
203
55
98
487
513
540
64
168
53
769
756
80
101
84
400
201
477
982
208
487
217
639
654
575
413
344
347
418
59
309
631
789
161
845
520
141
604
933
546
355
442
513
905
100
581
557
637
703
400
795
934
418
406
254
159
676
674
558
150
625
596
716
127
768
202
632
71
197
456
923
377
401
851
326
278
215
428
607
270
716
431
364
154
104
615
135
811
634
164
24
525
961
344
574
532
645
632
718
597
196
616
657
357
307
858
400
412
573
548
773
583
739
702
279
628
735
605
632
502
517
700
611
171
204
582
394
375
647
278
820
70
239
314
784
90
81
434
762
230
773
312
790
200
277
819
794
391
600
196
609
631
129
670
391
472
902
786
232
415
211
660
972
32
866
969
66
658
527
804
541
104
487
314
314
499
919
782
439
620
764
847
877
699
480
695
133
33
234
430
163
568
410
891
156
973
590
923
321
197
497
663
264
120
114
994
279
990
995
53
404
898
728
888
930
296
171
305
232
636
512
778
912
163
654
674
614
261
552
985
712
779
448
737
129
368
22
435
510
213
56
836
610
251
914
736
957
892
629
707
960
780
564
349
753
561
894
740
230
63
465
604
840
829
824
196
638
687
419
230
604
209
521
382
458
150
263
693
543
633
871
741
710
597
651
463
522
607
235
798
631
935
492
705
492
850
732
134
898
373
750
956
880
227
300
106
276
184
427
20
785
605
485
468
900
388
771
298
706
827
240
244
292
926
450
302
455
551
236
622
580
264
450
66
154
731
720
200
273
200
11
756
850
50
60
806
151
377
802
846
646
288
310
948
484
643
66
547
3
757
117
350
801
131
430
716
619
303
171
41
170
719
823
418
747
720
589
471
583
621
323
818
614
893
483
684
31
982
980
105
701
700
187
16
381
211
277
779
761
205
18
609
807
23
870
868
870
771
280
828
846
855
682
357
100
994
957
419
32
268
182
840
922
131
32
230
483
499
325
197
714
1
375
117
343
118
485
215
962
49
184
181
573
710
608
613
269
831
629
819
979
269
731
812
962
500
757
928
530
600
351
897
787
448
264
1
857
229
420
597
916
229
68
132
530
168
495
97
864
356
83
328
97
562
485
346
180
690
48
43
153
328
363
717
911
825
767
561
350
65
104
36
929
351
632
488
113
468
481
939
71
873
422
610
229
666
748
602
736
90
85
741
234
63
520
27
101
705
906
769
689
929
137
831
681
819
574
603
300
869
80
825
897
119
203
837
441
15
276
140
915
879
827
497
804
970
954
691
266
8
982
476
716
83
854
306
416
984
850
831
206
436
70
142
266
620
377
62
5
499
758
684
581
310
359
52
262
950
686
199
227
932
667
388
680
510
738
255
962
928
667
187
775
924
884
383
306
930
647
351
877
259
423
275
287
221
440
923
783
955
345
241
235
249
582
21
498
713
314
521
290
238
677
674
608
650
103
741
553
962
2
195
948
497
676
355
337
591
482
236
827
91
259
519
817
494
311
876
959
355
374
702
656
9
552
192
942
508
860
154
278
840
108
335
655
343
182
15
98
596
558
603
350
852
738
65
170
34
947
83
986
979
203
632
250
275
109
606
975
24
826
658
709
575
386
834
337
997
562
471
78
467
831
988
474
979
960
324
779
30
800
682
977
773
224
860
495
987
648
394
258
336
520
361
634
222
820
686
629
244
924
495
353
171
515
499
845
215
545
822
83
844
688
115
159
897
846
451
586
722
520
778
187
862
652
361
559
989
696
242
625
835
831
204
649
783
911
671
607
835
578
790
910
511
975
596
423
704
321
78
990
969
816
882
260
685
634
437
24
962
170
12
162
659
566
676
625
788
522
506
89
426
4
673
284
395
379
137
492
258
760
870
288
459
93
404
671
223
338
415
991
393
674
979
171
551
433
900
827
578
802
154
546
979
467
265
13
305
991
383
664
698
876
918
248
626
893
207
58
959
689
46
878
491
526
459
86
984
293
46
89
352
752
494
710
734
880
580
826
434
132
752
774
653
16
687
284
194
737
672
247
177
937
964
806
114
686
812
124
141
129
683
363
270
50
557
386
62
355
641
617
581
468
493
170
166
890
288
331
156
221
880
744
409
552
951
285
115
228
591
310
639
344
939
684
982
645
203
977
857
490
976
569
263
664
416
93
827
476
726
290
280
460
656
236
317
713
44
831
525
856
157
674
140
677
251
560
890
383
187
214
947
979
161
702
192
595
476
325
886
256
352
227
635
348
529
659
348
363
631
421
37
274
730
464
771
386
95
913
102
46
55
961
328
630
240
813
806
451
400
324
21
377
633
198
562
112
259
114
858
345
502
724
609
953
560
515
126
801
98
785
575
396
438
298
535
4
895
481
881
90
956
624
680
223
225
226
810
344
972
712
242
251
780
17
901
320
189
863
321
329
875
213
556
817
748
692
106
874
344
807
12
418
59
635
533
717
556
801
677
406
968
838
533
156
692
6
872
881
730
548
284
853
494
296
723
912
505
693
764
706
950
980
991
732
886
158
124
411
656
830
470
118
327
303
431
424
821
351
805
836
902
399
293
587
396
335
914
969
933
599
145
437
209
864
59
67
38
972
22
251
712
880
316
866
416
928
276
887
222
482
64
488
617
376
574
201
37
987
901
491
756
556
485
369
823
9
200
724
119
732
516
841
611
444
210
988
991
282
73
14
413
320
957
364
37
656
174
29
373
544
161
950
819
595
708
344
379
168
491
633
682
259
148
33
157
456
31
193
49
781
710
15
775
290
783
68
249
384
522
118
914
484
878
151
125
686
99
121
568
765
554
51
929
386
143
188
499
700
364
706
712
302
225
60
604
823
839
243
516
414
664
806
631
671
14
885
345
95
865
205
452
502
902
219
110
416
537
656
483
459
193
150
147
129
146
550
545
425
305
396
85
594
379
352
893
397
394
41
872
137
388
110
351
402
846
356
662
468
165
65
932
676
353
868
5
957
31
839
57
516
297
812
681
742
576
241
486
169
260
276
32
68
571
564
129
69
914
970
65
806
777
698
925
436
625
408
912
552
198
765
121
955
28
45
281
319
84
197
412
667
586
995
551
257
992
891
419
263
522
776
675
121
664
341
762
991
750
686
591
884
965
980
556
72
322
281
46
305
413
478
865
502
349
74
901
927
41
835
834
714
847
732
925
806
318
76
887
463
418
784
870
78
349
851
230
881
341
105
276
563
111
451
50
763
278
41
379
19
13
634
415
722
786
562
156
516
261
417
855
893
384
101
133
402
99
528
931
491
754
960
569
30
561
397
2
688
138
545
803
891
320
836
85
587
355
230
904
555
179
50
958
458
135
950
595
684
196
969
885
896
488
294
178
716
101
318
523
195
874
639
646
909
480
101
398
538
854
525
760
740
374
622
233
514
833
689
850
41
585
111
369
160
568
745
454
447
368
625
63
187
764
869
600
855
940
9
336
604
20
587
822
364
652
4
547
610
393
112
122
130
964
636
752
706
324
616
918
58
232
182
517
158
961
189
221
349
287
512
201
207
884
338
390
160
204
825
930
983
413
1
248
960
324
913
663
830
789
512
535
547
874
914
729
588
719
961
244
606
414
28
149
646
93
695
565
97
118
945
65
851
878
352
669
628
80
805
287
847
181
292
771
140
420
142
144
534
417
245
598
533
723
987
723
126
590
475
861
692
183
83
556
38
417
369
832
589
313
322
457
586
843
571
98
494
301
19
100
556
202
489
301
902
344
324
954
363
260
158
604
284
717
273
926
962
647
839
840
903
717
989
193
573
192
989
333
638
185
383
168
615
855
378
521
237
704
293
793
268
492
760
5
185
68
88
327
389
271
12
978
946
967
842
496
629
918
986
98
141
403
235
645
547
716
886
242
514
960
947
464
892
543
667
782
853
682
637
320
608
412
405
447
458
582
935
849
612
133
1
189
601
231
811
184
982
384
964
612
643
338
970
642
955
193
548
4
27
908
495
656
91
7
401
506
443
674
227
548
636
452
647
158
244
113
880
49
612
915
45
822
571
407
330
428
242
729
861
552
527
806
805
800
504
291
282
584
491
470
890
478
215
1
280
291
805
791
643
568
12
236
517
48
446
368
402
365
927
381
755
415
603
674
443
523
7
118
109
992
623
1000
544
387
187
913
594
815
572
517
966
366
861
164
598
378
735
232
818
6
830
619
744
535
808
191
235
349
930
127
500
212
988
43
822
896
209
314
47
480
889
663
563
850
417
706
522
119
910
895
743
841
88
154
117
290
830
799
882
351
775
792
460
242
539
781
111
830
237
838
172
499
283
180
503
617
480
752
480
185
340
530
449
268
503
83
449
982
743
636
536
480
600
554
852
556
81
787
791
792
659
148
635
739
256
503
487
785
574
968
5
611
683
614
904
195
575
545
862
379
394
924
373
329
300
628
606
512
627
1000
710
452
641
930
224
679
214
427
864
667
991
505
626
358
760
569
581
288
353
268
818
432
502
85
568
531
773
818
479
702
963
605
408
548
995
419
910
358
752
90
590
973
609
854
595
902
945
443
789
484
611
421
470
688
507
489
684
420
112
834
834
63
839
519
919
427
930
441
848
78
137
126
654
195
851
858
48
598
510
317
250
171
442
77
265
863
344
562
748
748
760
228
268
145
841
192
955
290
939
438
61
770
811
644
628
763
404
910
196
535
957
698
621
943
940
90
581
499
334
779
287
596
732
497
229
852
459
593
559
342
381
550
17
815
831
753
532
856
371
817
204
172
766
502
529
357
666
581
552
834
432
909
662
383
45
556
479
843
382
174
282
105
603
606
390
87
925
796
20
339
501
72
805
735
241
426
735
455
392
704
634
581
217
524
793
979
848
539
625
78
600
254
423
511
960
171
656
818
236
805
834
566
736
213
803
333
531
497
179
729
978
190
485
828
716
439
479
746
275
325
721
517
783
55
671
777
87
316
959
46
503
35
430
545
692
610
135
792
323
897
265
34
595
120
761
831
172
516
207
881
526
532
684
752
85
673
697
841
3
474
743
810
555
11
599
146
254
318
922
387
598
513
696
804
873
24
171
813
326
545
804
966
40
944
164
286
390
133
370
875
167
325
589
912
197
606
123
608
995
79
567
701
59
703
549
325
134
817
608
267
69
942
451
565
621
383
958
399
276
717
704
874
212
125
416
933
289
205
147
186
1000
844
510
450
5
846
661
273
652
708
190
189
506
461
490
578
231
732
158
932
381
937
881
386
88
443
574
135
471
381
71
259
268
230
448
423
279
768
918
362
25
818
148
848
728
167
495
956
670
377
954
218
579
439
362
873
204
27
132
763
838
842
836
279
755
630
459
205
492
926
527
637
538
348
366
201
109
819
399
689
862
986
6
353
952
930
921
989
515
745
476
234
685
994
686
160
873
201
379
161
378
433
810
425
768
405
782
295
941
330
557
82
602
60
346
968
443
110
281
890
715
955
662
243
292
802
325
81
201
450
841
43
644
208
838
88
972
394
746
351
290
162
32
890
893
384
939
466
987
774
326
889
136
247
12
931
225
180
395
537
38
722
704
975
795
684
135
145
132
220
795
242
759
877
241
489
971
249
55
913
559
1
57
767
512
426
428
706
643
179
846
734
956
700
779
158
921
238
826
523
962
124
7
148
385
896
629
253
902
324
950
381
954
275
80
135
577
646
266
916
912
199
441
31
962
25
778
449
553
3
740
476
696
699
175
5
881
704
32
146
837
730
831
250
965
712
99
617
495
677
918
163
962
170
152
188
707
608
235
563
220
102
112
181
702
430
802
786
388
991
844
13
142
191
917
596
961
946
639
598
6
104
67
682
286
133
313
361
141
500
24
735
549
543
319
537
824
113
47
476
926
366
385
275
452
700
499
225
693
815
144
768
387
665
507
706
64
873
577
861
968
159
293
530
396
491
430
423
204
456
386
120
910
307
459
465
582
693
775
330
353
33
501
933
590
823
811
124
660
979
339
137
842
405
925
616
816
220
515
969
193
510
748
542
749
478
939
823
672
914
478
325
642
358
338
264
223
741
755
969
709
506
260
329
194
342
319
303
497
155
521
600
725
124
806
971
877
943
904
530
14
693
175
278
330
969
636
234
315
425
444
462
888
41
363
668
316
217
828
445
17
32
577
178
343
477
437
948
258
160
971
306
535
190
372
843
212
549
802
523
548
510
366
260
785
307
581
168
100
482
744
792
376
566
45
864
967
143
45
624
176
170
142
294
655
801
362
225
604
139
952
703
251
792
309
372
261
426
498
114
879
836
195
627
915
489
331
568
595
456
436
196
867
151
146
654
57
204
123
696
797
774
533
176
137
847
736
267
18
405
546
488
680
355
339
536
219
914
17
539
391
293
335
807
591
372
488
465
979
87
619
341
559
399
627
488
979
946
123
110
494
307
40
66
352
602
807
527
105
222
854
755
906
109
58
495
171
644
568
738
329
791
740
47
835
499
424
351
211
144
246
579
99
181
487
217
26
262
748
594
890
836
450
343
596
425
567
700
427
576
874
776
123
872
243
469
921
248
72
398
10
362
60
552
881
598
742
586
476
453
543
567
464
218
597
681
426
401
690
162
779
638
179
155
74
758
354
389
389
529
870
964
579
775
672
813
462
813
207
184
476
176
674
241
811
440
654
662
288
834
52
765
765
17
8
913
634
385
398
981
697
27
638
378
621
972
952
674
550
633
495
304
795
440
319
855
625
451
39
355
541
840
427
748
493
744
729
750
183
850
237
772
395
882
36
487
773
628
450
391
883
586
626
462
243
774
99
985
308
61
757
956
566
256
9
472
859
817
371
31
257
646
881
85
27
747
864
891
72
274
218
861
386
993
946
800
546
835
743
637
191
769
760
839
897
587
709
218
704
988
796
561
951
656
145
185
838
334
358
140
551
963
344
552
183
705
858
150
56
292
950
473
91
162
221
980
267
37
410
726
290
903
541
946
148
167
598
589
645
228
996
153
967
743
632
554
627
242
4
704
106
151
510
712
85
54
311
136
714
459
669
109
718
492
562
588
751
664
480
137
341
648
803
935
765
986
105
665
839
451
934
96
659
329
227
274
931
533
59
243
485
467
126
189
782
675
5
900
65
638
94
945
992
520
338
245
829
581
562
446
66
74
437
838
497
188
760
523
173
936
261
315
534
437
360
843
326
549
212
205
548
156
393
157
109
988
187
346
796
500
302
32
448
163
909
437
817
463
54
67
212
911
386
378
944
709
519
315
603
339
930
588
802
438
365
20
674
81
899
329
724
814
263
945
654
151
462
683
227
575
734
124
546
663
63
759
43
434
839
106
381
418
446
864
433
657
413
888
988
631
989
91
774
792
17
441
327
198
20
337
154
97
302
909
958
705
857
962
893
585
712
221
381
425
870
609
557
446
931
203
283
782
38
232
684
258
284
948
290
76
741
248
927
117
351
44
983
695
564
889
820
604
639
154
440
61
230
183
926
899
572
860
718
452
729
127
81
543
55
442
704
925
739
78
566
962
824
958
245
930
374
906
906
15
192
451
295
701
623
211
315
863
261
825
441
164
622
632
511
196
727
341
734
305
656
488
291
105
476
827
246
269
658
909
637
99
516
825
688
346
279
887
804
956
497
339
818
872
193
639
672
146
251
909
850
121
241
625
47
470
242
823
633
444
317
210
149
370
78
768
978
134
24
645
524
419
931
623
258
397
369
863
32
367
522
304
993
921
997
183
750
94
625
702
36
505
403
837
39
62
259
30
501
372
864
589
472
464
834
435
29
372
781
641
572
662
671
795
451
444
481
16
451
189
995
324
476
231
721
811
528
190
127
861
414
349
966
454
630
114
364
808
563
62
316
50
716
906
100
167
197
459
82
549
693
689
189
897
808
48
50
807
881
116
524
542
72
545
429
132
999
966
953
236
516
951
50
355
30
7
104
550
32
846
51
989
971
607
260
482
104
672
778
821
637
701
204
512
929
982
514
902
847
335
839
196
563
620
279
225
36
236
706
172
154
670
868
56
389
428
516
581
648
296
409
362
384
370
327
738
18
684
605
426
432
990
145
462
761
223
690
55
32
511
770
256
743
135
372
457
695
410
601
31
779
989
313
307
957
926
975
331
900
111
587
816
925
337
166
645
554
284
919
145
949
649
743
559
518
37
885
945
282
523
18
852
382
434
944
315
201
640
102
562
81
639
836
868
415
754
326
583
397
6
658
242
396
246
396
661
181
973
660
979
852
652
826
476
85
272
45
314
603
734
741
618
50
587
888
343
743
652
449
506
348
245
730
156
605
528
971
213
318
149
111
1
412
78
997
645
945
404
397
932
122
255
70
673
979
557
196
244
590
353
77
923
911
572
562
275
652
826
256
367
907
28
367
643
969
218
634
936
595
236
690
825
516
349
213
571
613
852
568
978
203
29
311
455
961
616
383
875
605
9
838
266
36
446
781
130
701
220
227
872
915
209
857
74
785
799
546
525
94
864
560
426
364
115
402
690
952
555
116
52
954
23
394
691
854
487
786
32
284
236
598
9
305
509
339
187
739
629
706
13
77
247
161
991
855
404
370
918
755
811
878
219
955
324
300
632
401
858
294
310
651
665
58
275
738
831
822
331
800
464
760
201
864
972
483
846
769
696
530
137
90
374
201
48
984
208
361
6
26
677
212
471
54
957
157
810
327
241
897
633
318
200
757
565
875
133
861
569
531
857
980
570
239
270
881
816
125
315
231
758
207
701
246
639
143
258
528
131
319
772
797
618
308
339
142
662
253
778
792
334
865
216
73
440
554
590
357
960
379
642
504
524
4
621
449
538
698
622
728
793
117
235
653
176
971
924
36
241
41
131
737
727
957
390
42
449
872
880
639
195
654
875
643
364
88
534
871
116
790
575
36
324
192
33
427
630
540
202
424
872
129
759
983
463
986
805
563
937
613
92
391
14
919
420
171
553
297
987
967
48
555
915
988
428
955
267
393
970
544
550
305
805
961
67
417
353
878
631
951
167
382
49
449
717
418
208
502
255
694
605
79
6
948
412
373
506
217
330
139
519
526
977
19
749
479
910
945
174
728
271
118
297
822
463
169
753
101
75
987
229
513
593
312
750
998
904
635
78
616
361
393
267
635
895
436
709
705
812
719
978
897
274
726
449
395
195
861
395
403
135
740
357
786
517
806
973
862
220
976
190
566
182
483
703
951
249
933
342
801
300
755
196
756
88
581
39
737
511
398
716
900
408
5
636
840
496
919
406
671
803
129
509
26
378
171
701
274
963
648
552
279
805
713
311
676
332
454
651
123
578
458
808
985
182
829
356
917
111
925
660
479
279
194
74
884
710
29
339
93
775
977
488
572
342
909
483
904
386
708
804
154
87
161
772
386
906
741
105
235
962
519
275
178
846
256
112
139
738
667
931
286
775
870
171
574
423
127
654
476
388
918
561
939
587
589
971
521
270
24
290
180
734
346
646
949
546
151
610
453
816
245
362
681
784
750
449
927
745
478
8
909
670
979
296
117
219
723
426
743
795
741
270
442
232
422
501
431
76
953
183
102
33
492
306
209
288
221
644
208
729
228
453
825
736
239
119
487
326
647
612
880
778
249
382
997
849
879
691
787
685
219
423
224
970
488
856
457
93
50
630
344
915
341
249
763
420
585
732
276
841
360
230
459
786
47
873
13
91
494
40
816
250
817
1000
736
882
353
408
241
926
400
227
180
226
52
271
698
536
440
841
934
244
782
481
609
7
126
971
676
616
420
919
657
359
79
97
560
774
15
766
607
729
105
715
610
742
999
383
616
847
748
886
314
226
787
702
637
278
55
22
75
625
605
421
466
172
567
594
195
679
973
158
566
382
113
92
402
280
218
15
906
295
937
628
689
110
370
270
709
961
110
517
962
20
311
446
978
567
978
399
63
6
406
313
474
676
864
903
257
530
658
767
630
260
262
901
312
124
929
369
649
453
929
426
867
760
744
742
697
221
542
425
410
571
100
179
175
274
488
395
337
665
115
746
462
817
27
979
950
786
591
627
227
684
145
272
34
871
698
624
988
648
2
373
826
39
972
424
816
151
620
275
884
872
440
907
612
476
48
411
830
687
931
199
652
691
861
450
218
471
260
748
575
991
682
18
873
653
215
256
225
345
302
715
256
409
217
950
590
764
447
389
965
329
74
7
869
400
796
411
61
236
131
692
469
360
762
80
868
360
387
190
684
489
167
241
825
420
142
714
572
753
966
897
968
465
286
579
78
538
490
456
703
671
282
33
497
910
7
745
964
866
763
724
516
916
343
244
825
654
6
604
681
387
801
225
724
915
384
320
307
149
198
931
691
510
905
625
942
970
961
898
91
968
846
48
866
344
255
636
286
850
706
862
163
300
23
868
562
851
674
225
217
806
464
24
298
590
364
240
701
930
589
95
816
931
894
992
25
986
620
303
697
283
105
431
552
403
29
828
845
980
761
81
947
729
80
987
598
411
738
731
640
908
525
351
835
107
126
707
542
208
738
547
813
37
427
881
189
354
793
805
536
901
429
942
930
859
107
430
293
828
774
260
462
759
617
103
739
62
79
425
160
715
240
659
659
956
502
359
840
340
664
990
801
845
821
32
794
337
210
436
68
590
177
509
560
911
722
377
439
217
183
763
770
662
88
196
861
710
636
727
185
943
812
471
542
117
378
372
723
246
667
289
606
324
957
813
465
812
954
430
641
752
236
23
424
531
68
91
788
369
634
290
216
782
863
130
854
146
16
196
825
527
326
281
41
239
5
262
663
395
637
117
438
816
632
331
1000
747
420
317
879
832
287
635
820
584
708
285
706
181
607
607
116
126
946
400
264
946
572
100
417
645
560
116
495
859
411
135
921
181
997
91
456
542
768
480
485
97
10
992
769
114
676
357
409
389
961
514
670
461
705
430
981
557
582
344
977
828
37
543
96
780
479
297
190
702
707
829
40
733
449
330
405
797
19
825
26
308
132
44
154
839
272
287
795
977
121
969
744
239
404
635
993
825
868
266
366
77
688
754
11
273
650
699
304
27
773
882
87
522
366
807
988
944
598
935
158
553
92
323
171
408
728
284
816
157
296
654
347
981
325
840
391
701
327
579
900
537
451
300
688
217
547
914
426
717
352
377
527
382
867
520
275
843
915
684
672
83
19
73
843
453
793
843
517
249
791
50
425
20
500
585
343
13
39
974
706
464
238
576
392
107
264
167
686
281
403
981
759
710
844
765
65
645
703
726
709
894
923
462
237
15
43
592
210
125
588
901
58
596
726
574
662
38
766
1000
922
299
93
624
489
515
200
270
32
235
71
689
548
779
986
190
435
128
283
177
452
676
130
506
876
285
396
622
245
514
781
694
338
508
634
157
11
527
765
846
277
774
735
954
833
363
862
212
556
77
246
955
8
52
617
377
77
266
249
172
218
662
492
350
861
275
499
268
812
263
424
276
95
182
48
681
974
503
175
380
933
272
777
960
233
415
325
560
898
710
309
298
877
123
860
354
139
973
254
218
77
840
249
801
895
906
971
35
870
630
936
328
65
106
176
322
156
848
400
356
298
226
646
885
302
92
966
870
455
456
245
768
142
578
774
63
223
493
797
957
262
370
647
987
253
489
406
438
256
346
956
688
761
357
116
226
317
545
193
922
598
553
483
182
57
960
524
225
585
576
417
513
437
496
785
217
394
905
972
510
937
869
295
997
611
415
378
230
784
799
710
528
743
246
669
942
418
244
917
358
508
898
590
575
742
565
12
895
683
181
171
474
712
719
366
446
242
150
1000
867
848
699
951
413
888
490
20
367
409
971
808
887
624
465
236
548
239
324
364
55
145
651
304
281
135
787
911
928
505
217
804
24
192
268
697
955
814
684
921
126
842
341
685
133
59
218
932
819
8
565
442
908
420
177
805
488
613
669
905
749
151
791
458
550
516
629
81
184
346
140
928
318
912
639
306
524
566
667
28
886
704
51
131
263
522
512
791
751
749
227
969
475
770
516
80
408
447
504
450
102
379
934
279
605
458
447
217
370
447
549
501
985
396
349
596
425
552
8
247
934
738
552
2
464
88
87
440
737
950
445
676
275
893
8
382
514
191
623
573
342
819
704
45
969
649
652
689
430
896
727
813
261
571
453
632
249
494
364
578
870
483
693
122
265
394
582
476
866
17
46
557
873
663
871
659
709
372
153
203
467
553
542
30
524
791
889
86
133
759
457
820
192
590
108
540
34
194
890
371
465
69
231
925
326
500
473
979
469
873
255
884
848
197
777
602
283
667
322
110
487
163
5
34
352
321
143
115
863
712
485
710
535
48
338
78
358
473
636
946
54
736
496
605
206
605
684
932
169
273
275
871
276
172
907
677
200
28
592
826
894
808
705
691
557
276
838
677
530
218
347
161
510
111
826
997
942
564
802
712
528
477
753
553
250
555
687
83
294
806
335
980
307
968
152
623
891
262
48
209
853
948
734
544
37
156
847
381
391
83
771
484
793
918
289
727
470
625
686
46
469
116
821
971
908
364
593
134
338
617
591
996
543
235
936
148
780
820
264
427
30
931
844
653
7
458
72
999
147
326
602
608
435
562
843
323
151
417
665
198
257
351
993
456
243
191
8
786
195
740
351
76
946
565
454
73
785
125
658
158
234
979
148
91
324
661
503
76
810
903
742
374
921
175
834
99
1
878
356
31
266
165
391
588
422
967
471
424
236
806
69
620
636
365
140
770
345
571
274
773
898
518
811
891
920
831
322
10
379
192
1
781
360
371
238
74
732
915
800
836
780
83
449
174
207
588
249
130
908
438
915
765
148
669
762
95
238
799
460
367
40
570
578
207
759
787
764
437
948
101
709
556
465
349
707
796
319
940
204
757
168
684
729
896
946
442
660
102
13
299
432
345
422
839
884
469
778
919
860
863
334
190
543
689
835
984
594
88
731
677
71
420
299
286
744
83
734
810
571
399
139
408
611
99
535
606
128
94
357
995
157
639
48
186
846
971
48
574
510
91
895
735
419
590
344
265
942
879
597
885
369
189
945
619
429
992
472
264
444
564
468
652
236
575
492
118
216
96
319
377
150
22
550
849
649
840
796
849
28
749
714
428
756
98
429
768
527
868
972
708
58
132
942
965
113
228
980
189
158
225
331
220
151
61
548
99
491
432
697
686
621
728
212
382
854
931
756
161
149
613
756
497
994
97
419
895
393
916
631
517
505
973
998
606
997
805
261
962
330
718
946
338
981
66
998
290
524
994
194
934
709
664
441
977
249
749
226
157
672
974
520
741
489
637
14
755
21
137
768
452
620
458
727
159
297
381
432
986
376
195
926
888
964
509
94
121
571
80
803
374
767
457
540
315
71
293
472
904
514
45
855
740
16
720
870
746
803
206
564
31
213
678
547
601
373
458
88
207
973
803
309
362
347
263
618
612
78
753
815
29
679
978
380
498
302
380
922
190
221
798
708
918
564
53
453
202
189
490
262
84
787
879
607
796
535
373
226
412
53
197
574
253
160
166
874
925
954
587
1
287
151
882
28
868
391
201
500
221
800
932
373
546
539
295
828
565
891
441
471
518
730
558
1000
578
607
610
855
523
885
371
630
586
237
260
930
601
20
524
86
440
135
56
80
707
27
224
762
930
182
511
253
529
214
70
109
135
880
857
961
862
404
330
755
660
249
720
629
486
594
493
816
789
551
55
643
182
256
927
777
370
556
304
892
515
96
291
543
578
668
546
377
16
52
558
798
987
228
967
143
877
705
551
260
438
785
271
378
54
994
450
81
491
729
766
852
213
327
425
472
463
713
260
752
12
801
5
788
587
741
958
465
208
952
679
686
488
192
279
144
234
32
435
524
346
398
763
412
82
369
208
952
750
819
130
953
872
986
45
236
167
116
197
160
233
462
19
233
844
369
18
539
350
888
533
371
923
953
501
437
949
415
74
905
124
912
819
255
662
839
713
424
572
944
405
936
524
160
818
938
169
687
466
259
155
964
463
234
277
931
798
523
579
19
300
371
200
953
300
328
481
325
227
311
180
431
775
863
747
419
662
469
718
567
112
327
964
432
657
491
757
102
4
835
905
596
954
62
702
238
130
258
383
930
121
201
643
316
5
316
496
210
836
999
497
62
262
885
263
643
606
331
363
547
941
547
779
589
305
86
348
540
928
894
454
279
656
703
463
178
624
429
727
983
568
896
415
470
529
167
43
697
420
285
567
326
798
91
333
756
943
506
263
937
889
421
585
341
847
804
53
33
254
286
913
125
774
159
654
995
452
887
717
735
672
813
778
376
663
336
197
394
858
443
564
442
18
931
143
730
931
578
10
545
356
765
745
451
402
552
365
98
607
572
714
307
531
844
693
175
132
604
865
289
907
586
229
450
699
689
631
809
826
445
648
518
718
198
399
324
94
303
512
582
703
581
867
654
343
885
877
111
583
201
142
836
368
263
488
134
64
901
184
388
831
535
855
75
249
46
9
69
356
927
167
670
92
922
939
329
43
485
349
334
523
183
335
529
487
203
873
254
667
255
943
898
603
24
187
875
35
77
335
323
878
54
747
950
262
656
482
148
496
58
219
306
297
222
361
572
960
881
488
713
306
789
614
886
134
929
582
375
998
143
518
20
790
54
895
883
271
452
879
90
817
51
778
505
364
71
410
331
244
704
882
13
810
325
589
329
749
131
243
443
551
555
566
118
935
844
425
150
965
263
174
899
463
476
597
54
317
281
547
130
615
958
901
92
423
290
731
812
51
714
207
117
191
96
696
781
719
698
15
186
242
920
331
325
20
233
12
891
590
252
515
320
721
814
748
835
677
709
260
411
346
384
821
30
835
505
293
747
54
505
865
95
193
628
285
83
939
231
671
146
693
666
184
417
128
703
919
70
310
977
616
975
414
112
687
628
675
835
577
519
131
667
592
833
747
240
90
554
838
593
685
120
73
440
214
958
452
539
546
838
860
951
61
982
74
932
8
140
27
43
53
247
330
602
613
504
542
771
27
73
521
382
634
964
48
85
779
898
456
217
896
1
94
350
851
529
274
286
216
551
663
957
251
996
738
615
160
717
975
967
852
383
761
420
728
577
363
203
987
604
885
767
948
669
447
312
79
485
384
295
645
783
340
376
116
785
510
739
731
656
474
399
504
238
496
247
507
97
943
919
193
971
822
492
862
462
43
766
339
643
334
23
172
164
306
828
336
607
770
984
806
569
557
72
647
97
496
227
839
651
557
535
472
30
880
619
17
97
624
958
929
287
980
579
540
173
581
551
331
22
814
155
50
588
596
535
631
482
209
196
711
533
262
14
310
534
602
188
571
388
472
963
243
728
482
255
369
551
297
659
819
177
239
691
607
42
905
190
541
603
918
927
33
455
554
552
953
330
676
124
103
563
415
872
600
546
148
786
524
656
528
319
928
699
113
127
114
495
23
460
51
29
408
441
705
95
522
661
297
744
800
243
696
650
420
406
517
922
142
788
602
638
141
486
129
640
843
765
192
543
822
668
334
126
427
56
453
362
168
238
865
465
409
371
908
914
438
581
410
473
509
549
247
119
983
605
562
324
761
672
227
108
425
348
740
631
355
689
934
821
293
725
836
89
43
109
907
102
251
998
443
176
783
505
765
828
646
743
530
228
995
782
582
772
358
127
226
272
88
789
100
408
242
446
631
489
322
109
477
66
676
997
87
20
175
224
544
300
903
793
228
339
648
279
283
253
276
737
554
114
2
250
203
618
128
338
31
475
516
118
45
905
860
422
540
309
91
704
952
409
665
870
317
620
526
63
838
89
730
856
381
124
544
750
22
486
587
558
408
56
629
771
113
802
461
810
562
561
661
728
91
807
828
156
319
177
46
993
348
133
523
101
117
337
842
922
474
306
424
733
888
325
559
730
78
339
412
830
979
391
527
590
460
859
859
56
693
380
859
919
199
705
340
140
627
504
481
1000
808
897
474
217
261
241
743
138
903
229
409
968
794
866
393
106
512
137
814
905
757
685
907
679
62
609
343
669
83
56
367
121
739
718
235
691
309
194
954
127
883
97
484
999
767
296
721
640
171
366
825
590
394
232
57
187
938
831
17
572
434
110
493
629
666
686
774
194
717
624
670
334
944
7
902
490
518
931
248
242
131
743
108
635
436
31
153
388
592
665
690
339
723
24
838
915
893
623
464
425
873
938
94
985
66
642
652
409
147
370
329
724
939
547
588
721
850
450
155
121
416
906
441
444
23
178
574
265
839
633
594
814
882
893
308
45
368
63
159
611
45
768
661
332
810
808
249
577
326
859
734
916
107
902
621
803
843
374
401
569
320
85
355
764
14
219
835
454
197
762
578
547
250
346
986
890
668
549
778
955
663
698
322
340
565
966
665
159
912
16
349
189
10
945
886
967
430
289
674
287
614
907
957
238
319
172
503
311
82
716
360
655
973
204
577
529
102
555
583
876
956
833
810
143
497
231
655
184
450
559
591
539
235
646
365
548
172
972
973
178
776
470
54
163
107
704
436
566
154
577
508
297
897
221
616
386
547
741
826
95
895
634
338
262
360
643
59
120
577
176
438
291
182
695
347
592
842
653
324
837
497
38
314
528
174
530
420
967
310
169
532
261
259
529
992
608
994
892
894
626
542
751
701
144
455
370
577
116
254
8
513
902
632
506
488
585
513
353
697
158
268
575
142
391
276
58
896
445
498
5
17
863
644
976
680
532
81
815
814
669
279
944
153
468
727
395
980
781
808
154
125
387
253
390
833
226
972
601
975
220
339
632
994
757
206
802
89
414
591
503
582
275
854
675
103
828
834
32
139
383
102
741
54
777
494
618
538
513
184
243
789
299
816
597
123
333
439
796
650
731
419
550
257
47
907
324
185
18
645
199
868
503
399
390
350
451
891
216
254
176
935
302
748
126
946
272
665
303
753
505
654
105
132
202
484
849
769
940
967
839
884
81
982
782
405
324
671
476
241
313
899
147
195
453
307
964
673
990
653
689
752
189
219
979
304
66
169
806
214
892
482
822
192
123
303
882
484
103
284
457
979
564
389
735
663
415
269
583
216
63
443
72
435
58
780
337
696
936
594
596
165
534
218
473
652
310
691
373
89
609
764
902
302
623
145
536
336
22
879
29
338
976
633
752
686
766
569
924
194
832
464
917
784
805
216
303
441
761
942
43
467
188
491
938
267
526
923
158
327
41
689
430
628
205
581
35
41
108
915
514
592
422
455
270
739
761
875
603
729
928
399
279
376
588
841
315
785
880
406
630
942
994
194
117
526
687
443
322
605
32
547
857
206
316
840
464
176
275
533
805
475
330
810
207
856
688
807
86
141
483
527
33
748
537
656
13
286
123
670
436
448
361
473
851
601
843
450
728
748
943
646
789
390
359
761
862
191
703
22
630
757
205
465
37
215
200
136
879
685
253
557
322
574
240
951
333
704
416
760
518
408
563
404
951
64
568
499
748
133
740
778
590
99
832
904
686
645
819
185
987
198
560
242
202
373
481
134
717
707
938
548
519
906
365
787
305
312
463
393
632
300
349
583
743
396
419
96
699
70
939
477
947
756
215
354
71
65
872
786
56
632
985
142
791
677
487
33
677
815
697
287
458
788
135
611
94
492
926
548
149
597
686
37
11
656
630
337
889
483
588
606
633
370
19
381
854
624
629
549
204
385
617
826
242
41
490
405
916
228
895
417
949
143
408
669
158
745
399
362
495
910
931
659
777
849
112
656
413
401
997
799
252
281
108
140
924
300
897
231
916
427
651
711
368
395
663
812
184
239
462
61
424
953
845
360
592
206
96
328
198
600
551
123
287
929
303
165
692
697
187
588
454
968
303
898
513
584
715
278
623
504
237
193
996
434
761
335
184
701
122
568
661
686
65
755
448
105
889
572
684
954
258
177
926
48
92
753
882
168
757
101
838
368
712
742
115
607
271
179
151
146
103
830
331
126
328
861
200
702
530
989
839
438
810
476
373
612
913
456
437
962
252
336
98
302
878
287
22
319
250
218
773
703
222
604
518
668
855
772
222
104
238
349
784
548
765
306
440
926
381
65
993
552
107
838
391
701
923
757
656
349
742
588
613
591
231
202
487
521
966
177
156
14
979
361
132
661
888
449
987
920
364
201
296
752
303
696
371
860
987
932
486
377
207
268
731
374
939
577
37
162
256
432
961
603
1000
773
610
338
8
385
811
498
486
943
84
973
958
294
835
212
565
432
100
416
717
78
632
747
519
570
418
360
673
263
251
995
302
885
237
757
83
413
523
920
581
647
262
206
94
935
174
953
425
875
328
284
882
636
437
445
778
192
951
678
360
529
167
406
111
266
78
445
886
694
643
975
663
388
59
871
851
734
146
382
352
616
938
665
387
506
618
577
157
101
501
739
781
25
748
306
968
864
60
745
103
374
740
468
385
355
871
511
909
218
692
373
19
195
116
112
621
486
564
829
411
333
337
323
254
295
709
787
997
969
695
451
52
390
732
227
211
865
843
861
592
483
300
517
724
212
445
452
222
621
213
991
504
239
319
387
954
174
668
78
32
892
744
106
918
751
126
953
874
143
682
50
128
681
493
237
802
410
373
556
926
720
36
132
266
729
893
704
14
333
649
809
297
184
597
526
590
77
977
291
405
734
815
509
650
30
675
640
439
822
229
847
87
775
527
502
981
234
751
831
661
680
586
387
251
922
70
99
237
645
932
333
590
411
369
482
36
778
99
321
721
51
495
47
323
491
937
29
101
786
55
138
853
343
265
272
159
932
653
221
273
298
397
43
943
770
567
839
446
258
298
798
318
182
275
32
624
440
239
225
788
418
149
2
560
741
698
574
883
775
689
826
373
822
257
24
691
159
830
536
294
951
277
103
107
142
96
718
545
654
80
283
186
24
276
52
859
481
193
995
964
855
600
787
315
32
307
385
849
223
403
992
163
292
904
710
496
204
193
46
523
721
912
650
556
816
550
182
195
391
751
297
57
417
343
602
146
859
637
111
406
105
904
2
50
77
493
646
972
434
32
27
781
597
698
991
953
364
486
912
551
366
444
128
670
707
606
575
121
4
460
619
52
779
369
732
129
708
96
503
789
491
690
977
289
431
161
946
240
95
673
203
760
83
412
971
679
672
920
438
671
183
605
496
961
356
225
693
65
674
342
346
925
394
957
991
858
691
330
883
501
507
957
912
347
1000
409
913
920
601
280
606
220
880
609
57
23
890
866
280
665
943
928
287
235
235
518
811
666
973
282
228
18
123
202
475
172
86
505
681
752
196
360
179
93
4
561
307
857
660
142
664
288
51
514
767
65
976
882
511
379
395
726
553
906
624
270
589
50
512
802
892
805
8
925
86
982
105
504
402
733
325
339
321
408
926
460
164
731
937
382
168
366
467
108
914
606
577
964
728
566
46
975
13
569
157
612
154
377
228
505
362
404
488
343
26
801
965
516
473
445
586
431
83
146
467
674
119
117
342
170
750
603
907
524
799
87
55
688
554
761
728
151
926
948
325
606
865
516
562
205
355
215
935
976
332
225
892
611
263
624
581
581
889
123
663
100
577
948
573
7
187
645
888
129
584
620
646
150
942
455
939
244
176
448
857
445
942
96
445
740
849
664
371
545
224
352
93
966
872
547
750
142
97
939
735
882
277
770
500
13
606
786
146
718
131
851
700
37
279
982
666
790
227
612
180
234
379
660
848
407
638
564
935
462
931
238
343
786
697
85
377
281
64
126
289
480
250
408
950
417
446
252
971
642
80
923
867
529
779
110
495
239
785
973
864
926
659
130
481
788
878
528
231
154
70
471
51
499
903
936
21
359
530
712
445
324
524
964
777
273
730
336
387
361
968
325
435
10
588
189
477
398
853
669
147
869
942
82
130
690
953
334
424
819
943
621
640
1000
534
684
233
878
508
681
765
896
811
29
395
669
896
769
211
440
225
898
662
954
527
463
680
560
825
421
922
836
805
969
367
405
3
91
424
42
76
549
868
564
260
9
810
274
819
543
796
158
999
780
272
396
825
771
939
791
374
952
597
359
356
913
143
629
210
842
701
291
509
213
528
919
798
27
752
335
100
890
149
471
4
901
496
456
929
189
490
987
312
690
196
207
651
969
642
655
95
834
832
445
768
742
974
430
965
472
302
695
820
270
810
530
270
389
282
592
505
751
418
690
246
419
408
539
931
480
849
240
964
226
396
623
905
225
212
184
853
305
359
317
73
267
776
928
391
250
511
386
489
592
254
432
471
635
1
186
549
61
779
880
484
873
641
225
315
274
466
590
758
956
824
178
554
870
898
100
846
245
324
160
271
421
415
314
177
462
244
710
247
60
560
665
597
52
940
917
7
48
513
751
988
744
6
951
185
999
425
168
154
245
901
653
853
636
929
779
32
130
404
335
758
800
951
695
382
784
865
695
224
566
841
971
731
352
487
538
273
564
333
168
35
472
397
502
900
190
700
726
673
779
314
406
309
682
495
985
361
934
413
282
869
162
203
143
800
832
965
874
823
911
827
25
913
320
157
193
894
469
149
439
737
680
719
905
194
752
188
328
676
985
403
900
313
949
949
230
350
142
169
612
369
535
450
540
544
950
118
774
864
267
545
972
122
78
888
746
911
741
180
489
374
93
203
202
966
193
948
177
762
636
575
831
113
620
886
51
156
895
236
288
549
957
260
352
920
896
721
864
292
757
783
519
802
733
829
125
605
572
423
438
729
28
236
870
951
459
848
310
548
558
979
721
517
218
862
220
131
705
366
390
607
166
261
40
510
393
402
727
557
35
945
890
768
738
1000
159
777
100
410
405
646
859
142
589
318
815
416
420
127
561
765
266
115
412
911
900
352
283
360
113
51
151
900
769
438
97
12
275
227
479
27
952
960
799
650
223
970
813
747
644
868
344
803
505
800
298
462
5
726
531
449
798
367
670
133
346
952
888
667
10
333
589
404
197
970
432
978
780
313
316
742
810
642
2
741
794
836
936
690
571
489
616
516
711
704
22
363
437
94
13
14
940
509
841
722
959
917
69
45
771
937
350
572
578
226
295
864
540
644
435
234
344
816
346
890
29
786
887
371
103
642
859
930
733
163
518
427
701
273
385
885
497
765
962
829
22
912
832
80
566
574
293
898
106
543
4
689
913
968
129
139
913
13
553
141
430
284
33
74
512
249
750
833
807
445
921
513
610
798
681
707
55
725
410
302
718
144
523
195
112
789
66
957
259
868
375
526
743
407
933
577
84
462
595
577
961
484
936
69
199
602
564
834
117
817
441
903
585
854
499
467
729
728
323
781
814
205
354
235
975
213
294
527
284
794
648
991
128
796
703
348
704
908
593
308
411
897
12
584
683
48
459
947
351
221
822
451
598
476
397
431
777
468
855
371
716
950
158
152
899
85
286
810
762
676
291
209
724
551
797
370
212
283
792
127
40
692
199
775
21
901
182
706
642
600
128
731
877
844
419
276
7
27
819
592
346
361
716
162
627
774
84
355
551
148
975
126
569
281
660
823
314
429
36
933
17
298
411
803
3
811
575
526
801
405
690
74
182
889
609
834
593
534
904
824
140
887
807
338
181
761
183
95
705
31
216
231
415
673
954
538
500
968
554
511
927
827
617
936
134
959
867
774
95
788
939
995
891
733
369
729
163
33
442
703
102
567
201
808
976
608
435
233
81
194
103
94
112
307
446
400
780
869
243
785
152
33
366
271
747
513
851
734
40
351
495
463
100
932
767
715
350
754
956
603
498
645
58
54
10
982
976
96
515
965
877
672
781
940
991
876
409
713
538
495
31
697
820
320
857
368
378
98
547
110
486
219
319
650
919
813
116
485
672
839
95
892
851
345
198
755
933
686
541
837
886
623
227
208
99
685
524
877
752
539
109
694
422
547
998
992
419
231
865
874
59
878
677
18
385
392
150
190
994
421
6
59
754
849
547
408
572
90
922
290
279
472
881
320
335
826
395
426
292
706
23
205
85
847
372
757
953
316
199
848
722
928
17
146
823
992
594
661
531
11
504
503
811
487
200
129
589
249
80
152
155
489
875
162
122
900
616
750
171
501
142
556
372
851
725
380
750
735
578
703
468
497
370
577
485
299
826
739
160
772
645
984
204
265
413
346
181
538
234
771
737
247
438
185
566
385
822
673
510
642
125
854
929
547
139
518
606
438
294
720
868
866
416
34
374
453
194
615
201
855
589
823
853
821
487
669
606
353
992
917
657
73
834
686
838
128
650
70
209
80
810
60
844
762
949
73
663
781
267
774
811
609
689
978
845
11
803
305
674
644
664
413
871
828
486
317
673
880
868
654
549
336
499
486
221
11
636
607
837
642
599
375
785
905
720
151
870
19
476
514
163
305
752
740
29
961
905
323
649
981
316
94
740
347
211
955
171
24
992
103
617
699
682
750
406
123
932
916
135
901
846
175
293
164
809
786
135
475
377
701
257
537
8
123
614
118
581
381
165
377
346
371
483
91
570
245
469
590
767
437
678
193
163
109
805
672
646
472
381
218
162
955
211
772
221
906
601
164
249
118
416
598
324
870
794
469
79
525
877
663
69
220
778
849
260
708
551
886
697
536
971
745
909
188
432
282
217
962
15
205
307
250
335
431
778
282
189
664
908
601
75
107
780
527
898
201
982
688
788
835
28
328
120
403
404
365
200
227
179
466
539
467
918
291
694
501
258
712
418
606
67
826
767
942
400
607
214
677
478
272
765
214
445
103
583
858
248
652
71
229
977
967
14
557
982
912
799
407
552
292
830
694
417
545
712
26
650
446
373
244
973
644
965
9
947
770
92
801
723
549
10
642
775
82
668
544
363
296